index.md (4193B)
1 werc - A sane web anti-framework 2 ================================ 3 4 Werc is a minimalist web anti-framework built following the [Unix](http://doc.cat-v.org/unix/) and [Plan 9](http://plan9.cat-v.org) 5 *tool philosophy* of software design. 6 7 Werc avoids the pain of managing collections of websites and developing web 8 applications. 9 10 * Database free, uses files and directories instead. 11 * Written using [the rc shell](http://rc.cat-v.org), leveraging the standard Unix/Plan 9 command toolkit. 12 * Minimize tedious work: eg., no need to ever write HTML, use markdown (or any other format) instead. 13 * Very minimalist yet extensible codebase: highly functional core is 150 lines, with extra functionality in modular [apps](/apps/). 14 15 16 Features 17 -------- 18 19 Here are some of the features provided by werc: 20 21 * Good integration with pre-existing content, you can add HTML or plain text files and they will be seamlessly integrated with the rest of the site. 22 * You can use your favorite tools (text editor, shell, file manager, etc) to edit, manipulate and manage data stored in werc. 23 * Designed to manage any number of 'virtual' domains that share a common style and layout from a single werc installation. 24 * Configuration and customization can be at at any level: global, per-domain-group, domain-wide, directory sub-tree, and single file. 25 * Can trivially run multiple (customized) versions of werc side by side. 26 * Very simple and flexible user management and permissions system. 27 * Applications can be easily combined: eg., add comments to your blog or wiki by enabling the 'bridge' app; or by enabling the 'diridir' wiki convert any document tree into a wiki. 28 * Can easily write werc 'apps' and extensions in *any* language! (But of course, rc is recommended). 29 30 31 Install Requirements 32 -------------------- 33 34 All you need is some Plan 9 commands (cat, grep, sed, rc, etc.), and an HTTP 35 server with CGI support. 36 37 Werc runs on any Unix-like system where [Plan 9 from User Space](https://9fans.github.io/plan9port/), 38 [9base](https://tools.suckless.org/9base/), 39 or [frontport](https://code.9front.org/hg/frontbase) 40 are available (this includes Linux, \*BSD, OS X and Solaris), and on Plan 9. 41 42 Werc can use any HTTP server that can handle CGI, and has been tested with at 43 least Apache, Lighttpd, Cherokee, nhttpd, Hiawatha, rc-httpd, cgd, and others. 44 45 Werc uses markdown by default (and the standard Perl markdown is included with 46 the distribution), to format documents, but any other formatting system can be 47 used. 48 49 50 Source 51 ------ 52 53 To get a copy of the latest development code using mercurial, do: 54 55 hg clone https://code.9front.org/hg/werc/ 56 57 You can also [browse the online repository](https://code.9front.org/hg/werc/). 58 59 60 Contact 61 ------- 62 63 For questions, suggestions, bug reports and contributing patches you can join 64 the werc mailing list. To join, send a message with a body consisting only of the word _subscribe_ to werc-owner@cat-v.org. After you get the confirmation notice, you can post by sending messages to werc@cat-v.org. 65 66 To track commit messages, you can join the werc-commits mailing list. To join, send a message with a body consisting only of the word _subscribe_ to werc-commits-owner@cat-v.org. 67 68 On irc, join [#cat-v](irc://irc.freenode.org/cat-v) on irc.freenode.org 69 70 71 License 72 ------- 73 74 Public domain, [because so called 'intellectual property' is an 75 oxymoron](http://harmful.cat-v.org/economics/intellectual_property/). 76 77 Alternatively if your prefer it or your country's brain dead copyright law 78 doesn't recognize the public domain werc is made available under the terms of 79 the MIT and ISC licenses. 80 81 82 Credits 83 ------- 84 85 Thanks to [Uriel](http://uriel.cat-v.org/) for creating werc. 86 87 Thanks to Kris Maglione (aka JG) for implementing rss feeds, for writing the 88 awk rc-templating system, and other help and inspiration (some parts of the 89 code were based on JG's diri wiki). 90 91 Thanks to Mechiel (aka oksel) for the md_cache script. 92 93 Thanks Garbeam (aka arg) for writing the original diri code and showing that 94 writing complex web apps in rc was feasible. 95 96 Thanks to Ethan Gardner for writing rc-httpd. 97 98 And thanks to everyone else whom we may have forgotten and that has provided fixes 99 and feedback.