public
Fork of xaviershay/enki
Description: A ruby on rails blogging app for the fashionable developer - it's better than Mephisto or SimpleLog
Homepage: http://www.enkiblog.com/
Clone URL: git://github.com/akitaonrails/enki.git
enki /
name age message
file .gitignore Tue Sep 22 21:05:54 -0700 2009 Added Paperclip support, with Admin controls an... [akitaonrails]
file .gitmodules Tue Sep 22 15:57:33 -0700 2009 Adding rakismet plugin as git submodule [akitaonrails]
file LICENSE Tue Jan 15 01:20:22 -0800 2008 LICENSE [xaviershay]
file README.textile Sun Sep 27 21:39:49 -0700 2009 Updating README file [akitaonrails]
file Rakefile Sat Oct 11 22:09:48 -0700 2008 Infrastructure for cucumber [xaviershay]
directory app/ Mon Dec 14 02:14:08 -0800 2009 Fixing index etag bug. Changing #count for #siz... [akitaonrails]
directory config/ Mon Dec 14 00:09:46 -0800 2009 merged with latest fixes from xaviershay, inclu... [akitaonrails]
directory db/ Thu Sep 24 10:37:35 -0700 2009 Adding Excerpt field to Post, to allow for shor... [akitaonrails]
directory features/ Mon Dec 14 00:09:46 -0800 2009 merged with latest fixes from xaviershay, inclu... [akitaonrails]
directory lib/ Mon Dec 14 00:09:46 -0800 2009 merged with latest fixes from xaviershay, inclu... [akitaonrails]
directory log/ Sat Dec 29 01:42:59 -0800 2007 Initial [Xavier Shay]
directory public/ Mon Dec 14 00:09:46 -0800 2009 merged with latest fixes from xaviershay, inclu... [akitaonrails]
directory script/ Wed Oct 08 02:05:14 -0700 2008 Upgrade to Rails 2.1.1. [jasoncheow]
directory spec/ Mon Dec 14 00:09:46 -0800 2009 merged with latest fixes from xaviershay, inclu... [akitaonrails]
directory vendor/ Mon Dec 14 00:09:46 -0800 2009 merged with latest fixes from xaviershay, inclu... [akitaonrails]
README.textile

Enki

A Ruby on Rails blogging app for the fashionable developer.

Preferences are for the masses. Any real coder knows the easiest and best way to customize something is by hacking code. Because you want your blog to be you, not bog standard install #4958 with 20 posts per page instead of 15. For this you need a clean, simple, easy to understand code base that stays out of your way. No liquid drops and templates hindering your path, no ugly PHP stylings burning your eyeballs.

Quick Start

  git clone git://github.com/xaviershay/enki.git enki
  cd enki
  git checkout -b myblog # Create a new work branch
  git submodule init
  git submodule update
  cp config/database.example.yml config/database.yml
  # Edit config/enki.yml and config/database.yml to taste

  # Next step needs libxml2 and libxslt1 and their headers
  # On Debian-based systems: apt-get install libxml2-dev libxslt1-dev
  # On Mac OS X: no action required

  rake db:migrate
  rake spec
  ./script/server
  # Load http://localhost:3000/admin in your browser

Or for bonus points, fork enki at github and clone that instead.

New Features, by AkitaOnRails

  • Paperclip for image uploading, because posts deserve some imagery
  • Rakismet for spam filtering. Make an account at wordpress.com. Spammers are not welcome here.
  • Added support for excerpts in posts, some of us like to write a lot and have leaner index pages.
  • Page Caching, because even simple blogs consume a lot nowadays and users deserve faster responses.
  • Moving all views to a plugin called ‘enki_theme_default’

About the theme, this is still an experimental support. All the views and specs for views were moved to
vendor/plugins/enki_theme_default.

Now, supposedly you will want a prettier theme than the default one. So start off by creating a copy of this
folder to a new one and change your config/environment.rb to have something like this:

config.plugins = [ :enki_theme_foo, :acts_as_taggable_on_steroids, :exception_notification, :formtastic, :make_resourceful, :open_id_authentication, :rakismet ]

This is a list of all the plugins plus your new theme folder, and also ignoring the default theme. The Rails
2.3.x support for Engines allow plugins to override the ‘app’ folder.

More info

Enki is a compact, easily extendable base for your blog. It does this by being highly opinionated, for example:

  • Public facing views should adhere to standards (XHTML, Atom)
  • /yyyy/mm/dd/post-title is a good URL for your posts
  • Live comment preview should be provided by default
  • Google does search better than you or I
  • You don’t need a plugin system when you’ve got decent source control
  • If you’re not using OpenID you’re a chump
  • Hacking code is the easiest way to customize something

How it differs from Mephisto

Mephisto is feature packed and quite customizable. It can however be daunting trying to find your way around the code, which isn’t so good if you’re trying to hack in your own features. Enki strips out a lot of the features that you probably don’t need (multiple authors and liquid templates, for example), and focuses on keeping a tight code base that is easy to comprehend and extend.

If you’re converting from Mephisto, be sure to have a look at enki-translator

How it differs from SimpleLog

Enki embodies much of the philosophy of SimpleLog, but does so in a style that is much more consistent with Rails best practices, making it easier to understand and hack the code.

Contributors, these guys rock

git log | grep Author | sort | uniq

License

GPL – See LICENSE

Admin design heavily inspired by Habari