Skip to content

Modernize: Next.js static site on LaTeX2JS 4.x - #2

Open
pyramation wants to merge 3 commits into
mainfrom
modernize
Open

Modernize: Next.js static site on LaTeX2JS 4.x#2
pyramation wants to merge 3 commits into
mainfrom
modernize

Conversation

@pyramation

Copy link
Copy Markdown
Contributor

Modernizes latex2js.com onto the Next.js static-export stack shared with constructive.io/danlynch.com, upgraded to the LaTeX2JS 4.x packages.

  • latex2js + latex2react 4.0.3 (pinned exact for now — the registry's newer versions depend on not-yet-published packages; a follow-up commit on this branch bumps to ^4.0.8 once the full set is on npm)
  • @latex2js/reactlatex2react and @latex2js/vuelatex2vue renames across install guides, JSON-LD, and SEO copy; Vue guide rewritten for Vue 3 / Nuxt 3
  • Static export with sitemap/robots/llms.txt generation and S3+CloudFront deploy scripts (distribution E2IV32FSPB7S79)

Tests: 11 passing.

🤖 Generated with Claude Code

pyramation and others added 3 commits August 16, 2026 22:34
Clean-slate rewrite of the static hand-written site onto the same
architecture as constructive.io/danlynch.com:

- Next.js 16 (Pages Router, static export) + React 19 + Tailwind
- JSON-LD knowledge graph (jsonldjs) with shared @id namespace:
  software:latex2js as mainEntity, org:constructive as publisher,
  per-page subgraph extraction injected via the common <Head>
- Per-route SEO registry with derived canonicals, next-seo defaults
- Post-build sitemap + robots.txt generation from exported HTML
- llms.txt + markdown twins for every example and install guide
- The 13 PSTricks examples (plus the community graph example) are now
  individual pages at /examples/<slug>, driven by content/examples/*.tex
  and rendered live by @latex2js/react from npm (committed 92KB bundle
  dropped)
- Installation guides as structured data driving /installation pages
- Jest graph-validation suite (missing refs, orphans, duplicates)
- Deploy pipeline preserved: S3 s3://latex2js.com + CloudFront
  invalidation + extensionless HTML copies

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The original website.css applied 'Arbutus Slab' (the slab-serif that
reads like Knuth's LaTeX defaults) to body; equations render in
Computer Modern via MathJax. Apply it site-wide and wire the
.math/.rm selectors from the latex2js stylesheet to the self-hosted
next/font face.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- latex2js 4.0.3 + latex2react 4.0.3 (pinned exact: the registry's newer
  4.0.7 has dependency ranges pointing at unpublished versions; bump to
  ^4.0.8 once the full set is published)
- @latex2js/react -> latex2react and @latex2js/vue -> latex2vue renames
  across the install guides, JSON-LD software nodes, and SEO copy
- Vue guide rewritten for the Vue 3 / Nuxt 3 plugin API

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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