werc

Werc is a minimalist content management system (CMS) with a web interface implemented using the rc shell and the Plan 9 from Bell Labs tools provided as part of Plan 9 from User Space.

Originally developed for cat-v.org it has become more generalized. One of its major features is the easy management of multiple domains and virtual hosts from a single installation.

It is designed to be simple yet flexible while keeping setup easy (untar, configure httpd, create a directory for your site and start adding content right away).

It can also handle, plain text, markdown (or other user configurable markup) and integrate existing html files into the same site.

The goal is to provide a consistent interface for all documents while staying out of your way and avoiding any repetitive work.

Download

See the downloads page for tarballs of all releases. See the hg web interface below to get a copy of the latest development source.

(More or less idiosyncratic) Features

Development

To get a copy of the latest development code using mercurial, do:

hg clone http://gsoc.cat-v.org/hg/werc/

You can also browse the online repository.

Dependencies

To run werc you will need a recent version of Plan 9 from User Space and a sane version of awk (ideally the original one maintained by Brian Kernighan). Compiling statically p9p and awk is probably a good idea and will improve performance on platforms with dog slow fork(2) (linux fork(2) is a few magnitude orders faster for statically linked binaries).

If you use the included markdown.pl you will need perl too, sorry.

Contact

For questions, suggestions, bugrepports and contributing patches you can join the werc9 mailinglist.

On irc, join #plan9 on irc.freenode.org

Links

License

Public domain (by default includes markdown.pl which has a different license, but this can be replaced).

Credits

Thanks to Kris Maglione (aka JG) for implementing rss feeds, for writing the awk rc-templating system, and other help and inspiration (some parts of the code were based on JG's diri wiki).

Thanks to Mechiel (aka oksel) for the md_cache script.

Thanks Garbeam (aka arg) for writing the original diri code and showing that writing complex web apps in rc was feasible.

And thanks to everyone else whom I have forgotten and that has provided fixes and feedback.

TODO

Too much to list here.

Future plans:

Known bugs:

Resolved issues and implemented features: