Project

prt

0.0
There's a lot of open issues
A static blogging tool written in ruby, posts are in markdown format
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies
 Project Readme

Parrot logo

Parrot

A fast, minimal static site generator for Markdown blogs, written in Ruby.

Gem version CI status Ruby 3.2+ MIT license

Getting started · Documentation · Live demo · Report a bug


Parrot turns a folder of Markdown files into a fast, SEO-ready blog of plain HTML, CSS and JavaScript. There is no database, no JavaScript framework and no build pipeline to configure: write posts in Markdown, run one command, and upload the public/ folder to any static host.

deepsnapster.com is built with Parrot.

Features

  • Markdown-first writing — GitHub-flavoured Markdown via kramdown, with tables, footnotes, blockquotes and images.
  • Code and math out of the box — syntax highlighting with Rouge and LaTeX rendered by MathJax.
  • Generated index — the home page is built from your posts, newest first, with optional grouping by year or month and pagination.
  • Categories and tags — a paginated page per category, a categories overview, and tags on every post.
  • SEO built in — per-page titles, descriptions, canonical URLs, Open Graph and Twitter cards, schema.org JSON-LD, sitemap.xml, robots.txt and an RSS feed.
  • Light and dark theme — follows the system setting, with a toggle that remembers the reader's choice.
  • Drafts — preview unpublished posts locally; they never reach the build.
  • Live preview — parrot serve rebuilds only what changed when you save a file.

Quick start

Parrot needs Ruby 3.2 or newer.

gem install prt                      # installs the `parrot` command

parrot new blog                      # scaffold a new blog
cd blog
parrot post --title "Hello world"    # create a post
parrot serve                         # preview at http://localhost:8000

When you're ready to publish:

parrot build                         # writes the site to ./public

Then upload the contents of public/ to GitHub Pages, Netlify, S3, nginx or any other static host. See Deployment for details.

Note

The gem is published as prt because the name parrot on RubyGems belongs to an unrelated project. The command it installs is still parrot.

Documentation

Guide What it covers
Getting started Installation, commands and the layout of a blog
Writing posts Markdown features, the post header, drafts and placeholders
Configuration config.yaml: the index page, pagination and categories
Customizing your site Layout, site URL, SEO tags, light/dark theme and styles
Deployment Building, hosting, sitemap and feed, and how serve rebuilds
Development Working on Parrot itself, running tests and releasing

Contributing

Contributions are welcome — bug reports, documentation fixes and features alike. Please read the contributing guide before opening a pull request.

License

Parrot is released under the MIT License.