mirror of
https://github.com/ewanc26/devlog.git
synced 2026-07-21 15:33:12 +00:00
Mirror of github.com/ewanc26/devlog
- Svelte 38%
- TypeScript 30.6%
- CSS 29.2%
- JavaScript 1.2%
- HTML 1%
| src | ||
| static | ||
| .gitignore | ||
| AGENTS.md | ||
| DESIGN.md | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| PRODUCT.md | ||
| README.md | ||
| sequoia.json | ||
| svelte.config.js | ||
| tsconfig.json | ||
| vite.config.ts | ||
devlog
Changelog and devlog for ewan's projects. Published at devlog.croft.click.
Stack
- SvelteKit + Svelte 5
- Tailwind CSS 4 + @tailwindcss/typography
- unified (remark + rehype) for markdown
- Sequoia for AT Protocol publishing
- Vercel for deployment
Structure
src/
├── content/devlog/ # markdown entries (frontmatter + prose)
├── lib/
│ ├── components/ # Header, Footer, Tag, Timeline, TableOfContents
│ ├── posts.ts # post loading, types, path building
│ ├── date.ts # date formatting
│ ├── markdown.ts # markdown rendering, ToC extraction
│ └── tags.ts # dynamic hash-based tag colours
└── routes/
├── css/ # tokens, base, timeline, tag, prose
├── layout.css # imports only
├── +page.svelte # timeline index
├── [...path]/ # individual entry pages
└── rss.xml/ # RSS feed
Entry format
---
title: Entry Title
description: One-line summary.
date: 2026-05-08
tags: [website, tooling]
---
Prose content here.
Tags get dynamic colours derived from their name via FNV-1a hash — no manual registration needed.
URLs
Entries use date-based paths: /YYYY/MM/DD/slug. The stripDatePrefix option in sequoia.json strips the YYYY-MM-DD- prefix from filenames so URLs stay clean.
Commands
pnpm dev # dev server
pnpm build # production build
pnpm preview # preview production build
sequoia publish # publish entries to AT Protocol PDS
Publishing
Entries are published to eurosky.social via Sequoia using the site.standard.document lexicon. The devlog site at devlog.croft.click is the web frontend for those records.
License: AGPL-3.0-only