Skip to content

Docs/ecosystem refresh#50

Merged
Nizoka merged 3 commits into
mainfrom
docs/ecosystem-refresh
Jun 14, 2026
Merged

Docs/ecosystem refresh#50
Nizoka merged 3 commits into
mainfrom
docs/ecosystem-refresh

Conversation

@Nizoka

@Nizoka Nizoka commented Jun 14, 2026

Copy link
Copy Markdown
Owner

Description

Refreshes the entire pdfnative documentation site (/docs, README.md, AGENTS.md, llms.txt) to cover the full 4-package ecosystem: pdfnative 1.3.0, pdfnative-cli 1.1.0, pdfnative-mcp 1.0.0, and pdfnative-react 0.2.0.

Why: The documentation was partially reflecting v1.3.0 capabilities (22 Unicode scripts vs. the displayed 16, 2 043 tests vs. the displayed 1 818, cli at v1.0.0 instead of v1.1.0) and had no coverage of the React renderer published as pdfnative-react@0.2.0. Additionally, several guide HTML shells had copy-paste defects (wrong <title>, <meta description>, and breadcrumb from faq.html), no OG/Twitter social preview cards on any sub-page, no sitemap, and no robots.txt.

What changed (documentation only — no source code):

pdfnative-react 0.2.0 — new ecosystem member

  • docs/guides/react.md + docs/guides/react.html (new) — full React renderer guide: component reference (Document, Heading, Text, Table, Barcode, Image, Link, …), renderToBytes/renderToBlob/renderToStream/renderToFile API, usePdf live-preview hook, token-frugal DocSpec for AI agents, streaming, PDF/A, 22 Unicode scripts. OG/Twitter tags included.
  • docs/playgrounds/react.html (new) — interactive JSX playground; presets fixed to use the correct PdfRow { cells: [...] } shape and DocSpec { h, r } keys (would have caused a runtime crash); import-map extended with the pdfnative/ trailing-slash entry for font subpaths.
  • docs/index.html — React feature card (9-card grid), React onboarding card (4th card in 30-Second Start), "JSX in, PDF bytes out" dedicated section with snippet using the correct rows shape; nav #react anchor.
  • docs/assets/architecture.svg — third ecosystem box added (pdfnative-react, cyan theme), arrow, label; <desc> updated.
  • docs/assets/versions.jspdfnative-react added to PKGS array, FALLBACK map (pin ^1.3.0), and applyDataAttrs().
  • docs/style.css.onboarding-grid desktop columns 4 → 2 (cards are content-rich; 4-up was unreadable at any viewport), single-column ≤ 600 px; stale 4-col and redundant tablet rule removed.
  • docs/guides/index.html — React guide and React playground entries; onboarding TOC description now lists all 4 packages.
  • docs/guides/onboarding.md + onboarding.html — 4th onboarding path (React 30-second start), correct PdfRow shape in code example.
  • docs/guides/architecture.mdpdfnative-react entry in the Ecosystem section.

Metrics and versions refreshed

  • Unicode scripts 16 → 22 everywhere (index.html metrics bar, comparison table, og:description, OG image, architecture.svg <desc>).
  • Test counts 1 818+ / 53 files → 2 043+ / 73 files (locally verified with vitest run).
  • Benchmarks section updated to locally-measured mean values: Latin 100 rows = 0.7 ms, 500 = 3.5 ms, 1 000 = 6.9 ms, 5 000 = 33 ms; Unicode 100 = 2.9 ms, 500 = 14 ms, 1 000 = 27 ms. Bar widths re-calibrated (cap = 33 ms). Hardware note corrected to "Intel Core i3 mini-PC (Node.js 22)".
  • pdfnative-cli v1.0.0 → v1.1.0 in guides/index.html TOC description and all guide references.
  • pdfnative-mcp "built on pdfnative 1.2.0" preserved after QA verification against pdfnative-mpc/package.json ("pdfnative": "^1.2.0"); an erroneous 1.3.0 bump was reverted.
  • docs/assets/versions.js mcp fallback pin corrected to ^1.2.0 (was ^1.3.0).
  • docs/guides/cli.md — v1.1.0 content refresh (ECDSA-SHA256, --stream-true, --watch, --template, --font, batch command, schema sub-command).
  • docs/guides/mcp.md — 12-tool table kept; "built on 1.2.0" preserved; 18-script count kept (correct for its 1.2 base).

SEO and metadata fixes

  • 4 guide shells with copy-paste defects (accessibility.html, architecture.html, quickstart.html, troubleshooting.html) — <title> was "FAQ — pdfnative", meta description was the FAQ text, breadcrumb showed "FAQ". All corrected to page-accurate values.
  • Open Graph / Twitter Cardsog:type/site_name/url/title/description/image + twitter:card/title/description/image added to all 15 guide HTML shells and all 7 playground HTML shells (previously homepage-only). og:type=article for guides, website for playgrounds. Shared 1200×630 og:image.
  • docs/sitemap.xml (new) — 23 canonical URLs, valid XML, <lastmod> = 2026-06-14, hierarchical <priority>, RELEASE CHECKLIST comment.
  • docs/robots.txt (new) — Allow: /, Sitemap: pointer.
  • docs/assets/og-image.svg (new) — editable 1200×630 vector source in the brand charter (navy palette, blue accent gradient, logo + wordmark, capability pills). Zero-dependency: reproducible from the SVG using headless Edge/Chromium.
  • docs/assets/og-image.png (new) — 1200×630 PNG rasterised from the SVG via headless Edge; referenced by every page in the site.
  • docs/index.html — RELEASE CHECKLIST comment added above the JSON-LD <script> to document that the hardcoded softwareVersion values are the static SEO mirror of the live npm badges and must be kept in sync at each release.
  • docs/guides/index.html — meta description updated to include the full ecosystem.

Other

  • README.mdpdfnative-react badge, ecosystem section updated; 22 scripts, v1.1.0 CLI, 2 043+ tests.
  • AGENTS.md — ecosystem context updated (pdfnative-react 0.2.0 entry, pdfnative-cli 1.1.0).
  • llms.txt — machine-readable doc index updated (react guide, playground, og-image entries; 22 scripts, 2 043+ tests).

Related Issues

Closes #

Checklist

  • Tests pass (npm run test) — N/A: no source code changes
  • Type check passes (npm run typecheck:all) — N/A: no source code changes
  • Lint passes (npm run lint) — N/A: no source code changes
  • New code has tests (coverage thresholds must not regress) — N/A: documentation only
  • CHANGELOG.md updated (if user-facing change) — N/A: each ecosystem package has its own CHANGELOG
  • No breaking changes (or documented in description) — ✅ documentation only, no API changes

Nizoka added 2 commits June 14, 2026 13:25
…ons and metrics

- Add pdfnative-react v0.2.0 as 4th ecosystem package across the entire docs site
  - versions.js: add to PKGS array, FALLBACK (pin ^1.2.0 for mcp, ^1.3.0 for react/cli),
    and applyDataAttrs(); mcp fallback pin corrected to ^1.2.0 (its real dependency)
  - architecture.svg: add 3rd ecosystem box (React renderer · JSX / on-device · live preview)
    with cyan-themed arrow; ECOSYSTEM rect accommodates all three companion packages
  - index.html: React feature card (9-card grid), React onboarding card (4-card 2-col grid),
    JSX snippet in dedicated React section; Table rows in inline example use {cells:[...]} shape
  - style.css: onboarding-grid capped at 2 columns on all viewports (single-col ≤600px),
    feature-grid tablet rule kept at 2 columns

- Metrics updated to locally-measured values
  - Unicode scripts 16 → 22
  - Test count 1 818+ / 53 files → 2 043+ / 73 files
  - Benchmarks: Latin 100=0.7ms, 500=3.5ms, 1000=6.9ms, 5000=33ms;
    Unicode 100=2.9ms, 500=14ms, 1000=27ms; bar widths re-calibrated (cap=33ms)
  - Hardware note: Intel Core i3 mini-PC (Node.js 22), faster hardware 2-4x quicker

- Version fixes
  - pdfnative-cli v1.0.0 → v1.1.0 everywhere (guides/index.html, guides/*.md)
  - MCP 'built on pdfnative 1.2.0' preserved (real ^1.2.0 dep in pdfnative-mpc/package.json);
    erroneous 1.3.0 bumps reverted after QA subagent verification

- React playground crash fix (docs/playgrounds/react.html)
  - invoice + report presets: rows arrays changed from string[][] to PdfRow {cells:[...]}
  - DocSpec static example: headers/rows keys → h/r (DocSpec schema)
  - Import-map: added pdfnative/ trailing-slash entry for font subpath imports

- New files: docs/guides/react.html, docs/guides/react.md, docs/playgrounds/react.html
…ap, robots, OG image

Metadata correctness (copy-paste fixes)
- accessibility/architecture/quickstart/troubleshooting.html: replace the leftover
  'FAQ' <title>, <meta description>, and breadcrumb with page-accurate values
- guides/index.html: broaden description to the full ecosystem

Open Graph / Twitter Cards on every sub-page
- Add og:type/site_name/url/title/description/image + twitter:card/title/description/image
  to all 15 guide shells and all 7 playground shells (previously homepage-only)
- og:type=article for guides, website for playgrounds; shared 1200x630 og:image

Discoverability
- Add docs/sitemap.xml (23 canonical URLs, valid XML, release-bump comment)
- Add docs/robots.txt (Allow: /, Sitemap pointer)

Social share image (zero-dependency)
- Add docs/assets/og-image.svg: editable vector source in the brand charter
  (navy surface palette, blue accent gradient, logo + wordmark, capability pills)
- Add docs/assets/og-image.png: 1200x630 raster (headless-Edge rasterised from the SVG),
  referenced by index.html and every sub-page card

JSON-LD hygiene
- index.html: add a RELEASE CHECKLIST comment above the JSON-LD documenting that the
  hardcoded softwareVersion values are the static SEO mirror of the live npm badges

Docs-only. No TypeScript/runtime changes.
@Nizoka Nizoka self-assigned this Jun 14, 2026
@Nizoka Nizoka added the documentation Improvements or additions to documentation label Jun 14, 2026
- update tsx from ^4.21.0 to ^4.22.4
- add npm override forcing esbuild@0.28.1 across transitive deps
  (tsup, tsx, vite/vitest)
- regenerate lockfile

Validation:
- npm audit: 0 vulnerabilities
- npm run typecheck:all: pass
- npm run test: 2043/2043 pass
- npm run lint: pass
- npm run build: pass
@Nizoka Nizoka merged commit 83fc60b into main Jun 14, 2026
6 checks passed
@Nizoka Nizoka deleted the docs/ecosystem-refresh branch June 14, 2026 13:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant