Rustelo/templates/website-htmx-ssr/justfiles/content.just
2026-07-18 19:57:03 +01:00

57 lines
2.1 KiB
Text

# content.just — content authoring recipes (consumable module)
#
# Thin sugar over the installed `rustelo-content` CLI. Sites consume it with:
#
# mod authoring ".just/content.just" # symlink → this file in the source repo
#
# then run `just authoring images --type blog --provider gemini --dry-run`, etc.
# (Named `authoring` in sites to avoid colliding with a flat `content` recipe.)
#
# Recipes are pure `*args` passthrough: write the exact flags you'd give
# `rustelo-content` — just forwards every token after the recipe name verbatim.
#
# [no-cd] is mandatory: inside a `mod`, just changes into the MODULE's directory
# by default, which would break the scripts' ./site/content path defaults. With
# [no-cd] the recipes run in the invocation PWD (the site root containing site/).
#
# Requires `rustelo-content` on PATH — install from the source repo with
# `just content-install`.
# default — list recipes instead of running one (a bare `just <mod>` otherwise
# fires the first recipe, which would start real generation).
[no-cd]
default:
@echo "authoring recipes: images | sync | validate | validate-ids | new | copy-images"
@echo "usage: just <mod> <recipe> [flags] e.g. just authoring images --type blog --provider gemini --dry-run"
@echo "direct: rustelo-content <command> --help"
# Generate AI images (provider-agnostic openai|gemini). Pass any generate-images
# flags: --type --lang --slug --provider --model --quality --dry-run --force ...
[no-cd]
images *args:
rustelo-content images {{ args }}
# Translation parity, e.g. `just authoring sync validate-translations`.
[no-cd]
sync *args:
rustelo-content sync {{ args }}
# Validate content consistency.
[no-cd]
validate *args:
rustelo-content validate {{ args }}
# Validate cross-language id consistency.
[no-cd]
validate-ids *args:
rustelo-content validate-ids {{ args }}
# Scaffold a new content item, e.g. `just authoring new blog --title "..."`.
[no-cd]
new *args:
rustelo-content new {{ args }}
# Copy _images/ into the public assets tree.
[no-cd]
copy-images *args:
rustelo-content copy-images {{ args }}