Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
A minimal, low-class Astro template for a simple website with a single-author blog, built on semantic HTML and Pico CSS.
smallworld is a minimal, low-class template for the static site generator Astro, built to produce a simple website with a single-author blog while barely using CSS classes.
smallworld is an Astro template maintained in the anaxite/astro-smallworld repository, now updated for Astro 7. It takes Markdown blog posts, .astro pages, and a settings file as input, and outputs a fully static HTML site through Astro's build process. The template focuses on accessible and usable elements, easy-to-understand output, and avoids complex systems.
<main>, <article>, and <header> for structure, with Pico CSS providing styling.src/styles/main.scss, which determines which Pico CSS components are included in the final build; the README notes that non-fatal Pico CSS warnings may appear during builds.src/content/blog or subdirectories; the file path becomes the post URL, and each post requires title, description, and pubDate in frontmatter, with tags optional.src/pages as .astro files.<main> tags and accepts title and description properties that supplement the site-wide values.src/settings.ts, including the favicon file name and Open Graph image settings.PageHeader.astro component directly.mise-en-place configuration file, and a Prettier formatting script (npm run format).src/content/blog with the required frontmatter, and it becomes a post at the matching URL..astro files in src/pages and optionally wrap them in <article> tags to get Pico CSS styling.src/styles/main.scss to pick which Pico CSS components ship in the final CSS.src/settings.ts to change the site title, description, favicon, and Open Graph settings.Install with npm create astro@latest -- --template anaxite/astro-smallworld, then run npm install, npm run dev for local development, and npm run build to generate the static site. Source files live in src/pages for static pages and src/content/blog for Markdown posts; the build processes both into a static HTML output.
Run npm create astro@latest -- --template anaxite/astro-smallworld in your terminal, then change into the new directory, run npm install, and start with npm run dev. The same command works with any Node.js package manager supported by Astro, though a PNPM configuration is included by default.
Each Markdown post in src/content/blog must include title, description, and pubDate in its frontmatter. The tags frontmatter is optional. The file path and name become the post's URL.
The README states that any Node.js package manager supported by Astro should work. The repository includes a bit of PNPM configuration by default, but npm and Yarn should also function normally.
Edit the PageHeader.astro component directly. The template does not provide a menu configuration file; navigation is managed through that component.
