Software

mowyw - Mowyw Writes Your Websites (Offline CMS)

Welcome to the project page of mowyw, an offline Content Management System (CMS).

What is mowyw?

Mowyw is a command line driven offline CMS that processes html files with a few special syntax elements.

Think of it as a kind of preprocessor system specifically designed for web pages.

It uses a simple syntax and needs very little time to get used to.

mowyw is written in Perl for Linux and other POSIX compliant systems, but it should work on all platforms that perl runs on, perhaps with slight modifications. It is Open Source Software (GPL) and free of any charge.

What is it not?

mowyw is not an online CMS with a web frontend, sql backend, guestbook and other "fancy" whiz bang features.

Syntax Example

Entire files can be included via the [%include name%] or [% include name %] directive.

A menu foo can be included with the item bar as the active item via [%menu foo bar%]. The corresponding menu file might look like this:

<h2>Navigation</h2>
<ul>
    [%item bar <li><a href="bar" {{class="active"}}>Bar</a></li>%]
    [%item baz <li><a href="baz" {{class="active"}}>BaZ</a></li>%]
</ul>

Where the parts between double braces {{ ... }} only appear in the final file if the menu was called with the matching label.

Please note that previous versions only used double square brackets, which collided with the closing CDATA-declaration from standards compliant xhtml and xml documents.

In Versions 0.4.0 (and higher) you can use either [[[ ... ]]] or [% ... %] to delimit tags.

Starting from Version 0.3.0, mowyw can perform syntax hilighting for you, if you have installed vim and the perl module Text::VimColor. Simply put [%syntax html%] HTML-Code here [%endsyntax%] in your source file, and any HTML code between the start and end tag will automatically be escaped and syntax hilighted.

All languages and configuration files that vim supports are accessible from mowyw, currently that are over 480 different formats, including prominent examples as C, C++, Java, HTML, CSS, Javascript, Perl, Python, PHP, eiffel, matlab, Ada, awk, haskell, Lisp, and many more.

Documentation

You can read the README file and the mowyw manual page online, and you can download the tar ball and take a look at the distributed examples.

Warning

mowyw is in an early stage of development, so don't expect too much. Use this program at your own risk, and read the accompanied README file before running it.

Download

You can get the latest version here (recommended).

Older versions are/will be available as well:

Release History/Changelog

This is not reliable or complete, in case of doubt consider the Changelog file.

  • 2008-04-12, mowyw-0.5.0 Data sources, bind and for statements. Major internal overhaul, which allows for much easier testing. Many more tests.
  • 2007-06-06, mowyw-0.4.0: Optional [% .. %] syntax.
  • 2007-03-28, mowyw-0.2.0: nearly complete rewrite using a lexer and a recursive-descending parser; introduced the [[[verbatim $marker]]] construct
  • 2007-01-10, mowyw-0.1.0: syntax change from [[...]] to [[[...]]]
  • 2007-01-04, mowyw-0.0.3: support for options to omit header/footer inclusion
  • 2006-12-31, mowyw-0.0.2: nested menu items work
  • 2006-12-28, mowyw-0.0.1: Initial Release