PikiPiki + mods
This is the general-purpose distribution of PikiPiki as modified by
Panu Kalliokoski.
New features
The modifications include, in no particular order:
- changes to the look and to some strings
- support for Finnish characters (едц) in links
- freeform links with brackets
- case-insensitivity of links
- slightly improved rules for detecting the end of a URL
- added HTML and URL quoting to some places where it was missing
- some cleanup in the code source
- a WantedPages macro
- totally renewed the system for block level elements for more
consistency and practicality
- numbered lists
- headings
- more security checks on user-supplied parameters
- an editable menu in the page template
- slight improvements to the RecentChanges macro
- merging changes with diff3 (to reduce edit conflicts)
- ported on fs.py
- redirect after editing (so that reload won't repost)
- providing changes as an RSS feed
Installation
PikiPiki is (currently) a CGI script. To use it, do the following:
- Drop piki.py somewhere it can be executed as a CGI script, which
means most probably the cgi-bin of your web server. piki.py
need not be so called; you can save it under any name.
- Configure the parameters near the beginning of piki.py to suit
your needs.
- Create the data directories (their location is one of the configurable
parameters so that they are writable by the HTTP daemon. This
probably means something like the following:
$ mkdir /my/data/dir /my/data/dir/fs
$ chmod a+rwx /my/data/dir /my/data/dir/fs
- Drop fs.py somewhere where it can be found by Python's import:
for example, the same dir as where you put piki.py, or somewhere
in Python's load path.
- Point your browser at whatever name and place you saved piki.py in the
web server and start making content.
Markup
This is thoroughly documented in my web diary's EditingTips, but because
that's in Finnish, here is a short guide:
Begin line with | to get a(n) |
|
!!! | heading |
space + * | ordinary list item |
space + # | numbered list item |
(empty line) | ordinary paragraph |
{{{ | preformatted text |
}}} | non-preformatted text |
---- | horizontal rule |
Block-level markup
Put this in text | to get a(n) |
|
'' | normal emphasis |
''' | strong emphasis |
[page name] | link |
// (at the end of line) | forced line break |
http://url | outside link |
e@mail | mailto: link |
Inline markup
That's all, folks.