The documentation repository contains the documentation for OpenSearch, the search, analytics, and visualization suite with advanced security, alerting, SQL support, automated index management, deep performance analysis, and more. You can find the rendered documentation at opensearch.org/docs.
Community contributions remain essential in keeping this documentation comprehensive, useful, well-organized, and up-to-date. If you are interested in contributing, please see the Contribution file.
If you encounter problems or have questions when contributing to the documentation, these people can help:
This repository contains Markdown files organized into Jekyll "collections" (e.g., _search-plugins
, _opensearch
, etc.). Each Markdown file correlates with one page on the website.
Using plain text on GitHub has many advantages:
- Everything is free, open source, and works on every operating system. Use your favorite text editor, Ruby, Jekyll, and Git.
- Markdown is easy to learn and looks good in side-by-side diffs.
- The workflow is no different than contributing code. Make your changes, build locally to check your work, and submit a pull request. Reviewers check the PR before merging.
- Alternatives like wikis and WordPress are full web applications that require databases and ongoing maintenance. They also have inferior versioning and content review processes compared to Git. Static websites, such as the ones Jekyll produces, are faster, more secure, and more stable.
In addition to the content for a given page, each Markdown file contains some Jekyll front matter. Front matter looks like this:
---
layout: default
title: Alerting security
nav_order: 10
parent: Alerting
has_children: false
---
If you want to reorganize content or add new pages, keep an eye on has_children
, parent
, and nav_order
, which define the hierarchy and order of pages in the lefthand navigation. For more information, see the documentation for our upstream Jekyll theme.
There are a few ways to contribute content, depending on the magnitude of the change.
If you want to add a few paragraphs across multiple files and are comfortable with Git, try this approach:
-
Fork this repository.
-
Download GitHub Desktop, install it, and clone your fork.
-
Navigate to the repository root.
-
Create a new branch.
-
Edit the Markdown files in
/docs
. -
Commit, sign off, push your changes to your fork, and submit a pull request.
If you're making major changes to the documentation and need to see the rendered HTML before submitting a pull request, here's how to make the changes and view them locally:
-
Fork this repository.
-
Download GitHub Desktop, install it, and clone your fork.
-
Navigate to the repository root.
-
Install Ruby if you don't already have it. We recommend RVM, but use whatever method you prefer:
curl -sSL https://get.rvm.io | bash -s stable rvm install 2.6 ruby -v
-
Install Jekyll if you don't already have it:
gem install bundler jekyll
-
Install dependencies:
bundle install
-
Build:
sh build.sh
-
If the build script doesn't automatically open your web browser (it should), open http://localhost:4000/docs/.
-
Create a new branch.
-
Edit the Markdown files in each collection (e.g.
_security/
).If you're a web developer, you can customize
_layouts/default.html
and_sass/custom/custom.scss
. -
When you save a file, marvel as Jekyll automatically rebuilds the site and refreshes your web browser. This process can take anywhere from 10-30 seconds.
-
When you're happy with how everything looks, commit, sign off, push your changes to your fork, and submit a pull request.
The OpenSearch team released style guidelines for our documentation and marketing content. These guidelines cover the style standards and terms to be observed when creating OpenSearch content. We ask that you please adhere to these guidelines whenever contributing content.
We also provide guidelines on terminology. For a list of OpenSearch terms, see Terms.
The OpenSearch documentation uses a modified version of the just-the-docs Jekyll theme. For an overview of the commonly used formatted elements, including callouts, videos, and buttons, see the FORMATTING_GUIDE.
We use the Vale linter to ensure that our documentation adheres to the OpenSearch Project Style Guidelines. To install Vale locally, follow these steps:
- Run
brew install vale
. - Run
vale *
from the documentation site root directory to lint all Markdown files. To lint a specific file, runvale /path/to/file
.
Optionally, you can install the Vale VSCode extension that integrates Vale with Visual Studio Code. By default, only errors and warnings are underlined. To change the minimum alert level to include suggestions, go to Vale VSCode > Extension Settings and select suggestion in the Vale > Vale CLI: Min Alert Level dropdown list.
This project has adopted an Open Source Code of Conduct.
See CONTRIBUTING for more information.
This project is licensed under the Apache-2.0 License.
Copyright OpenSearch contributors.