Docker images that include dependencies for building Sphinx- and MkDocs-based Percona documentation.
mkdocs: An Ubuntu-based image for building MkDocs/Markdown documentation.sphinx: Based on the official Sphinxsphinxdoc/sphinximage.sphinx-latexpdf: Based on the official Sphinxsphinxdoc/sphinx-latexpdfimage.
Perform a build (mkdocs build):
docker run --rm -v $(pwd):/docs perconalab/pmm-doc-mdRun the live preview local server (mkdocs serve):
docker run --rm -p 8000:8000 -v $(pwd):/docs perconalab/pmm-doc-md mkdocs serve -a 0.0.0.0:8000Open your browser at http://localhost:8000
Create PDF:
docker run --rm -v $(pwd):/docs -e ENABLE_PDF_EXPORT=1 perconalab/pmm-doc-md mkdocs build -t materialFor HTML:
docker run --rm -v $(pwd):/docs perconalab/percona-doc-sphinx make clean htmlFor PDF:
docker run --rm -v $(pwd):/docs perconalab/percona-doc-sphinx-latexpdf make latexpdfBoth assume a ./Makefile and Sphinx source files in ./source.
MkDocs packages and plugins:
- mkdocs - MkDocs itself.
- mkdocs-macros-plugin - Various useful macros.
- mkdocs-exclude - For excluding files from MkDocs processing.
- markdown-include - For including .md files in others.
- mkdocs-material - Base theme.
- mkdocs-with-pdf - Builds PDF.
- plantuml-markdown - For PlantUML diagrams.
- mkdocs-git-revision-date-plugin - For 'date last changed' page information.
- mkdocs-material-extensions - For icons.
- mkdocs-bootstrap-tables-plugin - Adds a bootstrap class to tables making them render better.
- mkdocs-enumerate-headings-plugin For numbered headings.
- mkdocs-section-index - Add links to section nodes.
- mike - Tool for building and managing versions.
- lightgallery - For zooming images.
Additional Fonts:
- Chivo - To match Percona.com website theme.
Sphinx extensions:
- sphinx-copybutton Adds a copy button to code blocks.
- sphinx-gitstamp Git datestamp.
- sphinx-tabs Allows for tabbed content blocks.
- sphinx_markdown_builder Writes Markdown files from rst sources.
- sphinx_markdown_parser Allows for Markdown files in a Sphinx/rst project.
- sphinxcontrib-srclinks Adds various page links (e.g. to Github) to navigation bar.
- sphinx-reload Automatically rebuilds and serves a Sphinx project.
- pymdown-extensions