Page markup: aether


Markup for page "aether":

[title Aether]
[right [prepend]
[small [toc]]
Aether is a Python CGI-script for managing weblogs ("blogs") and web-sites. It allows you to manage a site entirely from the web, like a wiki. I created it primarily to manage this site. You may also find it useful.

I have found that being able to update my web-site from any browser, anywhere, encourages me to keep my site up to date, and to fix typos and so-forth. Managing a site from the web also makes it easy for a group of people to collaboratively maintain it.

Aether is designed for use with Apache. It may work with other web-servers with minor alterations.

[heading Features]
[bullet Trivial to install.]
[bullet Create, edit, move and delete pages.]
[bullet Create and add entries to weblogs.]
[bullet Atom feed from weblogs.]
[bullet Attach files and images to pages.]
[bullet Basic revision tracking: view changes to a page, revert to previous version of a page.]
[bullet Everything uses unicode: page text, file-names, urls.]
[bullet Works as an Apache ErrorDocument, and so can be overlayed over an existing site.]
[bullet Sub-directories may be used to organize the site. A page may even have the same name as a sub-directory.]
[bullet Add features easily (in Python).]
[bullet Readable code.]

[link [url] Read the manual] for specifics, or look at these examples of page markup: [link this page [url]], [link my blog [url]], [link my default page layout [url]].

To demonstrate how Aether can be extended, here's the extra code i've added for this site: [link [url]].

[link Jiří Baum [url]] offers [link these further extensions [url]]: random page, underline, comment, currently playing iRATE track, phase of the moon.

[subheading Still to do]
[bullet Comment pages for weblogs.]
[bullet Recent changes, as in UseMod.]
[bullet Polish Wiki mode.]

[subheading Never to do]
[bullet Use a database (everything is stored in text files).]
[bullet Accounts and log-ins.]
[bullet Complex interface.]

[heading Download]

Aether is a single file:

[bullet [link [file aether-1.7]]]

Aether is released under the GPL.

[heading Installation]

Installing Aether should be easy. If not, it's a bug.

[bullet Make sure Python 2.2 is installed on your web-server (or Python 2.3, but you'll have to edit the first line of the script).]
[bullet Download Aether and copy it to your web-site. Rename it to the name you want to call the site.]
[bullet Set up Apache to treat the script as a CGI. For example, you might put the following in the ".htaccess" file for the directory the script is in:]

<Files myaethersite>
Options +ExecCgi
SetHandler cgi-script

[bullet View the script with a web browser.]

When first run, Aether will create two new directories in the same directory as you installed it in. One is for storing attached files, and is named "myaethersite-files". The other is for storing pages and is called "myaethersite-data". (the directory names are based on the name of the script, you may install multiple copies of Aether in one directory)

In the data directory, Aether will create a file called "". This contains the password for editing your pages. You can use the random password Aether selects, or edit the file to choose your own password.

[bullet Edit pages by entering the password in the \[edit ___\] box at the bottom of a page. This also works for pages that don't exist yet: you will get a 404, but you'll be able to create the page using the \[edit ___\] box.]

Note that as Aether creates files, the directory it is running in must have the correct owner and permissions to allow this. This will generally only be a problem on a web-server you have configured and run yourself.

[subheading Aether as an ErrorDocument]

Aether may be used as an Apache ErrorDocument. That is, instead of displaying a 404 Apache will invoke Aether. This allows you to overlay an Aether site over, say, an existing site written in straight HTML.

Put something like this in the ".htaccess" file:

<Files aether>
Options +ExecCgi
SetHandler cgi-script
BrowserMatch .* AETHER_ROOT=/url/of/this/directory

Options -Indexes
ErrorDocument 403 /url/of/aether
ErrorDocument 404 /url/of/aether]

(note: it would be more sensible to use "SetEnv AETHER_ROOT /usr/of/this/directory" instead of the BrowserMatch line, but BrowserMatch is more likely to be available on your web server)

To create a site with different passwords for different areas, or with an area with no password, use several copies of Aether as ErrorDocuments of different directories.