Git-based content management? [closed] Git-based content management? [closed] git git

Git-based content management? [closed]


Gollum (https://github.com/github/gollum) is a Git-powered wiki written by GitHub in Sinatra. You can both push and pull from command line or use the included web interface to edit content.

Unfortunately it seems like GitHub have some what abandon development/maintenance of it, so it has some rough edges. It's also very basic, so it does not include features such as authentication[1].

I'm gonna use Gollum with gollum-site (https://github.com/dreverri/gollum-site), a static file generator for Gollum, and just use Gollum as the admin backend.

1: A basic solution to authentication can be found at https://github.com/github/gollum/issues/107#issuecomment-2608061


There is also Regulate, https://github.com/quickleft/regulate:

Rails 3 engine that provides a Git backed CMS that allows for an admin to define editable regions in a page view.


Your solution might be too confusing later and you may have more headaches later.

I advice this: (1) Use a NoSQL such as MongoDB. (2) Migrate all your data from previous DB. (3) Then put your DB under versioning with. You can, since it's document-based and not SQL.

Mongo has an excellent Gem too, called MongoID https://github.com/mongoid/mongoid

This way you can use a CMS which has much bigger community (like Refinery). Further more: your DB backups solved easily becuase you are able to roll back anytime with Git or simply clone your DB sometimes, also you can automatize backups, etc.

HTH


Maybe you could combine a git wrapper for editing, etc:

https://github.com/schacon/ruby-git

with your own rendering code based on a simple file based storage system.

I'm not so familiar with Ruby though, so can't help much on the ruby rendering side of things.

This comment you make "most of my site will contain advanced dynamic functionality" looks like you are going to need to roll your own solution based on your unique requirements.