feat: use file-wins mkdocs configs with --refresh; wiki template in mongo-ops style
This commit is contained in:
3
docs/lib/docforge/cli/api_utils.md
Normal file
3
docs/lib/docforge/cli/api_utils.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Api Utils
|
||||
|
||||
::: docforge.cli.api_utils
|
||||
3
docs/lib/docforge/cli/commands.md
Normal file
3
docs/lib/docforge/cli/commands.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Commands
|
||||
|
||||
::: docforge.cli.commands
|
||||
8
docs/lib/docforge/cli/index.md
Normal file
8
docs/lib/docforge/cli/index.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# Cli
|
||||
|
||||
::: docforge.cli
|
||||
- [Api Utils](api_utils.md)
|
||||
- [Commands](commands.md)
|
||||
- [Main](main.md)
|
||||
- [Mcp Utils](mcp_utils.md)
|
||||
- [Mkdocs Utils](mkdocs_utils.md)
|
||||
3
docs/lib/docforge/cli/main.md
Normal file
3
docs/lib/docforge/cli/main.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Main
|
||||
|
||||
::: docforge.cli.main
|
||||
3
docs/lib/docforge/cli/mcp_utils.md
Normal file
3
docs/lib/docforge/cli/mcp_utils.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Mcp Utils
|
||||
|
||||
::: docforge.cli.mcp_utils
|
||||
3
docs/lib/docforge/cli/mkdocs_utils.md
Normal file
3
docs/lib/docforge/cli/mkdocs_utils.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Mkdocs Utils
|
||||
|
||||
::: docforge.cli.mkdocs_utils
|
||||
9
docs/lib/docforge/index.md
Normal file
9
docs/lib/docforge/index.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# Docforge
|
||||
|
||||
::: docforge
|
||||
- [Cli](cli/)
|
||||
- [Loaders](loaders/)
|
||||
- [Models](models/)
|
||||
- [Nav](nav/)
|
||||
- [Renderers](renderers/)
|
||||
- [Servers](servers/)
|
||||
3
docs/lib/docforge/loaders/griffe_loader.md
Normal file
3
docs/lib/docforge/loaders/griffe_loader.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Griffe Loader
|
||||
|
||||
::: docforge.loaders.griffe_loader
|
||||
4
docs/lib/docforge/loaders/index.md
Normal file
4
docs/lib/docforge/loaders/index.md
Normal file
@@ -0,0 +1,4 @@
|
||||
# Loaders
|
||||
|
||||
::: docforge.loaders
|
||||
- [Griffe Loader](griffe_loader.md)
|
||||
6
docs/lib/docforge/models/index.md
Normal file
6
docs/lib/docforge/models/index.md
Normal file
@@ -0,0 +1,6 @@
|
||||
# Models
|
||||
|
||||
::: docforge.models
|
||||
- [Module](module.md)
|
||||
- [Object](object.md)
|
||||
- [Project](project.md)
|
||||
3
docs/lib/docforge/models/module.md
Normal file
3
docs/lib/docforge/models/module.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Module
|
||||
|
||||
::: docforge.models.module
|
||||
3
docs/lib/docforge/models/object.md
Normal file
3
docs/lib/docforge/models/object.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Object
|
||||
|
||||
::: docforge.models.object
|
||||
3
docs/lib/docforge/models/project.md
Normal file
3
docs/lib/docforge/models/project.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Project
|
||||
|
||||
::: docforge.models.project
|
||||
7
docs/lib/docforge/nav/index.md
Normal file
7
docs/lib/docforge/nav/index.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# Nav
|
||||
|
||||
::: docforge.nav
|
||||
- [Mkdocs](mkdocs.md)
|
||||
- [Resolver](resolver.md)
|
||||
- [Spec](spec.md)
|
||||
- [Wiki](wiki.md)
|
||||
3
docs/lib/docforge/nav/mkdocs.md
Normal file
3
docs/lib/docforge/nav/mkdocs.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Mkdocs
|
||||
|
||||
::: docforge.nav.mkdocs
|
||||
3
docs/lib/docforge/nav/resolver.md
Normal file
3
docs/lib/docforge/nav/resolver.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Resolver
|
||||
|
||||
::: docforge.nav.resolver
|
||||
3
docs/lib/docforge/nav/spec.md
Normal file
3
docs/lib/docforge/nav/spec.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Spec
|
||||
|
||||
::: docforge.nav.spec
|
||||
3
docs/lib/docforge/nav/wiki.md
Normal file
3
docs/lib/docforge/nav/wiki.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Wiki
|
||||
|
||||
::: docforge.nav.wiki
|
||||
3
docs/lib/docforge/renderers/base.md
Normal file
3
docs/lib/docforge/renderers/base.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Base
|
||||
|
||||
::: docforge.renderers.base
|
||||
6
docs/lib/docforge/renderers/index.md
Normal file
6
docs/lib/docforge/renderers/index.md
Normal file
@@ -0,0 +1,6 @@
|
||||
# Renderers
|
||||
|
||||
::: docforge.renderers
|
||||
- [Base](base.md)
|
||||
- [Mcp Renderer](mcp_renderer.md)
|
||||
- [Mkdocs Renderer](mkdocs_renderer.md)
|
||||
3
docs/lib/docforge/renderers/mcp_renderer.md
Normal file
3
docs/lib/docforge/renderers/mcp_renderer.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Mcp Renderer
|
||||
|
||||
::: docforge.renderers.mcp_renderer
|
||||
3
docs/lib/docforge/renderers/mkdocs_renderer.md
Normal file
3
docs/lib/docforge/renderers/mkdocs_renderer.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Mkdocs Renderer
|
||||
|
||||
::: docforge.renderers.mkdocs_renderer
|
||||
4
docs/lib/docforge/servers/index.md
Normal file
4
docs/lib/docforge/servers/index.md
Normal file
@@ -0,0 +1,4 @@
|
||||
# Servers
|
||||
|
||||
::: docforge.servers
|
||||
- [Mcp Server](mcp_server.md)
|
||||
3
docs/lib/docforge/servers/mcp_server.md
Normal file
3
docs/lib/docforge/servers/mcp_server.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Mcp Server
|
||||
|
||||
::: docforge.servers.mcp_server
|
||||
@@ -1,3 +1,4 @@
|
||||
# docforge
|
||||
|
||||
::: docforge
|
||||
- [Docforge](docforge/)
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
theme:
|
||||
name: material
|
||||
palette:
|
||||
- scheme: slate
|
||||
primary: deep purple
|
||||
accent: cyan
|
||||
scheme: slate
|
||||
primary: blue grey
|
||||
accent: teal
|
||||
font:
|
||||
text: Inter
|
||||
text: Roboto
|
||||
code: JetBrains Mono
|
||||
features:
|
||||
- navigation.sections
|
||||
@@ -21,6 +21,14 @@ theme:
|
||||
- search.highlight
|
||||
- search.share
|
||||
- search.suggest
|
||||
- navigation.tabs
|
||||
- toc.integrate
|
||||
- header.autohide
|
||||
- announce.dismiss
|
||||
- footer.social
|
||||
- content.code.select
|
||||
- content.code.line_numbers
|
||||
- content.tooltips
|
||||
icon:
|
||||
logo: material/file-document-multiple
|
||||
repo: fontawesome/brands/github
|
||||
@@ -48,7 +56,7 @@ extra_css:
|
||||
- https://unpkg.com/dracula-prism/dist/css/dracula-prism.css
|
||||
plugins:
|
||||
- search
|
||||
site_name: docforge
|
||||
site_name: doc-forge
|
||||
docs_dir: wiki
|
||||
site_dir: ../site/wiki
|
||||
nav:
|
||||
@@ -62,3 +70,4 @@ nav:
|
||||
- Quality Gates: 05_development/02_quality_gates.md
|
||||
- Gsdfc Guide: 05_development/03_gsdfc_guide.md
|
||||
- Mcp Guide: 05_development/04_mcp_guide.md
|
||||
- Mkdocs Configs: 05_development/05_mkdocs_configs.md
|
||||
|
||||
48
docs/wiki/05_development/05_mkdocs_configs.md
Normal file
48
docs/wiki/05_development/05_mkdocs_configs.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# MkDocs Configuration Model
|
||||
|
||||
Each documentation kind (lib, api, wiki) is built by its own MkDocs site. A
|
||||
repo that documents kind `{kind}` carries a config at `docs/mkdocs.{kind}.yml`
|
||||
that sets `docs_dir` to the kind's source directory and `site_dir` to
|
||||
`../site/{kind}`.
|
||||
|
||||
## File wins
|
||||
|
||||
`docs/mkdocs.{kind}.yml` is a repo-owned file, not a build byproduct:
|
||||
|
||||
- **Absent** — `doc-forge build --{kind}` materializes a copy from the
|
||||
packaged templates (see below) and then builds `site/{kind}`.
|
||||
- **Present** — the build uses the file verbatim. Edits to the theme, palette,
|
||||
plugins, markdown extensions, nav, or `site_dir` are respected as-is.
|
||||
- **`--refresh`** — force-regenerates the file from the templates,
|
||||
replacing any local changes.
|
||||
|
||||
Because a present file is never rewritten, rerunning a build is a no-op for
|
||||
versioned configs: the working tree stays clean.
|
||||
|
||||
## Templates
|
||||
|
||||
The built-in defaults live in `docforge/templates/`:
|
||||
|
||||
| File | Role |
|
||||
|-----------------------|-----------------------------------------------|
|
||||
| `mkdocs.common.yml` | Shared theme + markdown extensions |
|
||||
| `mkdocs.lib.yml` | `mkdocstrings` handler for library reference |
|
||||
| `mkdocs.api.yml` | Swagger/OpenAPI plugins and API-side features |
|
||||
| `mkdocs.wiki.yml` | Wiki look: horizontal `navigation.tabs` header, blue grey/teal palette, Roboto |
|
||||
|
||||
A per-kind config is generated by deep-merging the common template with the
|
||||
kind fragment, then filling in generation-time values (`site_name`,
|
||||
`docs_dir`, `site_dir`, `nav`, API `site_description`/`site_author`, and the
|
||||
theme `icon` from `docforge.nav.yml`). Pass `--template <path>` to replace the
|
||||
built-in templates entirely.
|
||||
|
||||
## Supported layouts
|
||||
|
||||
- **Per-kind config** — the standard layout; each kind builds to
|
||||
`site/{kind}` and is served under `/<repo>/{kind}/`.
|
||||
- **Legacy root config** — a repo with a single kind may instead author root
|
||||
`mkdocs.yml` (for example mongo-ops, whose wiki uses `docs_dir: docs/wiki`).
|
||||
doc-forge never reads or writes root `mkdocs.yml`; the docs service maps the
|
||||
kind to the root `site/` dir in this case.
|
||||
|
||||
Commit `docs/mkdocs.{kind}.yml` so served docs are reproducible from source.
|
||||
Reference in New Issue
Block a user