Clone this wiki locally
An Awesome Ruby Blog Engine
Note: Thoth is only lightly maintained these days (for my own personal use), and has little documentation outside of the source itself. I'm not terribly interested in supporting it. You're welcome to use it and hack on it, but be warned that you're on your own.
For a quick visual introduction to Thoth, check out the lovely Screenshot Tour.
- Blog posts and pages - Blog posts are taggable and can be commented on, while pages are for non-blog content.
- Wiki-style linking - Easily link between blog posts and pages using wiki-style links.
- Glorious markup - Use "Textile":http://redcloth.org/textile or XHTML for formatting of blog posts, pages, and comments. If you want to, you can even use both at the same time.
- Media uploads - Easily upload images, videos, and other files and include them in your blog posts and pages.
- Feeds - RSS 2.0 and Atom 1.0 feeds of recent posts, recent comments, and comments on individual posts.
- Painless customization - You don't have to recreate every single template to customize the look of your site. Custom themes inherit from the default theme, so you only need to override the pieces you want to change. This makes upgrading easier as well.
- Plugins - It's easy to add custom functionality to Thoth by creating simple plugins. You can even share your plugins with other Thoth users by distributing them as gems. Thoth already includes plugins for Flickr, Delicious, and Twitter.
- Easy administration - Other blog software requires you to switch to a clunky administration interface to perform administrative tasks, but Thoth's administrator tools are integrated right into the blog itself as contextual toolbar icons.
- High performance - Even with caching disabled, Thoth can handle 20 to 30 requests per second on a decent server without breaking a sweat. With caching on (which is the default configuration), that number jumps to upwards of 300 requests per second.
To install Thoth using RubyGems, open a terminal and type:
$ gem install thoth
Depending on your database preferences, you'll also need to install either the
mysql gem or the
sqlite3-ruby gem to provide the database drivers necessary for whichever database you choose to use.
First, create a new Thoth home directory. This is where your blog's config file and any customizations will live:
$ thoth --create myblog $ cd myblog
Now open up
thoth.conf in your favorite editor and customize it to your liking (or you can leave it alone for now if you just want to get Thoth running quickly with all the default settings). There are lots of helpful comments to explain what all the different options are.
Create the Thoth database by running:
$ thoth --migrate
When you're ready, start Thoth by running:
If everything goes well, you should be able to access your new Thoth blog at http://localhost:7000/ (or whatever port number you configured). That was easy, right?
Once you've tested everything and you're ready to run Thoth in production, you'll want to start it as a daemon, like so:
$ thoth -d start
Getting the latest code
If you'd like to contribute to Thoth or if you just want to run the very latest code, clone the git repository:
$ git clone git://github.com/rgrove/thoth.git
Or, if you don't have git, you can just download the latest source as a tarball:
$ curl -L http://github.com/rgrove/thoth/tarball/master -o rgrove-thoth-master.tar.gz $ tar xzvf rgrove-thoth-master.tar.gz
To build and install a gem from the code you just pulled, change to the Thoth source directory and run:
$ rake install
The lovely Thoth logo seen above was created by Arnaud Meuret.