Skip to content

Rebuild 0.3 documentation with integrated editable examples and versioned publishing - #25

Open
marcelMaier wants to merge 1 commit into
pdfmake:masterfrom
marcelMaier:improve/docs-tooling-ci
Open

marcelMaier wants to merge 1 commit into
pdfmake:masterfrom
marcelMaier:improve/docs-tooling-ci

Conversation

@marcelMaier

Copy link
Copy Markdown

The 0.3 documentation currently separates reference reading from trying examples. This rebuild gives guides, reference pages and the playground one progressively enhanced application, with a clear task-based entry path and editable JavaScript/TypeScript examples alongside PDF results.

Documentation and examples

  • Replace the active documentation shell with task-based navigation, retained same-document navigation, search, mobile navigation and system/light/dark themes. Pages remain server-rendered and usable without JavaScript.
  • Integrate the playground into the documentation route. Add editable inline examples, local type checking, PDF previews/downloads, live updates that retain the successful preview, undo/redo, language drafts and persisted/named playground documents.
  • Rewrite onboarding, troubleshooting and reference content; provide 91 paired JavaScript/TypeScript examples. The 51 self-contained document definitions are checked with the same TypeScript checker as the editor; environment-dependent excerpts remain explicitly labeled.
  • Provide complete chapter coverage in English, German, French, Spanish and Brazilian Portuguese. Check source digests, section structure, code parity and locale-specific navigation/search. Editorial feedback from native-language readers remains welcome.
  • Generate versioned Markdown, llms.txt, llms-full.txt and search/discovery exports from the same source. Add a read-only stdio MCP documentation server with search and document resources.
  • Centralize version metadata and snapshot assembly, canonical URLs, language alternates and sitemaps. Retain existing chapter URLs and legacy documentation links.
  • Update the branding and rewrite the contributor README with reproducible build, authoring, synchronization and publishing instructions.

Runtime and release coordination

The default runtime remains pinned to published pdfmake 0.3.12. Unreleased native declarations and validation/diagnostic additions are explicitly labeled. PDFMAKE_SOURCE can select a locally built improved library; the preflight API is used only when the selected runtime actually implements it.

A declaration-only, licensed snapshot keeps documentation type checking reproducible ahead of the matching library release. Synchronization and integrity checks cover that snapshot; real packed-package imports are tested in the companion library change. Runtime and type pins should be updated together when those additions are released.

GitHub Pages

Prepare explicit publication of the tested artifact through SHA-pinned official Pages actions and OIDC. PR checks retain read-only permissions. The production job is restricted to an explicit dispatch on the upstream master branch and uses the github-pages environment.

The assembly step preserves the existing landing page and historical snapshots, verifies the current snapshot identity/runtime and places it under the correct project-Pages path. After successful deployment, the exact site is archived with a normal fast-forward push so later series preserve updated snapshots. Publications are serialized; archive pushes do not retrigger the docs workflow.

No deployment or repository-setting change has been performed. Before activation, maintainers need to select Actions as the Pages source, protect the deployment environment and retire any competing publisher. The historical gh-pages branch remains the preservation archive.

Validation

Locally verified on Windows with Node 24.15.0, Hugo 0.168.0 and Chrome:

  • All 18 documentation/MCP test groups passed, including translations, native declaration integrity, strict imports and future-version isolation.
  • 385 complete JavaScript snippets parsed; all 91 bilingual variants parsed; all 51 self-contained definitions passed strict TypeScript checking and library preflight.
  • Production build checked 296 HTML pages for headings, IDs, links, fragments and discovery metadata across 290 source pages.
  • Browser suites passed for the ten playground examples in JavaScript and TypeScript, inline edits/type errors, previews/downloads, history/autosave, SPA navigation, translations, themes, mobile layout and operation without JavaScript.
  • Assembled against the actual historical published tree; all 520 preserved historical files were byte-identical. Unit tests also reject invalid snapshot identities and overwrite attempts.
  • Documentation dependency audit reported zero findings.

Companion library pull request: bpampuch/pdfmake#2952

This branch has not been deployed

No deployments
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.

1 participant