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]
[link [url http://www.logarithmic.net/pfh?action=manual] Read the manual] for specifics, or look at these examples of page markup: [link this page [url http://www.logarithmic.net/pfh/aether?action=showcode]], [link my blog [url http://www.logarithmic.net/pfh/blog?action=showcode]], [link my default page layout [url http://www.logarithmic.net/pfh/default?action=showcode]].
To demonstrate how Aether can be extended, here's the extra code i've added for this site: [link _code.py [url http://www.logarithmic.net/pfh/default?action=showself]].
[link Jiří Baum [url http://www.baum.com.au/~jiri/ae/blog]] offers [link these further extensions [url http://www.baum.com.au/~jiri/ae-misc.py]]: random page, underline, comment, currently playing iRATE track, phase of the moon.
[subheading Still to do]
[subheading Never to do]
[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).]
[mono
[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 "_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.
[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:
[mono
Options -Indexes
(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.
[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.
[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.]
[bullet Comment pages for weblogs.]
[bullet Recent changes, as in UseMod.]
[bullet Polish Wiki mode.]
[bullet Use a database (everything is stored in text files).]
[bullet Accounts and log-ins.]
[bullet Complex interface.]
[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
</Files>
]
<Files aether>
Options +ExecCgi
SetHandler cgi-script
BrowserMatch .* AETHER_ROOT=/url/of/this/directory
</Files>
ErrorDocument 403 /url/of/aether
ErrorDocument 404 /url/of/aether]