republisher/demo/README.md

1.9 KiB

Demo

This directory shows the runtime-config setup with a dedicated config file.

Local Run

From the repo root:

uv run repub --config demo/repub.toml

Because out_dir in demo/repub.toml is relative, output is written under demo/out/.

Files

  • repub.toml: example runtime config with feed definitions, slugs, and Scrapy overrides
  • fixtures/local-feed.rss: simple local RSS fixture for file:// feed testing

Image Profiles

The demo config uses the default image profiles from repub/settings.py. REPUBLISHER_IMAGE controls full-size image variants; the first profile is the canonical image URL written into feeds. REPUBLISHER_IMAGE_THUMBNAILS controls named thumbnail variants for explicit item image media.

By default, mirrored image source bytes are kept under images/source/, full profile variants are written under images/full/, and thumbnail profile variants are written under images/thumbs/ inside each feed output directory. Edit the Scrapy settings in demo/repub.toml when a demo run needs to disable thumbnails or test a different profile set.

Local File Feed

repub already accepts absolute file:// feed URIs. To point it at the demo fixture, generate an absolute URI like this from the repo root:

python3 -c 'from pathlib import Path; print(Path("demo/fixtures/local-feed.rss").resolve().as_uri())'

Then use that value in a config entry:

[[feeds]]
name = "Local Demo"
slug = "local-demo"
url = "file:///absolute/path/to/demo/fixtures/local-feed.rss"

Pygea Import

repub can also load additional [[feeds]] entries from a separate TOML file, such as pygea's generated manifest.toml:

feed_config_files = ["/absolute/path/to/pygea/feed/manifest.toml"]