
Why?
Yes, another blog software...just what the world needs ;)
So, okay, why in the world would I write another one...simply put, I dislike what I've seen. Blog software is just too bloated, it tries to be more than it should be. Things like multi-user blogs, why? A blog is for ONE person, at least that's the intention, one poster, multiple readers. If you want a message board, there are plenty of those out there too, go try one.
Another reason, to practice my Ruby on Rails more. I'm a recovering PHP programmer, and there are plenty of systems that I built in PHP that I need to keep adding things to, so I needed a way to "take a break" from all that and focus on something fun.
I wanted to truly implement the concept of "Keep It Simple, Stupid!", I look at many blogs, and I just cringe by all the crap down the sides.
Future Improvements
- Give total number of articles for archive in the left-hand side
- Make the CSS Themes more dynamic, and easier to create through the administration interface
- Better Authentication System
- Create an Adobe AIR Management application and use RubyAMF
- Move from Mongrel to Passenger (mod_rails) (add installation instructions)
The "Future Improvements" list could grow, but I believe that once all these items have been accomplished, I will be at version 1.0.
Roadmap
- 0.8 - Adobe AIR Management is complete.
- 0.9 - All features complete, just debugging from here.
- 1.0 - All debugging complete.
Requirements
- Rails 2.3.2
- Starting in 0.4, RMagick (http://rmagick.rubyforge.org) will need to be installed on the server.
Installation
First, it's a Rails app, and I'm assuming that anyone looking for a Rails powered blog already knows how to install a Rails app on THEIR server environment.
I personally use: MySQL -> app -> Pack of Mongrels -> Apache 2 (mod_proxy)
It's quite a bit to setup, but works really great once it is.
I go over this type of setup in my blog, starting at: http://blog.cintegrity.net/blog/article/11
In the future I plan to use Passenger: http://www.modrails.com/
For other installations, please consult your host's documentation on installing Rails applications on their servers.
All personalization can be done through:
- config/database.yml => Database variables (but you already know that)
- public/stylesheets/ctblog.css => Shared Styles (both Blog and Admin)
- public/stylesheets/blog.css => The Blog layout
- public/stylesheets/admin.css => The Admin layout
- public/stylesheets/article.css => The .article class layout
- public/stylesheets/themes/* => each file is a color theme, can be selected in the Site Config
Upgrade Notes
- Untar archive (tar -zxvf [filename])
- Rename directory (mv ctblog ctblog-[version])
- Copy old database file to new directory (cp ctblog-[oldversion]/config/database.yml ctblog-[version]/config/database.yml)
- Update database (rake db:migrate RAILS_ENV=production)
- Remove old link (rm web) and add new link (ln -s ctblog-[version] web)
- Move uploaded images to new site folder (mv ctblog-[oldversion]/public/uploaded_images ctblog-[version]/public/)
- Restart Mongrel Process(es)
Themes
There are two installed themes, which can be selected through the Site Config. Theme files are located in "public/stylesheets/themes". They are named "theme_[name].css", [name] is the name of the theme, and is what should be typed into the text box under Site Config.
The two pre-installed themes are:
- default - The original, and default installed theme.
- espresso_libre - A theme based on TextMate's theme by the same name
Contact
For questions/comments regarding the system, please email me or submit a comment on my blog page for the corresponding release.
Development Environment
- MacOS X 10.5.6
- Ruby 1.8.6
- Rails 2.3.2
- MySQL 5.1.29
- TextMate 1.5.8