⚙️ [Maintenance]: Documentation site migrated to Zensical#31
Open
Marius Storhaug (MariusStorhaug) wants to merge 27 commits into
Open
⚙️ [Maintenance]: Documentation site migrated to Zensical#31Marius Storhaug (MariusStorhaug) wants to merge 27 commits into
Marius Storhaug (MariusStorhaug) wants to merge 27 commits into
Conversation
- Pin actions/checkout@v6 → @de0fac2e (v6) in Linter.yml and Update-Index.yml - Pin super-linter/super-linter@latest → @9e863354 (v8.6.0) - Add VALIDATE_ALL_CODEBASE: false so CI only lints files changed in the PR, preventing pre-existing issues in overrides/ from blocking unrelated changes
… failures - biome.json: exclude overrides/ (MkDocs/Zensical template files — not source JS) so Biome does not flag template arrow-function and parse errors in vendor HTML - .github/zizmor.yml: suppress secrets-outside-env for Update-Index.yml; ClientID/PrivateKey are required with: params for PSModule/GitHub-Script and have no env: alternative
Member
Author
CI Diagnostics & FixesTwo check failures diagnosed after the Zensical migration commits. Summary below. ❌
|
| Finding | File | Fix |
|---|---|---|
unpinned-uses (error) |
Linter.yml — actions/checkout@v6 |
Pinned to @de0fac2e |
unpinned-uses (error) |
Linter.yml — super-linter/super-linter@latest |
Pinned to @9e863354 (v8.6.0) |
unpinned-uses (error) |
Update-Index.yml — actions/checkout@v6 |
Pinned to @de0fac2e |
secrets-outside-env (warning) |
Update-Index.yml — SCRIBBLER_BOT_CLIENT_ID/PrivateKey passed via with: |
Suppressed in .github/zizmor.yml; PSModule/GitHub-Script has no env: alternative for these inputs |
BIOME_LINT (errors in overrides/) |
tablesort.js, comments.html |
Added biome.json excluding overrides/**; these are MkDocs/Zensical template files with Jinja2 syntax that Biome cannot parse |
| Pre-existing failures (CSS, HTML, JS, PowerShell) | Various overrides/ files |
Resolved by VALIDATE_ALL_CODEBASE: false (lint only changed files on PRs) and the biome.json exclusion |
❌ Update index — Pre-existing, not caused by this PR
The workflow fails intermittently on pushes to PR branches with HTTP 401 – Bad credentials from Invoke-GitHubAPI. The same commits that introduced the Zensical files ran Update-Index successfully; the 401 appeared on the 3rd push and has persisted. Runs on main (schedule/push) succeed consistently.
This is not caused by any file changed in this PR. Likely the psmodule-s-scribbler GitHub App encounters transient credential issues on branch pushes. Needs investigation separately from this migration.
Org-level shared secrets intentionally used outside a GitHub Environment. Replace .github/zizmor.yml with inline # zizmor: ignore[secrets-outside-env] comments so the justification lives next to the suppressed lines.
Org-level shared secrets intentionally used without a dedicated GitHub Environment — they serve multiple repositories.
…n Update-Index.yml
- Linter.yml: add VALIDATE_ALL_CODEBASE: false (only lint PR diff) - Linter.yml: add permission comments (zizmor undocumented-permissions) - Docs.yml: add job name (zizmor anonymous-definition) - .textlintrc: revert environment/package patterns to misspelled forms (these regex patterns intentionally match typos, not correct words) - ideas.md: normalize horizontal rules to 57-dash style (MD035) - ideas.md: reword 'build systems' to avoid false terminology match - Workflow.md: fix table column alignment (MD060)
All uses: comments now specify the exact patch version instead of just the major version tag, making the pinned version immediately visible: - actions/configure-pages v5.0.0 - actions/checkout v5.0.1, v6.0.2 - actions/setup-python v5.6.0 - actions/upload-pages-artifact v4.0.0 - actions/deploy-pages v4.0.5
…dule/docs into feat/30-migrate-to-zensical
…dule/docs into feat/30-migrate-to-zensical
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The documentation site is now built with Zensical instead of Material for MkDocs. The Blog section has been removed from the site and navigation. All other documentation pages remain accessible at their current URLs, now served by Zensical's
moderntheme.Removed: Blog section
The Blog section and all its content have been removed from the site and navigation. The RSS feed and social preview cards, which depended on third-party plugins not yet available in Zensical, have also been removed. These features are tracked on Zensical's roadmap and can be re-enabled once the corresponding native modules ship.
Changed: Documentation site built with Zensical
The site is now generated by Zensical, the next-generation platform built by the creators of Material for MkDocs. The
moderntheme variant (Zensical's default) is active. Theoverrides/customizations andincludes/snippets carry over unchanged, as Zensical's HTML structure is compatible with both theme variants.Technical Details
mkdocs.yml→zensical.tomlAll settings translated to native TOML under the
[project]scope. Themkdocs.ymlcompatibility shim was not used.modernis the Zensical default, so novariantkey is set.Plugins
Five Tier 2 plugins dropped entirely:
git-committers,git-revision-date-localized,rss,social(viamkdocs-material[imaging]), andtable-reader— all on Zensical's Tier 2 backlog and not yet available as native modules. Dependent site features (contributor avatars, last-modified dates, RSS feed, social preview cards) are removed with them.meta(Tier 1) andsearch(built-in default) are retained.Blog content deleted
docs/Blog/index.md,docs/Blog/.authors.yml,docs/Blog/Posts/test.md,docs/Blog/Posts/.meta.yml— all existed solely as blog plugin inputs.Docs.ymlCI workflow rewrittenFull replacement with Zensical's recommended GitHub Pages pattern:
configure-pages→checkout→setup-python→pip install zensical→zensical build --clean→upload-pages-artifact→deploy-pages.MATERIAL_FOR_MKDOCS_INSIDER_PAT,MKDOCS_GIT_COMMITTERS_APIKEY, thePSModule/GitHub-Scriptconnect step, and all plugin install steps removed.contents: writedowngraded tocontents: read.uvadoption deferred per planning decision.Implementation plan progress: All four groups from issue #30 Section 3 complete in this PR — prep (create
zensical.toml), prep (remove Blog content), migrate (updateDocs.yml), cleanup (deletemkdocs.yml). The four groups ship atomically because each intermediate state would leave the repo in a broken build.