# 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 ` 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 [flags] e.g. just authoring images --type blog --provider gemini --dry-run" @echo "direct: rustelo-content --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 }}