ctBlog Software
ctBlog 0.7

 

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