57 lines
1.9 KiB
Markdown
57 lines
1.9 KiB
Markdown
# Demo
|
|
|
|
This directory shows the runtime-config setup with a dedicated config file.
|
|
|
|
## Local Run
|
|
|
|
From the repo root:
|
|
|
|
```shell
|
|
uv run repub --config demo/repub.toml
|
|
```
|
|
|
|
Because `out_dir` in [`demo/repub.toml`](/home/abel/src/guardianproject/anynews/republisher-redux/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`](/home/abel/src/guardianproject/anynews/republisher-redux/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:
|
|
|
|
```shell
|
|
python3 -c 'from pathlib import Path; print(Path("demo/fixtures/local-feed.rss").resolve().as_uri())'
|
|
```
|
|
|
|
Then use that value in a config entry:
|
|
|
|
```toml
|
|
[[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`:
|
|
|
|
```toml
|
|
feed_config_files = ["/absolute/path/to/pygea/feed/manifest.toml"]
|
|
```
|