Skip to content

Upgrade docs to Documenter 1 - #255

Merged
andreasnoack merged 3 commits into
masterfrom
docs-documenter-1
Aug 21, 2026
Merged

Upgrade docs to Documenter 1#255
andreasnoack merged 3 commits into
masterfrom
docs-documenter-1

Conversation

@andreasnoack

Copy link
Copy Markdown
Member

Supersedes #250, which bumped the Documenter bound but left the build failing.

Documenter 1 turns missing docstrings and unused footnotes into hard errors, so the docs had to be fixed alongside the version bump:

ERROR: `makedocs` encountered errors [:footnote, :missing_docs]
  • 13 docstrings were missing from the manual. They are now documented rather than suppressed with checkdocs: the three CCA significance tests (cca.md), invsqrtm (whiten.md), coefnames (lda.md), and the generic methods on the abstract model types under a new Generic Interface section in api.md, with calcscattermat/toindices/L2distance under Internals.
  • 4 footnotes were defined but never citedcca.md [^1], fa.md [^2]/[^3], lreg.md [^1]. Each now has a citation point in the prose.

Pre-existing problems fixed along the way:

  • Four ```@math blocks. That is not a Documenter expander, so the math had never rendered — leftovers from the Sphinx conversion. They are ```math now.
  • mds.md declared predict(::MDS, ::AbstractVector{<:Real}), but the method is predict(::MDS{T}, ::AbstractVector). Loose enough to resolve, not exact enough to count as documented.
  • The coefnames docstring header said coef(f::LinearDiscriminant).
  • coefnames was a package-local function rather than a method on the StatsAPI generic, so it was invisible to consumers reaching it through StatsAPI or StatsBase. StatsAPI has exported it since 1.3, the existing compat floor, so no bound changes.
  • invsqrtm was exported twice.
  • Dropped the Base.HOME_PROJECT workaround, which Documenter no longer needs, and set canonical.
  • Removed docs/source and the Sphinx Makefile, superseded by docs/src and no longer built or referenced.

Verified locally: docs/make.jl exits 0 with only the benign SVG-fallback and no-deploy-detected warnings, and the test suite passes.

Documenter 1 turns missing docstrings and unused footnotes into hard
errors, so the build had to be fixed alongside the version bump:

- Document the 13 docstrings that were missing from the manual: the CCA
  significance tests, `invsqrtm`, `coefnames`, and the generic methods
  defined on the abstract model types, plus a section in the development
  page for the internal helpers.
- Cite the four footnotes that were defined but never referenced.
- Spell the `predict(::MDS, ::AbstractVector)` signature the way the
  method is actually defined, so it registers as documented.

Also fix four `@math` blocks that should have been `math` blocks, left
over from the Sphinx conversion, and a copy-pasted signature line in the
`coefnames` docstring. Drop the `Base.HOME_PROJECT` workaround, which
Documenter no longer needs, and set the canonical URL.
`coefnames` was defined as a package-local function rather than a method
on the StatsAPI generic, so it was invisible to consumers going through
StatsAPI or StatsBase. Import it alongside the other StatsAPI functions
we extend. StatsAPI has exported it since 1.3, our compat floor, so no
bound needs to change.

`invsqrtm` was also listed twice in the export block.
`docs/source` and the Sphinx `Makefile` were superseded by the Documenter
sources in `docs/src` and are no longer built or referenced.
@andreasnoack
andreasnoack merged commit 958d71a into master Aug 21, 2026
6 checks passed
@andreasnoack
andreasnoack deleted the docs-documenter-1 branch August 21, 2026 08:36
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