Need help with comatose?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

mattmccray
194 Stars 57 Forks Other 38 Commits 1 Opened issues

Description

Comatose is a micro CMS, implemented as a Rails plugin, that is designed to be easy to embed and extend.

Services available

!
?

Need anything else?

Contributors list

# 372,398
HTML
Erlang
Shell
16 commits
# 289,928
guides
Shell
C
Vue.js
10 commits
# 173,829
Rails
GraphQL
graphql...
kafka
3 commits
# 311,750
Shell
rails-e...
HTML
Erlang
2 commits
# 91,808
OCaml
Git
smtp-se...
lwt
1 commit
# 200,313
Ruby
Erlang
Shell
padrino
1 commit
# 514,491
Erlang
Shell
Perl
1 commit

Comatose

  • Version: 3.0.0
  • Author: [email protected] McCray
  • Website: comatose.rubyforge.org
  • Email: matt at elucidata dot net

Comatose is a micro CMS designed for being embedded into existing Rails applications.

It's intended for simple CMS support. Comatose supports

  • Nested pages
  • Versioning
  • Page markup in Textile, Markdown, RDoc, or easily add your own
  • Page processing through Liquid or ERb
  • Generators for easy installation/migration
  • Completely self-contained within plugin folder

It's meant to be lean, mean, easily embedded, and easy to re-skin for existing applications. If you need something more, I would recommend looking into Radiant.

For more information, see the Getting Started guide.

Requirements

  • Rails 3+ (3.0.7)
  • acts_as_list
    ,
    acts_as_tree
    and
    acts_as_versioned
    gems are required (at the moment)

Development Notes

NOTE: This is an active branch of Comatose that is built specifically for Rails 3.0. I will probably remove any legacy support.

  • Make comatose fully self-contained, which means removing
    acts_as_(tree|list|versioned)
  • Improve
    ComatoseAdminController
    to reduce number of DB calls for building the page tree
  • Move to gem plugin
  • Comatose.configure
    needs to be an initializer (update docs)
  • Go through bugs on 1x branch from google code and ensure they are fixed
  • Give access to all the default rails helpers to Comatose Pages by default?
  • UI refresh (nothing major, just some cleanup).
  • RESTful goodness.
  • Support XML/JSON responses from
    ComatoseController
    and
    ComatoseAdminController
    .
  • Support for static rendering (for generating sites like this blog).

Installation

$ rails plugin install git://github.com/niciliketo/comatose.git
$ rails generate comatose
$ rake db:migrate

Open your

routes.rb
and move the following comatose route to the bottom:
map.comatose_root ''

That's it, you're ready to go! You should be able to browse to http://127.0.0.1:3000/comatose_admin and start adding pages to your CMS. Browsing to http://127.0.0.1:3000/ will render your comatose pages if routing doesn't match any of your controllers.

Upgrading

NOTE: This is an experimental 2.0 branch, so upgrading is possible at the moment, but these instructions may not work for much longer.

If you are upgrading from an older version of Comatose (version 0.3, 0.4, 0.5, or 0.6), then you will need to re-install the comatose plugin and run:

$ ./script/plugin remove comatose
$ ./script/plugin install comatose
$ ./script/generate comatose_migration --upgrade --from=VERSION
$ rake migrate

Note: Be sure to set the

--from
parameter to the version of Comatose you last had installed. Also, you only need to first two digits, including the dot, of the version you are upgrading from. For example, if you're upgrading from version 0.6.9 you can use:
$ ./script/generate comatose_migration --upgrade --from=0.6

This will create the upgrade migration(s) for you. It just adds the new fields, so you can keep the original migration comatose created.

Configuration

You configure Comatose in your

config/environment.rb
file. Here is an example configuration block:
Comatose.configure do |config|
  # Sets the text in the Admin UI's title area
  config.admin_title = "Site Content"
  config.admin_sub_title = "Content for the rest of us..."
end

Here's an example that uses the

AuthenticationSystem
as generated by the
restful_authentication
plugin:
Comatose.configure do |config|
  # Includes AuthenticationSystem in the ComatoseController
  config.includes << :authenticated_system

admin

config.admin_title = "Comatose - TESTING" config.admin_sub_title = "Content for the rest of us..."

Includes AuthenticationSystem in the ComatoseAdminController

config.admin_includes << :authenticated_system

Calls :login_required as a before_filter

config.admin_authorization = :login_required

Returns the author name (login, in this case) for the current user

config.admin_get_author do current_user.login end end

Extra Credit

This plugin includes the work of many wonderful contributors to the Railsphere. Following are the specific libraries that are distributed with Comatose. If I've missed someone/something please let me know.

Feedback

I’ve released Comatose under the MIT license. Which basically means you can use it however you want.

Don't forget to read the Getting Started guide located on the RubyForge project site.

If you like it, hate it, or have some ideas for new features, let me know!

matt at elucidata dot net

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.