Files
svg-qr-gen/REQUIREMENTS.md
2026-08-26 15:54:52 +09:00

23 lines
1.3 KiB
Markdown

# Reqs
## python package managment
- Use `uv`
- Ignore `uv.lock` even if it's against the spirit; causes trouble when going cross-architecture
- app should be runnable with only `uv run svgqr <ARGS>` or `svgqr <ARGS>`
## cli options (args)
- **raw text mode**: `-t <TEXT>` or `-t "<TEXT>"` (for those including space/tabs); `-t` can be omitted as this is the default mode.
- **output path**: `-o PATH/TO/SVG`. Automatically append `.svg` suffix if absent. When whole option is absent, use input text but path-incompatible characters substituted with `_`, and filename capped at 32 chars.
- **batch mode**: `-i <FILE_OF_LINES_TO_CONVERT>` ; output automatically dumps generated svgs per line of input file under `output/`; SVG files named after input lines verbatim except that path-incompatible characters substituted with `_` (underbar), and filename capped at 32 chars. Disregard `-o`.
- **batch mode with `yaml`**: `--yaml <LINES>.yaml`; the input YAML should be of a flat structure:
```yaml
item0: text0
item1: text1
item2: text2 and there can be spaces
```
output files go under `output/` and are named `item0.svg`, `item1.svg`, etc.
Reject invalid YAML without generating output files.
## svg generation
- Generate convex paths, not weighted edges