Skip to content

Commit a4aa82a

Browse files
authored
Add markdown blog, accessibility improvements, and homepage refinements (#5)
## Summary - add file-based Markdown blog with front matter, static routes, and RSS feed generation - refine homepage project and blog sections, including clickable cards and improved focus states - improve accessibility/navigation behaviour (focus visibility, home link behaviour) and add smooth in-page scrolling - add and polish a floating back-to-top button - integrate and refine brand mark usage (header/footer/favicon) plus contrast/spacing polish - update studio thesis language and refresh the Wear OS article ## Validation - `npx pnpm test` - `npx pnpm build` _Fun fact_: this branch changed 2,979 lines — enough to read aloud during a 50-minute commute, if your passengers are unusually patient.
2 parents 7395048 + 00ecded commit a4aa82a

24 files changed

Lines changed: 2826 additions & 115 deletions

README.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
**Digital tools for the spaces in between.**
44
An independent studio building local-first applications.
5+
We build software that feels more human without becoming less powerful.
56

67
## Projects
78

@@ -30,3 +31,29 @@ Open [http://localhost:3000](http://localhost:3000) to view locally.
3031
## Deployment
3132

3233
Automated via **GitHub Actions** to GitHub Pages. Pushing to `main` builds and deploys the `out/` directory.
34+
35+
## Blog
36+
37+
Blog posts live in `content/blog` as Markdown files with front matter.
38+
39+
### Add a new post
40+
41+
1. Copy `content/blog/_template.md` to a new file named `YYYY-MM-DD-your-slug.md`.
42+
2. Fill in front matter fields:
43+
- `title`
44+
- `date` (format: `YYYY-MM-DD`)
45+
- `slug` (URL path, for example `wear-os-tauri`)
46+
- `excerpt`
47+
- `tags` (string array)
48+
- `draft` (`true` or `false`)
49+
3. Write the article body in standard Markdown below the front matter.
50+
4. Run `pnpm build` and confirm the post appears at `/blog`.
51+
52+
Draft behaviour:
53+
- `draft: true` posts are hidden in production builds.
54+
- Draft posts still appear during local development.
55+
56+
RSS feed:
57+
- Generated at build time to `public/blog/feed.xml`.
58+
- Published URL: `/blog/feed.xml`.
59+
- Override site URL by setting `SITE_URL` during build (default: `https://liminalhq.ca`).

content/blog/2026-02-17-wear-os-tauri.md

Lines changed: 373 additions & 0 deletions
Large diffs are not rendered by default.

content/blog/_template.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
title: ""
3+
date: "2026-01-01"
4+
slug: ""
5+
excerpt: ""
6+
tags:
7+
- ""
8+
draft: true
9+
---
10+
11+
Write your post in Markdown here.

package.json

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,21 @@
44
"private": true,
55
"scripts": {
66
"dev": "next dev",
7-
"build": "next build",
7+
"build": "node scripts/generate-rss.mjs && next build",
88
"start": "next start",
9-
"lint": "eslint"
9+
"lint": "eslint",
10+
"test": "tsx --test tests/**/*.test.ts"
1011
},
1112
"dependencies": {
13+
"gray-matter": "^4.0.3",
1214
"next": "16.1.1",
1315
"react": "19.2.3",
14-
"react-dom": "19.2.3"
16+
"react-dom": "19.2.3",
17+
"rehype-highlight": "^7.0.2",
18+
"rehype-stringify": "^10.0.1",
19+
"remark": "^15.0.1",
20+
"remark-gfm": "^4.0.1",
21+
"remark-rehype": "^11.1.2"
1522
},
1623
"devDependencies": {
1724
"@tailwindcss/postcss": "^4",
@@ -21,6 +28,7 @@
2128
"eslint": "^9",
2229
"eslint-config-next": "16.1.1",
2330
"tailwindcss": "^4",
31+
"tsx": "^4.21.0",
2432
"typescript": "^5"
2533
}
2634
}

0 commit comments

Comments
 (0)