2025-07-07 17:08:27 +01:00
|
|
|
# Systems Obscure
|
|
|
|
|
2025-07-10 14:58:59 +01:00
|
|
|
[](https://forgejo.systemsobscure.net/thomasabishop/systems-obscure/actions)
|
2025-07-07 17:08:27 +01:00
|
|
|
|
2025-07-10 14:58:59 +01:00
|
|
|
> My personal blog at
|
|
|
|
> [https://systemsobscure.net](https://www.systemsobscure.net)
|
2025-07-07 17:08:27 +01:00
|
|
|
|
|
|
|
## Build
|
|
|
|
|
|
|
|
```sh
|
|
|
|
npm run build
|
|
|
|
```
|
|
|
|
|
|
|
|
This runs `vite build` using [speedy web compiler](https://swc.rs/) for the
|
|
|
|
transpilation of TSX to JSX. I am using TypeScript so that I can use the
|
|
|
|
[shadcn](https://ui.shadcn.com/) component library however I don't actually care
|
|
|
|
about types in this project and all my components are written as JSX. SWC
|
|
|
|
transpiles very quickly without throwing TS warning and errors.
|
|
|
|
|
|
|
|
I still use Vite's native `esbuild` for HMR transpilation in development.
|
|
|
|
|
|
|
|
## Scripts
|
|
|
|
|
|
|
|
### Generate post index
|
|
|
|
|
|
|
|
```sh
|
|
|
|
npm run build:posts
|
|
|
|
```
|
|
|
|
|
|
|
|
This runs `scripts/generate-post-index.js` which reads all raw Markdown posts in
|
|
|
|
`/posts` and parses the body content and YAML front-matter. It then writes this
|
|
|
|
data to `public/post-index.json` which is read by the React application at
|
|
|
|
runtime.
|