diff options
| author | Laird Lonergan <sillyfanboy@gmail.com> | 2026-09-03 01:40:19 +0000 |
|---|---|---|
| committer | Laird Lonergan <sillyfanboy@gmail.com> | 2026-09-03 01:40:19 +0000 |
| commit | 43ed72ae3cd7e5f17aeb3b51000fa69614495b1e (patch) | |
| tree | 2441b172d5ca92b87bbbb6a6810fc6f224484357 /README.md | |
| parent | initial (diff) | |
| download | www-43ed72ae3cd7e5f17aeb3b51000fa69614495b1e.tar.gz www-43ed72ae3cd7e5f17aeb3b51000fa69614495b1e.zip | |
Reads the blog's RSS feed (full post body lives in content:encoded) and
writes flat mothra-friendly HTML under html/ — an index plus one page per
post at YYYY/MM/DD/slug.html.
Plain ANSI C so it builds with APE pcc on 9front and cc elsewhere; fetches
with hget when present, curl otherwise. mirror.rc regenerates and pushes.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YAgU4WFfVJKNK8CkpxhEcg
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..132ab05 --- /dev/null +++ b/README.md @@ -0,0 +1,34 @@ +# blogmirror + +Mirrors <https://blog.sillylaird.ca> into flat, mothra-friendly HTML under +`html/`, in the same plain style as the rest of this site. + +It reads the blog's RSS feed (`/feed.xml.php`), which carries the full post +body in `<content:encoded>`, so no HTML scraping is involved. Output: + + html/index.html post list + html/YYYY/MM/DD/slug.html one page per post + +## Build (9front) + + mk + +`blogmirror.c` is plain ANSI C and builds with APE `pcc`; it also builds with +`cc` on Linux/BSD for testing. Fetching uses `hget` when `/bin/hget` exists, +`curl` otherwise. + +## Run + + ./blogmirror mirror the live feed into html/ + ./blogmirror -o /tmp/out somewhere else + ./blogmirror -n 10 only the newest 10 posts + ./blogmirror -f feed.rss parse a feed already on disk + ./blogmirror -u URL a different feed + +## Refresh and publish + + ./mirror.rc + +which regenerates `html/`, commits the changed files, and runs `git/push`. +Requires `git/fs`, a loaded ssh key in factotum, and a remote already set in +`.git/config`. |
