Tweet
August 01, 2014

The Shiniest Blog Engine in Oz

Introducing Tinman, the shiniest blog engine in Oz!

Let's get started

Tinman is a tiny static-ready blog engine inspired by the toto library.

A basic tinman blog looks like this:

example
├── articles
│   └── 2014-08-01-the-shiniest-blog-engine-in-oz.md
└── public
    └── style.css

You can grab a copy on npm:

npm install -g tinman

You can also check out the source code, follow issues, and much more over on GitHub.

Usage

Create a new blog

$ tinman create
Blog title: myblog

  Your blog is ready! To get started:

    cd myblog/
    tinman server

$ tinman create myblog

# Generate example templates to play with as well
$ tinman create myblog --with-templates

Generate a new article

$ tinman new
Title: This is my first blog post

  Article generated at: articles/2014-07-05-this-is-my-first-blog-post.md

Run your blog on a local webserver

$ tinman server
Server listening on port 3000...

$ tinman server --port 1337
Server listening on port 1337...

Build your blog as a static site

$ tinman build

  Blog successfully built to: build/

$ tinman build --output-dir www

  Blog successfully built to: www

Why?

Blogging is weird. Sometimes we run entire web servers just to host a couple words. That's odd, but sometimes it's necessary, Tinman gets that.

Other times we use industrial-grade static site generators to spit out a few files. These tools are really awesome for some things, but they get in the way for others.

Tinman isn't like that. Tinman is small, simple, and opinionated.

Writing Articles

Articles are written in Markdown and use YAML Front Matter to set various options.

---
title: Hello, World!
date: 2014-06-22
---

Once upon a time...

Extra customization

If you're feeling the need to customize your blog further, you can edit the default templates that Tinman uses. Just add the --with-templates option when calling tinman create.

Tinman also supports the notion of "plugins," which are just simple helper functions you can call from your templates.

There's some more about this on GitHub.

Static Files

Tinman will automatically copy static assets (images, stylesheets, javascripts) from the "public" directory (default: public/). It doesn't need to be any more difficult than that.

You can throw images in there, audio files, even complete HTML documents.

Even cooler, any JS or CSS you throw in there will be automatically inserted into your main layout with Tinman.

What else?

Not much! Tinman's pretty simple. It takes the same "10 second blog engine for hackers" spirit behind toto and adds a couple nifty features.

Be sure to check us out on GitHub.