Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
A developer blog starter built on Next.js, React, and TypeScript that generates a static site from Markdown files.

An Eleventy blog template with Tailwind CSS, Nunjucks templating, Prism highlighting, and GitHub Pages deployment.

A Jekyll theme with LaTeX typography, MathJax support, and academic content blocks for GitHub Pages.

Hugo theme with NES/FC retro pixel style inspired by classic 8-bit RPGs.

A minimal Jekyll theme inspired by Tufte CSS for clean, content-focused static websites.
Devii is a developer blog starter for 2020 built on Next.js, React, and TypeScript that turns Markdown files in a /md/blog directory into a statically exported blog with automatic RSS feed generation and SEO meta tags.
Devii is an open-source (MIT-licensed) project scaffold that functions as a Markdown-based static-site generator powered by Next.js. It takes Markdown files with optional frontmatter metadata as input and produces a static blog site with typed React components, an RSS feed, and SEO-ready meta tags as output. The repository, created by Colin Hacks, also serves as the code base for the documentation and demo site at devii.dev.
/md/blog and it automatically becomes a blog post at /blog/your-filename; no database or CMS is required.yarn build and yarn export generating a fully static version of the site in the out directory, ready for any static file host..tsx file in the pages directory becomes a page; the home page (index.tsx) and a dynamic blog template ([blog].md) are included.Markdown.tsx component renders triple-backtick code blocks with language tags for all programming languages, using the Code.tsx component.datePublished frontmatter timestamp, built with the rss and showdown modules.url global config.loadPost utility parses frontmatter into a typed PostData object with fields like title, subtitle, description, author, tags, bannerPhoto, and more..md files with frontmatter, so you can author content in any editor and manage it with Git./md/blog with a frontmatter block and content, and it becomes a route on your site.about.tsx file into pages to create a new static page alongside the blog.globals.ts (siteName, url, twitterHandle, etc.) and the feed and meta tags are generated from the post metadata.globals.ts, and Devii automatically includes the tracking snippet via pages/_app.ts.Fork the repository, run yarn to install dependencies, then start a development server with yarn dev. Writing a Markdown file under md/blog makes it available at http://localhost:3000/blog/[filename]. During the Next.js build step, the getStaticProps function on the home page calls loadBlogPosts from loader.ts, which reads every Markdown file in the directory, parses its frontmatter, and returns an array of PostData objects. Exporting with yarn export compiles the site into static assets in the out directory.
datePublished timestamp.Yes. Devii is open-source and distributed under the MIT license, as shown in the repository's license badge.
Add a Markdown file to the /md/blog directory. Include frontmatter metadata (title, datePublished, author, etc.) if you want it to appear correctly in the blog list, RSS feed, and SEO tags. The new post will be available at /blog/your-file-name.
The RSS feed generation requires a datePublished timestamp in the frontmatter. Posts without it will still render as blog pages, but they will not be included in the generated RSS feed.
Yes. Devii is unopinionated about styling. The default Medium-inspired styles live in the Markdown.tsx component and can be modified or replaced with any styling library, such as emotion or styled-jsx.
Run yarn build and yarn export to generate a static version in the out directory. That directory can be hosted on Vercel, Netlify, Firebase Hosting, Amazon S3, or any other static file host.
