This is the first post. Posts are plain Markdown files in site/src/content/posts/. The block at the top (the frontmatter) sets the title, date, tags and description.
Table of contents
Open Table of contents
How it’s built
Every page on this site is static HTML generated by Astro and served from an S3 bucket through CloudFront. Slides are built with Slidev and live under /talks. For example, the deck Building this blog walks through the setup.
Tip
Set draft: true in the frontmatter to keep a post out of the production build.
Code
const distribution = new cloudfront.Distribution(this, "Cdn", {
defaultBehavior: {
origin: origins.S3BucketOrigin.withOriginAccessControl(bucket),
},
});infrastructure/lib/site-stack.ts
Maths
Inline maths works with single dollars, e.g. . Display maths uses double dollars:
Tables
| Service | Monthly cost |
|---|---|
| S3 | a few cents |
| CloudFront | free tier |
| Route 53 | $0.50 per zone |