Commit Graph

7 Commits

Author SHA1 Message Date
mikkeli 2103a423fe build: pin job container image to Gitea registry (v0)
Workflows now pull pi5-16.local:3005/mikkeli/novoyuuparosk-wiki-runner:v0
instead of relying on the host dockerd image cache. Registry is the
authority; act_runner pull_image flipped to true accordingly.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 10:27:41 +09:00
mikkeli 1bfad8332c feat(tech): add tech blog pipeline
Publishes mikkeli/tech-blogs to the wiki at bare titles (no prefix).
Every page gets Category:Tech blog; Category:Blog:<year> from the date
field; Category:<tag> per tag entry (no prefix).

Fields: title (required), wiki.publish (required), date (optional,
YYYY-MM-DD), tags (optional list).

Source repo tech-blogs not yet initialised — pipeline ships first.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-11 00:00:18 +09:00
mikkeli dfe1f9c631 feat(ses): add SES light novel pipeline; extract shared lib/wiki.py
New pipeline at pipelines/ses/ publishes mikkeli/ses-light-novel to
the SES: MediaWiki namespace. All pages get Category:SES and
Category:SES:<type> (type from frontmatter, fallback to parent dir name).

Shared functions (connect_wiki, markdown_to_wikitext, strip_first_h1,
AUTO_BANNER_PREFIX) extracted from songs/publish.py into lib/wiki.py;
songs refactored to import from there.

Also adds publish-ses.yml workflow stub and updates Dockerfile and
root README.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-10 16:23:26 +09:00
mikkeli f135906392 chore: update workflow stub to use prebuilt runner image
Switch from python:3.12-slim + apt/pip installs to
novoyuuparosk-wiki-runner:latest. Removes the two install steps.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-10 09:40:01 +09:00
mikkeli 33f47435ee refactor(songs): rename render.py to publish.py
render.py was a misleading name — the script validates, renders,
and writes to MediaWiki (and will soon upload LRC files too).
publish.py better describes the full scope of the entry point.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-09 22:38:52 +09:00
mikkeli 58507edfd5 workflows: replace github.server_url with vars.URL_TO_GITEA
Gitea blocks vars/secrets prefixed with GITEA_ or GITHUB_.
Also avoids relying on github.server_url which resolves to
github.com rather than the local Gitea instance on this runner.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-09 17:48:32 +09:00
mikkeli 7f1bf2f995 Implement songs pipeline v1
- render.py: frontmatter validation, h1 strip, pandoc conversion,
  banner/category injection, idempotent MediaWiki writes via mwclient
- requirements.txt: python-frontmatter, mwclient, PyYAML
- template_auto_generated.wikitext: paste into wiki as Template:Auto-generated
- .gitea/workflows/publish-songs.yml: reusable workflow; job container
  python:3.12-slim installs pandoc via apt (no host-level pandoc needed)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-09 16:40:05 +09:00