# Custom command reference website Use the **`generate_website.py`** script to build a single-page HTML command reference from your `config.ini`. The output lists your enabled commands, keywords, usage, and channel restrictions so you can host it on your own site for users. ## Basic usage ```bash python generate_website.py [config.ini] ``` This reads your config (default: `config.ini`), loads your commands and channels, and writes **`website/index.html`** in the same directory as the config file. Upload that file (and the directory if you use assets) to your web host. ## Which commands get listed The page lists what your bot actually answers: - **Local commands are included.** Any command installed under `[Bot] local_dir_path` (default `local/commands`) appears alongside the built-in ones. - **Disabled commands are omitted.** A command turned off with `enabled = false` in its `[*_Command]` section is left out, including the legacy spellings such as `[Jokes] joke_enabled`. - **The local config overlay is read.** Settings saved from the web viewer's plugin settings page land in `/config.ini`, and the generator reads that on top of your base config just as the bot does. Admin-only, hidden, and keyword-less commands are never listed. ## Choose a style The `--style` option selects a theme (colors, typography, layout). Default is `default` (modern dark). To see all themes: ```bash python generate_website.py --list-styles ``` Then generate with a specific style: ```bash python generate_website.py config.ini --style minimalist python generate_website.py config.ini --style terminal ``` Available styles include: **default** (modern dark), **minimalist** (light, clean), **terminal** (green/amber on black), **glass** (glassmorphism), **neon** (cyberpunk), **brutalist** (bold, high contrast), **gradient** (colorful gradients), **pixel** (retro gaming). Run `--list-styles` for the full list and short descriptions. ## Add custom CSS You can layer your own CSS on top of the built-in style chosen with `--style` (`default` if you don't pass one). The built-in CSS always loads first, so you only write the rules you want to change, and your rules win over built-in rules of equal specificity. ### Link to external CSS Use `--link-css` to reference a stylesheet hosted on your server or a CDN: ```bash python generate_website.py config.ini --link-css https://example.com/my-custom.css python generate_website.py config.ini --style minimalist --link-css https://example.com/overrides.css ``` The `` tag is placed after the built-in `