# RunCat 365 — GitHub Pages
The project website published at .
It is a static site rendered in the browser by [lobster.js](https://hacknock.github.io/lobsterjs/), a Markdown parser loaded from a CDN. There is no build step, bundler, or dependency to install — editing a Markdown file and pushing is all it takes to update the page.
## Files
| File | Role |
| :--- | :--- |
| `index.html` | Loader shell for the landing page. Picks the content file by language and hands it to lobster.js. |
| `privacy_policy.html` | Loader shell for the privacy policy. Same mechanism as `index.html`. |
| `content.md` / `content.ja.md` | Landing page content (English / Japanese). |
| `privacy_policy.md` / `privacy_policy.ja.md` | Privacy policy content (English / Japanese). |
| `style.css` | Shared stylesheet targeting lobster.js `lbs-*` classes. |
| `images/` | Screenshots, demo GIF, Microsoft Store badge, and Open Graph thumbnail. |
The two `.html` files are thin loaders — almost all content lives in the `.md` files.
## Editing content
Edit the relevant `.md` file directly. lobster.js renders Markdown plus a few block extensions:
- `:::header` … `:::` — page title block
- `:::footer` … `:::` — footer block (links, language switcher, copyright)
- `:::warp ` … `:::` — a column referenced from a silent table (`~ | [~name] | …`); used for the feature cards and the two-column "What you can monitor" layout
- `:::details ` … `:::` — collapsible FAQ entry
- `` — image with an explicit width
Any text change is reflected on the next page load — no rebuild required. Keep the English and Japanese files in sync when you change wording or structure.
## Language switching
The language is chosen by the `?lang` query parameter, read in the `