Personal fork of werc-1.5.0. Intention is to eventually merge changes upstream.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Nuno Sempere 0e869fe492
display full post in rss at the request of anon
8 months ago
apps display full post in rss at the request of anon 8 months ago
bin tweak: discount markdown doesn't actually take any args. 1 year ago
etc tweak: Change access log location for site 2 years ago
lib feat: add and use css to make site readable on mobile 2 years ago
pub further sitemap tweaks. 8 months ago
sites tweak: Make top header a site-independent setting 2 years ago
tpl further sitemap tweaks. 8 months ago
.gitignore chore: Update permissions 2 years ago
README feat: add pointer to rc-shell.vim 1 year ago


werc - a minimalist document management system


Werc is a content management system and web (anti-)framework designed to be simple to
use, simple to setup, simple to hack on, and not get in the way while allowing
users easy customization.

For more information see the official website:



* An http server that can handle CGIs
* Plan 9 from User Space:,
Or 9base-tip:,
Or frontbase:

Note: Werc by default expects the Plan 9 tools to be installed under
/bin/, if you have installed them elsewhere you will need to edit the
#! line in bin/werc.rc and customize the $plan9port variable in your


Untar werc at your desired location, configure httpd to use
/path-to-your-werc-installation/bin/werc.rc as a cgi-script, it is recommended
that you make werc.rc handle all non-static files (this can be done by setting
it up as your 404 handler) and setup your virtual hosts to handle static files
by setting the document root for the domain to
/path-to-werc-installation/sites/, and create a directory for
your web site under sites/ where you can start adding content right away.

If you will want to allow updates via the web interface (eg., for wiki or
comments apps) make sure all files under sites/ are writable by the user your
cgi will run as, usually www-data, for example by doing: chown -R :www-data
sites/; chmod -R g+w sites/

Werc currently assumes that your website runs http, rather than https.
If you are running https, locate and change https mentions using
grep http -R bin/

If your Plan 9 binaries are located somewhere else than the standard /bin/ you
will need to edit the first line of bin/werc.rc (Note that p9p in particular is
picky about where it is located, once you run ./INSTALL you should *not* move
it to a different directory without running ./INSTALL again.)

For general configuration options copy etc/initrc to etc/initrc.local and
customize it as needed. Site (and directory) specific options can be set in a
sites/ file inside the site's directory. To customize
templates and included files you can store your own version of the files in
lib/ under sites/

The source tree for the werc website is included under sites/ as
an example, feel free to use it as a template for your own site.

If a vim user, you may want to use a syntax file for rc:

For more details see the documentation section of the website:


For comments, suggestions, bug reports or patches join the werc mailing list
at: or the irc channel #cat-v in

If you have a public website that uses werc I would love to hear about it and
get feedback about you experience setting it up.


Garbeam, Kris Maglione, sqweek, soul9, mycroftiv, maht, yiyus, cinap_lenrek,
khm and many others for their ideas, patches, testing and other contributions.


Werc is in the public domain.