# Systems Obscure

> Another software engineer with a blog

![Screenshot of blog](./public/blog-screenshot.png)

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