summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/blog.mdwn35
-rw-r--r--doc/favicon.icobin0 -> 393 bytes
-rw-r--r--doc/helponformatting.mdwn78
-rw-r--r--doc/local.css3
-rw-r--r--doc/markdown.mdwn10
-rw-r--r--doc/openid.mdwn34
-rw-r--r--doc/pagespec.mdwn71
-rw-r--r--doc/preprocessordirective.mdwn33
-rw-r--r--doc/sandbox.mdwn2
-rw-r--r--doc/shortcuts.mdwn18
-rw-r--r--doc/smileys.mdwn50
-rw-r--r--doc/smileys/alert.pngbin0 -> 220 bytes
-rw-r--r--doc/smileys/angry.pngbin0 -> 295 bytes
-rw-r--r--doc/smileys/attention.pngbin0 -> 164 bytes
-rw-r--r--doc/smileys/biggrin.pngbin0 -> 173 bytes
-rw-r--r--doc/smileys/checkmark.pngbin0 -> 133 bytes
-rw-r--r--doc/smileys/devil.pngbin0 -> 354 bytes
-rw-r--r--doc/smileys/frown.pngbin0 -> 168 bytes
-rw-r--r--doc/smileys/icon-error.pngbin0 -> 159 bytes
-rw-r--r--doc/smileys/icon-info.pngbin0 -> 177 bytes
-rw-r--r--doc/smileys/idea.pngbin0 -> 372 bytes
-rw-r--r--doc/smileys/ohwell.pngbin0 -> 167 bytes
-rw-r--r--doc/smileys/prio1.pngbin0 -> 153 bytes
-rw-r--r--doc/smileys/prio2.pngbin0 -> 159 bytes
-rw-r--r--doc/smileys/prio3.pngbin0 -> 154 bytes
-rw-r--r--doc/smileys/redface.pngbin0 -> 306 bytes
-rw-r--r--doc/smileys/sad.pngbin0 -> 299 bytes
-rw-r--r--doc/smileys/smile.pngbin0 -> 356 bytes
-rw-r--r--doc/smileys/smile2.pngbin0 -> 334 bytes
-rw-r--r--doc/smileys/smile3.pngbin0 -> 326 bytes
-rw-r--r--doc/smileys/smile4.pngbin0 -> 275 bytes
-rw-r--r--doc/smileys/star_off.pngbin0 -> 297 bytes
-rw-r--r--doc/smileys/star_on.pngbin0 -> 374 bytes
-rw-r--r--doc/smileys/thumbs-up.pngbin0 -> 118 bytes
-rw-r--r--doc/smileys/tired.pngbin0 -> 157 bytes
-rw-r--r--doc/smileys/tongue.pngbin0 -> 176 bytes
-rw-r--r--doc/style.css228
-rw-r--r--doc/subpage.mdwn11
-rw-r--r--doc/subpage/linkingrules.mdwn32
-rw-r--r--doc/wikiicons/diff.pngbin0 -> 219 bytes
-rw-r--r--doc/wikilink.mdwn23
41 files changed, 627 insertions, 1 deletions
diff --git a/doc/blog.mdwn b/doc/blog.mdwn
new file mode 100644
index 000000000..859fa6aaa
--- /dev/null
+++ b/doc/blog.mdwn
@@ -0,0 +1,35 @@
+You can turn any page on this wiki into a weblog by inserting a
+[[PreProcessorDirective]]. Like this:
+
+ \[[inline pages="blog/* and !*/Discussion" show="10" rootpage="blog"]]
+
+Any pages that match the specified [[PageSpec]] (in the example, any
+[[SubPage]] of "blog") will be part of the blog, and the newest 10
+of them will appear in the page. Note that if files that are not pages
+match the [[PageSpec]], they will be included in the feed using RSS
+enclosures, which is useful for podcasting.
+
+The optional `rootpage` parameter tells the wiki that new posts to this blog
+should default to being [[SubPage]]s of "blog", and enables a form at the
+top of the blog that can be used to add new items.
+
+If you want your blog to have an archive page listing every post ever made
+to it, you can accomplish that like this:
+
+ \[[inline pages="blog/* and !*/Discussion" archive="yes"]]
+
+You can even create an automatically generated list of all the pages on the
+wiki, with the most recently added at the top, like this:
+
+ \[[inline pages="* and !*/Discussion" archive="yes"]]
+
+If you want to be able to add pages to a given blog feed by tagging them,
+you can do that too. To tag a page, just make it link to a page or pages
+that represent its tags. Then use the special link() [[PageSpec]] to match
+all pages that have a given tag:
+
+ \[[inline pages="link(life)"]]
+
+Or include some tags and exclude others:
+
+ \[[inline pages="link(debian) and !link(social)"]]
diff --git a/doc/favicon.ico b/doc/favicon.ico
new file mode 100644
index 000000000..354b627f0
--- /dev/null
+++ b/doc/favicon.ico
Binary files differ
diff --git a/doc/helponformatting.mdwn b/doc/helponformatting.mdwn
new file mode 100644
index 000000000..3a0ddb9f2
--- /dev/null
+++ b/doc/helponformatting.mdwn
@@ -0,0 +1,78 @@
+# Help on formatting text
+
+Text on this wiki is, by default, written in a form very close to how you
+might write text for an email message. This style of text formatting is
+called [[MarkDown]], and it works like this:
+
+Leave blank lines between paragraphs.
+
+You can \**emphasise*\* or \*\***strongly emphasise**\*\* text by placing it
+in single or double asterisks.
+
+To create a list, start each line with an asterisk:
+
+* "* this is my list"
+* "* another item"
+
+To make a numbered list, start each line with a number (any number will
+do) followed by a period:
+
+1. "1. first line"
+2. "2. second line"
+2. "2. third line"
+
+To create a header, start a line with one or more `#` characters followed
+by a space and the header text. The number of `#` characters controls the
+size of the header:
+
+# # h1
+## ## h2
+### ### h3
+#### #### h4
+##### ##### h5
+###### ###### h6
+
+You can also make the first two levels of heading by underlining text with
+equals or dash:
+
+heading 1
+=========
+
+ heading 1
+ =========
+
+heading 2
+---------
+
+ heading 2
+ ---------
+
+To create a horizontal rule, just write three or more dashes or stars on
+their own line:
+
+----
+
+To quote someone, prefix the quote with ">":
+
+> To be or not to be,
+> that is the question.
+
+To write a code block, indent each line with a tab or 4 spaces:
+
+ 10 PRINT "Hello, world!"
+ 20 GOTO 10
+
+To link to another page on the wiki, place the page's name inside double
+square brackets, so you would use `\[[WikiLink]]` to link to [[WikiLink]].
+
+To link to any other web page, or to an email address, you can just put the url in angle brackets: <<http://ikiwiki.kitenet.net>>, or you can use the form
+\[link text\]\(url\)
+
+----
+
+You can also use [[PreProcessorDirective]]s to do additional cool stuff.
+
+[[if test="enabled(smiley)" then="""
+Also, because this wiki has the smiley plugin enabled, you can
+insert [[smileys]] and some other useful symbols.
+"""]]
diff --git a/doc/local.css b/doc/local.css
new file mode 100644
index 000000000..a0dec8cfd
--- /dev/null
+++ b/doc/local.css
@@ -0,0 +1,3 @@
+/* ikiwiki local style sheet */
+
+/* Add local styling here, instead of modifying style.css. */
diff --git a/doc/markdown.mdwn b/doc/markdown.mdwn
new file mode 100644
index 000000000..317a17db9
--- /dev/null
+++ b/doc/markdown.mdwn
@@ -0,0 +1,10 @@
+[Markdown](http://daringfireball.net/projects/markdown/)
+is a minimal markup language that resembles plain text as used in
+email messages. It is the markup language used by this wiki by default.
+
+For documentation about the markdown syntax, see [[HelpOnFormatting]] and
+[Markdown: syntax](http://daringfireball.net/projects/markdown/syntax).
+
+Note that [[WikiLink]]s and [[PreProcessorDirective]]s are not part of the
+markdown syntax, and are the only bit of markup that this wiki handles
+internally.
diff --git a/doc/openid.mdwn b/doc/openid.mdwn
new file mode 100644
index 000000000..7c6d2bda7
--- /dev/null
+++ b/doc/openid.mdwn
@@ -0,0 +1,34 @@
+[[meta title="OpenID"]]
+
+[[template id=note text="""
+[[if test="enabled(openid)"
+ then="This wiki has OpenID **enabled**."
+ else="This wiki has OpenID **disabled**."]]
+"""]]
+
+[OpenID](http://openid.net) is a decentralized authentication mechanism
+that allows you to have one login that you can use on a growing number of
+websites.
+
+To sign up for an OpenID, visit one of the following identity providers:
+
+* [MyOpenID](https://www.myopenid.com/)
+* [GetOpenID](https://getopenid.com/)
+* [Videntity](http://videntity.org/)
+* [LiveJournal](http://www.livejournal.com/openid/)
+* or any of the many others out there..
+
+Your OpenID is the URL that you are given when you sign up.
+[[if test="enabled(openid)" then="""
+To sign in to this wiki using OpenID, just enter it in the OpenID field in the
+signin form. You do not need to give this wiki a password or go through any
+registration process when using OpenID.
+"""]]
+
+---
+
+It's also possible to make a page in the wiki usable as an OpenID url,
+by delegating it to an openid server. Here's an example of how to do that:
+
+ \[[meta link="http://www.myopenid.com/server" rel="openid.server"]]
+ \[[meta link="http://yourid.myopenid.com/" rel="openid.delegate"]]
diff --git a/doc/pagespec.mdwn b/doc/pagespec.mdwn
new file mode 100644
index 000000000..53519e7f0
--- /dev/null
+++ b/doc/pagespec.mdwn
@@ -0,0 +1,71 @@
+To select a set of pages, such as pages that are locked, pages
+whose commit emails you want subscribe to, or pages to combine into a
+blog, the wiki uses a PageSpec. This is an expression that matches
+a set of pages.
+
+The simplest PageSpec is a simple list of pages. For example, this matches
+any of the three listed pages:
+
+ foo or bar or baz
+
+More often you will want to match any pages that have a particular thing in
+their name. You can do this using a glob pattern. "`*`" stands for any part
+of a page name, and "`?`" for any single letter of a page name. So this
+matches all pages about music, and any [[SubPage]]s of the SandBox, but does
+not match the SandBox itself:
+
+ *music* or SandBox/*
+
+You can also prefix an item with "`!`" to skip pages that match it. So to
+match all pages except for Discussion pages and the SandBox:
+
+ * and !SandBox and !*/Discussion
+
+Some more elaborate limits can be added to what matches using any of these
+functions:
+
+* "`link(page)`" - match only pages that link to a given page
+* "`backlink(page)`" - match only pages that a given page links to
+* "`creation_month(month)`" - match only pages created on the given month
+* "`creation_day(mday)`" - or day of the month
+* "`creation_year(year)`" - or year
+* "`created_after(page)`" - match only pages created after the given page
+ was created
+* "`created_before(page)`" - match only pages created before the given page
+ was created
+
+For example, to match all pages in a blog that link to the page about music
+and were written in 2005:
+
+ blog/* and link(music) and creation_year(2005)
+
+More complex expressions can also be created, by using parentheses for
+grouping. For example, to match pages in a blog that are tagged with either
+of two tags, use:
+
+ blog/* and (link(tag/foo) or link(tag/bar))
+
+Note that page names in PageSpecs are matched against the absolute
+filenames of the pages in the wiki, so a pagespec "foo" used on page
+"a/b" will not match a page named "a/foo" or "a/b/foo". To match
+relative to the directory of the page containing the pagespec, you can
+use "./". For example, "./foo" on page "a/b" matches page "a/foo".
+
+## Old syntax
+
+The old PageSpec syntax was called a "GlobList", and worked differently in
+two ways:
+
+1. "and" and "or" were not used; any page matching any item from the list
+ matched.
+2. If an item was prefixed with "`!`", then no page matching that item
+ matched, even if it matched an earlier list item.
+
+For example, here is the old way to match all pages except for the SandBox
+and Discussion pages:
+
+ * !SandBox !*/Discussion
+
+Using this old syntax is still supported. However, the old syntax is
+deprecated and will be removed at some point, and using the new syntax is
+recommended.
diff --git a/doc/preprocessordirective.mdwn b/doc/preprocessordirective.mdwn
new file mode 100644
index 000000000..1e2332c09
--- /dev/null
+++ b/doc/preprocessordirective.mdwn
@@ -0,0 +1,33 @@
+Preprocessor directives are similar to a [[WikiLink]] in form, except they
+contain spaces and parameters. The general form is:
+
+ \[[directive param="value" param="value"]]
+
+This gets expanded before the rest of the page is processed, and can be used
+to transform the page in various ways.
+
+The quotes around values can be omitted if the value is a simple word.
+Also, some directives may use parameters without values, for example:
+
+ \[[tag foo]]
+
+Note that if a preprocessor directive has no parameters, a space still must
+be put after its name, to avoid confusion with a [[WikiLink]]. For example:
+
+ \[[pagecount ]]
+
+A preprocessor directive does not need to all be on one line, it can be
+wrapped to multiple lines if you like:
+
+ \[[directive foo="baldersnatch"
+ bar="supercalifragalisticexpealadocious" baz=11]]
+
+Also, multiple lines of *quoted* text can be used for a value.
+To allow quote marks inside the quoted text, delimit the block
+of text with triple-quotes:
+
+ \[[directive text="""
+ 1. "foo"
+ 2. "bar"
+ 3. "baz"
+ """]]
diff --git a/doc/sandbox.mdwn b/doc/sandbox.mdwn
index 540d7296e..78d6e11c7 100644
--- a/doc/sandbox.mdwn
+++ b/doc/sandbox.mdwn
@@ -81,4 +81,4 @@ Ethan wants to make a [[sandbox/castle]] in the sand.
hi
-just testing \ No newline at end of file
+just testing
diff --git a/doc/shortcuts.mdwn b/doc/shortcuts.mdwn
new file mode 100644
index 000000000..f9d586bbf
--- /dev/null
+++ b/doc/shortcuts.mdwn
@@ -0,0 +1,18 @@
+This page controls what shortcut links the wiki supports.
+
+* [[shortcut name=google url="http://www.google.com/search?q=%s"]]
+* [[shortcut name=wikipedia url="http://en.wikipedia.org/wiki/%s"]]
+* [[shortcut name=debbug url="http://bugs.debian.org/%s" desc="bug #%s"]]
+* [[shortcut name=deblist url="http://lists.debian.org/debian-%s" desc="debian-%s@lists.debian.org"]]
+* [[shortcut name=debpkg url="http://packages.debian.org/%s"]]
+* [[shortcut name=debpts url="http://packages.qa.debian.org/%s"]]
+* [[shortcut name=fdobug url="https://bugs.freedesktop.org/show_bug.cgi?id=%s" desc="freedesktop.org bug #%s"]]
+* [[shortcut name=fdolist url="http://lists.freedesktop.org/mailman/listinfo/%s" desc="%s@lists.freedesktop.org"]]
+* [[shortcut name=cpan url="http://search.cpan.org/search?mode=dist&query=%s"]]
+* [[shortcut name=ctan url="http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=%s"]]
+* [[shortcut name=iki url="http://ikiwiki.kitenet.net/%s.html"]]
+* [[shortcut name=ljuser url="http://%s.livejournal.com/"]]
+
+To add a new shortcut, use the "shortcut" preprocessor directive. "%s" is
+replaced with the text passed to the named shortcut. The optional desc
+parameter controls the description of the link.
diff --git a/doc/smileys.mdwn b/doc/smileys.mdwn
new file mode 100644
index 000000000..e5377ced2
--- /dev/null
+++ b/doc/smileys.mdwn
@@ -0,0 +1,50 @@
+This page is used to control what smileys are supported by the wiki.
+Just write the text of a smiley to display it.
+
+* \:) [[smileys/smile.png]]
+* \:-) [[smileys/smile.png]]
+* \:D [[smileys/biggrin.png]]
+* \:-D [[smileys/biggrin.png]]
+* \B) [[smileys/smile2.png]]
+* \B-) [[smileys/smile2.png]]
+* \:)) [[smileys/smile3.png]]
+* \:-)) [[smileys/smile3.png]]
+* \;) [[smileys/smile4.png]]
+* \;-) [[smileys/smile4.png]]
+* \:\ [[smileys/ohwell.png]]
+* \:/ [[smileys/ohwell.png]]
+* \:-/ [[smileys/ohwell.png]]
+* \>:> [[smileys/devil.png]]
+* \X-( [[smileys/angry.png]]
+* \<:( [[smileys/frown.png]]
+* \:( [[smileys/sad.png]]
+* \:-( [[smileys/sad.png]]
+* \:-? [[smileys/tongue.png]]
+* \:o [[smileys/redface.png]]
+* \|) [[smileys/tired.png]]
+* \|-) [[smileys/tired.png]]
+* \{OK} [[smileys/thumbs-up.png]]
+* \{X} [[smileys/icon-error.png]]
+* \{i} [[smileys/icon-info.png]]
+* \(./) [[smileys/checkmark.png]]
+* \(!) [[smileys/idea.png]]
+* \[!] [[smileys/attention.png]]
+* \/!\ [[smileys/alert.png]]
+* \{*} [[smileys/star_on.png]]
+* \{o} [[smileys/star_off.png]]
+* \{1} [[smileys/prio1.png]]
+* \{2} [[smileys/prio2.png]]
+* \{3} [[smileys/prio3.png]]
+
+For example: {*} B) {*}
+
+----
+
+To change the supported smileys, just edit the lists on this page.
+Note that the format is important; each list item should start with the
+text that is turned into the smiley, escaped so that users can see what
+produces it, followed by a [[WikiLink]] to the image to display.
+
+/!\ Bear in mind that the link to the image needs to be written in a way that
+will work if it's copied to other pages on the wiki. So be sure to include the
+smileys directory in the path to the file.
diff --git a/doc/smileys/alert.png b/doc/smileys/alert.png
new file mode 100644
index 000000000..5bb87e33f
--- /dev/null
+++ b/doc/smileys/alert.png
Binary files differ
diff --git a/doc/smileys/angry.png b/doc/smileys/angry.png
new file mode 100644
index 000000000..05bc69f74
--- /dev/null
+++ b/doc/smileys/angry.png
Binary files differ
diff --git a/doc/smileys/attention.png b/doc/smileys/attention.png
new file mode 100644
index 000000000..7e064566d
--- /dev/null
+++ b/doc/smileys/attention.png
Binary files differ
diff --git a/doc/smileys/biggrin.png b/doc/smileys/biggrin.png
new file mode 100644
index 000000000..f71b42c11
--- /dev/null
+++ b/doc/smileys/biggrin.png
Binary files differ
diff --git a/doc/smileys/checkmark.png b/doc/smileys/checkmark.png
new file mode 100644
index 000000000..8869caa19
--- /dev/null
+++ b/doc/smileys/checkmark.png
Binary files differ
diff --git a/doc/smileys/devil.png b/doc/smileys/devil.png
new file mode 100644
index 000000000..8684c3970
--- /dev/null
+++ b/doc/smileys/devil.png
Binary files differ
diff --git a/doc/smileys/frown.png b/doc/smileys/frown.png
new file mode 100644
index 000000000..2999b55ea
--- /dev/null
+++ b/doc/smileys/frown.png
Binary files differ
diff --git a/doc/smileys/icon-error.png b/doc/smileys/icon-error.png
new file mode 100644
index 000000000..53b1055f6
--- /dev/null
+++ b/doc/smileys/icon-error.png
Binary files differ
diff --git a/doc/smileys/icon-info.png b/doc/smileys/icon-info.png
new file mode 100644
index 000000000..c08b08d74
--- /dev/null
+++ b/doc/smileys/icon-info.png
Binary files differ
diff --git a/doc/smileys/idea.png b/doc/smileys/idea.png
new file mode 100644
index 000000000..37bc02ddc
--- /dev/null
+++ b/doc/smileys/idea.png
Binary files differ
diff --git a/doc/smileys/ohwell.png b/doc/smileys/ohwell.png
new file mode 100644
index 000000000..a83adfbf5
--- /dev/null
+++ b/doc/smileys/ohwell.png
Binary files differ
diff --git a/doc/smileys/prio1.png b/doc/smileys/prio1.png
new file mode 100644
index 000000000..774d34d65
--- /dev/null
+++ b/doc/smileys/prio1.png
Binary files differ
diff --git a/doc/smileys/prio2.png b/doc/smileys/prio2.png
new file mode 100644
index 000000000..3c6fac54f
--- /dev/null
+++ b/doc/smileys/prio2.png
Binary files differ
diff --git a/doc/smileys/prio3.png b/doc/smileys/prio3.png
new file mode 100644
index 000000000..2d03e62ce
--- /dev/null
+++ b/doc/smileys/prio3.png
Binary files differ
diff --git a/doc/smileys/redface.png b/doc/smileys/redface.png
new file mode 100644
index 000000000..9a8739253
--- /dev/null
+++ b/doc/smileys/redface.png
Binary files differ
diff --git a/doc/smileys/sad.png b/doc/smileys/sad.png
new file mode 100644
index 000000000..68d9966cf
--- /dev/null
+++ b/doc/smileys/sad.png
Binary files differ
diff --git a/doc/smileys/smile.png b/doc/smileys/smile.png
new file mode 100644
index 000000000..b51b3ff49
--- /dev/null
+++ b/doc/smileys/smile.png
Binary files differ
diff --git a/doc/smileys/smile2.png b/doc/smileys/smile2.png
new file mode 100644
index 000000000..43ea05f9d
--- /dev/null
+++ b/doc/smileys/smile2.png
Binary files differ
diff --git a/doc/smileys/smile3.png b/doc/smileys/smile3.png
new file mode 100644
index 000000000..c690ccc2f
--- /dev/null
+++ b/doc/smileys/smile3.png
Binary files differ
diff --git a/doc/smileys/smile4.png b/doc/smileys/smile4.png
new file mode 100644
index 000000000..f8f5b523d
--- /dev/null
+++ b/doc/smileys/smile4.png
Binary files differ
diff --git a/doc/smileys/star_off.png b/doc/smileys/star_off.png
new file mode 100644
index 000000000..c5535c3de
--- /dev/null
+++ b/doc/smileys/star_off.png
Binary files differ
diff --git a/doc/smileys/star_on.png b/doc/smileys/star_on.png
new file mode 100644
index 000000000..ec5c03097
--- /dev/null
+++ b/doc/smileys/star_on.png
Binary files differ
diff --git a/doc/smileys/thumbs-up.png b/doc/smileys/thumbs-up.png
new file mode 100644
index 000000000..1faabace7
--- /dev/null
+++ b/doc/smileys/thumbs-up.png
Binary files differ
diff --git a/doc/smileys/tired.png b/doc/smileys/tired.png
new file mode 100644
index 000000000..a3d5c56fb
--- /dev/null
+++ b/doc/smileys/tired.png
Binary files differ
diff --git a/doc/smileys/tongue.png b/doc/smileys/tongue.png
new file mode 100644
index 000000000..65105407c
--- /dev/null
+++ b/doc/smileys/tongue.png
Binary files differ
diff --git a/doc/style.css b/doc/style.css
new file mode 100644
index 000000000..3b8a24d9a
--- /dev/null
+++ b/doc/style.css
@@ -0,0 +1,228 @@
+/* ikiwiki style sheet */
+
+/* Note that instead of modifying this style sheet, you can instead edit
+ * local.css and use it to override or change settings in this one.
+ */
+
+.header {
+ margin: 0;
+ font-size: 22px;
+ font-weight: bold;
+ line-height: 1em;
+ display: block;
+}
+
+.author {
+ margin: 0;
+ font-size: 18px;
+ font-weight: bold;
+ display: block;
+}
+
+.actions ul {
+ margin: 0;
+ padding: 6px;
+ list-style-type: none;
+ border-bottom: 1px solid #000;
+}
+
+.inlinepage .actions ul {
+ border-bottom: 0;
+}
+
+.actions li {
+ display: inline;
+ padding: .2em .4em;
+}
+
+#backlinks {
+ margin: 1em 0;
+}
+
+.tags {
+ clear: both;
+}
+
+div.tags {
+ border-top: 1px solid #000;
+}
+
+#footer {
+ margin: 1em 0;
+}
+
+#searchform {
+ display: inline;
+ float: right;
+}
+
+#editcontent {
+ width: 100%;
+}
+
+/* Stuff for the RecentChanges table. */
+tr.changeheader {
+ background: #eee;
+ color: black !important;
+}
+tr.changeinfo {
+ background: #eee;
+ color: black !important;
+}
+th.changeheader {
+ padding: 1px .3em;
+}
+td.changeinfo {
+ padding: 1px .3em;
+}
+td.changetime {
+ white-space: nowrap;
+ padding: 1px .3em;
+}
+td.changelog {
+ font-style: italic;
+}
+
+.pagecloud {
+ padding: 10px 10px;
+ border: 1px solid #aaa;
+ background: #eee;
+ color: black !important;
+}
+
+/* Used for adding a blog page. */
+#blogform {
+ padding: 10px 10px;
+ border: 1px solid #aaa;
+ background: #eee;
+ color: black !important;
+}
+
+.inlinepage {
+ padding: 10px 10px;
+ border: 1px solid #aaa;
+}
+
+.pageinfo {
+ clear: both;
+ font-style: italic;
+ display: block;
+}
+
+/* Used for invalid form fields. */
+.fb_invalid {
+ color: red;
+ background: white !important;
+}
+
+/* Used for required form fields. */
+.fb_required {
+ font-weight: bold;
+}
+
+/* Orange feed button. */
+.feedbutton {
+ background: #ff6600;
+ color: white !important;
+ border-left: 1px solid #cc9966;
+ border-top: 1px solid #ccaa99;
+ border-right: 1px solid #993300;
+ border-bottom: 1px solid #331100;
+ padding: 0px 0.5em 0px 0.5em;
+ font-family: sans-serif;
+ font-weight: bold;
+ font-size: small;
+ text-decoration: none;
+ margin-top: 1em;
+}
+.feedbutton:hover {
+ color: white !important;
+ background: #ff9900;
+}
+
+/* Tag cloud. */
+.pagecloud {
+ float: right;
+ width: 30%;
+ text-align: center;
+}
+.smallestPC { font-size: 70%; }
+.smallPC { font-size: 85%; }
+.normalPC { font-size: 100%; }
+.bigPC { font-size: 115%; }
+.biggestPC { font-size: 130%; }
+
+#sidebar {
+ line-height: 3ex;
+ width: 20ex;
+ float: right;
+ margin-left: 40px;
+ margin-bottom: 40px;
+ padding: 2ex 2ex;
+}
+
+.infobox {
+ float: right;
+ margin-left: 2ex;
+ margin-top: 1ex;
+ margin-bottom: 1ex;
+ padding: 1ex 1ex;
+ border: 1px solid #aaa;
+}
+
+.notebox {
+ float: right;
+ margin-left: 2ex;
+ margin-top: 1ex;
+ margin-bottom: 1ex;
+ padding: 1ex 1ex;
+ border: 1px solid #aaa;
+ width: 25%
+}
+
+/* outlines */
+li.L1 {
+ list-style: upper-roman;
+}
+li.L2 {
+ list-style: decimal;
+}
+li.L3 {
+ list-style: lower-alpha;
+}
+li.L4 {
+ list-style: disc;
+}
+li.L5 {
+ list-style: square;
+}
+li.L6 {
+ list-style: circle;
+}
+li.L7 {
+ list-style: lower-roman;
+}
+li.L8 {
+ list-style: upper-alpha;
+}
+
+hr.poll {
+ height: 10pt;
+ color: white !important;
+ background: #eee;
+ border: 2px solid black;
+}
+div.poll {
+ margin-top: 1ex;
+ margin-bottom: 1ex;
+ padding: 1ex 1ex;
+ border: 1px solid #aaa;
+}
+
+input#openid_url {
+ background: url(http://openid.net/login-bg.gif) no-repeat;
+ background-color: #fff;
+ background-position: 0 50%;
+ color: #000;
+ padding-left: 18px;
+}
diff --git a/doc/subpage.mdwn b/doc/subpage.mdwn
new file mode 100644
index 000000000..43669209c
--- /dev/null
+++ b/doc/subpage.mdwn
@@ -0,0 +1,11 @@
+ikiwiki supports placing pages in a directory hierarchy. For example,
+this page, [[SubPage]] has some related pages placed under it, like
+[[SubPage/LinkingRules]]. This is a useful way to add some order to your
+wiki rather than just having a great big directory full of pages.
+
+To add a SubPage, just make a subdirectory and put pages in it. For
+example, this page is SubPage.mdwn in this wiki's source, and there is also
+a SubPage subdirectory, which contains SubPage/LinkingRules.mdwn. Subpages
+can be nested as deeply as you'd like.
+
+Linking to and from a SubPage is explained in [[LinkingRules]].
diff --git a/doc/subpage/linkingrules.mdwn b/doc/subpage/linkingrules.mdwn
new file mode 100644
index 000000000..c1062304a
--- /dev/null
+++ b/doc/subpage/linkingrules.mdwn
@@ -0,0 +1,32 @@
+To link to or from a [[SubPage]], you can normally use a regular
+[[WikiLink]] that does not contain the name of the parent directory of
+the [[SubPage]]. Ikiwiki descends the directory hierarchy looking for a
+page that matches your link.
+
+For example, if FooBar/SubPage links to "OtherPage", ikiwiki will first
+prefer pointing the link to FooBar/SubPage/OtherPage if it exists, next
+to FooBar/OtherPage and finally to OtherPage in the root of the wiki.
+
+Note that this means that if a link on FooBar/SomePage to "OtherPage"
+currently links to OtherPage, in the root of the wiki, and FooBar/OtherPage
+is created, the link will _change_ to point to FooBar/OtherPage. On the
+other hand, a link from BazBar to "OtherPage" would be unchanged by this
+creation of a [[SubPage]] of FooBar.
+
+You can also specify a link that contains a directory name, like
+"FooBar/OtherPage" to more exactly specify what page to link to. This is
+the only way to link to an unrelated [[SubPage]].
+
+You can use this to, for example, to link from BazBar to "FooBar/SubPage",
+or from BazBar/SubPage to "FooBar/SubPage".
+
+You can also use "/" at the start of a link, to specify exactly which page
+to link to, when there are multiple pages with similar names and the link
+goes to the wrong page by default. For example, linking from
+"FooBar/SubPage" to "/OtherPage" will link to the "OtherPage" in the root
+of the wiki, even if there is a "FooBar/OtherPage".
+
+Also, if the wiki is configured with a userdir, you can link to pages
+within the userdir without specifying a path to them. This is to allow for
+easy linking to a user's page in the userdir, to sign a comment. These
+links are checked for last of all.
diff --git a/doc/wikiicons/diff.png b/doc/wikiicons/diff.png
new file mode 100644
index 000000000..0b98d79ac
--- /dev/null
+++ b/doc/wikiicons/diff.png
Binary files differ
diff --git a/doc/wikilink.mdwn b/doc/wikilink.mdwn
new file mode 100644
index 000000000..46da8c301
--- /dev/null
+++ b/doc/wikilink.mdwn
@@ -0,0 +1,23 @@
+WikiLinks provide easy linking between pages of the wiki. To create a
+[[WikiLink]], just put the name of the page to link to in double brackets.
+For example "\[[WikiLink]]".
+
+If you ever need to write something like "\[[WikiLink]] without creating a
+wikilink, just prefix it with a "\", like "\\\\[[WikiLink]]".
+
+There are some special [[SubPage/LinkingRules]] that come into play when
+linking between [[SubPages|SubPage]].
+
+Also, if the file linked to by a WikiLink looks like an image, it will
+be displayed inline on the page.
+
+WikiLinks are matched with page names in a case-insensitive manner, so you
+don't need to worry about getting the case the same, and can capitalise
+links at the start of a sentence, and so on.
+
+It's also possible to write a WikiLink that uses something other than the
+page name as the link text. For example "\[[foo_bar|SandBox]]" links to the
+SandBox page, but the link will appear like this: [[foo_bar|SandBox]]
+
+**Note that you cannot use spaces in WikiLinks**. Replace spaces with
+underscores.