Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/artyom/pm.cms
Dead simple CMS, sort of. Throw in bunch of markdown files, get your html pages. No bells, no whistles.
https://github.com/artyom/pm.cms
Last synced: about 11 hours ago
JSON representation
Dead simple CMS, sort of. Throw in bunch of markdown files, get your html pages. No bells, no whistles.
- Host: GitHub
- URL: https://github.com/artyom/pm.cms
- Owner: artyom
- Created: 2013-01-22T12:43:09.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2013-01-23T07:14:59.000Z (almost 12 years ago)
- Last Synced: 2023-04-14T15:46:27.829Z (over 1 year ago)
- Language: Shell
- Size: 109 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# CMS, sort of
Well, this isn't a CMS actually, it's just a tiny wrapper around [discount][] [markdown][] converter.
This tiny tool can be handy if you want to convert a bunch of [markdown][] files into html pages and (optionally) automatically create an index file for them. As it supports templates, quite pleasing results can be achieved, so it can be used to manage a small static website.
## Usage
pmcms ACTION | filename.md
Actions supported:
- all: process all .md files (but not index)
- index: create index file (list appended to index.head)
- clean: remove ALL .html files (be careful!)
- gc: collect garbage (remove .html files with no
corresponding .md files)
DOCROOT environment variable is looked for files, otherwise,
PWD is usedMarkdown files can have optional [pandoc-style title block][pandoc-title] (headers containing metadata):
% title
% author
% dateAny field may be left blank. These fields can be used in html template, refer to example file.
Extra features:
- [markdown][] files should have `.md` suffix;
- path to [markdown][] files looked up from `DOCROOT` envoronment variable, if unset, current workdir is used;
- generic template is called `template.tpl`, but each page can use its own one, just call it as your page with `.tpl` suffix instead of `.md`;
- automatically updates files on `all` target if template's changed;
- autoindex feature appends index to `index.head` file, if it exists.## Usage examples
Create html pages from existing [markdown][] files:
pmcms all
Clear all html files:
pmcms clean
Automatically create `index.md` file and update/create html pages:
pmcms index && pmcms all
Remove old html files if you already removed its [markdown][] sources:
pmcms gc
* * *
This tool is provided 'as-is'. I do not intend to transform it into something complex or feature-rich. If you want something similar with more bells and whistles, look at [nikola][] or something similar.
[discount]: http://www.pell.portland.or.us/~orc/Code/discount/
[markdown]: http://daringfireball.net/projects/markdown/
[pandoc-title]: http://johnmacfarlane.net/pandoc/README.html#title-block
[nikola]: http://nikola.ralsina.com.ar