feat(docs): generate fish-config.md from the manual tree

Adds docs/build-manual.py (--concat) and a round-trip test in
verify-manual.py that reproduces the pre-migration fish-config.md
exactly from docs/manual/.

Fixes found by the round-trip check, applied in split-manual.py and
re-run to regenerate docs/manual/:
- NAME/SYNOPSIS/TABLE OF CONTENTS had no sidebar.order, so they sorted
  after every numbered section instead of interleaving with DESCRIPTION
  in original document order. All manual pages now get sidebar.order
  from a single position counter matching source order.
- split_h1/split_h2 used .strip() on section bodies, which also ate
  leading indentation on the first body line, corrupting the 4-space
  indented code blocks that open SYNOPSIS and TABLE OF CONTENTS.
- The source's leading pandoc metadata block (title/section/header/
  date/author) was discarded entirely by the splitter. It's now parsed
  off via manualtools.parse and stashed on index.md under a "pandoc"
  key; build-manual.py re-emits it verbatim ahead of the first heading.
This commit is contained in:
2026-07-25 21:39:48 -04:00
parent 61a82540fb
commit 63e71ac9dd
18 changed files with 211 additions and 21 deletions
+2
View File
@@ -3,6 +3,8 @@ title: Name
manTitle: NAME
man: true
site: false
sidebar:
order: 1
---
fish-config - personal fish shell configuration for Fish 4.x with modern CLI tool integration
+3 -1
View File
@@ -3,9 +3,11 @@ title: Synopsis
manTitle: SYNOPSIS
man: true
site: false
sidebar:
order: 2
---
help config [SECTION]
help config [SECTION]
Open this manual in the best available pager. Optionally jump to a section
by keyword:
+3 -1
View File
@@ -3,9 +3,11 @@ title: Table Of Contents
manTitle: TABLE OF CONTENTS
man: true
site: false
sidebar:
order: 4
---
1. Configuration Variables
1. Configuration Variables
2. PATH Setup
3. Key Bindings
4. Abbreviations
+1 -1
View File
@@ -2,7 +2,7 @@
title: Configuration Variables
manTitle: 1. CONFIGURATION VARIABLES
sidebar:
order: 1
order: 5
helpKeywords:
- variables
- config
+1 -1
View File
@@ -2,7 +2,7 @@
title: Path Setup
manTitle: 2. PATH SETUP
sidebar:
order: 2
order: 6
helpKeywords:
- path
---
+1 -1
View File
@@ -2,7 +2,7 @@
title: Key Bindings
manTitle: 3. KEY BINDINGS
sidebar:
order: 3
order: 7
helpKeywords:
- keybindings
- bindings
+1 -1
View File
@@ -2,7 +2,7 @@
title: Abbreviations
manTitle: 4. ABBREVIATIONS
sidebar:
order: 4
order: 8
helpKeywords:
- abbreviations
- abbr
+1 -1
View File
@@ -2,7 +2,7 @@
title: Functions Reference
manTitle: 5. FUNCTIONS REFERENCE
sidebar:
order: 5
order: 9
helpKeywords:
- functions
---
+1 -1
View File
@@ -2,7 +2,7 @@
title: Dependency Catalog
manTitle: 6. DEPENDENCY CATALOG
sidebar:
order: 6
order: 10
helpKeywords:
- catalog
- deps-catalog
+1 -1
View File
@@ -2,7 +2,7 @@
title: Customization
manTitle: 7. CUSTOMIZATION
sidebar:
order: 7
order: 11
helpKeywords:
- customization
- customize
+1 -1
View File
@@ -2,7 +2,7 @@
title: Fisher Plugins
manTitle: 8. FISHER PLUGINS
sidebar:
order: 8
order: 12
helpKeywords:
- plugins
- fisher
+1 -1
View File
@@ -2,7 +2,7 @@
title: Installation
manTitle: 9. INSTALLATION
sidebar:
order: 9
order: 13
helpKeywords:
- installation
- install
+1 -1
View File
@@ -2,7 +2,7 @@
title: Personalization
manTitle: 10. PERSONALIZATION
sidebar:
order: 10
order: 14
helpKeywords:
- personalization
- personalize
+1 -1
View File
@@ -2,7 +2,7 @@
title: Viewing This Manual
manTitle: 11. VIEWING THIS MANUAL
sidebar:
order: 11
order: 15
helpKeywords:
- viewing
- manual
+7 -1
View File
@@ -3,7 +3,13 @@ title: Fish Shell Configuration
description: Reference manual for the rootiest fish configuration.
manTitle: DESCRIPTION
sidebar:
order: 0
order: 3
pandoc:
title: FISH-CONFIG
section: 7
header: Fish Shell Configuration User Manual
date: June 2026
author: Rootiest
helpKeywords:
- description
- autopair