Skip to content

Zensical publishing: mike fork, publish task, preview - #262

Merged
seebi merged 4 commits into
feature/zensicalfrom
feature/zensical-mike
Sep 4, 2026
Merged

Zensical publishing: mike fork, publish task, preview#262
seebi merged 4 commits into
feature/zensicalfrom
feature/zensical-mike

Conversation

@rpietzsch

Copy link
Copy Markdown
Contributor

Makes task public:deploy work under Zensical, and produce the same site task build does.

  • mike from squidfunk's fork; the PyPI one aborts on config load and would build with MkDocs
  • public:deploy builds, then dec-tool publish prunes copied-along dotfiles and commits site/ via mike
  • public:preview rehearses a deploy on a throwaway branch and drops it again; preview removed
  • resize-observer-polyfill vendored (its trigger is browser age, so no content check can guard it); licence notices added for it and glightbox

Why not mike deploy?

It builds the site itself and commits it in the same process - no hook in between, no --no-build flag. That build is a bare zensical build: no --strict, and none of our post-build steps, so a published version would ship the unpkg.com URLs that localize-bundle-assets exists to remove. Building first doesn't help either: mike's rebuild overwrites the localized bundle before committing it (measured: 4 -> 6 unpkg references).

So we take mike's build step away and keep the rest. dec-tool publish checks, prunes and hands the finished site/ to mike.commands.deploy; mike still owns versions.json, the alias symlinks, the root redirect and the commit message. As a side effect the publish is guarded: it refuses a site/ whose canonical URL lacks the version, which is exactly what a stale or serve-clobbered build looks like.

The alternative - shimming zensical on PATH so mike's own build runs ours - worked, but was too opaque to debug later.

Verified

Against a scratch copy of published: 0 dotfiles, 0 reachable CDN URLs, versioned canonical, versions.json and latest symlink intact. task check and task test:unit green.

mike deploy builds and commits in one process, with no hook in between, so its
bare `zensical build` would publish the unpkg.com URLs localize-bundle-assets
removes. Build here instead; mike still owns versions.json, aliases, redirect.
@rpietzsch
rpietzsch requested a review from seebi September 4, 2026 15:02
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

Test Results

1 files  ±0  2 suites  ±0   0s ⏱️ ±0s
2 tests ±0  0 ✅ ±0  0 💤 ±0  2 ❌ ±0 
2 runs  ±0  -7 ✅ ±0  0 💤 ±0  9 ❌ ±0 

For more details on these failures, see this check.

Results for commit 69aace3. ± Comparison against base commit 84390da.

♻️ This comment has been updated with latest results.

@seebi
seebi merged commit 7b0e371 into feature/zensical Sep 4, 2026
2 of 3 checks passed
@seebi
seebi deleted the feature/zensical-mike branch September 4, 2026 16:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants