The Milvus docs are open-source just like the database itself and welcome contributions from everyone in the Milvus community.
Please note that this repository is for Milvus technical documentation update and maintenance. Up-to-date, fully rendered technical documentation can be found at milvus.io and Web content repo.
Basically anything you can think of to improve our documentation and make it more user friendly! Below are some straightforward examples:
-
Fix a typo or a grammatical error.
-
Translate English content into Chinese or other languages.
-
Update or extend existing documentation.
-
Add new pages to Milvus documentation.
Before you contribute please take a minute to familiarize yourself with basic Markdown syntax and have a look at our Code of Conduct.
Google Developer Documentation Style Guide is strongly recommended before you want to make some substantial contributions, giving you some guidance on how to write accessible, consistent and inclusive documentation.
For contributions concerning translation to other language, unedited machine translation will not be accepted.
If you are just correcting a typo or grammatical error, feel free to edit the page and create a pull request.
For more substantial changes, please follow the following steps:
-
File an issue and assign it to yourself.
Or, if you want to fix an existing issue then go to Issues, choose one issue and assign it to yourself.
-
Fork the milvus-docs repository to your own GitHub account.
-
Fetch to make sure your local branch is up-to-date.
-
Once you complete your changes, create a pull request. Your changes will be reviewed by a technical writer as soon as possible.
For detailed information on this workflow, see Make Your First Contribution.
All documentation is originally written in English and translated into other language(s). Currently, the official website only supports two language versions: English and Chinese, stored in their corresponding site/en and site/zh-CN directories in each branch. Nevertheless, you are more than welcome to make a huge contribution to the community by translating the documentation into other languages you know!
We provide documentation for each major version of Milvus. The pages for each version are found in a directory named for the version. For example, docs for Milvus v2.0.0 are in the v2.0.0
directory, whereas docs for Milvus v1.1.0 are in the v1.1.0
directory.
Within each version directory, each page must be an .md file written in Markdown. File names should be lowercase with an underscore between words and should be brief but descriptive.
Example:
install_offline.md
Markdown pages start with the following front-matter with id
as the mandatory field:
---
id: page_id.md
title: Title of Page
summary: Short description of the page for SEO
related_key: keyword
group: major_page.md
---
Field | Description |
---|---|
id |
The unique ID assigned to each page. |
title (optional) |
Used as the h1 header and written in title-case. |
summary (optional) |
Used as the page's meta description for SEO. Keep this under 143 characters. Consider using the first sentence of the page, or something similar. |
related_key (optional) |
Used as the keyword to pull related questions from the FAQ database to show at the bottom of the page. |
group (optional) |
Add the leading page appeared on the sidenav if this page is a part of a page group. |
In general, there are four types of documentation:
When drafting a document, you should follow these types of definitions with a degree of flexibility, as there is some amount of cross-over between them.
Images are housed under the /assets folder and can be referenced with ![ImageName]({{images.assets/ImageName.jpg/png "This is a caption"}})
.
Fragments let you split the markdown into independent, reusable pieces and are defined in the site/en/fragments and site/zh-CN/fragments folders. Use the {{fragments/xxx.md}} syntax to reference a specific fragment.
Variables are used to store version information to be referenced in code or paths. They are defined in Variables.json and can be used in Markdown (.md) files, fragments, and templates.
The defined variables are implemented within the current folder and its subfolders. The en and Zh-CN folders each contain a Variables.json file.
For each documented version of Milvus, the JSON file in the menuStructure directory defines the pages that appear in the Docs sidebar.
If you're adding a page that you think should appear in the sidebar, please mention this in your pull request. Please follow the established practice when changing this file.
In the JSON file for a version's sidebar, there are six possible fields:
Field | Type | Description |
---|---|---|
id |
String | The unique ID (within en/zh-CN folder) is given to a page (defined in the front-matter of the corresponding Markdown file) or a section. |
title |
String | This field defines the title for a section of the sidenav, e.g., "Get Started", for a subsection, e.g., "Install Milvus", or for a page, e.g., "Milvus Standalone". See the JSON Example below for more clarity. |
label<n> (e.g., label1, label2, label3) |
String | This field defines the hierarchical structure of pages and sections. |
order |
Integar | The sorting order of pages and sections under the current label, starting from 0. |
isMenu |
Boolean | This field defines whether it is a section/subsection of the sidenav. |
outlink |
Array of strings | The URL of a page that is not rendered by any Markdown file in the milvus-docs repository. |
This example shows some of the "Get Started" section of the sidenav:
{
"menuList": [
...,
{
"id": "getstarted",
"title": "Get Started",
"label1": "",
"label2": null,
"label3": null,
"order": 1,
"isMenu": true
},
{
"id": "prerequisite-docker.md",
"title": "Before you Begin",
"label1": "getstarted",
"label2": null,
"label3": null,
"order": 0
},
{
"id": "installmilvus",
"title": "Install Milvus",
"label1": "getstarted",
"label2": null,
"label3": null,
"order": 1,
"isMenu": true
},
{
"id": "install_standalone-docker.md",
"title": "Milvus Standalone",
"label1": "getstarted",
"label2": "installmilvus",
"label3": null,
"order": 0
},
{
"id": "install_cluster-docker.md",
"title": "Milvus Cluster",
"label1": "getstarted",
"label2": "installmilvus",
"label3": null,
"order": 1
},
{
"id": "install_offline-docker.md",
"title": "Install Offline",
"label1": "getstarted",
"label2": "installmilvus",
"label3": null,
"order": 2
},
{
"id": "example_code.md",
"title": "Hello Milvus",
"label1": "getstarted",
"label2": "",
"label3": "",
"order": 2
},
...
]
}