fix(docs): update python slugifier to match starlight/github rules
Modified build-manual.py to strip punctuation and properly handle spaces/hyphens during link slug generation. This ensures top navigation link cards generated by the script actually match Starlight's URL format. Also fixed a few manual markdown links that mistakenly contained double dashes.
This commit is contained in:
@@ -621,7 +621,8 @@ def _inject_subheading_cards(body: str) -> str:
|
|||||||
cards = []
|
cards = []
|
||||||
for title in headings:
|
for title in headings:
|
||||||
safe_title = _jsx_attr_escape(title)
|
safe_title = _jsx_attr_escape(title)
|
||||||
slug = re.sub(r"[^a-z0-9]+", "-", title.lower()).strip("-")
|
slug = re.sub(r"[^\w\s-]", "", title.lower())
|
||||||
|
slug = re.sub(r"[-\s]+", "-", slug).strip("-")
|
||||||
cards.append(f' <LinkCard title="{safe_title}" href="#{slug}" />')
|
cards.append(f' <LinkCard title="{safe_title}" href="#{slug}" />')
|
||||||
|
|
||||||
cardgrid = "<CardGrid>\n" + "\n".join(cards) + "\n</CardGrid>\n\n"
|
cardgrid = "<CardGrid>\n" + "\n".join(cards) + "\n</CardGrid>\n\n"
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ Re-enable:
|
|||||||
|
|
||||||
set -Ue __fish_config_op_logging
|
set -Ue __fish_config_op_logging
|
||||||
|
|
||||||
See [C5 — Logging and Capture](/07-customization/#c5--logging-and-capture) for the full component breakdown.
|
See [C5 — Logging and Capture](/07-customization/#c5-logging-and-capture) for the full component breakdown.
|
||||||
|
|
||||||
## Change or Disable the Greeting
|
## Change or Disable the Greeting
|
||||||
|
|
||||||
@@ -112,7 +112,7 @@ testing):
|
|||||||
|
|
||||||
set -Ue __fish_config_first_run_complete
|
set -Ue __fish_config_first_run_complete
|
||||||
|
|
||||||
See [C6 — Greeting and First-Run UI](/07-customization/#c6--greeting-and-first-run-ui) for details.
|
See [C6 — Greeting and First-Run UI](/07-customization/#c6-greeting-and-first-run-ui) for details.
|
||||||
|
|
||||||
## Secrets and Machine-Local Configuration
|
## Secrets and Machine-Local Configuration
|
||||||
|
|
||||||
@@ -196,7 +196,7 @@ overrides):
|
|||||||
|
|
||||||
set -U __fish_config_op_overrides off
|
set -U __fish_config_op_overrides off
|
||||||
|
|
||||||
See [C3 — Key and Environment Overrides](/07-customization/#c3--key-and-environment-overrides) for the full list of
|
See [C3 — Key and Environment Overrides](/07-customization/#c3-key-and-environment-overrides) for the full list of
|
||||||
what C3 controls.
|
what C3 controls.
|
||||||
|
|
||||||
## What's with the C1-C6 stuff?
|
## What's with the C1-C6 stuff?
|
||||||
@@ -205,12 +205,12 @@ This configuration groups its opinionated behaviors into six categories (C1–C6
|
|||||||
|
|
||||||
Category Description
|
Category Description
|
||||||
──────────────────────────────────────────────────────────────────────────
|
──────────────────────────────────────────────────────────────────────────
|
||||||
C1 [Command Shadows](/07-customization/#c1--command-shadows) (aliases that replace default tools)
|
C1 [Command Shadows](/07-customization/#c1-command-shadows) (aliases that replace default tools)
|
||||||
C2 [Auto-Exec](/07-customization/#c2--auto-exec) (background tasks and startup side-effects)
|
C2 [Auto-Exec](/07-customization/#c2-auto-exec) (background tasks and startup side-effects)
|
||||||
C3 [Key & Env Overrides](/07-customization/#c3--key-and-environment-overrides) (Vi mode, PAGER)
|
C3 [Key & Env Overrides](/07-customization/#c3-key-and-environment-overrides) (Vi mode, PAGER)
|
||||||
C4 [Terminal Integrations](/07-customization/#c4--terminal-integrations) (Kitty, WezTerm)
|
C4 [Terminal Integrations](/07-customization/#c4-terminal-integrations) (Kitty, WezTerm)
|
||||||
C5 [Logging and Capture](/07-customization/#c5--logging-and-capture) (session logs, command duration)
|
C5 [Logging and Capture](/07-customization/#c5-logging-and-capture) (session logs, command duration)
|
||||||
C6 [Greeting & First-Run UI](/07-customization/#c6--greeting-and-first-run-ui) (custom startup banner)
|
C6 [Greeting & First-Run UI](/07-customization/#c6-greeting-and-first-run-ui) (custom startup banner)
|
||||||
|
|
||||||
Disable all opinionated features at once (Minimal Mode):
|
Disable all opinionated features at once (Minimal Mode):
|
||||||
|
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ output, file contents, and secrets printed to the terminal. Nothing leaves
|
|||||||
your machine, but the files persist locally.
|
your machine, but the files persist locally.
|
||||||
- Disable all logging with: `set -U __fish_config_op_logging off`
|
- Disable all logging with: `set -U __fish_config_op_logging off`
|
||||||
- Prefer a menu? Run the interactive picker: `config-settings`
|
- Prefer a menu? Run the interactive picker: `config-settings`
|
||||||
- See [C5 — Logging and Capture](/07-customization/#c5--logging-and-capture) for the full breakdown.
|
- See [C5 — Logging and Capture](/07-customization/#c5-logging-and-capture) for the full breakdown.
|
||||||
|
|
||||||
The configuration uses a structured file tree:
|
The configuration uses a structured file tree:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user