This tutorial is intended for non-technical people. Technical people can create branches and files in their preferred way, but they should still pay attention to the content.
The process involves creating a branch, adding/editing content, and then submitting a pull request.
To find more details about the content format, read a little about markdown format. You can also use ChatGPT to generate it for you. Additionally, you can find more details about content creation on the main readme.
1. Creating a Branch
- Go to the documentation website.
- Click on “Contribute.”
- If you don’t have a GitHub account, create one.
- If you don’t have access to the repository, request access from Jeffrey.
- Take note of your Jira ticket number (e.g., DOC-22).
- Create a branch with the following naming convention: “{Jira ticket number}–{brief explanation}.”
https://user-images.githubusercontent.com/48103544/235675909-117beb7e-e833-4a87-87e3-5980ce804500.mp4
2. Making Changes - Updating a File
- Go to the page you want to change on the documentation website.
- Click on “Edit this page on GitHub.”
- Select your branch.
- Click on “Edit.”
- Add your content.
- Save your changes.
https://user-images.githubusercontent.com/48103544/235676079-221a5260-c507-49ad-8e1b-60eaa44a13a8.mp4
3. Making Changes - Creating a File
- Decide on which section you want to add your content.
- Go to the corresponding folder: “docs/2/{section}/{subsection}”.
- Create a file.
- The name of the file should be in lowercase with dashes, and end with “.md.”
- Paste the following template and replace the values in “{}”:
---
layout: docs
title: {title of the page}
description: {brief description of the page}
toc: true
---
<br /><img class="img-fluid" src="/assets/img/thumbnail-8.jpg" alt="thumbnail 2" width="900"/>
<br>
---------------------------------------
##### SUMMARY:
{replace this section with the whole summary}
1. [What’s a Rule?](./#1-what-is-a-rule)
2. [Creating a Rule](./#2-creating-a-rule)
- A. [Create a name and description](./#a-create-a-name-and-description)
---------------------------------------
{replace this section with the whole content}
## 1. What is a Rule?
---------------------------------------
A Rule is a concrete expression of a sharing policy. It allows a data owner to set the conditions under which a requested operation will be granted. Rules only allow sharing. They do not prevent sharing. Sharing is blocked by default.
## 1. {title}
---------------------------------------
{content}
https://user-images.githubusercontent.com/48103544/235676232-8cd21941-3348-469d-8b77-00e7e5082d65.mp4
4. Add your page to the sidebar menu
- Open https://github.com/microshare/microshare.github.io/blob/master/_data/docs.yml
- Select your branch.
- Add your page title in the correct location following the architecture.
- Add some keywords related to the page.
https://user-images.githubusercontent.com/48103544/235676568-5d40c540-bc28-4071-ad11-b1f12f0d1ad5.mp4
5. Creating a Pull Request
- Once you have made all your changes, create a pull request.
- Give it a name that corresponds to your Jira ticket.
- Add some explanations.
- Add the appropriate reviewer.
- Validate the pull request.
https://user-images.githubusercontent.com/48103544/235676283-34ef7d12-5312-4f94-b0ee-8614a7d8afb0.mp4
6. Using Chat GPT for content
- Get your content file (word content or other)
- Go to chat.openai.com
- Give chat gpt this first content: ``` Hi, Do not take any action, just reply ok, I will provide you a template to reuse for my next question. Here is a template/layout of one of our readme documentation website page: — layout: docs title: The Advanced Developer’s Roadmap to Microshare™ toc: true —
Summary:
- Introduction
- Creating Robots
- Creating Admin API with Microshare’s API
- Working with Identities
- Creating Dashboards
- Data Management
Introduction
What else can a developer do?
Once you have completed the Novice Developer’s Roadmap, the advanced developer is prepared to use the materials under the Microshare Platform Advanced section and follow the following steps:
1. Creating Robots
A Robot is an actor that automates the tasks associated with transforming, enriching, and annotating your data. Use the Robots Guide to learn how you can create robots to automate tasks within your system. Additionally, the Robots Guide will go over the alerts setting, allowing you to create notifications for when an event occurs. Upon completion, the Robots Library is a great resource to find examples of robots in action.
2. Creating Admin API with Microshare’s API
Now that you have become familar with creating share API with Microshare’s API, its now time to communicate with the API to draw more information using complex requests.
3. Working with Identities
Through the Identity Guide, you will find that different identities have different access to viewing, creating, and owning information. Understanding the applications of different identities will better allow you to determine who gets to see certain information and have access to certain robots, devices, clusters and rules when working for different clients of Microshare.
4. Creating Dashboards
Dashboards will allow you to organize apps together and eliminate clutter on you manage page. This will be especially useful for grouping a client’s apps together. Although the Dashboards Guide is not under the advanced section, the guide dives heavily into advanced material.
5. Data Management/ Workflow
Finally, you will learn how to manage your data within Microshare. Microshare no longer uses robots for data ingestion and unpacking, but the guides will be a great resource to understanding what the new method is doing and how powerful the applications of robots can be. The path of data management is:
1. Data Ingestion
2. Data Unpacking
3. Data Unpacking by Robots
Have any questions? please don’t hesitate to contact support@microshare.io
with any issues.
4. Now ask him:
Here is my content :
Sticky Sidebar 
Pure JavaScript plugin for making smart and high performance sticky sidebars.
For complete documentation and examples see abouolia.github.com/sticky-sidebar
Why is sticky sidebar so awesome?
- It does not re-calculate all dimensions when scrolling, just necessary dimensions.
- Super smooth without incurring scroll lag or jank and no page reflows.
- Integrated with resize sensor to re-calculate all dimenstions of the plugin when size of sidebar or its container is changed.
- It has event trigger on each affix type to hook your code under particular situation.
- Handle the sidebar when is tall or too short compared to the rest of the container.
- Zero dependencies and super simple to setup.
Install
You can download sticky sidebar jQuery plugin from Bowser, NPM or just simply download it from this page and link to the sticky-sidebar.js
file in your project folder.
Bower
If you are using bower as package manager:
bower install sticky-sidebar
NPM
If you are using NPM as package manager:
npm install sticky-sidebar
Usage
Your website’s html structure has to be similar to this in order to work:
<div class="main-content">
<div class="sidebar">
<div class="sidebar__inner">
<!-- Content goes here -->
</div>
</div>
<div class="content">
<!-- Content goes here -->
</div>
</div>
Note that inner sidebar wrapper .sidebar__innner
is optional but highly recommended, if you don’t write it yourself, the script will create one for you under class name inner-wrapper-sticky
. but this may cause many problems.
For the above example, you can use the following JavaScript:
<script type="text/javascript" src="./js/sticky-sidebar.js"></script>
<script type="text/javascript">
var sidebar = new StickySidebar('.sidebar', {
topSpacing: 20,
bottomSpacing: 20,
containerSelector: '.main-content',
innerWrapperSelector: '.sidebar__inner'
});
</script>
Via jQuery/Zepto
You can configure sticky sidebar as a jQuery plugin, just include jquery.sticky-sidebar.js
instead sticky-sidebar.js
file than configure it as any jQuery plugin.
<script type="text/javascript" src="./js/jquery.js"></script>
<script type="text/javascript" src="./js/jquery.sticky-sidebar.js"></script>
<script type="text/javascript">
$('#sidebar').stickySidebar({
topSpacing: 60,
bottomSpacing: 60
});
</script>
Make sure to include sticky-sidebar.js
script file after jquery.js
.
Usage with ResizeSensor.js
Sticky sidebar integrated with ResizeSensor.js to detect when sidebar or container is changed. To use resize sensor with this plugin just make sure to include ResizeSensor.js before sticky-sidebar.js
code whether through module loader, bundle or event inclusion as a <script>
and enable resizeSensor
option (enabled by default) and it will works.
You can choose not to include ResizeSensor.js
and sticky sidebar will continue work without any problem but without automatically detect resize changes.
Browser Support
Sticky sidebar works in all modern browsers including Internet Explorer 9 and above, but if you want it to work with IE9, should include requestAnimationFrame
polyfill before sticky sidebar code.
If you have any issues with browser compatibility don’t hesitate to Submit an issue.
License
Sticky Sidebar is released under the MIT license. Have at it.
Made by Ahmed Bouhuolia
Can you transform it into a readme file using the layout I just give you ? ```
- Copy the readme content, then follow the steps for creating/updating content explained above.