1
1
Fork 0
mirror of https://github.com/NixOS/nix.git synced 2025-12-08 18:11:02 +01:00
nix/doc/manual
Robert Hensing d007b4e81b doc: make manpage generation independent of mdbook
Add standalone markdown preprocessor to generate manpages without requiring
mdbook's Rust toolchain. This removes a significant build dependency for
manpage generation while keeping the HTML manual (mdbook) working unchanged.

Changes:
- Add expand-includes.py: Python 3 script that recursively expands
  {{#include}} directives, resolves @docroot@ to nix.dev URLs, and handles
  @generated@/ paths for build-generated files
- Update render-manpage.sh: Replace mdbook-based implementation with
  standalone version that uses expand-includes.py + lowdown
- Update meson.build: All 134 manpage targets now use standalone renderer
  with proper dependencies (expand-includes.py, experimental-features-shortlist)
- Fix nix-hash.md: Remove extra parenthesis in markdown link syntax

Benefits:
- No mdbook/Rust toolchain required for manpage builds
- Manpages contain nix.dev/latest URLs instead of broken relative paths
- Fixes bug where mdbook didn't expand experimental-features-shortlist.md
- 98.5% identical output to mdbook (2 files differ, both acceptable)

All 134 manpages (131 section 1, 2 section 5, 1 section 8) build successfully.
2025-12-06 21:34:44 +01:00
..
rl-next Make nix path-info follow the JSON guildelines 2025-12-03 23:41:48 -05:00
source doc: make manpage generation independent of mdbook 2025-12-06 21:34:44 +01:00
theme Document "hash derivation quotiented", resolution, and build trace 2025-11-03 15:18:18 -05:00
.version Build the manual with Meson 2024-10-09 11:58:17 -04:00
anchors.jq maint: Remove mdbook-linkcheck and support mdbook 0.5.x 2025-12-02 02:38:30 +01:00
book.toml.in maint: Remove mdbook-linkcheck and support mdbook 0.5.x 2025-12-02 02:38:30 +01:00
custom.css doc/manual: fix misaligned icons in custom.css (#11296) 2024-08-14 14:27:12 +02:00
expand-includes.py doc: make manpage generation independent of mdbook 2025-12-06 21:34:44 +01:00
generate-builtins.nix Format .nix files 2025-01-24 17:04:02 +01:00
generate-deps.py fix various typos in docs 2025-05-14 21:29:17 +02:00
generate-manpage.nix Format .nix files 2025-01-24 17:04:02 +01:00
generate-redirects.py nix-manual: Split out redirects.json 2025-12-05 16:53:46 +01:00
generate-settings.nix Format .nix files 2025-01-24 17:04:02 +01:00
generate-store-info.nix Stores no longer inherit from their configs 2025-05-13 15:56:35 -04:00
generate-store-types.nix Apply updated nixfmt 2025-11-03 12:01:55 +01:00
generate-xp-features-shortlist.nix Format .nix files 2025-01-24 17:04:02 +01:00
generate-xp-features.nix Format .nix files 2025-01-24 17:04:02 +01:00
meson.build doc: make manpage generation independent of mdbook 2025-12-06 21:34:44 +01:00
package.nix Check nix-manual redirect targets in linkcheck 2025-12-05 16:53:46 +01:00
quote-literals.xsl Generate release notes again 2014-03-12 14:24:29 +01:00
redirect-targets-html.nix Remove _redirects from link checking for now 2025-12-05 16:53:46 +01:00
redirects.js.in nix-manual: Split out redirects.json 2025-12-05 16:53:46 +01:00
redirects.json Fix redirects.json targets 2025-12-05 16:53:46 +01:00
remove_before_wrapper.py Build the manual with Meson 2024-10-09 11:58:17 -04:00
render-manpage.sh doc: make manpage generation independent of mdbook 2025-12-06 21:34:44 +01:00
substitute.py maint: Remove mdbook-linkcheck and support mdbook 0.5.x 2025-12-02 02:38:30 +01:00
utils.nix Format .nix files 2025-01-24 17:04:02 +01:00