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.
Features
- Trivial to install.
- Create, edit, move and delete pages.
- Create and add entries to weblogs.
- Atom feed from weblogs.
- Attach files and images to pages.
- Basic revision tracking: view changes to a page, revert to previous version of a page.
- Everything uses unicode: page text, file-names, urls.
- Works as an Apache ErrorDocument, and so can be overlayed over an existing site.
- Sub-directories may be used to organize the site. A page may even have the same name as a sub-directory.
- Add features easily (in Python).
- Readable code.
Read the manual for specifics, or look at these examples of page markup: this page, my blog, my default page layout.
To demonstrate how Aether can be extended, here's the extra code i've added for this site: _code.py.
Jiří Baum offers these further extensions: random page, underline, comment, currently playing iRATE track, phase of the moon.
Still to do
- Comment pages for weblogs.
- Recent changes, as in UseMod.
- Polish Wiki mode.
Never to do
- Use a database (everything is stored in text files).
- Accounts and log-ins.
- Complex interface.
Download
Aether is a single file:
Aether is released under the GPL.
Installation
Installing Aether should be easy. If not, it's a bug.
- 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).
- Download Aether and copy it to your web-site. Rename it to the name you want to call the site.
- 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 </Files>
- 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 "_code.py". 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.
- 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.
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 </Files> 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.