| Age | Commit message (Collapse) | Author |
|
atom.Generate, syncOutput)
- generator.Run(ctx, cfg) – ctx passed through to atom.Generate
- processor.Run(ctx, cfg) – signature updated for cancellation propagation
- atom.Generate(ctx, posts, cfg) – accepts ctx for future cancellation
- syncOutput(ctx, cfg) – rsync subprocesses now use exec.CommandContext
- Updated all call sites in tests, cmd/snonux/main.go, and integration tests
- All call sites pass context.Background() / context.TODO()
All tests pass: go test ./...
|
|
- Added SyncTargets and SyncRemoteDir to internal/config.Config.
- Replaced the package-level syncTargets and syncRemoteDir constants in
cmd/snonux/sync.go with default values, populated lazily via
resolveSyncConfig().
- Accept --sync-targets and --sync-remote-dir CLI flags; fall back to
SNONUX_SYNC_TARGETS and SNONUX_SYNC_REMOTE_DIR env vars; then fall back
to the previous hardcoded defaults (pi0/pi1, /var/www/html/snonux/).
|
|
Split the overloaded parseFlags into focused helpers:
- parseFlags now does *only* CLI flag parsing.
- resolvePaths handles ~ expansion.
- validateDirs performs filesystem creation/checks.
- resolveTheme selects the random theme using rng.
This removes the SRP violation in parseFlags and makes each
function independently testable. Tests updated accordingly.
Fixes: z8
|
|
|
|
--sync rsync to pi mirrors when reachable; default dirs ./inbox ./dist; ignore
inbox/dist. Splash index paths (/, trailing slash). PgUp/PgDn scroll + highlight.
Nav shared CSS in head for valid HTML; ARIA/viewport fixes; neon viewport.
Made-with: Cursor
|
|
Testable CLI flags; version package under internal/version; broad tests for
atom, generator, post, processor, and cmd—overall coverage ~85%.
Made-with: Cursor
|
|
Made-with: Cursor
|
|
Introduce Version constant (0.0.1) in internal/version.go and wire
-version/-v in cmd/snonux to print it and exit successfully.
Made-with: Cursor
|
|
Themes:
- glass → cosmos: ringed planet with asteroid belt, nebula clouds, 2500 stars
- ocean: sea rock spires, bioluminescent jellyfish, rising bubbles, whale
- volcano: glowing lava floor with vertex animation, molten boulders,
smoke plume particles, underground furnace glow sphere
UX / shared:
- Modal background changed to rgba(0,0,0,0.55) so WebGL stays visible
behind expanded post view (all themes)
- Max-width 1200px applied to all themes via shared navmodal CSS
- Default theme changed from "neon" to "random"
Sample content:
- 120 example entries processed into dist/ for pagination testing
(4 pages of 42 posts each)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
- All 11 themes now have unique Three.js WebGL backgrounds:
aurora: flowing sine-wave ribbon meshes with additive blending
brutalist: harsh rotating white/red wireframe boxes
glass: drifting crystal icosahedron shards, semi-transparent
matrix: digital rain particle columns with per-vertex colour fade
ocean: animated vertex-displaced wave surface with orbiting light
retro: amber demo-scene cube with orbiting octahedrons
synthwave: sunset sphere with scan-line rings and perspective grid
terminal: green icosahedron wireframe with orbiting torus particles
neon: existing Three.js orb and rings (unchanged)
plasma (replaces minimal): drifting additive-blend colour blobs
volcano (replaces paper): rising ember particles with lifecycle
- shared.go: distinct sounds for j/k nav (220Hz beep), Enter (ascending
triangle chime), and Esc (descending sine sweep)
- shared.go: images are now thumbnails (max-height:220px) in list view
and expand to full width inside the modal (CSS override in navmodal)
- main.go: --list-themes flag prints all theme names and exits;
--theme random picks a random theme at all generation time
- themes.go: updated registry with plasma/volcano replacing minimal/paper
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Full Go implementation with:
- txt/md/image/audio input processing, URL auto-linking in .txt files
- Paginated HTML output with Atom feed
- 11 visual themes: neon, terminal, synthwave, minimal, brutalist, paper,
aurora, matrix, ocean, retro, glass (selectable via --theme flag)
- Keyboard navigation (j/k/arrows, Enter modal, h/l page nav)
- Shared nav templates (navhints, navmodal, navscript) across all themes
- Magefile build automation; integration test suite covering all themes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|