adamwiggins / scanty

The blog that's almost nothing

This URL has Read+Write access

commit  9d4b0041a4a1493f0ed6f95d2aa077d4ffdc7adb
tree    bb6e39f57d53d99b48a0878374615bf047b213d8
parent  f94422e11de5556f0ca75cdf24a1ff07764bde8e
scanty /
name age message
file .gitignore Tue Nov 04 14:45:29 -0800 2008 gitignore [adamwiggins]
file README.rdoc Fri Dec 19 02:25:43 -0800 2008 credits update [adamwiggins]
file Rakefile Tue Nov 04 14:44:39 -0800 2008 rake start/stop [adamwiggins]
file config.ru Wed Dec 31 10:00:58 -0800 2008 Added config.ru file for Passenger conventions [SFEley]
directory lib/ Wed Dec 31 10:03:12 -0800 2008 Summary won't cut off at the first very short p... [SFEley]
file main.rb Thu Nov 13 15:19:24 -0800 2008 log exceptions [adamwiggins]
directory public/ Thu Nov 13 15:32:30 -0800 2008 css to work with marauku [adamwiggins]
directory spec/ Thu Nov 13 15:11:49 -0800 2008 use maruku for markdown and vendor it [adamwiggins]
directory vendor/ Thu Nov 13 15:15:09 -0800 2008 vendor syntax [adamwiggins]
directory views/ Wed Dec 31 10:04:14 -0800 2008 Markdown conversion on summary snippets in 'ind... [SFEley]
README.rdoc

Scanty, a really small blog

Overview

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

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.

Features

  • Posts (shock!)
  • Tags
  • Markdown (via Maruku)
  • Ruby code syntax highlighting (via Syntax)
  • Atom feed
  • Comments via Disqus
  • Web framework = Sinatra
  • ORM = Sequel

Dependencies

  $ gem install sinatra

Sequel, Maruku, and Syntax are all vendored.

Setup

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.

Database

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.

Comments

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

Import data

Christopher Swenson has a Wordpress importer: github.com/swenson/scanty_wordpress_import

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.

Customize

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.

Meta

Written by Adam Wiggins

Patches contributed by: Christopher Swenson and S. Brent Faulkner

Released under the MIT License: www.opensource.org/licenses/mit-license.php

github.com/adamwiggins/keen

adam.blog.heroku.com/