Skip to content

opensearch-project/project-website

Folders and files

NameName
Last commit message
Last commit date
Feb 5, 2025
Dec 20, 2024
Feb 25, 2025
Mar 5, 2025
Mar 7, 2025
Jul 26, 2024
Feb 28, 2025
Mar 6, 2025
Jan 17, 2025
Aug 18, 2023
Feb 20, 2025
Jan 17, 2025
Apr 25, 2022
Sep 20, 2024
Sep 25, 2024
Aug 27, 2024
Jan 17, 2025
Mar 7, 2025
Oct 28, 2024
Mar 7, 2025
Sep 5, 2024
Feb 21, 2024
Sep 8, 2023
Feb 4, 2025
Jan 27, 2025
Jul 19, 2023
Oct 28, 2024
Feb 24, 2025
Nov 15, 2022
Nov 30, 2021
Feb 25, 2025
Feb 21, 2024
Oct 5, 2021
Mar 7, 2025
Jun 27, 2024
Sep 9, 2024
Feb 11, 2025
Feb 21, 2024
Apr 22, 2021
Mar 2, 2023
Sep 24, 2024
Aug 7, 2024
Oct 22, 2021
Apr 22, 2022
Jan 17, 2025
Feb 19, 2025
Feb 17, 2025
Nov 27, 2024
Oct 12, 2021
Dec 10, 2024
Aug 7, 2024
Mar 1, 2024
Nov 4, 2021
Nov 4, 2021
Jul 19, 2023
Mar 22, 2024
Mar 2, 2023
Apr 2, 2024
Jul 16, 2021
Feb 21, 2024
Jan 28, 2025
Jul 16, 2021
Apr 6, 2023
Apr 6, 2023
Nov 9, 2021
May 15, 2024
Aug 31, 2023
May 29, 2024
May 29, 2024
Nov 25, 2024
Jan 24, 2025
Jan 17, 2025
Nov 16, 2023
Aug 22, 2023
May 26, 2021
Apr 5, 2021
Apr 2, 2023
Apr 2, 2023
Feb 17, 2025
May 18, 2023
May 4, 2021
Sep 25, 2023
Dec 18, 2023
Sep 29, 2021
Mar 12, 2024
Mar 12, 2024
Nov 6, 2023
May 30, 2024
May 30, 2024
Mar 5, 2025
Jun 20, 2024
May 26, 2021
May 26, 2021
Aug 4, 2021
Oct 17, 2024
Aug 7, 2024
Sep 13, 2024
May 1, 2024

OpenSearch.org website

This repo contains the source for the opensearch.org website.

Getting help

If you find a bug, or have a feature request, please don't hesitate to open an issue in this repository.

If you need help and are unsure where to open an issue, try forums.

Contributing

We welcome contributions! Please see our CONTRIBUTING page to learn more about how to contribute to the website.

Note: As of July 20, 2021, contributions are welcome on the main branch; the prod branch is now protected and holds the finalized version of the site. The staging branch has been removed and is no longer being used.

Adding to the Partners page

If you are a partner, you are welcome to add your logo/link to our partners page. Please copy and edit the sample file, and submit a pull request.

Writing a blog

If you'd like to contribute a blog, see the BLOG_GUIDE to learn about formatting the blog contents and adding authors. For writing guidelines, see the OpenSearch Project Style Guidelines.

Building the website

This site uses Jekyll. You can build the site and make it available on a local server via docker-compose up -d, or by installing all the dependencies on your local environment as follows (tested to work with Ruby 2.7.2).

  1. Install Ruby and Bundler, then run bundle install.
  2. Build and start Jekyll with bundle exec jekyll serve.
  3. Browse the site at http://127.0.0.1:4000/.

Alternatively, build the site with bundle exec jekyll build. The HTML output is generated into /_site. For the full configuration options when running Jekyll, see this page.

A full site build takes around 20 seconds. If you want to shave off some time, you can build the development version which lacks the sitemap.xml (which is very time consuming to build). The development version takes about 3 seconds to build, so it's great for fast iteration but not exactly what will be built in deployment (it's very close).

BUNDLE_GEMFILE=Gemfile-dev bundle exec jekyll serve --config ./_config-dev.yml

Content Modifier

In order to automatically mitigate some common security risks, the generated pages are scanned and modified, during build, by the ContentModifier plugin. Due to its impact on build times, the plugin does not run when developing locally using jekyll serve. This behavior can be changed to force the execution of plugin while serving by adding the ENV flag JEKYLL_ALLOW_CONTENT_MODIFIER. E.g.

JEKYLL_ALLOW_CONTENT_MODIFIER= bundle exec jekyll serve

Search bar invisible pages

To prevent a document from appearing in search results, you can add omit_from_search: true to its front matter.

Testing

Link checker

We use a link checker plugin to ensure that we don't have any broken links on the website. It does not run by default since it can slow down the build, especially when running bundle exec jekyll serve. To run the link checker, add the ENV flag JEKYLL_LINK_CHECKER or JEKYLL_FATAL_LINK_CHECKER with any one of the valid values internal,forced,all or retry. Each option tests a larger range of links. E.g.

JEKYLL_FATAL_LINK_CHECKER=all bundle exec jekyll build

JEKYLL_LINK_CHECKER vs JEKYLL_FATAL_LINK_CHECKER

They both accept the same values with the only difference being that JEKYLL_FATAL_LINK_CHECKER fails the build if a broken link is found

Env values

  1. internal: validates only the internal links
  2. forced: validates internal links and links that are technically internal but instead link to an external page. e.g. /docs
  3. all: validates all links. however this option does not retry retry-able link or follow redirection links. e.g. HTTP:429 (too many attempts, retry after), HTTP:301 (Permanent redirect)
  4. retry: validates all the links but also retries links with retry-able HTTP header

Code of Conduct

This project has adopted the Amazon Open Source Code of Conduct. For more information see the Code of Conduct FAQ, or contact opensource-codeofconduct@amazon.com with any additional questions or comments.

Security

If you discover a potential security issue in this project we ask that you notify OpenSearch Security directly via email to security@opensearch.org. Please do not create a public GitHub issue.

License

This project is licensed under the BSD-3-Clause License.

Credits

This website was forked from the BSD-licensed djangoproject.com.

Copyright

Copyright OpenSearch Contributors.