mirror of
https://github.com/youwen5/site.git
synced 2024-11-24 17:33:51 -08:00
44 lines
1.6 KiB
Markdown
44 lines
1.6 KiB
Markdown
# site
|
|
|
|
[![pnpm](https://img.shields.io/badge/maintained%20with-pnpm-cc00ff.svg?style=for-the-badge&logo=pnpm)](https://pnpm.io/)
|
|
|
|
My personal website. Written in [SvelteKit](https://kit.svelte.dev) using
|
|
[TailwindCSS](https://tailwindcss.com/) and components from
|
|
[shadcn-svelte](https://www.shadcn-svelte.com/).
|
|
|
|
## Running locally
|
|
|
|
Install `pnpm`, clone and `cd` into the repository, then run:
|
|
|
|
```bash
|
|
pnpm install
|
|
|
|
# for development:
|
|
pnpm dev
|
|
|
|
# for production:
|
|
pnpm build
|
|
pnpm preview
|
|
```
|
|
|
|
## Adding posts
|
|
|
|
This site contains custom SSG blog generation functionality that I built myself. It converts
|
|
Markdown into static HTML pages served under `/blog`. I decided to replace it with a fully
|
|
standalone blog created with an actual static site generator to avoid NIH syndrome and decrease
|
|
maintenance time.
|
|
|
|
It may still serve as a useful reference for how to build a static blog in SvelteKit, for anyone
|
|
interested.
|
|
|
|
To add posts, create a directory in `/blog`. The top level subdirectories should be the year, but
|
|
there's no hard rules on what the rest of the subdirectories will be. The blog will build itself
|
|
based on the file structure in `/blog/[year]/**`, and posts will be located wherever there exists
|
|
`content.md` + `post.toml` files. Check `post.schema.json` for the specification of the `post.toml`
|
|
format. Finally, you can add a `.blogignore` file to any directory in `/blog` to exclude it from
|
|
static rendering (useful for work-in-progress blog posts).
|
|
|
|
## License
|
|
|
|
The website's source code is licensed under the [MIT License](LICENSE). The contents of my blog are
|
|
licensed under [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/).
|