Hello, world
Why this site exists
I needed one place for my work, my writing, and the courses I'm building.
A note on this site
- Written in Markdown, rendered at build time.
- Math and code are highlighted server-side.
What's here
Courses, notes, and eventually recorded lessons.
How it's built
The site renders Markdown through a small pipeline with syntax highlighting:
function loadPost(slug: string): Promise<BlogPost> {
const source = readFileSync(`content/blog/${slug}.md`, 'utf8')
return renderMarkdown(source, { theme: ['github-light-high-contrast', 'github-dark-dimmed'] })
}A wider table
Wide tables scroll inside their own container instead of pushing the page:
| Package | Version | Description | Registry URL |
|---|---|---|---|
| @playwright/test | ^1.48.0 | End-to-end browser testing framework | https://www.npmjs.com/package/@playwright/test |
| rehype-pretty-code | ^0.14.5 | Syntax highlighting for Markdown code blocks | https://www.npmjs.com/package/rehype-pretty-code |
| remark-math | ^6.0.0 | Math syntax support for remark | https://www.npmjs.com/package/remark-math |
A display equation
Display math renders the same way — here's a general matrix, which happens to be wide enough to need the same scroll container as the table above: