docs(web): 16 new SEO pages for v0.17–v0.18 features and more distros (#1038)

* fix(web): stop doubled title suffix and correct stale page claims

- buildPageMetadata now emits titles that already end in the brand
  (e.g. "... | Vocalinux") as absolute, so the layout template no longer
  renders "| Vocalinux | Vocalinux" on 15 existing pages
- autostart: Start on Login moved out of the tray menu in v0.18.1; point
  readers at Settings -> General and the first-run prompt
- wayland: align compositor support with docs/DISTRO_COMPATIBILITY.md
  (sway good, Hyprland experimental, river untested)

* docs(web): add guides for v0.17-v0.18 features and more distros

New pages for features that only had changelog one-liners:
/parakeet/, /faster-whisper/, /dictation-pad/, /transcribe-audio-files/,
/custom-dictionary/, /multilingual-dictation/, /pipewire/,
/global-shortcuts/, /hyprland-sway/, /local-gateway/, /flatpak/,
/install/nixos/, plus /install/debian/, /install/opensuse/,
/install/linux-mint/ and /install/pop-os/ via the distro route.

Each page is checked against src/ and docs/ at v0.18.5, carries
TechArticle/HowTo/FAQPage JSON-LD built from the visible content, and
links to existing guides. The distro route now lists support levels from
the compatibility matrix instead of unsourced "tested on" claims, uses
the documented install commands, adds AUR and native package options,
and drops its duplicate breadcrumb.

Registration: sitemap entries, breadcrumb titles, a Features footer
group, links from the install hub, homepage engine chips and the
reliability page, and a test that every static route is in the sitemap.
The homepage VocaPhone card now says Android is on Google Play.
This commit is contained in:
Jatin K Malik
2026-11-01 00:30:07 -07:00
committed by GitHub
parent dbf8039196
commit 6389e81d45
24 changed files with 6496 additions and 115 deletions
+16
View File
@@ -36,6 +36,22 @@ const pageTitles: Record<string, string> = {
"/troubleshooting": "Troubleshooting",
"/shortcuts": "Voice Commands",
"/alternatives": "Alternatives",
"/parakeet": "Parakeet",
"/faster-whisper": "Faster Whisper",
"/dictation-pad": "Dictation Pad",
"/transcribe-audio-files": "Transcribe Audio Files",
"/custom-dictionary": "Custom Dictionary",
"/multilingual-dictation": "Multilingual Dictation",
"/pipewire": "PipeWire",
"/global-shortcuts": "Global Shortcuts",
"/hyprland-sway": "Hyprland and Sway",
"/local-gateway": "Local Gateway",
"/flatpak": "Flatpak",
"/install/nixos": "NixOS",
"/install/debian": "Debian",
"/install/opensuse": "openSUSE",
"/install/linux-mint": "Linux Mint",
"/install/pop-os": "Pop!_OS",
};
function titleFromSegment(segment: string): string {