50 lines
1.6 KiB
Markdown
50 lines
1.6 KiB
Markdown
# Vibecoded meeting generator
|
|
|
|
Generate a single calendar (.ics) file from a story JSON, plus an optional HTML preview of the same content.
|
|
There are currently written two stories in an SCP-inspired universe located in `.stories/`.
|
|
|
|
## Setup
|
|
|
|
To run the generator first you need to install the requirements, the recommended approach is with a virtual env.
|
|
|
|
`$ python -m venv .venv`
|
|
|
|
Then to use pip:
|
|
`$ .venv/bin/activate`
|
|
`$ pip install -r requirements.txt`
|
|
|
|
## Usage
|
|
|
|
`$ python generator.py stories/object_87-B.json`
|
|
|
|
This writes the calendar to `fredagsbar_output/FULL_SERIES_<slug>.ics`.
|
|
|
|
`$ python generator.py stories/object_87-B.json --preview-html`
|
|
|
|
This also writes a preview to `fredagsbar_output/PREVIEW_<slug>.html` with the scheduled dates, the same HTML that lands in the calendar, and a skipped-dates section when any dates are blocked.
|
|
|
|
Optional flags:
|
|
`--config /path/to/config.toml`
|
|
`--output-dir /path/to/output`
|
|
`--timezone Europe/Copenhagen`
|
|
`--duration-minutes 90`
|
|
`--no-color`
|
|
|
|
Example:
|
|
`$ python generator.py stories/object_87-B.json --config config.toml --output-dir out --timezone UTC --duration-minutes 90 --preview-html`
|
|
|
|
Note: batch generation is intentionally not supported to avoid overlapping Friday events.
|
|
|
|
## Config
|
|
|
|
Edit `config.toml`. `blocked_dates` accepts full dates (`YYYY-MM-DD`) and yearly repeats (`MM-DD`). Optional `repo_url`, `organizer_email`, and `uid_namespace` must be strings when set.
|
|
|
|
## Create stories
|
|
|
|
There is a Gem-bot that can generate stories here:
|
|
https://gemini.google.com/gem/1zo7ssHuPGce4rx02upq7iprgdXq7RvvB?usp=sharing
|
|
|
|
## Tests
|
|
|
|
`$ python -m unittest discover`
|