Python Package to help aggregating Pulp's multirepo ecosystem into a unified doc.
This packages is:
mkdocs-macros-plugin
pluget.The idea is that each repository should install pulp-docs
and imediatelly be able run the unified website server.
Also, this should be used for the production build.
Through a mkdocs-macro-plugin
hook (called in early stages of mkdocs processing), we inject the following steps:
repolist.yml
packaged with pulp-docs
to know which repos/urls to usetempfile.gettempdir()
../{repo}
if available OR{tmpdir}/{repo}
if available ORmkdocstrings
to find each repo codebasemkdocs
navigation by leveraging our /docs
content organization structureAnd thats it, the magic is done.
Recommended way for daily usage:
pipx install git+https://github.com/pulp/pulp-docs --include-deps
pulp-docs serve
For development, use your prefered method!
repolist.yml
If you want to share work you are doing in muliple forks, you can share a custom repolist.yml
which points to your forks.
Then, anyone can test them locally by overriting your repolist.yml
like so:
$ cat "path/to/my/repolist.yml"
repos:
core:
- name: pulpcore
owner: some-github-username
title: Pulp Core
branch: main
(...)
$ export PULPDOCS_MKDOCS_FILE="path/to/my/repolist.yml"
$ pulp-docs serve