Commit Graph

7 Commits

Author SHA1 Message Date
Maximilian Roos 60661a0d7e docs(signing): carry the SignPath attribution on the install section (#3709)
SignPath Foundation's OSS program requires the attribution notice, and a
route to the code signing policy, on a project's home page and
download/release pages. Worktrunk had both only on the policy page
itself — nothing on the README or the docs landing page. This puts the
notice in the install section's Windows block, beside the artifacts it
actually describes:

> Free code signing provided by [SignPath.io](https://signpath.io/),
certificate by [SignPath Foundation](https://signpath.org/) —
[policy](https://worktrunk.dev/code-signing/).

The edit is one line in `docs/content/worktrunk.md`; the README's
Install→Further reading block is generated from it, so it propagates
there and to both skill mirrors.

The policy page leaves the docs navigation in the same change, so this
is the single place it's linked from. `hide_from_nav = true` in a page's
`[extra]` skips it in all three loops over `docs_section.pages`: the
desktop TOC (`macros.html`), the mobile menu (`base.html`), and the
prev/next flow nav (`page.html`). The page stays published and reachable
at `/code-signing/` — unlisted, not removed.

In the nav loops the skip wraps the whole per-page body, so a hidden
page can't emit a stray group heading. In the prev/next loop it guards
only the *candidate* assignments — the current-page test stays
unguarded, because viewing a hidden page directly must still flip
`found_current` or its own neighbours compute against the wrong page.
Verified both directions: FAQ ends at `← Tips & Patterns` with no
forward link, and the policy page keeps `← FAQ` back out into the docs.

<details><summary>Why this came up, and the placement tradeoff</summary>

Found while debugging why the `release-signing` signing policy shows
INVALID in the SignPath console. That turned out to be unrelated and not
fixable here — its certificate ("Release certificate 2026", subject
`CN=SignPath Foundation`, on SignPath's HSM) is in `CSR PENDING` with no
validity dates, awaiting CA issuance. The policy's own configuration is
complete and correct. Worktrunk currently signs with the test
certificate, which is VALID.

The attribution gap was the one thing found on our side. Whether it
bears on the pending review is unknown — the console exposes no
application status.

On placement: the notice sits inside the collapsed `<details>`, so it
isn't visible until a reader expands "Windows & other". That's
deliberate — the signing is Windows-specific and the notice reads better
next to it than in the page chrome — but it is the least prominent
placement that still counts as a link, and the terms ask for the notice
*on* the home and download pages. Worth knowing if placement is ever
queried during review.

</details>

> _This was written by Claude Code on behalf of max-sixty_

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-02 10:53:46 -07:00
Maximilian Roos 61866ed27b Enable anchor links for documentation headings and refactor test fixtures
- Add `insert_anchor_links = "heading"` to Zola markdown config for automatic heading anchors
- Style anchor links with hover effects: h2 underlines intensify, h3/h4 shift to accent color
- Add `scroll-margin-top` to content area to account for sticky header when scrolling to anchors
- Wrap homepage and page title headings with anchor links for deep linking
- Add new test fixtures: `repo_with_remote_and_feature`, `repo_with_alternate_primary`, `repo_with_multi_commit_feature`, and `add_feature()` shorthand
- Consolidate help tests from individual functions to parameterized rstest
- Update directives and merge/push tests to use new fixture helpers
- Update snapshot tests with corrected commit messages from new fixture usage
2025-12-11 13:21:00 -08:00
Maximilian Roos 54d0ccd616 Remove Juice theme dependency, build standalone custom theme
Custom "warm workbench" theme now self-contained without Juice inheritance. Eliminates theme extension complexity and provides complete control over documentation site design.

Key changes:
- Removed docs/themes/juice submodule and all Juice template inheritance
- Rewrote base.html as standalone template with full HTML structure
- Migrated all Juice CSS variables and utilities into custom.scss
- Updated config.toml to remove theme reference and rename juice_* config keys
- Consolidated template structure: page.html and index.html now extend base.html directly
- Removed lychee exclusion for Juice theme README (no longer applicable)
- Moved normalize.css from theme to docs/static for direct control

The theme is now fully self-hosted with no external dependencies, making it easier to maintain and extend.
2025-12-05 19:08:20 -08:00
Maximilian Roos eb32114a08 Docs: Split command pages with --help-page generation
Add dedicated documentation pages for each command (switch, list, merge,
remove, select, config, step) generated from CLI help text via new
--help-page flag. Pages include prose documentation from after_long_help
and command reference at bottom.

- Add --help-page flag to main.rs for generating doc pages
- Create individual command pages with Zola frontmatter
- Add sidebar grouping (Commands/Reference) via page.extra.group
- Update page.html template to render group labels
- Delete monolithic commands.md in favor of individual pages
- Tighten TOC spacing for child items

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 17:24:52 -08:00
Maximilian Roos 3f81f285ac Docs: Split command pages with --help-page generation
Add dedicated documentation pages for each command (switch, list, merge,
remove, select, config, step) generated from CLI help text via new
--help-page flag. Pages include prose documentation from after_long_help
and command reference at bottom.

- Add --help-page flag to main.rs for generating doc pages
- Create individual command pages with Zola frontmatter
- Add sidebar grouping (Commands/Reference) via page.extra.group
- Update page.html template to render group labels
- Delete monolithic commands.md in favor of individual pages
- Tighten TOC spacing for child items

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 16:29:22 -08:00
Maximilian Roos d3495bd5e8 feat(docs): Add warm workbench theme for documentation site (#82)
Implement a custom "warm workbench" theme for the Worktrunk documentation,
built on the Juice Zola theme. Key features:

- Warm color palette with WCAG AA compliant contrast ratios
- Sticky header and TOC with definitional CSS variable positioning
- Smooth scroll behavior for anchor links and hero buttons
- Logo preload to prevent flash on navigation
- Scrollbar-gutter: stable to prevent layout shift
- Responsive breakpoints with variable overrides
- IntersectionObserver intercept to disable conflicting scroll-spy

The layout system uses CSS custom properties (--wt-header-height,
--wt-main-padding-top) so all dependent calculations stay in sync
automatically, preventing visual jumps when the TOC transitions to
sticky mode.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-12-01 19:08:10 -08:00
Maximilian Roos 1be558a785 feat: Add GitHub Pages deployment workflows (#65)
* Refactor: Standardize user messages for improved clarity

This commit introduces a set of refinements to user-facing messages across the application. The goal is to ensure consistency in tone, terminology, and presentation, making interactions more intuitive and understandable for users.

* feat: Add a documentation site for Worktrunk

This commit adds the initial scaffolding for the Worktrunk documentation site, built with Zola and a customized Juice theme.

The site includes:
- Basic configuration (`config.toml`)
- Custom SASS styling (`custom.scss`)
- Custom SVG logos and favicons
- Overridden Zola templates (`base.html`, `index.html`, `page.html`)
- Markdown content for:
    - Quick Start
    - Concepts
    - Configuration
    - Commands Reference
    - Advanced Features
    - FAQ

The content is an initial auto-generated draft and requires review for accuracy and completeness before being considered production-ready. A `CLAUDE.md` file is included to highlight this and list necessary verification steps.

* feat: Add GitHub Pages deployment workflows

Build Zola docs site and deploy to worktrunk.dev on push to main.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-11-30 18:22:28 -08:00