| Age | Commit message (Collapse) | Author |
|
scrollbars
|
|
|
|
|
|
Amp-Thread-ID: https://ampcode.com/threads/T-019dcaa2-5f1d-741b-a826-9658670634fb
Co-authored-by: Amp <amp@ampcode.com>
|
|
Amp-Thread-ID: https://ampcode.com/threads/T-019dcaa2-5f1d-741b-a826-9658670634fb
Co-authored-by: Amp <amp@ampcode.com>
|
|
Amp-Thread-ID: https://ampcode.com/threads/T-019dcaa2-5f1d-741b-a826-9658670634fb
Co-authored-by: Amp <amp@ampcode.com>
|
|
Templates that fetch data from external sources (e.g. via curl) need to
bypass the mtime-based freshness check. Adding << template::dynamic to a
.gmi.tpl file marks it for regeneration on every run without affecting
the generated output.
Amp-Thread-ID: https://ampcode.com/threads/T-019dca93-8625-7134-bd59-8fc52e3a4b9c
Co-authored-by: Amp <amp@ampcode.com>
|
|
|
|
The original default theme (checkered background, purple/blue palette,
rounded thick border) is preserved as the new 'classic' theme.
The default theme is replaced with a cleaner, more professional design:
indigo accent colour, top border bar, card shadow, better typography
and code block styling, wider at 1100px max-width.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
|
|
|
|
When xmllint fails, the .xml.tmp file is kept for investigation. On the
next --generate run, atomfeed::verify now warns and removes stale
.xml.tmp files instead of panicking.
Amp-Thread-ID: https://ampcode.com/threads/T-019ce359-d9d5-7119-8035-c635724c1047
Co-authored-by: Amp <amp@ampcode.com>
|
|
|
|
Using ${VAR:-} for potentially unset webfont variables keeps strict
mode (set -u) active throughout the function, preventing silent bugs
from unset variables in other parts of the code.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
generate::convert_gmi_atom_to_html_atom was atom feed logic that
belonged in the atomfeed module. Renamed to atomfeed::convert_to_html
and simplified by removing the format parameter (always HTML).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Title extraction ($SED pattern + quote sanitization) was duplicated
in generate, atomfeed, gemfeed, notes, and template modules. Now
centralized with unit tests for heading extraction and empty files.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
The 'Hello world' log line was leftover debug output that appeared
on every generation run.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Template eval failures now log the template file path and the failing
code block/line, making it much easier to debug syntax errors in
.gmi.tpl templates.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
The "safe overwrite" pattern (diff -q tmp dest, then rm or mv) was
duplicated in template, gemfeed (2x), and notes modules. Extracted
into a shared helper with unit tests covering all three cases (no
dest, identical dest, differing dest).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Add mtime-based skip logic to avoid regenerating unchanged files:
- generate::fromgmi skips .gmi files where all outputs are newer
- template::_generate_file skips templates when output is fresh
- Diff-before-overwrite in templates, gemfeed, and notes indexes
to preserve mtimes and prevent cascading cache invalidation
- Global dependency check (.lastgen sentinel) for header/footer/CSS
- Job throttling via wait -n capped at nproc cores
- Add --force flag and FORCE_REBUILD env var to bypass skip logic
- Fix misleading atom feed "empty cache" log message
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
|
|
|
|
|
|
- Add .tmp to exclusion pattern in cleanup to prevent race condition
- Gracefully fallback to plain <pre> when source-highlight fails (e.g., yaml)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|