docs: Docusaurus migration with v3.3 versioned docs#20883
Conversation
Adds a Docusaurus 3.10.0 site at docs/docusaurus/ as a migration from the current GitBook-based documentation. Content is in sync with docs/gitbook/ on this branch (release/3.4). ## What's included **Framework & tooling** - Docusaurus 3.10.0 + React 19, TypeScript, Webpack 5 - @docusaurus/faster for build performance - @easyops-cn/docusaurus-search-local (offline search, no Algolia needed) - @docusaurus/theme-mermaid for diagram support **Content** - All technical docs migrated from docs/gitbook/src/ (get-started, fundamentals, interacting-with-erigon, staking, about) - Help Center migrated from docs/gitbook-help/ as a standalone secondary docs instance (routeBasePath: 'help-center') - Docs served at site root (routeBasePath: '/') under baseUrl '/docs/' **Design & branding** - Erigon orange (#EF7716) color system, light + dark mode - Montserrat (headings), Nunito Sans (body), Quantify (navbar brand) - Swizzled Footer: black background, 4-column layout with social SVG icons - Swizzled 404: branded page with 6 navigation cards - Branded navbar: logo, Blog + Release Notes + GitHub buttons - Landing page and section index pages as MDX with card grids - Chain icons (ETH, GNO, POL), otter mascot, shutter graphics **CI** - GitHub Actions workflow: build on PR, deploy to GitHub Pages on main **Deployment target**: erigontech.github.io/docs/ Co-Authored-By: bloxster <gianni.morselli@erigon.tech>
…5.105.0 webpackbar (pulled in by @docusaurus/bundler) is incompatible with webpack 5.106+'s stricter ProgressPlugin schema validation, causing the dev server to crash immediately after starting. Two changes: - Remove webpackbar from direct dependencies (it is only a cosmetic build-progress display; @docusaurus/bundler manages its own copy) - Add npm override to pin webpack to 5.105.0, the last version before the breaking ProgressPlugin schema change Build and dev server both confirmed working after this fix. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ers, spec ref - Community column: plain icon links replaced with .footer-social-btn pill buttons (bordered rounded box, icon + label, orange hover + lift), matching Cocoon and erigon.tech style - All 4 column headers: color #f0f0f0 (was rgba(255,255,255,0.4)) - Add .footer-social-btn CSS class to custom.css - DESIGN-SPEC.md: add canonical spec pointer to github.com/erigontech/erigon-documents/tree/master/public-docs Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Set current version label to v3.4 (badge suppressed) - Add docsVersionDropdown navbar item (right side, before Blog) - Add version dropdown CSS with orange active/hover state Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Run docs:version v3.3 to create archived version snapshot - Add lastVersion: 'current' so v3.4 is treated as latest stable - Version dropdown back on right side of navbar Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replaces the v3.3 snapshot (which was a copy of v3.4 content) with the properly migrated v3.3 GitBook content from docs/docusaurus-v3.3 branch. All cross-section relative links fixed for the flattened structure: - fundamentals/interacting-with-erigon/ → ../interacting-with-erigon/ - fundamentals/staking/ → ../staking/ - get-started/fundamentals/ → ../fundamentals/ - installation-2 → installation/ - archive/ references removed - index.md anchor links fixed for trailingSlash:false behavior Build: SUCCESS, 0 broken links (4 broken anchors are heading ID mismatches within individual v3.3 pages — content review items). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…an up about section - Fix slug in versioned_docs/version-v3.3/index.mdx: was '/docs/v3.3/' causing double-prefix URL (/docs/v3.3/docs/v3.3/); changed to '/' so Docusaurus adds the version prefix correctly - Add get-started/index.md and fundamentals/index.md stubs so section root links resolve correctly in v3.3 versioned docs - Replace about/index.md with about/index.mdx: JSX card layout (Contributing, Disclaimer, License only) matching v3.4 style - Remove donate.md and how-to-reach-us.md from v3.3 versioned docs - Update v3.4 docs/index.mdx About card description to match actual content - Update v3.4 docs/about/index.mdx subtitle to match actual content Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…th versions - v3.4 docs/index.mdx: replace About card with Interacting with Erigon card (JSON-RPC / gRPC API reference with code-brackets icon) - v3.3 versioned_docs/version-v3.3/index.mdx: same About → Interacting swap - v3.3 index.mdx frontmatter: add title/hide_title to match v3.4 so the sidebar shows "Introduction" instead of the raw filename "index" Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…stallation page - Add title frontmatter to all 10 v3.3 get-started pages that were showing raw filenames in the sidebar and as page titles (hardware-requirements, why-using-erigon, migrating-from-geth, installation/upgrading, easy-nodes index and all sub-pages) - Rebuild get-started/index.md with full card layout matching v3.4 (5 cards: Why Erigon, Hardware Requirements, Installation, Easy Nodes, Migrating from Geth) - Replace v3.3 installation/index.md with v3.4 structure: OS-selector tabs with smooth-scroll anchors, proper details sections for Docker, Pre-built, Source, Native Windows, and WSL — version refs updated to v3.3.x, Go req to 1.24, internal links prefixed with /docs/v3.3/ Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- hardware-requirements: remove stray ---/--- GitBook artifact; hide_title:true already set — artifact was causing Docusaurus to render frontmatter title as an extra h1 before the body heading - migrating-from-geth: same artifact removal + add hide_title:true - easy-nodes/index.md: replace plain heading stub with full 3-card layout matching v3.4 (Ethereum, Gnosis Chain, Polygon) with versioned /docs/v3.3/ paths Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Matches v3.4 layout: row-direction card spanning full grid width with ribbon icon, title, description, and chevron arrow. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Matches v3.4 structure: Basic Usage, Sync Modes, Configuration, Supported Networks, Optimizing Storage, Docker Compose, Security, Modules — all links prefixed with /docs/v3.3/. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Matches v3.4: Caplin (Built-in CL), External Consensus Client, Shutter Network cards with versioned /docs/v3.3/ paths. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…3.3 + v3.4) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace two GitBook HTML tables (data-header-hidden with empty <thead>) with proper markdown tables — Overview component table and Ethereum mainnet Disk Size/RAM table. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Introduction (index.mdx, pos 1) was hidden behind Get Started because both had position 1. Shifted all top-level categories up by 1: get-started 1→2, fundamentals 2→3, interacting-with-erigon 3→4, staking 4→5, about 5→6. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…an-external-cl Remove GitBook ---/--- horizontal rule artifact before the h1 heading, add hide_title:true to prevent frontmatter title rendering as a second h1. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…3 + v3.4) Replace intimidating warning with a neutral info note that explains the benefit (full control, any version/branch) and points casual users to binaries/Docker without discouraging developers. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Delete scripts/: one-time migration helpers (convert_meta.py, convert_to_docusaurus.py) — copied to erigon-documents for reference - Delete static/img/: docusaurus.png, docusaurus-social-card.jpg, eth/gno/pol .png duplicates (svg versions are used), undraw_docusaurus_*.svg - Delete src/components/HomepageFeatures/ — unused default Docusaurus scaffold - Delete src/pages/index.module.css — no index.tsx to consume it Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
docs/gitbook/ and docs/gitbook-help/ are fully superseded by the Docusaurus site in docs/docusaurus/. Content is preserved in git history and mirrored in versioned_docs/version-v3.3/. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Triggers on push to release/3.4 when docs/docusaurus/** changes. Builds the Docusaurus site and deploys to gh-pages branch via peaceiris/actions-gh-pages with custom domain docs.erigon.tech. Also adds static/CNAME so the custom domain is always present in the build output. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Switch from peaceiris/actions-gh-pages to the official GitHub Pages Actions flow (upload-pages-artifact + deploy-pages) to match the erigon-website deploy workflow. Split into build/deploy jobs with pages: write + id-token: write permissions. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… limits Expand --rpc.logs.maxresults entry with affected methods, 0=unlimited note, and interaction with --rpc.blockrange.limit. Add :::note callouts to erigon_getLogs and erigon_getLatestLogs referencing the cap. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- contributing.md: update repo from erigontech/docs → erigontech/erigon, fix clone path and PR target branch to release/3.4 - v3.3 gnosis-with-external-cl: replace GitBook JWT link with relative path - v3.3 configuring-erigon: replace GitBook supported-networks with relative path - erigon.md (v3.4): fix #--rpclogs anchor → #rpc--api (heading-based ID) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…guration → gear Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…n index With baseUrl='/docs/', absolute paths must not include /docs/ themselves — Docusaurus prepends it automatically. All namespace links and the RPC daemon link were resolving to /docs/docs/... causing 404s. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Split two-step commands onto separate lines with <br/>, wrap all commands and flags in backticks for code formatting. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Strip /docs/ prefix from absolute links (baseUrl already prepends it) - Remove .md extensions from same-page anchors (Docusaurus uses extensionless URLs) - Fix /staking/caplin links in easy-nodes guides Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Replace "View on …" link labels with bare URLs in eth, engine, web3, net pages - Remove standalone duplicate links in ots and graphql pages - Remove two redundant standalone links from interacting-with-erigon index - Delete 6 unused static assets (otter, shutter-icon, shutter.png, logo.svg) - Update Caplin card icon to radio/beacon signal (v3.4 + v3.3) - Update DESIGN-SPEC to reflect current asset inventory Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
yperbasis
left a comment
There was a problem hiding this comment.
Issues
Configuration
- CNAME ↔ url / baseUrl mismatch (likely a real problem)
- docs/site/static/CNAME → docs.erigon.tech
- docs/site/docusaurus.config.ts → url: 'https://erigontech.github.io', baseUrl: '/docs/'
- The site is served at docs.erigon.tech/..., but Docusaurus will emit canonical URLs, OG tags, sitemap entries, and absolute internal hrefs as erigontech.github.io/docs/.... SEO
indexers and social card scrapers will get the wrong host. Either set url: 'https://docs.erigon.tech' and baseUrl: '/', or remove the CNAME if erigontech.github.io/docs/ is genuinely
the target.
- Dead workflow file: docs/site/.github/workflows/deploy.yml
- GitHub Actions only reads workflows from .github/workflows/ at the repository root. This nested copy will never run. It also still targets main and lacks working-directory:
docs/site, so even if it did run it would fail. Delete it — the live workflow is .github/workflows/docs-deploy.yml.
- onBrokenLinks: 'warn' (and onBrokenMarkdownLinks: 'warn')
- The PR description notes 4 known broken anchors in v3.3 source. With 'warn', future regressions in v3.4 will silently slip through. Suggest fixing the four v3.3 anchors and
switching both to 'throw' so the deploy workflow actually fails on broken links. This is the standard Docusaurus posture.
Code duplication
- Two NotFound implementations
- docs/site/src/theme/NotFound.tsx (full Layout-wrapped page, 86 lines)
- docs/site/src/theme/NotFound/Content/index.tsx (content-only swizzle, 73 lines)
Both define the same cards array and render identical content. Docusaurus will pick whichever swizzle target it resolves first; the other becomes confusing dead code that drifts on
future edits. Pick one — NotFound/Content/index.tsx is the recommended modern swizzle target — and delete the other.
DESIGN-SPEC ↔ implementation drift
- docs/site/DESIGN-SPEC.md claims Mermaid + webpackbar, but the implementation has neither
- Spec says: markdown: { mermaid: true }, themes: ['@docusaurus/theme-mermaid']. Config has neither, and @docusaurus/theme-mermaid is not in package.json.
- Spec lists webpackbar: ^5.0.2. Not in package.json.
The spec doc points at https://github.com/erigontech/erigon-documents/.../docusaurus-design-spec.md as authoritative. If those features were intentionally dropped for the in-tree
site, update DESIGN-SPEC accordingly so future maintainers don't think they're broken; otherwise wire them up.
- docs/site/README.md is unmodified Docusaurus boilerplate
- Uses yarn commands; the workflow and package-lock.json use npm. Replace with npm-based instructions or document both. Also remove the USE_SSH=true yarn deploy and GIT_USER=...
instructions — deployment is via the GH Actions workflow, not manual yarn deploy.
Versioning / content
- Hardcoded 3.4.x placeholders in installation tables
- The original GitBook used space.vars.version. Replacement is literal
3.4.xstrings. Each minor release will require manual sweeping of the tree. Consider a customFields.version in
docusaurus.config.ts plus a small component, or a build-time npm run build -- --version=3.4.5 injection. Not a blocker, but flag for follow-up.
- versions.json and lastVersion
- Spec says lastVersion: 'current'. Matches the config. Good. v3.3 archive label and v3.4 current label render correctly per the test plan.
Minor
- Inline raw-HTML SVGs in navbar (docusaurus.config.ts)
- go(id) smooth-scroll helper in get-started/installation/index.mdx
- Defined as an MDX export const go = (id) => { ... } and invoked from onClick. Safe because it only runs client-side, but setTimeout(..., 300) to wait for
Details
to open is
fragile. A requestAnimationFrame chain or el.addEventListener('toggle', ..., {once:true}) would be more robust. Keyboard users opening details with Enter won't trigger the scroll
either. Low priority.
- TypeScript ~6.0.2
- Worth confirming this is a real published version your toolchain supports (the tilde pin will accept 6.0.x but not 6.1+). Combined with "ignoreDeprecations": "6.0" in tsconfig.json
it suggests intent. Just sanity-check the build environment matches — if a pre-release was pulled in, pin exactly.
Process
- Direct PR to release/3.4 rather than forward-port from main
- Per CLAUDE.md, release-branch PRs are usually backports prefixed [r3.4]. This PR is a feature landing on release/3.4 directly because the deploy workflow is gated to that branch.
That's defensible, but it means main does not contain the migration. When main is next reconciled with release/3.4, expect a sizable merge surface. Consider whether a parallel PR to
main (with the same docs and workflow gated to whichever branch is deploy-source on main, or a no-op) is needed to keep branches from diverging.
Risks
- No production-code changes, so risk to the binary is zero. Concern is entirely:
- Deploy correctness (CNAME/URL mismatch → wrong canonical URLs in search results until fixed)
- Maintenance debt (dead workflow file, duplicated NotFound, stale README, drift between DESIGN-SPEC and config)
Recommendation
Approve with the following fixes before merge:
- Resolve CNAME vs url/baseUrl (real bug).
- Delete docs/site/.github/workflows/deploy.yml (dead file).
- Pick one NotFound implementation and delete the other.
- Update docs/site/README.md to reflect npm-based workflow.
- Reconcile DESIGN-SPEC.md with the actual config (Mermaid, webpackbar) — either drop from spec or add to config + package.json.
- Decide on onBrokenLinks: 'throw' once the four v3.3 anchors are fixed (can be a follow-up).
The remaining items (version placeholders, a11y on navbar HTML items, scroll helper robustness, branch strategy) are reasonable follow-ups, not blockers.
- Fix CNAME/url mismatch: url → https://docs.erigon.tech, baseUrl → / - Delete dead docs/site/.github/workflows/deploy.yml (never ran) - Delete redundant NotFound.tsx; keep NotFound/Content/index.tsx (modern swizzle target) - Rewrite README.md with npm-based instructions, remove yarn deploy - Update DESIGN-SPEC.md: remove webpackbar and Mermaid (not implemented), sync url/baseUrl Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Strip /docs/ baseUrl prefix from all absolute links and img paths in v3.3 versioned docs and current docs (side-effect of CNAME/baseUrl fix) - Fix ../supported-networks → ../fundamentals/supported-networks in configuring-erigon (URL resolution quirk for directory-index pages) - Remove GitBook footnote artifacts [5]/[6] with dead #0-4/#0-5 anchors - Split ethereum-with-an-external-cl into two sections so #erigon-with-lighthouse-as-the-external-cl anchor exists - Add ## The Default Block Parameter section to trace.md - Switch onBrokenLinks and onBrokenMarkdownLinks to 'throw' — build now fails hard on any future broken link regression Build passes cleanly with throw mode. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Deleting NotFound.tsx left src/theme/NotFound/ as a directory with only Content/ inside. Docusaurus resolves @theme/NotFound by looking for NotFound/index.tsx and found nothing, causing a build error. Add NotFound/index.tsx as the proper modern wrapper: it handles PageMetadata + Layout and delegates the body to <NotFoundContent />. This is the recommended two-file swizzle pattern (wrapper + content). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- docusaurus.config.ts is now async — fetches the latest stable release
from GitHub API (repos/erigontech/erigon/releases/latest) at build time
and stores it in customFields.latestVersion; falls back to '3.4.x' if
the network is unavailable
- src/remark/version-replace.js — remark plugin that replaces
{ERIGON_VERSION} tokens in all text, inlineCode, and code AST nodes
- src/components/Version.tsx — React component for explicit MDX use,
reads latestVersion from siteConfig.customFields
- Replace all hardcoded 3.4.x and v3.2.2 strings across 5 doc files
with {ERIGON_VERSION} token; the remark plugin resolves them at build
- Also fix issue #9: add aria-label to Blog and Release Notes navbar buttons
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- installation/index.mdx: replace setTimeout(300) scroll with toggle event listener so <details> is fully open before scrollIntoView (#10) - docusaurus.config.ts: add aria-label to Blog and Release Notes navbar buttons (#9); fetch v3.3 latest via releases?per_page=50 filter and pass both currentVersion + v33Version to versionReplace plugin - src/remark/version-replace.js: detect version-v3.3 path via vfile.path and substitute v33Version; current docs get currentVersion - package.json: pin typescript to exact 6.0.3 (was ~6.0.2) (#11) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- remark plugin: handle mdxTextExpression nodes so {ERIGON_VERSION} in
plain MDX text is replaced before JSX evaluation (fixes runtime crash)
- installation/index.mdx + v3.3/installation/index.md: version in
sentence and table now plain text (no backtick code style); added v
prefix; fixed amd64v2 filename (missing linux_)
- Basic Usage: merged dangling bullet into inline link in sentence text;
fixed broken URL in v3.3 (stray space in / v3.3/fundamentals/...)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Thanks @yperbasis — all issues addressed. Here's the full status:
|
yperbasis
left a comment
There was a problem hiding this comment.
Remaining issues
- Unauthenticated GitHub API calls during build. fetchLatestVersion and fetchLatestV33Version in docusaurus.config.ts:7-34 hit api.github.com without a token (60 req/hr per IP). On
shared CI runners this can rate-limit silently and fall back to hardcoded '3.4.x' / '3.3.10' — the deployed site quietly displays a stale version. Forward the workflow's GITHUB_TOKEN
via env: and add Authorization: \Bearer ${process.env.GITHUB_TOKEN}`` when present. - @docusaurus/faster installed but never enabled. It's a dependency in package.json:19 but docusaurus.config.ts has no future.experimental_faster (or its renamed flag) — so the
package adds install footprint without being used. Either enable it or drop it.
Code quality
- Dead import. docs/site/src/theme/Footer/index.tsx:2 imports Link from @docusaurus/Link; only native tags are used in the file. (IconLinkedIn matches the grep but isn't Link.)
Remove. - Inline styles duplicating CSS. Footer/index.tsx and NotFound/Content/index.tsx use large inline style={{...}} blocks even though custom.css already defines reusable classes
(.lp-card, .card-404, .button-404-*). Inline styles bloat HTML, are harder to theme via CSS variables, and won't share light/dark behaviour with the rest of the site. Refactor to
classes — non-blocking, but the existing CSS module already has the patterns. - External font CDN dependency. custom.css:8-9 pulls Google Fonts and fonts.cdnfonts.com. Google Fonts has well-known GDPR/privacy considerations (e.g. German court rulings);
fonts.cdnfonts.com is third-party and less audited. For an official corporate doc site, self-hosting woff2 from static/fonts/ is a more defensible default. - version-replace heuristic is path-substring. src/remark/version-replace.js:29 does vfile.path.includes('version-v3.3'). A path-segment match (e.g. split on / and look for
version-v3.3 as a directory token) would be more robust if the substring ever appears in an unrelated filename. - Hardcoded version fallbacks go stale silently. Returning literal '3.3.10' / '3.4.x' on API failure means the docs may display a wrong but plausible-looking version. Consider
returning 'latest' or similar so staleness is visually obvious.
Content / migration leftovers
- GitBook HTML table artifact still present in v3.3: docs/site/versioned_docs/version-v3.3/fundamentals/modules/rpc-daemon.md:13 retains a giant ...
with </
entities. The PR description claims these were removed; this one slipped through. The corresponding current-version page
(docs/site/docs/fundamentals/modules/rpc-daemon.md) is properly converted to markdown. - DESIGN-SPEC drift. docs/site/DESIGN-SPEC.md:37-38 and the migration checklist at line 550 specify onBrokenLinks: 'warn', but the actual docusaurus.config.ts:51-52 uses 'throw'
(which is the better choice). Either update the spec to match — or, since the doc says the canonical copy lives at erigontech/erigon-documents/.../docusaurus-design-spec.md, drop the
in-repo copy entirely to prevent future drift. - onBrokenAnchors not set explicitly. Default in Docusaurus 3 is 'warn', which matches the PR's note about 4 pre-existing broken anchors in v3.3. Once those are repaired, set
onBrokenAnchors: 'throw' to match the strictness used for links. - The "stray --- separators" mentioned in the PR description still appear in overlay.md, parity.md, and why-using-erigon.mdx, but on inspection they're legitimate
section
dividers — not the double-title bug. No action needed.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…les, table, version path
- Remove @docusaurus/faster dependency (not needed, adds complexity)
- Add GITHUB_TOKEN to docs-deploy build step for authenticated API calls
- Add githubHeaders() helper with conditional Authorization; fallback 'latest'
- Add onBrokenAnchors: 'throw' to catch anchor mismatches at build time
- Fix version-replace.js path check: .includes → .split('/').includes
- Remove dead Link import from Footer/index.tsx
- Refactor NotFound inline styles to CSS classes in custom.css
- Convert HTML <table> in v3.3 rpc-daemon.md to markdown table
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace the static --help output block in both v3.4 and v3.3 with a :::tip admonition pointing users to run the command themselves. Also fix stale #options anchor in v3.3 default-ports.md. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remove @docusaurus/faster (dropped from package.json) - Fix onBrokenLinks/onBrokenMarkdownLinks/onBrokenAnchors to 'throw' - Fix NotFound swizzle path (index.tsx, not NotFound.tsx) - Fix deployment section: correct workflow file, branch, and target URL - Update migration checklist: remove webpackbar/faster/mermaid, fix paths - Remove Versioning from "Not Used" (v3.3 is now versioned) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Review issues addressed
|
## Summary Brings the full `docs/site/` Docusaurus tree into `main`, incorporating all documentation improvements developed against `release/3.4`. **Scope:** `docs/site/**` + root `llms.txt` / `llms-full.txt` + removal of superseded `docs/gitbook/` and `docs/gitbook-help/`. No changes to Go, proto, or any non-docs source files. ### Included — merged to release/3.4 | PR | What | |----|------| | [erigontech#20883](erigontech#20883) | Docusaurus v3 migration — full `docs/site/` tree, Docusaurus config, versioned v3.3 snapshot | | [erigontech#20263](erigontech#20263) / [erigontech#20264](erigontech#20264) | All v3.3 docs ported; branch/versioning convention established | | [erigontech#20978](erigontech#20978) | Mobile footer fix, SEO meta tags, OG image | | [erigontech#20991](erigontech#20991) | Self-host brand fonts (remove Google Fonts / CDN) | | [erigontech#21000](erigontech#21000) | `llms.txt` / `llms-full.txt` generator script + root artifacts | | [erigontech#21018](erigontech#21018) | May 2026 w19 maintenance — stale flags, broken links, accuracy fixes | | [erigontech#21045](erigontech#21045) | CI: docs-only path filter (skip Go jobs, run docs-site build) | | [erigontech#21063](erigontech#21063) | `trace` response fields reference + sync-monitoring guidance | | [erigontech#21074](erigontech#21074) | Regenerate `llms.txt` after sync-modes update | | [erigontech#20997](erigontech#20997) | Brand font consistency fix, installation page UX | ### Included — pending review on release/3.4 | PR | What | |----|------| | [erigontech#21030](erigontech#21030) | Automated disk size pipeline: `update-disk-sizes.py`, `disk-sizes.json`, `hardware-requirements.mdx` JSX fix, `generate-llms.py` `—` fallback, unit tests | | [erigontech#21129](erigontech#21129) | May 2026 w20 maintenance — `--caplin.nat`, `--caplin.columns-keep-slots`, RPC subscription defaults, `nat.md` Caplin section, log.dir.verbosity default | ### What changes on `main` - `docs/site/` added (full Docusaurus tree, current v3.4 + frozen v3.3 snapshot) - `docs/gitbook/` and `docs/gitbook-help/` removed (superseded by Docusaurus) - Root `llms.txt` and `llms-full.txt` updated to Docusaurus-generated versions >⚠️ This PR does **not** remove `docs/gitbook/` yet — that cleanup will be a separate commit once this PR is reviewed and approved. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Bloxster <bloxster@proton.me> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: lupin012 <58134934+lupin012@users.noreply.github.com>
Summary
Test plan
npm run buildpasses with 0 broken links (4 pre-existing broken anchors in v3.3 source content)