A constantly evolving and thoughtful architecture for creating static blogs, built with Astro.
- Four direct dependencies (Astro and Sentry).
- Zero hydration and 0 KB of client JS by default.
- Every page is rendered to plain HTML at build time (SSG).
- Support for
llms.txtandllms-full.txt. Generation of a text index and a condensed site summary in the root directory for quick discovery and aggregation by AI systems. - Direct access to Markdown sources. Every post serves clean raw Markdown (no HTML noise, layout, or scripts) at a stable URL for efficient loading into RAG context.
- A single connected graph.
WebSite,Blog,BlogPosting,WebPage, andPersonnodes are explicitly linked into one knowledge network. - 100% consistency between the markup in the JSON-LD graph and the content actually visible on the page.
- Stable node IDs. Canonical URLs with hash fragments (
#web,#blog,#article,#person) for end-to-end data merging across pages.
- Hierarchical HTML structure with
<article>for self-contained publications and<section>for logical subdivisions. - Logical grouping of metadata using
<header>and<footer>tags within<article>and<section>to separate it from the main content. - Heading tags (
<h2>-<h6>) are chosen in strict accordance with section nesting depth to form a clear table of contents. - A correct accessibility tree.
- Standardized time markup.
- Explicit canonicalization on every page.
- Hierarchical URL structure with hyphens separating words.
- Automatically generated
sitemap.xmlandrobots.txtat build time.
- Zero cumulative layout shift (CLS).
- Asynchronous loading of visual assets (
decoding="async"andloading="lazy"). - Images are converted to the modern WebP format at build time.
- Automatic Atom feed generation for subscribers and aggregators.
$ bun install
$ bun run start
Special thanks to our sponsors and partners for supporting the project.
Thanks go to these wonderful people!
| vzhou842 | abisz | remi-bruguier | sparklesam | vinnymac | alexxyjiang |
| mariolopjr | ihororlovskyi | Mastermindzh | rtveitch | timbroder | yodahuang |
| ybbarng | stigrune | seandearnaley | tranlehaiquan | tonyz0x0 | axelclark |
| yairmark | wichopy | vstoms | yaaooo | lune-sta | vvasiloud |
| swapnilmishra | Puterism | SayakaOno | reed-jones | codejet | marktani |
| zollillo | marcelabomfim | kalinchernev | sladinji | Tethik | halferty |
| charandas | chmac | gipcompany | concreted |
The MIT License (MIT)
Copyright (c) 2016-2026 Alex Shelepenok
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.