Sofa Blog
Sofa Blog is an simple blog management engine for Rails 3.1 apps. As a bonus it integrates seamlessly with ComfortableMexicanSofa (microCMS)
Installation
Add gem definition to your Gemfile:
gem 'sofa_blog'
Then from the Rails project's root run:
bundle install
rails g blog
rake db:migrate
You can immediately access it by going to
/posts
/admin/posts
Usage
If you are using SofaBlog on it's own take a look in the initializer: /config/initializers/sofa_blog.rb
. You probably want to set the admin controller to be something that handles user authentication within your app. Same goes for the admin_route_prefix
.
If you are using SofaBlog in conjunction with ComfortableMexicanSofa everything will be configured automatically.
The Blog Post
@post = SofaBlog::Post.first # Grab the first post
@post.title # The title of the post
@post. # The name of the author
@post.content # The content of the post
@post.is_published? # Returns true if the post has been published
@post.created_at # Created at
@post.updated_at # Updated at
@post.comments_count # The total number of comments
@post.approved_comments_count # The number of approved comments
A blog post can be tagged with a comma separared list of words.
@post..collect(&:name).join(', ') # Returns a comma-separated list of tags in the post
A few scopes are also available for your convenience:
SofaBlog::Post.published # All the published posts
SofaBlog::Post.tagged_with(params[:tag_id].to_i) # All the posts tagged with a specific tag_id
SofaBlog::Post.published.tagged_with(params[:tag_id].to_i) # All the published posts tagged with a specific tag_id
The Comments
@comment = @post.comments.first # Grab the first comment
@comment.name # The name of the author
@comment.email # The email of the author
@comment.content # The comment
@comment.is_approved? # Returns true if the comment has been approved
@comment.created_at # Created at
@comment.updated_at # Updated at
Sofa Blog is released under the MIT license
Copyright 2011 Jack Neto, The Working Group Inc