Skip to content

docs: add user guides and correct plugin references - #393

Merged
chhoumann merged 25 commits into
masterfrom
docs/content-reference
Oct 11, 2026
Merged

chhoumann merged 25 commits into
masterfrom
docs/content-reference

Conversation

@chhoumann

@chhoumann chhoumann commented Oct 11, 2026 •

Copy link
Copy Markdown
Owner

Summary

Users can now find first-run, mobile, FAQ, and device-sync guidance in the sidebar. The template, timestamp, command, and API references match merged plugin behavior.

Fixes #352. Targets master after #362 merged.

Reference corrections cover the supported date/time token subsets, escaped titles and URLs, sanitized names, empty local-file stream tags, tag scopes, path limits, and the default feed-note link. Commands now include Reorder Queue, IDs, availability, exact settings names, and the separate editor/headset capture behavior. API docs include current Episode fields, missing members, numeric bounds, transcript reads, and formatting failures. URI docs cover parameters, aliases, validation, and title-match limits.

Private-feed guidance includes storage failures and undetected path tokens. Sync guidance describes the shipped snapshot behavior and private-feed reference limits. #388 is still open, so its proposed merge behavior is omitted. Source-based follow-ups are tracked in #390 and #391.

Sources are pinned to merged origin/master at 0b9f605. Rechecked against 96093b9 after merging master. The src/ tree is unchanged between these commits, and #388 remains open.

Sources per page:

Page Behavior sources
FAQ Player and persistence, search, private feeds, commands/API sources below, merged #373 and #374.
Sync Save/load and unreadable-data handling, download ownership, private-feed source above, merged #374 and #376.
Mobile Player/commands sources, plus Android evidence comments on #89, #100, #109, #110, and #113.
Getting started Search, commands, and defaults, merged #369 and #373.
Templates TemplateEngine, defaults above, date formatter.
Timestamps URIHandler, time formatter, segment capture.
Commands Command registry, settings names.
API IAPI, implementation, Episode.

Verification

  • Rechecked on head 61b0b03736730a1464808560a254d45522ca75b2 after merging master. From docs/, npm run docs:build and node scripts/legacy-fragments.mjs check passed.
  • Node 22.23.2. npm run lint, npm run format:check, npm run typecheck, and npm run build all passed.
  • npm run test passed with zero Svelte errors/warnings and 1,296 tests in 84 files. npm run docs:build passed with 15 pages, valid internal links, and all 73 legacy fragments.
  • Cloudflare Pages and all required checks passed on 61b0b03. Walked all eight changed pages at 1440×1000 and 390×844 on the Cloudflare preview. All 76 internal URLs and fragments resolve. All four new pages appear in the sidebar. An independent Opus review passed the master integration and current sync wording.
  • Walked all eight changed pages in the local preview at 1440×1000 and 390×844 CSS pixels. No page overflow or broken images. Independent Opus and GPT content reviews were performed.

This docs-only change adds no new Obsidian runtime test. The cited mobile checks used Obsidian 1.14.4 and PodNotes 2.21.1 on an Android 14 Pixel 6 emulator. They do not establish iOS, physical-phone, or headset delivery support.

New page Desktop preview Phone preview
FAQ Screenshot Screenshot
Sync Screenshot Screenshot
Mobile Screenshot Screenshot
Getting started Screenshot Screenshot

Scope

Documentation and sidebar only. Existing URLs and legacy fragments are preserved.

Pages move from docs/docs/ to docs/src/content/docs/ and images from
docs/docs/resources/ to docs/public/resources/, unchanged. The repo README
points at the new image paths because Obsidian's plugin browser renders it.
Each page gets title and slug frontmatter. Leading H1s move into title.
Relative .md links and resources/ image paths become site-absolute, and
em-dashes become plain dashes. No other content changes.
docs/ becomes a standalone npm package (own package-lock.json) that builds
with Astro Starlight into docs/dist. Every URL the MkDocs site served stays
the same, and /sitemap.xml redirects to /sitemap-index.xml.

- A build-time check fails when a page has no slug: frontmatter, so URLs
  such as /QuickAdd/ cannot silently change case.
- starlight-links-validator fails the build on a broken internal link or
  anchor.
- starlight-llms-txt writes llms.txt files, and every page is also served
  as raw markdown at <page-url>.md.
- docs:build installs and builds the docs package; wrangler.jsonc and
  docs:deploy publish docs/dist.
The Documentation workflow sets up Node from .nvmrc with the docs lockfile
as the npm cache key, and also runs when package.json or .nvmrc change.
Dependabot tracks the docs npm package instead of pip. The release
workflow no longer installs Python or the deleted requirements file.
The schema rejects a page without slug: at load time, in builds and in astro dev, so the custom config-time file scan goes. Also drops the twitter:card entry Starlight already emits, types the raw-markdown endpoint props, and removes a .gitignore line the root node_modules rule covers.
# Conflicts:
#	.github/dependabot.yml
#	.github/workflows/documentation.yml
starlight-llms-txt pulls braces through micromatch, and every braces release is affected by GHSA-vfj7-8cjw-p6xm (high, no patch), which fails the required Dependency Review check. Two small endpoints now write /llms.txt (every page in sidebar order, linked as raw markdown) and /llms-full.txt from the same page markdown as /<page>.md. The sidebar moves to src/site.mjs so the config and the endpoints share one page order.
…rser

Starlight's code highlighter (@expressive-code/core) pins postcss-nested 6, whose postcss-selector-parser 6.1.4 is affected by GHSA-rj75-hqrm-r3gf (moderate; fixed in 7.1.6). postcss-nested 7 only drops Node 12-16 and depends on the 7.x parser. The built site is byte-identical with and without the override, and npm audit in docs/ reports no vulnerabilities. Drop the override once expressive-code moves to postcss-nested 7.
llms.txt and llms-full.txt list pages from the sidebar, so a page left out of it would silently drop out of both while still serving its raw .md. The site title also moves into src/site.mjs next to the description and sidebar.
Starlight drops a hyphen differently from MkDocs on two headings, and moving four H1s into frontmatter removed their ids, so six old section links landed at the page top. Empty <div id> anchors restore them, and the raw markdown endpoints strip the anchors. scripts/legacy-fragments.mjs checks every heading id from master's MkDocs build (legacy-fragments.json, 73 ids) against each new build and fails the docs build when one has no target.
Empty <div id> anchors at the top of a page became its first block, so the first paragraph took Starlight's 16px block gap and the page shifted down. Old page-title ids now come from a legacyTitleId frontmatter field that a PageTitle override wraps around the title, and old section ids are empty spans inside their headings. Both land exactly where the new ids do and add no space.
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Deploying podnotes with  Cloudflare Pages  Cloudflare Pages

Latest commit: 61b0b03
Status: ✅  Deploy successful!
Preview URL: https://60794810.podnotes.pages.dev
Branch Preview URL: https://docs-content-reference.podnotes.pages.dev

View logs

Base automatically changed from docs/starlight to master October 11, 2026 08:08
@chhoumann chhoumann linked an issue Oct 11, 2026 that may be closed by this pull request
# Conflicts:
#	AGENTS.md
#	docs/README.md
#	docs/package.json
#	docs/src/content/docs/api.md
#	docs/src/content/docs/commands.md
#	docs/src/content/docs/templates.md
#	docs/src/content/docs/timestamps.md
#	docs/src/site.mjs
#	docs/wrangler.jsonc
#	package.json
@chhoumann
chhoumann merged commit e23969a into master Oct 11, 2026
11 checks passed
@chhoumann
chhoumann deleted the docs/content-reference branch October 11, 2026 08:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Docs: add Getting started, Mobile, and FAQ pages

1 participant