https://github.com/openssl/openssl-docs
docs.openssl.org website generator
https://github.com/openssl/openssl-docs
documentation mkdocs openssl
Last synced: about 1 year ago
JSON representation
docs.openssl.org website generator
- Host: GitHub
- URL: https://github.com/openssl/openssl-docs
- Owner: openssl
- License: apache-2.0
- Created: 2024-07-10T10:09:33.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-04-08T13:18:43.000Z (about 1 year ago)
- Last Synced: 2025-04-11T01:42:47.241Z (about 1 year ago)
- Topics: documentation, mkdocs, openssl
- Language: HTML
- Homepage: https://docs.openssl.org/
- Size: 232 MB
- Stars: 7
- Watchers: 19
- Forks: 8
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/openssl/openssl-docs/actions/workflows/deploy-site.yaml)
# docs.openssl.org
The OpenSSL Documentation website is based on
[Material for MkDocs](https://squidfunk.github.io/mkdocs-material/) and
this repository contains the required configuration files and build scripts.
`docs.openssl.org` is hosted on GitHub Pages.
## Deployment
The website is automatically rebuilt on changes in `doc` directory of `openssl/openssl`. Then a
new commit is pushed to `gh-pages` branch which triggers
[pages-build-deployment](https://github.com/openssl/openssl-docs/actions/workflows/pages/pages-build-deployment)
GitHub Actions workflow.
To deploy documentation website manually trigger
[Deploy site](https://github.com/openssl/openssl-docs/actions/workflows/deploy-site.yaml) GitHub
Actions workflow.
## Local development
All required dependencies are packed into a container image `quay.io/openssl-ci/docs`.
To start playing around you can spin up a container and run commands:
1. Clone the repository:
```sh
git clone https://github.com/openssl/openssl-docs.git
```
2. Run the container:
```sh
podman run -it -v $(pwd)/openssl-docs:/mnt -w /mnt -p 8000:8000 --userns=keep-id quay.io/openssl-ci/docs:latest bash
```
3. Build the docs:
```sh
python build.py
```
4. Run the development web server:
```sh
mike serve -a 0.0.0.0:8000
```
## build.py
A small wrapper script to clone a specific OpenSSL branch and build a documentation website with
`mike`. Run it to build the website:
```sh
python build.py
```
`mike` puts generated content into a separate branch `gh-pages`. Please refer `mike`
[documentation](https://github.com/jimporter/mike) for the details.
## hooks.py
All pre- and post- processing is done via `MkDocs` hooks. Please refer `MkDocs`
[documentation](https://www.mkdocs.org/dev-guide/plugins/#events) for the details.
## References
- [MkDocs](https://www.mkdocs.org)
- [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/)
- [mike](https://github.com/jimporter/mike)