Hello, World!
The obligatory "Hello, World!" first blog post
Welcome to my blog! This first post is simply to ensure this brand new site and blog works as expected.
What does this blog run on?
This blog is powered by a Go server with SQLite storage and Markdown rendering. Here's the stack overview:
- Go HTTP server
- SQLite with WAL mode for storage
- Goldmark for Markdown → HTML
- GitHub OAuth for admin authentication
Code example
Here's the Go handler that serves this very post:
func (h *blogHandler) handlePost(w http.ResponseWriter, r *http.Request) {
slug := r.PathValue("slug")
post, err := db.GetPostBySlug(h.db, slug)
if err != nil || post == nil {
http.NotFound(w, r)
return
}
h.postTmpl.Execute(w, post)
}
The Future
Future readers can expect blog posts on random (mostly) tech-related topics that I worked on, struggled with, or simply found interesting.