-
-
Save GBH/4482cea948d3c0b9a6ed0888c2e288dc to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{{Infobox software | |
| name = ComfortableMexicanSofa | |
| developer = Oleg Khabarov | |
| released = {{release date|2010|10|13}} | |
| latest_release_version = <!-- If you update this, remember to also update [[List of content management systems]]--> 2.0.7<ref name="comfortable_mexican_sofa_release">https://rubygems.org/gems/comfortable_mexican_sofa/versions/2.0.7</ref> | |
| latest_release_date = {{release date|2017|12|24}} | |
| status = Active | |
| operating_system = [[Cross-platform]] | |
| platform = [[Ruby on Rails]] | |
| genre = [[Content management system]] | |
| license = [[MIT License|MIT]] | |
| website = https://github.com/comfy/comfortable-mexican-sofa | |
}} | |
'''ComfortableMexicanSofa''', often shortened to ComfyCMS or Sofa, is an open source | |
content management system written in Ruby built as for Ruby on Rails Engine. | |
It was created when Ruby on Rails ecosystem had either monolithic CMS solutions | |
like RadiantCMS or very limited ones like ComatoseCMS. | |
Goal of ComfortableMexicanSofa is to provide content management without making | |
assumptions about Rails application that uses it. As a result it has very few | |
dependencies and can be easily extended with new functionality. | |
== Features == | |
* Drop-in integration with minimal configuration. | |
* Content management without writing Rails code. | |
* Multiple sites from single installation. | |
* Multi-language support and page content localization. | |
* Content revision system | |
* Extendible admin area built with Bootstrap 4 for responsive design. | |
* Codemirror and Redactor WYSIWYG editor for content editing | |
* Initial content population can be handled with CMS Seeds that enables holding content under source control. | |
== Overview == | |
Core functional elements of this CMS are: Sites, Layouts, Pages, Fragments, Snippets and | |
Files. | |
Sites allow you run mutiple sites from a single Rails app. | |
Layouts define Page structure. This is accomplished with Content Tag system | |
that replaces special tags with Fragments or other content. Here's an example of | |
a Layout: | |
<source lang="html"> | |
<html> | |
<head> | |
<title>{{cms:text title}}</title> | |
<body> | |
<header> | |
{{cms:file header, as: image}} | |
</header> | |
<main> | |
{{cms:wysiwyg content}} | |
</main> | |
<footer> | |
{{cms:markdown footer}} | |
</footer> | |
</body> | |
</html> | |
</source> | |
Page holds content of Fragments defined in the Layout. | |
Snippets are pieces of content that can be reused anywhere in Layouts or Pages. | |
Files are attachments that can be used anywhere within CMS content, just like Snippets. | |
== The Name == | |
Why ComfortableMexicanSofa? Because it's abbreviated to CMS. During initial | |
development it was briefly referred to as HaciendaCMS because it was worked on | |
during winter work retreat in Mexico. Name didn't stuck and for a while it | |
used random AdjectiveAdjectiveNoun that matched CMS. ComfortableMexicanSofa | |
stuck out and was chosen (CanadianMapleSyrup didn't come up, sadly). Because | |
this name is a mouthful, ComfyCMS or simply Sofa are often used as an alternative | |
name. | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment