Skip to content

Add GitHub Pages site for the workshop guide#19

Merged
ohpauleez merged 9 commits intomainfrom
worktree-github-pages
Apr 24, 2026
Merged

Add GitHub Pages site for the workshop guide#19
ohpauleez merged 9 commits intomainfrom
worktree-github-pages

Conversation

@Sourceless
Copy link
Copy Markdown
Contributor

@Sourceless Sourceless commented Apr 24, 2026

Summary

  • Publishes GettingStartedWithSpec-DrivenDev.md and reference.md as a navigable Jekyll site under docs/, with a sticky per-page heading TOC (minimal-mistakes theme).
  • Source markdown files are symlinked into docs/ — they remain the single source of truth and are not duplicated or rewritten.
  • Fixes one broken link in reference.md (a leftover Google-Docs anchor ?tab=t.0#heading=...) to point at the "Safety first! Sandboxing" section of the guide. Works on the raw GitHub markdown render and gets rewritten to /guide.html#safety-first-sandboxing on the site by jekyll-relative-links.
  • Deploys via GitHub Actions on push: main + workflow_dispatch, so this branch can be previewed at the production Pages URL before merge.

One-time repo setup

Settings → Pages → Source: GitHub Actions — required once for actions/deploy-pages@v4 to attach. Cannot be done from code.

Test plan

  • After the one-time Pages setup above, run gh workflow run pages.yml --ref worktree-github-pages to preview this branch at https://adzerk.github.io/spec-driven-workshop/
  • Home page renders and links to Getting Started / Reference
  • /guide.html renders with a sticky sidebar TOC listing all 23 H3/H4 headings; clicking a TOC entry jumps to the anchor
  • All 17 images in the guide load
  • /reference.html renders, and the "strong sandbox" link jumps to /guide.html#safety-first-sandboxing
  • After merge, push to main re-triggers the workflow automatically and the site stays live

Sourceless and others added 4 commits April 24, 2026 16:42
Publishes GettingStartedWithSpec-DrivenDev.md and reference.md as a
navigable Jekyll site under docs/, with a sticky per-page heading TOC
(minimal-mistakes theme, toc: true via defaults). Source files are
symlinked into docs/ so they remain the single source of truth.

Fixes one broken link in reference.md — a leftover Google-Docs anchor
(?tab=t.0#heading=...) — now pointing at the "Safety first! Sandboxing"
section.

Deploys via GitHub Actions (push to main + workflow_dispatch), so the
PR branch can be previewed before merge.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
workflow_dispatch needs the workflow YAML on the default branch before
it can be invoked. Adding a pull_request trigger lets the PR preview
deploy without that chicken-and-egg.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
GitHub runners are x86_64-linux; the lock was arm64-darwin-only from
the local macOS build.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Lets the first run of this workflow flip the repo Pages source to
GitHub Actions rather than requiring a manual Settings toggle.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
pull_request-triggered runs use refs/pull/N/merge, which can't match a
branch policy on the github-pages environment. Triggering on push uses
the branch ref directly, which the environment can allow via its
custom branch policy list.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
configure-pages@v5 injects baseurl into _config.yml at repo root by
default, but ours lives in docs/, so the injection silently missed and
the site was served with domain-absolute /assets/... URLs that 404'd
against adzerk.github.io/spec-driven-workshop/. Setting url and
baseurl explicitly fixes it without needing the workflow to know
where the Jekyll config lives.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Sourceless Sourceless marked this pull request as ready for review April 24, 2026 17:30
@Sourceless Sourceless requested a review from a team as a code owner April 24, 2026 17:30
The guide source starts with a H1 of its own, and the theme's single
layout also renders page.title as a heading, so the rendered page
showed the same title twice. A scoped hide_page_title flag + a
conditional style in the custom head include suppresses the theme
heading only on pages that already carry an in-content H1.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown
Collaborator

@ohpauleez ohpauleez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! It's nice to see it formatted!

@ohpauleez ohpauleez merged commit d79f5a4 into main Apr 24, 2026
1 check passed
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.

2 participants