# 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.
## 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 `