_ _ _ _ _
>(')____, >(')____, >(')____, >(')____, >(') ___,
(` =~~/ (` =~~/ (` =~~/ (` =~~/ (` =~~/
jgs~^~^`---'~^~^~^`---'~^~^~^`---'~^~^~^`---'~^~^~^`---'~^~^~
Goosequill
Goosequill is an opinionated, modern, and clean Astro theme ported from the beloved Duckquill Zola theme. It aims to provide everything you need for comfortable blogging while keeping the balance between simplicity and power.
With Goosequill, you can change some configuration variables, tweak the included graphics, and have a nice blog up in minutes!
Features
- Light/dark/system theme switcher with adjustable accent color right in the header
- Rich MDX content support including alerts, images, videos, and Mermaid diagrams
- Built-in media shortcodes for YouTube, Bilibili, Spotify, and Steam embeds
- Expressive code presentation with syntax highlighting, line numbers, and optional CRT styling
- Fully localizeable — built-in i18n system with English and Chinese support out of the box
Configuration
Most configuration lives in src/config.ts. You can tweak the site title, description, navigation links, theme color, table of contents, pagination, and more.
Blog posts go in src/content/blog/ using MDX. Pages go in src/content/ — the index page, about page, tags page, and so on.
Acknowledgments
Goosequill would not exist without the incredible work of others. Special thanks to:
- Duckquill by daudix — the original Zola theme that inspired this entire project.
- Fuwari — another excellent Astro blog theme whose source code taught me a lot about Astro’s content collections, i18n routing, and overall project structure. Many patterns in Goosequill were learned from studying Fuwari’s implementation.
- Astro — the web framework that makes all of this possible with its islands architecture and content collections.
- Pagefind — for static search that just works.
- Expressive Code — for beautiful code blocks with syntax highlighting.