Skip to content

Update Free Ruler help screen#215

Merged
pascalpp merged 14 commits into
pascal/212-mouse-tick-labelsfrom
pascal/213-update-help
Jun 14, 2026
Merged

Update Free Ruler help screen#215
pascalpp merged 14 commits into
pascal/212-mouse-tick-labelsfrom
pascal/213-update-help

Conversation

@pascalpp

@pascalpp pascalpp commented Jun 13, 2026

Copy link
Copy Markdown
Owner

Summary

  • Update the Free Ruler help page with the new shortcut list, feature summary, and search keywords.
  • Refresh help book metadata so the bundled help version follows the app version/build.
  • Route the Help menu item through the app so Help Viewer opens this build's bundled help page instead of resolving a stale globally registered help book.
  • Keep release versioning scripts in sync with the help book metadata.

Validation

  • xcodebuild -project "Free Ruler.xcodeproj" -scheme "Free Ruler" -derivedDataPath build/DerivedData build
  • xcodebuild -project "Free Ruler.xcodeproj" -scheme "Free Ruler" -derivedDataPath build/DerivedData test -only-testing:FreeRulerTests

Notes

The old installed /Applications/Free Ruler.app had the same help-book name with stale embedded help, so the menu action now opens the bundled HTML file directly through Help Viewer.

Closes #213

@pascalpp pascalpp marked this pull request as ready for review June 14, 2026 00:14

@pascalpp pascalpp left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

[codex reviewer] No blocking findings from this review. I checked the help-book identifier path through the built bundle (CFBundleHelpBookName matches the bundled help plist identifier), verified the shortcut help text against the XIB/menu actions, and ran:

  • xcodebuild -project "Free Ruler.xcodeproj" -scheme "Free Ruler" -derivedDataPath build/DerivedData build
  • xcodebuild -project "Free Ruler.xcodeproj" -scheme "Free Ruler" -derivedDataPath build/DerivedData test -only-testing:FreeRulerTests

pascalpp added 2 commits June 13, 2026 20:33
Switch help icon naming from a build-number-based token to a UTC timestamp+hash token. Update FreeRuler HTML and CSS to reference the new freeruler-help-icon-<timestamp>-<hash>.png name, rename the icon file accordingly, and remove the old freeruler.png legacy copy. Update scripts/generate-app-icon.sh to generate a timestamped help_cache_token, drop the Info.plist build_number dependency, remove legacy copy behavior, and propagate the new token into styles.css and FreeRuler.html while cleaning up stale icons.
Introduce a CSS variable for the help icon and refresh related assets.

- FreeRuler.html: add :root style setting --free-ruler-help-icon, update styles.css query token, tidy metadata and reformat the keyboard shortcuts/feature sections.
- styles.css: switch .title-page-header background-image to use var(--free-ruler-help-icon).
- Replace old help icon with a new freeruler-help-icon PNG and remove the old file.
- Update multiple AppIcon image assets (various sizes) — regenerated icons.
- scripts/generate-app-icon.sh: combine perl substitutions to inject the cache token and set the --free-ruler-help-icon URL in the HTML, and remove an unused variable.

These changes allow the help page to reference the generated icon dynamically and support cache-busting when regenerating icons.

pascalpp commented Jun 14, 2026

Copy link
Copy Markdown
Owner Author

pascalpp added 3 commits June 13, 2026 21:07
Add scripts/generate-help-index.sh which runs hiutil to build English.lproj.helpindex from Free Ruler/FreeRuler.help/Contents/Resources/English.lproj (script uses strict bash flags and executes from repo root). Wire the script into package.json as the "generate:help" npm script and update the packaged help index file accordingly so the help index can be regenerated as part of build tasks.
@pascalpp

Copy link
Copy Markdown
Owner Author

Wanna capture this link for posterity:
https://marioaguzman.wordpress.com/2020/09/12/auth/

This was in the commit message for the previous help update.

pascalpp added 5 commits June 13, 2026 21:37
Use a fixed help bundle identifier and stop appending the build number. Updated FreeRuler.help/Contents/Info.plist to set CFBundleIdentifier to com.pascal.freeruler.help and adjusted CFBundleVersion to 491. Replaced the templated CFBundleHelpBookName in Free Ruler/Info.github.plist and Free Ruler/Info.plist with the fixed help ID. Removed the code in scripts/release/set-version.js that modified the help CFBundleIdentifier per-build so the help bundle ID remains stable across builds.
@pascalpp pascalpp merged commit bd96202 into pascal/212-mouse-tick-labels Jun 14, 2026
@pascalpp pascalpp deleted the pascal/213-update-help branch June 14, 2026 01:57
@pascalpp pascalpp mentioned this pull request Jun 14, 2026
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