_ _ _ _ _
>(')____, >(')____, >(')____, >(')____, >(') ___,
(` =~~/ (` =~~/ (` =~~/ (` =~~/ (` =~~/
jgs~^~^`---'~^~^~^`---'~^~^~^`---'~^~^~^`---'~^~^~^`---'~^~^~
Goosequill
Goosequill is an Astro content-site theme ported from the Duckquill Zola theme. It can be used for blogs, simple wikis, and documentation sites.
Edit the configuration, replace the sample content, and you get a static site with theme switching, tags, search, and a relationship graph.
The built-in relationship graph connects posts, tags, and linked pages into a map. It is useful for showing how pages relate to each other.
Main 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
- Interactive relationship graph for exploring posts, tags, and linked pages
- Built-in media shortcodes for YouTube, Bilibili, Spotify, and Steam embeds
- Expressive code presentation with syntax highlighting, line numbers, and optional CRT styling
- Fully localizable i18n support with English and Chinese available out of the box
Configuration
Most site configuration lives in src/config.ts. You can change the site title, description, navigation links, theme color, table of contents, pagination, RSS, search, and comments there.
Posts or wiki pages live in src/content/blog/ and use MDX. Standalone pages such as the home page, about page, and tags page live in src/content/.
Acknowledgments
Goosequill builds on several open-source projects:
- Duckquill by daudix — the original Zola theme that inspired this entire project.
- Fuwari — another excellent Astro blog theme that provided useful references for Astro content collections, i18n routing, and project structure.
- 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.