Back to templates

Template details

Gridsome Starter Blog

A minimal, Markdown-powered blog starter for Gridsome with tags, dark/light toggle, and a 100/100 Lighthouse score.

About this template

Gridsome Starter Blog is a minimal, Markdown-powered blog starter for Gridsome, the Vue-based static site generator, that produces a fast, accessible static blog site with tag pages and a dark/light toggle.

What is Gridsome Starter Blog?

Gridsome Starter Blog is a public starter template published by the Gridsome organization on GitHub. It takes Markdown files with front-matter as the only content source and generates a complete static blog, including a post list, individual post pages, and tag archives. It runs on Gridsome, which builds the site as pre-rendered HTML with Vue for hydration, and the template ships with the same front-matter fields as Dev.to so posts can be ported between platforms with minimal editing.

Key Features

  • Markdown content — Write every post as a Markdown file with YAML front-matter; the template reads them through Gridsome's GraphQL data layer at build time.
  • Tags support — Add tags to post front-matter and the starter generates tag archive pages automatically, letting readers browse by topic.
  • Dark / Light toggle — A client-side switch flips the site between dark and light themes, with the choice stored in the browser.
  • CSS variables, SCSS & BEM — Styling is organized with CSS custom properties (variables), SCSS for preprocessing, and BEM class naming, making the theme reasonably simple to re-skin.
  • Perfect Lighthouse score — The template achieves 100 out of 100 on all four Google Lighthouse categories: Performance, Accessibility, Best Practices, and SEO.
  • Dev.to-compatible front-matter — Post metadata uses the same field names as Dev.to articles, so existing Dev.to content can be copied over with few or no changes.
  • Single-command setup — After installing the Gridsome CLI globally, gridsome create my-blog https://github.com/gridsome/gridsome-starter-blog.git scaffolds the project, and gridsome develop starts a local server at http://localhost:8080.

Who is it for?

  • Developers starting a personal blog — They can scaffold a working blog in a few minutes and focus on writing Markdown instead of building a site from scratch.
  • Writers moving from Dev.to — Because the front-matter is identical, they can reuse existing articles without rewriting metadata.
  • Vue developers who want a hackable theme — The template is written with Vue components and SCSS, so it's approachable for anyone already in the Vue ecosystem.
  • Performance-focused site owners — The perfect Lighthouse score means the template is a solid foundation for SEO-conscious blogs.

Use cases

  • Launch a static blog fast — Create a blog with tag archives, dark mode, and clean typography by running a single gridsome create command and adding Markdown files.
  • Republish Dev.to articles — Bring over your existing Dev.to posts and keep the same front-matter fields, so you can dual-publish without reformatting.
  • Customize a blog theme — Use the SCSS variables and BEM structure to change colors, spacing, and layout without fighting a rigid design system.

How does the starter work?

The repository is a Gridsome starter that you pull in via the Gridsome CLI. After installing @gridsome/cli globally, run gridsome create my-gridsome-site with the repository URL, enter the new folder, and run gridsome develop to see the blog at http://localhost:8080. Gridsome then converts the Markdown content into a static site at build time, ready for hosting anywhere, including Netlify (the live demo is at https://gridsome-starter-blog.netlify.com).

FAQ

Is Gridsome Starter Blog free?

Yes, the starter is a public GitHub repository and the Gridsome CLI is an open-source tool, so there is no cost to use the starter. You only pay for hosting if you choose a paid provider.

What front-matter fields does it use?

The template uses the same front-matter fields as Dev.to, which include standard post metadata like title, description, tags, and cover image. This means you can migrate posts from Dev.to without rewriting the front-matter.

Does it support tags?

Yes, the starter has built-in tag support. Each post can include a list of tags in its front-matter, and the site automatically generates tag archive pages to group posts by topic.

How do I start a local development server?

Install the Gridsome CLI globally, then run gridsome create my-gridsome-site https://github.com/gridsome/gridsome-starter-blog.git, change into the folder with cd my-gridsome-site, and run gridsome develop. The blog appears at http://localhost:8080.

Can I deploy the blog to Netlify?

Yes. Because the starter outputs a purely static site, you can deploy it to Netlify or any static host. The repository readme links to a live demo hosted on Netlify at https://gridsome-starter-blog.netlify.com.

screenshot of Gridsome Starter Blog on template0.com