Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mre/creamy

A simple CMS in the style of Perch.
https://github.com/mre/creamy

cms content-management perch php simple

Last synced: 4 months ago
JSON representation

A simple CMS in the style of Perch.

Awesome Lists containing this project

README

        

![Creamy][Logo]

A tiny content management system similar to Perch.

## Usage

1. Open `creamy.php` with a text editor and configure usernames and
passwords.

2. Upload `creamy.php` and the `creamy` folder to your server.

3. Call creamy within your static pages:

```php

```

4. Create a content area (an editable region) wherever you want:

```php

```

5. Open the backend at `example.com/creamy` and edit the content area.

## Features

### Markdown support

Content areas (the text files included in your page) can be formatted with [Markdown][1].
The syntax is easy to learn and makes for great formatting (you can also
disable Markdown support altogether).

### Templating engine

Creamy uses twig for templating.
It's pretty awesome. There is [lots of documentation][2].

### Themes

Themes are common parts of a website which will not be editable -- like headers, footers and sidebars.
Put them into a folder called `theme` (relative to `creamy.php`).
You can now use it on any page like this:

```php

```

### Variables

Let's get fancy! You can use variables in your themes and content
areas:

Let's say you have a variable named {{ title }} inside a theme file.
Here is how to fill it with a value:

```php
"Creamy awesomeness!"); ?>

```

Or you might want a different layout (here: table.html)
for a content area and also omit markdown support for this area.
Here is how to do it:

```php
"table", "markdown" => false);
Creamy::content("events", $options);
?>
```

### Metadata

You can place metadata at the head of every markdown file like this:

author: Oscar Wilde
year: 1883
title: Personal Impressions of America (Leadville)
---
Over the piano was printed a notice:
Please do not shoot the pianist. He is doing his best.

The first three lines are interpreted as metadata and can be used in
your templates like this:

```php
{% for post in posts %}
{{ post.title }}, written by {{ post.author }} in {{ post.year }}:
{{ post.text }}
{% endfor %}
```

## FAQ

#### Q: A CMS...oh really? Why don't you use one of the gazillion other systems?
A: I want a lightweight CMS that happily adapts to static layouts not the other way round.

#### Q: Why not use perch instead?
A: Creamy is more flexible and it is free software. You can modify it to your hearts content.
Furthermore it's file based. You don't need a database to run it.
Also, I personally prefer an erb/mustache/twig-like templating engine
over the XML-style one that comes with perch.

#### Q: Why not use jekyll instead?
A: I love jekyll. I use it for my own blog but it's cumbersome to
configure and has no admin backend for my clients. You can think of creamy as a
user-friendly jekyll clone.

#### Q: Who might want to use it?
A: Creamy is ideal for small web pages.
It doesn't get into your way and helps you get some dynamic elements
into otherwise static pages real quick.
You can create a simple template and publish content in no time.

Hackers can also use source control software like git or svn and a plain
text editor to manage sites.

## Credits

This piece of software relies on fantastic work by lots of creative people.

- [twig][3] by Fabien Potencier, Armin Ronacher and others
- [Markdown][4] by John Gruber
- [PHP Markdown][5] by Michel Fortin
- [WMD Editor][6] by John Fraser of AttackLabs,
Reverse Engineered by Dana Robinson
- [spyc][7] by Chris Wanstrath and Vlad Andersen
- [Wireframe mono icons][8] by Gentleface.com

## Copyright

Copyright (C) 2011 Matthias Endler
http://www.matthias-endler.de

## License

GNU General Public License version 3.
See LICENSE.txt for details.

[Logo]: https://github.com/mre/Creamy/raw/master/creamy/theme/img/creamy.png

[1]: http://daringfireball.net/projects/markdown/
[2]: http://www.twig-project.org/documentation
[3]: http://twig-project.org/
[4]: http://daringfireball.net/projects/markdown/
[5]: http://michelf.com/projects/php-markdown/
[6]: https://github.com/derobins/wmd
[7]: http://spyc.sourceforge.net
[8]: http://gentleface.com/free_icon_set.html