Skip to content

The docs' pages with a '#' in their names are served and linked - #56

Merged
Rafael-SOWNet merged 1 commit into
masterfrom
docs-pages-named-with-a-hash
Oct 27, 2026
Merged

Rafael-SOWNet merged 1 commit into
masterfrom
docs-pages-named-with-a-hash

Conversation

@Rafael-SOWNet

@Rafael-SOWNet Rafael-SOWNet commented Oct 26, 2026 •

Copy link
Copy Markdown
Member

The compiler names a constructor #ctor, and writes the dots in the name of an explicitly implemented interface member as #. Yadg.NET names a member's page after it: Erff/#ctor.html, Setting`1/AngouriMath#Convenience#ISettingState#CurrentState.html. 117 links to these pages were broken, for two reasons:

  1. GitHub Pages runs gh-pages through Jekyll, which leaves out every file whose name starts with #. None of the site's 115 constructor pages was ever published: https://am.angouri.org/docs/AngouriMath.Entity/Erff/%23ctor.html is a 404, and the same file on raw.githubusercontent.com is a 200. The generator now writes a .nojekyll.
    • Nothing here needs Jekyll. No page has front matter, and there is no markdown or Sass, so Jekyll only copied files, apart from the ones it dropped.
    • The only other file it dropped is wiki/_Footer.html.
  2. The links wrote the # as it was, where it begins the fragment. So the browser asked for Erff/ and for Setting`1/AngouriMath. Links to a member's page and cross-references now write it as %23, in Yadg.NET.patch. The sitemap already escapes it.

Checked on a local build: 238 broken links before, 121 after, and none of the 121 is either of these. The local build has 116 constructor pages, because it is built from the library's current master.

The 121 that are left:

121 cross-references to pages that do not exist: PeterO and GenericTensor types, the ANTLR parser, positional record parameters such as Interval.Left, and nested types such as Size.Aleph. Next PR

Figures corrected after merging. The first version counted a local build whose .output/pre still held pages from older builds: amsite.fsx clean removes only .output/final, and every page in pre is copied into final. The figures above come from builds with no earlier output, at each stage of the patch. The deployed site has the same 5,028 pages.

🤖 Generated with Claude Code

https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

The compiler names a constructor #ctor and writes the dots in the name
of an explicitly implemented interface member as '#', and Yadg.NET names
a member's page after it: Erff/#ctor.html,
Setting`1/AngouriMath#Convenience#ISettingState#CurrentState.html.
Two things broke 117 links to them.

GitHub Pages runs the gh-pages branch through Jekyll, which leaves out
every file whose name starts with '#', so not one of the 115
constructors' pages on the site was published. The generator now writes a
.nojekyll. No page here has front matter and nothing is in Sass or
markdown, so Jekyll only ever copied the files, apart from the ones it
dropped.

And Yadg.NET wrote the '#' into each link as it was, where it begins the
fragment, so the browser asked for Erff/ and for Setting`1/AngouriMath.
Links to a member's page and cross-references now write it as %23; the
sitemap already did.

A link check of a local build goes from 244 broken links to 121, and
none of the 121 is either of these.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
@Rafael-SOWNet
Rafael-SOWNet merged commit 012b6ab into master Oct 27, 2026
3 checks passed
@Rafael-SOWNet Rafael-SOWNet moved this to Done in AngouriMath Oct 27, 2026
@Rafael-SOWNet
Rafael-SOWNet deleted the docs-pages-named-with-a-hash branch October 27, 2026 10:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant