I'm looking for a content management system (CMS) that kind of provides a hybrid functionality of a wiki and versioning with branching/forking support like github.

The idea is to create for long-form texts what git provides for codebases. I.e. the support for different contributors to evolve a text in different directions which may or may not be merged at some point again.

The difference to a wiki would be that there is not only one current version (and history) but potentially several current versions, e.g. reachable via website.com/slug/hash where the slug is shared for all versions, and each version has its own hash.

To put it another way: I don't just want a version history in the background but

  • I want to have the diverging branches to be visible. E.g. a meta information stating "hey, look here, there's a different take on this subject"
  • definitely not just 1 current version and using git/etc. for the history.
  • being able to link directly to each revision whether current or history (see the link with hash above)
  • if an old revision is visited, maybe add a link to the latest versions (there could be several).

Something on a git basis could probably be used, but for branching that would probably mean creating a repository per text and lots of work parsing the repository's commits/history.

  • I don't know af any, but cmsmatrix.org is your go to site for all things CMS. Try their CMS selectoin woizard & see if that helps
    – Mawg
    Dec 13, 2016 at 8:28
  • What CMS features do you need? Is a web UI to edit HTML files enough?
    – Nicolas Raoul
    Jul 11, 2017 at 5:55

3 Answers 3


Most staticsitegenerators store their sources in plain files, just put these files in a git.

Or use github pages, technically using the staticsitegenerator Jeykll with out-of-box github support. If you want to host it yourself, use gitlab pages with several other staticsitegenerators.

Or try a look in ikiwiki.

  • 1
    Thank you for your response. I tried to expand on the features I'm looking for in my question. I know that static site generators could be used but (a) I think it would be kind of awkward to support branching per text elegantly with just 1 repository. I'm aware of Github pages but they only show the current version which fails at least at 2 features: Each version being directly accessible and supporting several (current) branches. Similar issue with ikiwiki: It can use git underneath, but only 1 branch/repo for everything. Nov 12, 2016 at 17:54

You might be familiar with Gollum as the code that drives GitHub's wiki feature. The database for the wiki is simply a Git repository.

I'm self-hosting Gollum and using it as a very lightweight CMS. It comes with an easy-to-use web interface that allows me to edit the Markdown-based content in my browser, but I can also just directly manipulate the Git repository in the shell.

Gollum allows you to link to a document in a Git repository as it existed at a particular commit hash (see the History view). I'm not too sure if you could hack this to allow access to commits that aren't on the master branch. If there's no better alternative that perfectly solves your use case, Gollum would be a good starting point: it's a pretty simple Rails app and I've had some success myself tweaking the code.


You might want to give fossil a try, which is basically a DVCS somewhat akin to git, just contained in a single executable, and also comprising a web UI and integrated Wiki.

For example, here you could have a look on time line showing branches in a visual manner. You could just regard its whole homepage as an example.

While not a CMS in the strict sense it also supports markdown in the wiki area.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.