add some pages

This commit is contained in:
Michael Zhang 2024-12-13 12:50:41 -05:00
parent a4a53d0f33
commit 782d3ae294
10 changed files with 102 additions and 48 deletions

View file

@ -1,25 +1,26 @@
import { defineConfig } from 'astro/config';
import starlight from '@astrojs/starlight';
import { defineConfig } from "astro/config";
import starlight from "@astrojs/starlight";
// https://astro.build/config
export default defineConfig({
integrations: [
starlight({
title: 'My Docs',
title: "MZWS",
social: {
github: 'https://github.com/withastro/starlight',
github: "https://github.com/withastro/starlight",
},
sidebar: [
{
label: 'Guides',
items: [
// Each item here is one entry in the navigation menu.
{ label: 'Example Guide', slug: 'guides/example' },
],
label: "Apps",
autogenerate: { directory: "apps" },
// items: [
// // Each item here is one entry in the navigation menu.
// { label: "Example Guide", slug: "guides/example" },
// ],
},
{
label: 'Reference',
autogenerate: { directory: 'reference' },
label: "Infra",
autogenerate: { directory: "infra" },
},
],
}),

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

View file

@ -0,0 +1,7 @@
---
title: Forgejo
---
[Forgejo] is a self-hosted git forge.
[forgejo]: https://forgejo.org/

View file

@ -0,0 +1,7 @@
---
title: Goatcounter
---
[Goatcounter] is a self-hosted analytics.
[goatcounter]: https://www.goatcounter.com/

View file

@ -0,0 +1,26 @@
---
title: Wakapi
---
[Wakapi] is an open-source server-side alternative to [WakaTime].
The clients are already mostly open-source.
The server is configured to forward all heartbeats to my upstream wakatime account.
This service is **public**. It is served by [veil] at https://wakapi.mzhang.io.
Registration is **NOT** open.
[wakapi]: https://wakapi.dev/
[wakatime]: https://wakatime.com/
[veil]: /infra/veil
## Client configuration
Make sure the Wakatime configuration file (`$HOME/.wakatime.cfg`) contains this:
```
[settings]
api_url = https://wakapi.mzhang.io/api
api_key = <api_key>
```

View file

@ -1,11 +0,0 @@
---
title: Example Guide
description: A guide in my new Starlight docs site.
---
Guides lead a user through a specific task they want to accomplish, often with a sequence of steps.
Writing a good guide requires thinking about what your users are trying to do.
## Further reading
- Read [about how-to guides](https://diataxis.fr/how-to-guides/) in the Diátaxis framework

View file

@ -4,11 +4,9 @@ description: Get started building your docs site with Starlight.
template: splash
hero:
tagline: Congrats on setting up a new Starlight project!
image:
file: ../../assets/houston.webp
actions:
- text: Example Guide
link: /guides/example/
link: /infra/garage
icon: right-arrow
- text: Read the Starlight docs
link: https://starlight.astro.build

View file

@ -0,0 +1,25 @@
---
title: Garage
---
[Garage] is a distributed storage service.
It powers https://mzhang.io, this site, as well as many of the other apps.
## Cluster Information
There are several nodes:
- **Minihost.** This node probably has the best uptime.
- **Zhang.** This node runs in my parents' house.
- **Mac.** This node is offline a lot.
- **Desktop (Windows).** This runs an unsupported Windows build of garage.
I have the cluster running on `consistency_mode = "degraded"`.
This is because I don't have 2 machines that will stay online consistently yet (this may change when I ask my parents to keep the computer on all the time).
On the default setting of consistent, reads will fail, which causes https://mzhang.io to go down whenever there's less than 2 machines online.
## Administration
There is an administration interface at http://minihost:3909 (VPN-private).
[garage]: https://garagehq.deuxfleurs.fr

View file

@ -0,0 +1,12 @@
---
title: Veil
---
> A veil is an article of clothing or hanging cloth that is intended to cover some part of the head or face, or an object of some significance.
Veil serves as the primary public interface to all of the HTTP servers.
It runs [Caddy] under the hood.
**TODO:** Check the caddy file into version control...
[caddy]: https://caddyserver.com/

View file

@ -1,11 +0,0 @@
---
title: Example Reference
description: A reference page in my new Starlight docs site.
---
Reference pages are ideal for outlining how things work in terse and clear terms.
Less concerned with telling a story or addressing a specific use case, they should give a comprehensive outline of what you're documenting.
## Further reading
- Read [about reference](https://diataxis.fr/reference/) in the Diátaxis framework