Version 3.7.0: PDF tooling, installer hardening, video join helper, specs fix#225
Merged
Version 3.7.0: PDF tooling, installer hardening, video join helper, specs fix#225
Conversation
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- lib/output.sh: fall back to COLUMNS/LINES when stty returns nothing (pipes, CI, test runners) so screen-width/height always yield a numeric value. - lib/runtime.sh: use absolute /usr/bin/env in run.variables-starting-with and run.variables-ending-with to bypass PATH-shim `env` binaries (notably ~/.local/bin/env installed by `uv`) that emit no output. - test/helpers/test-lib.sh: add specs.bats.pin-env-absolute to rewrite the bats launcher's `exec env ...` to an absolute path, self-healing existing installs affected by the same shim issue. - test/Gemfile.lock, test/gem_test.bats: bump activesupport fixture 8.1.2 -> 8.1.3. - CLAUDE.md: add project guide for Claude sessions. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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
Version bump to
3.7.0covering PDF theming/tooling improvements, a morerobust Linux installer, new
is.integer.betweenpredicate, avideo.shutility to concatenate videos with generated title cards, updated Gemfile
dependencies (including Rails
8.1.3), and a refreshed.fontsarchive.Changes
PDF / AsciiDoc pipeline
.asciidoc-pdf-theme.yml;bin/adoc2pdfnow references the unified theme and surfaces a friendlier completion
panel with a
pdf-reducehint.bin/pdf-reduce:brew --prefixand auto-install if missing.reduction is below the configured threshold.
h1header withh2bgand green success panel..asciidoctor.css, add a new.asciidoctor-pretty.css, andupdate
.asciidoc-pdf-theme.ymlto the Titillium-based styling.README.pdfagainst the new theme and drop the staleREADME-NEW.pdfartifact..fonts.tar.gzbundle to cover the new theme.Installer (
bin/bashmatic-install)unzip git curl) and short-circuit wheneverything is already available.
sudowhen running as root insteadof failing on a missing
sudobinary.apt-get updatebefore installing, and report back anon-zero exit code when any package is still missing afterwards.
Shell library
lib/is.sh: addis.integer.between MIN N MAXwith distinct exitcodes for non-integer / below-min / above-max / out-of-range inputs,
covered by
test/is_test.bats.lib/video.sh: addvideo.date-time.from.epochandvideo.join.many.by-extension, which discover clips by extension,prompt for a title, generate a 2-second black title card per clip with
ffmpeg drawtext, and concatenate everything into a single MP4.Dependencies & tooling
Gemfile: addpdf-reader, relaxopensslpin to the latest 3.x.Gemfile.lock/test/fixtures/Gemfile.lock: bump Rails to8.1.3and pull in compatible updates for
nokogiri,rack,irb,json,rdoc,rake,zeitwerk,bigdecimal,minitest, and friends.biome.json,package.json,package-lock.json, andyarn.lockto lint
.asciidoctor.cssvia@biomejs/biome..gitignore: ignorenode_modules.Tests
test/is_test.bats: new cases exercisingis.integer.between.test/git_test.bats: use the canonical.gitsuffix onREPO_URLsothe test survives GitHub URL normalization.
Misc
.versionto3.7.0and update the README author line / minorheading levels in the install section.
Backwards compatibility
functions.
bin/adoc2pdfoutput is cosmetically different but theinvocation contract is unchanged.
opensslGemfile pin is loosened; downstream consumers trackingthe prior
~> 3.3.2pin should re-resolve their lockfiles.Testing
bats test/is_test.bats(newis.integer.betweencases).bats test/git_test.bats(adjustedREPO_URL).bin/adoc2pdf→bin/pdf-reducepipelineagainst the regenerated
README.pdf.Notes
CI currently skips a subset of tests; see prior commit history on this
branch for context.