Skip to content


Repository files navigation

Poet Build Status

Looking for maintenance help!

Poet is a lightweight blogging library. Renders markdown, pug, or any templated files as posts, tag it up with metadata that's passed into any view engine you want, instant pagination, tag and category views.

The Node Poet


If using Express 3, use v1.1.0. For sites using Express 4+, use v2.0.0+.


Full documentation for Poet can be found at

Poet In Action

These sites are using Poet for their blogging, check them out! Ping me, or send a PR if you too are using Poet in the wild.


  • npm install poet


Include Poet in your package.json and add it to your app, passing in your Express app and options. Call the init method and routes will be set up!

  express = require('express'),
  app = express(),
  Poet = require('poet');
var poet = Poet(app, {
  posts: './_posts/',
  postsPerPage: 5,
  metaFormat: 'json'

poet.init().then(function () {
  // ready to go!

/* set up the rest of the express app */


To run tests, run npm test from the project root to run the Mocha tests. Generate documentation by updating the and running make.


Please read the for guides on contributions.


MIT License, Copyright (c) 2012 Jordan Santell


Many thanks 💙 to Brittany Fedor for the sweet art!