Skip to content

Convert absolute internal doc links to relative .md paths - #80

Open
deboragracio wants to merge 4 commits into
mainfrom
claude/docs-internal-links-relative-4f4cbf
Open

Convert absolute internal doc links to relative .md paths#80
deboragracio wants to merge 4 commits into
mainfrom
claude/docs-internal-links-relative-4f4cbf

Conversation

@deboragracio

@deboragracio deboragracio commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

What

Replaces absolute links to our own documentation (docs.fiskaltrust.eu and docs.fiskaltrust.cloud) with relative paths to the corresponding .md files, so Docusaurus can resolve and validate them at build time.

Why

Absolute links bypass Docusaurus' build-time link validation. Broken links caused by moved/renamed pages or a domain change are only discovered after deployment (post-deploy 404s). Relative .md links are validated during docusaurus build (onBrokenLinks: "throw").

Scope

  • 60 links converted across 28 files, anchors preserved.
  • Slug aliases resolved to their real source files, e.g.:
    • .../middleware-doc/germany/data-structuresmiddleware-de-kassensichv/data-structures/data-structures.md
    • .../middleware-doc/germany/dsfinv-kmiddleware-de-kassensichv/procedural-documentation/dsfinv-k-generation.md
    • .../middleware-doc/france/installationmiddleware-fr-boi-tva-decla-30-10-30/installation/installation.md
    • .../poscreators/signing/austriamiddleware-doc/signing-at-rksv/rksv-sign-intro.md
    • .../general/cash-register-integrationgeneral/cash-register-integration/cash-register-integration-regular-workflow.md
  • One raw <a href> tag (FR appendix) rewritten as a Markdown link so Docusaurus resolves it.

Left as absolute (intentional)

External links to a separate repo (release-notes / changelog), which have no local .md target:

  • 3 × /docs/release-notes links
  • /changelog/middleware/... links

Verification

  • Every converted link confirmed to resolve to an existing .md file (repo-wide resolver: 0 broken).
  • No internal absolute doc links remain (only the intentional release-notes/changelog externals).
  • All 28 converted anchors validated against target headings (parent repo uses onBrokenAnchors: "throw").

Pre-existing bug found & fixed

Validating anchors surfaced one silently-broken link: the "ARM usable with restrictions – more details here" link in supported-environments.md pointed at general/operation-modes#arm-processor, but the ARM Processor section actually lives in general/components. It was already broken on the live site; under onBrokenAnchors: "throw" it would fail the build. Repointed to the correct page (second commit).

🤖 Generated with Claude Code

Replace absolute links to our own documentation (docs.fiskaltrust.eu and
docs.fiskaltrust.cloud) with relative paths to the corresponding .md files,
so Docusaurus can resolve and validate them at build time. Broken links from
moved pages or a domain change now surface as build failures instead of
post-deploy 404s.

- 60 links converted across 28 files, anchors preserved
- Slug aliases resolved to their real files (e.g. germany ->
  middleware-de-kassensichv, france -> middleware-fr-boi-tva-decla-30-10-30,
  signing/austria -> signing-at-rksv)
- release-notes and changelog links left absolute (separate repo, no local .md)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@deboragracio
deboragracio requested a review from a team as a code owner August 6, 2026 09:31
deboragracio and others added 3 commits August 6, 2026 11:38
The "more details here" link for ARM support pointed at
general/operation-modes#arm-processor, but the "ARM Processor" section
(id: arm-processor) lives in general/components. The anchor was silently
broken on the live site; with onBrokenAnchors: "throw" it would now fail
the build. Repoint to the correct page.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- integration-checklist.md: the "Reference tables" link pointed at the
  reference-tables *directory* without a filename
  (../../poscreators/middleware-doc/general/reference-tables#ftsignature).
  Point it at the actual file, matching the sibling links in the same table
  (../middleware-doc/general/reference-tables/reference-tables.md#ftsignature).
- failure-scenario.md: remove a doubled slash in the path
  (reference-tables//reference-tables.md -> reference-tables/reference-tables.md).

Both target files and anchors (#ftsignature, #ftreceiptcaseflag) verified.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Docusaurus does not generate an anchor id for a page's H1 (only h2-h6),
so linking to #<title> is a broken anchor. Both links referenced the
target page's own H1 title (redundant), so drop the fragment and link to
the page:
- single-receipt-creation.md -> type-of-receipt-ftreceiptcase.md
  (was #type-of-receipt-ftreceiptcase)
- type-of-receipt-ftreceiptcase.md -> cash-register-integration-failure-scenarios.md
  (was #failure-scenarios)

Fixes the "Docusaurus found broken anchors!" build failure.

Co-Authored-By: Claude Opus 4.8 <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