My old blog (we shall name it blog0) was built with Hugo. At the time when I made it, it was a great choice. In 2022, I said that I’d move away from Hugo, in preparation for a new blog.
Anyway it’s 2026 now (oops), but we’re finally here. This is the new blog, built with Astro.
The old blog will live on blog0 at blog0.featherbear.cc. This new blog (blog1, or just blog) at https://blog.featherbear.cc won’t migrate the content from the old blog, but it will mix in the old posts with new content. Old posts will be marked with a Legacy tag.
How does it do that?
blog0 has a JSON list of all posts in the old blog at https://blog0.featherbear.cc/index.json (generated by Hugo). The new blog fetches that list and restructures the data to fit the new blog’s format. The new blog will then display the old posts alongside new content.
So what’s new?
Other than the actual content that I’m writing.. ideally better image positioning and sizing, better site interactivity for things like code blocks and demos, and also a better experience for me to actual write the posts.
Before I used Forestry (predecessor to Tina CMS), but it lacked good rich-text editing and component support. Tina CMS worked better on paper, but only supported React components - I wanted to use Svelte.
Now I’m trialing Keystatic, which is framework-agnostic; so we’ll see how it goes!
Markdown Component Playground
| column 1 | column 2 |
|---|---|
| row 1 col 1 | row 1 col 2 |
| row 2 col 1 | row 2 col 2 |
| row 3 col 1 | row 3 col 2 |
| row 4 col 1 | row 4 col 2 |
heading 1
heading 2
heading 3
heading 4
heading 5
heading 6
blockquote
code
codeblock
function hello() {
console.log("codeblock with language");
}
hello();
package main
import (
"fmt"
)
func main() {
text := "Hello world!"
fmt.Println(text)
}