The blog that's almost nothing
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
lib syntax splitter recombines to string when finished Jul 24, 2009
public css to work with marauku Nov 13, 2008
spec use maruku for markdown and vendor it Nov 13, 2008
views Markdown conversion on summary snippets in 'index' and 'tagged' Dec 31, 2008
.gitignore gitignore Nov 4, 2008
Rakefile rake start/stop Nov 4, 2008
main.rb feed includes last 20 posts Jul 24, 2009


Scanty, a really small blog


Scanty is blogging software. Software for my blog, to be exact:

It is not a blogging engine, but it's small and easy to modify, so it could be the starting point for your blog, too.


  • Posts (shock!)

  • Tags

  • Markdown (via Maruku)

  • Ruby code syntax highlighting (via Syntax)

  • Atom feed

  • Comments via Disqus

  • Web framework = Sinatra

  • ORM = Sequel


$ gem install sinatra

Sequel, Maruku, and Syntax are all vendored.


Edit main.rb and change the Blog config struct at the top to your liking. For security purposes, change the admin password and the admin cookie key and value. These last two can be set to any random value you like, just choose something other than the default.

Then run the server:

$ ruby main.rb

And visit: localhost:4567

Log in with the password you selected, then click New Post. The rest should be self-explanatory.

In production, you'll probably want to run “rake start” to start (and restart) the server. Change the value of “port” at the top of the Rakefile to run on a different port.


The default is a SQLite file named blog.db. To use something else, set DATABASE_URL in your environment when running the app, i.e.:

$ DATABASE_URL='mysql://localhost/myblog' ruby main.rb

Or, modify the Sequel.connect statement at the top of main.rb.

The database will be created automatically when the server is executed.


There are no comments by default. If you wish to activate comments, create an account and a website on Disqus ( and enter the website shortname as the :disqus_shortname value in the Blog config struct.

Import data

Christopher Swenson has a Wordpress importer:

Other kinds of data can be imported easily, take a look at the rake task :import for an example of loading from a YAML file with field names that match the database schema.


There are no themes or settings beyond the basic ones in the Blog struct. Just edit the CSS or the code as you see fit.


Written by Adam Wiggins

Patches contributed by: Christopher Swenson, S. Brent Faulkner, and Stephen Eley

Released under the MIT License: