Update Free Ruler help screen#215
Merged
Merged
Conversation
pascalpp
commented
Jun 14, 2026
pascalpp
left a comment
Owner
Author
There was a problem hiding this comment.
[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 buildxcodebuild -project "Free Ruler.xcodeproj" -scheme "Free Ruler" -derivedDataPath build/DerivedData test -only-testing:FreeRulerTests
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.
Owner
Author
This stack of pull requests is managed by Graphite. Learn more about stacking. |
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.
Owner
Author
|
Wanna capture this link for posterity: This was in the commit message for the previous help update. |
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.
Closed
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.

Summary
Validation
xcodebuild -project "Free Ruler.xcodeproj" -scheme "Free Ruler" -derivedDataPath build/DerivedData buildxcodebuild -project "Free Ruler.xcodeproj" -scheme "Free Ruler" -derivedDataPath build/DerivedData test -only-testing:FreeRulerTestsNotes
The old installed
/Applications/Free Ruler.apphad 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