summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2007-02-13 23:10:45 +0000
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2007-02-13 23:10:45 +0000
commit88e8f08c8ffe61fbb3aa8d0fbf78a86c30c65543 (patch)
tree9ebd278a370af31a6591f176e774ee46a89a27e1
parent309c689b6b139e67459c41a5132c9afec0504d84 (diff)
* Make the basewiki be full of symlinks to pages that should be the same
in the doc wiki. This will allow direct edits to alter the base wiki without manual munging.
-rwxr-xr-xMakefile.PL2
l---------[-rw-r--r--]basewiki/blog.mdwn36
l---------[-rw-r--r--]basewiki/favicon.icobin393 -> 18 bytes
l---------[-rw-r--r--]basewiki/helponformatting.mdwn79
l---------[-rw-r--r--]basewiki/local.css4
l---------[-rw-r--r--]basewiki/markdown.mdwn11
l---------[-rw-r--r--]basewiki/openid.mdwn35
l---------[-rw-r--r--]basewiki/pagespec.mdwn72
l---------[-rw-r--r--]basewiki/preprocessordirective.mdwn34
l---------[-rw-r--r--]basewiki/shortcuts.mdwn19
l---------[-rw-r--r--]basewiki/smileys.mdwn51
l---------[-rw-r--r--]basewiki/style.css229
l---------[-rw-r--r--]basewiki/subpage.mdwn12
l---------[-rw-r--r--]basewiki/wikilink.mdwn24
-rw-r--r--debian/changelog5
-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.png (renamed from basewiki/smileys/alert.png)bin220 -> 220 bytes
-rw-r--r--doc/smileys/angry.png (renamed from basewiki/smileys/angry.png)bin295 -> 295 bytes
-rw-r--r--doc/smileys/attention.png (renamed from basewiki/smileys/attention.png)bin164 -> 164 bytes
-rw-r--r--doc/smileys/biggrin.png (renamed from basewiki/smileys/biggrin.png)bin173 -> 173 bytes
-rw-r--r--doc/smileys/checkmark.png (renamed from basewiki/smileys/checkmark.png)bin133 -> 133 bytes
-rw-r--r--doc/smileys/devil.png (renamed from basewiki/smileys/devil.png)bin354 -> 354 bytes
-rw-r--r--doc/smileys/frown.png (renamed from basewiki/smileys/frown.png)bin168 -> 168 bytes
-rw-r--r--doc/smileys/icon-error.png (renamed from basewiki/smileys/icon-error.png)bin159 -> 159 bytes
-rw-r--r--doc/smileys/icon-info.png (renamed from basewiki/smileys/icon-info.png)bin177 -> 177 bytes
-rw-r--r--doc/smileys/idea.png (renamed from basewiki/smileys/idea.png)bin372 -> 372 bytes
-rw-r--r--doc/smileys/ohwell.png (renamed from basewiki/smileys/ohwell.png)bin167 -> 167 bytes
-rw-r--r--doc/smileys/prio1.png (renamed from basewiki/smileys/prio1.png)bin153 -> 153 bytes
-rw-r--r--doc/smileys/prio2.png (renamed from basewiki/smileys/prio2.png)bin159 -> 159 bytes
-rw-r--r--doc/smileys/prio3.png (renamed from basewiki/smileys/prio3.png)bin154 -> 154 bytes
-rw-r--r--doc/smileys/redface.png (renamed from basewiki/smileys/redface.png)bin306 -> 306 bytes
-rw-r--r--doc/smileys/sad.png (renamed from basewiki/smileys/sad.png)bin299 -> 299 bytes
-rw-r--r--doc/smileys/smile.png (renamed from basewiki/smileys/smile.png)bin356 -> 356 bytes
-rw-r--r--doc/smileys/smile2.png (renamed from basewiki/smileys/smile2.png)bin334 -> 334 bytes
-rw-r--r--doc/smileys/smile3.png (renamed from basewiki/smileys/smile3.png)bin326 -> 326 bytes
-rw-r--r--doc/smileys/smile4.png (renamed from basewiki/smileys/smile4.png)bin275 -> 275 bytes
-rw-r--r--doc/smileys/star_off.png (renamed from basewiki/smileys/star_off.png)bin297 -> 297 bytes
-rw-r--r--doc/smileys/star_on.png (renamed from basewiki/smileys/star_on.png)bin374 -> 374 bytes
-rw-r--r--doc/smileys/thumbs-up.png (renamed from basewiki/smileys/thumbs-up.png)bin118 -> 118 bytes
-rw-r--r--doc/smileys/tired.png (renamed from basewiki/smileys/tired.png)bin157 -> 157 bytes
-rw-r--r--doc/smileys/tongue.png (renamed from basewiki/smileys/tongue.png)bin176 -> 176 bytes
-rw-r--r--doc/style.css228
-rw-r--r--doc/subpage.mdwn11
-rw-r--r--doc/subpage/linkingrules.mdwn (renamed from basewiki/subpage/linkingrules.mdwn)0
-rw-r--r--doc/wikiicons/diff.png (renamed from basewiki/wikiicons/diff.png)bin219 -> 219 bytes
-rw-r--r--doc/wikilink.mdwn23
56 files changed, 612 insertions, 597 deletions
diff --git a/Makefile.PL b/Makefile.PL
index fd13255cd..cfcc19db7 100755
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -45,7 +45,7 @@ extra_install:
$(CP) -a templates/* $(DESTDIR)$(PREFIX)/share/ikiwiki/templates
install -d $(DESTDIR)$(PREFIX)/share/ikiwiki/basewiki
- $(CP) -a basewiki/* $(DESTDIR)$(PREFIX)/share/ikiwiki/basewiki
+ $(CP) -aL basewiki/* $(DESTDIR)$(PREFIX)/share/ikiwiki/basewiki
install -d $(DESTDIR)$(PREFIX)/share/man/man1
install -m 644 ikiwiki.man $(DESTDIR)$(PREFIX)/share/man/man1/ikiwiki.1
diff --git a/basewiki/blog.mdwn b/basewiki/blog.mdwn
index 859fa6aaa..1b35deb8a 100644..120000
--- a/basewiki/blog.mdwn
+++ b/basewiki/blog.mdwn
@@ -1,35 +1 @@
-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)"]]
+../doc/blog.mdwn \ No newline at end of file
diff --git a/basewiki/favicon.ico b/basewiki/favicon.ico
index 354b627f0..0572371db 100644..120000
--- a/basewiki/favicon.ico
+++ b/basewiki/favicon.ico
Binary files differ
diff --git a/basewiki/helponformatting.mdwn b/basewiki/helponformatting.mdwn
index 3a0ddb9f2..56c810f3c 100644..120000
--- a/basewiki/helponformatting.mdwn
+++ b/basewiki/helponformatting.mdwn
@@ -1,78 +1 @@
-# 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.
-"""]]
+../doc/helponformatting.mdwn \ No newline at end of file
diff --git a/basewiki/local.css b/basewiki/local.css
index a0dec8cfd..f081a6a60 100644..120000
--- a/basewiki/local.css
+++ b/basewiki/local.css
@@ -1,3 +1 @@
-/* ikiwiki local style sheet */
-
-/* Add local styling here, instead of modifying style.css. */
+../doc/local.css \ No newline at end of file
diff --git a/basewiki/markdown.mdwn b/basewiki/markdown.mdwn
index 317a17db9..1724caec2 100644..120000
--- a/basewiki/markdown.mdwn
+++ b/basewiki/markdown.mdwn
@@ -1,10 +1 @@
-[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.
+../doc/markdown.mdwn \ No newline at end of file
diff --git a/basewiki/openid.mdwn b/basewiki/openid.mdwn
index 7c6d2bda7..3a37eab73 100644..120000
--- a/basewiki/openid.mdwn
+++ b/basewiki/openid.mdwn
@@ -1,34 +1 @@
-[[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"]]
+../doc/openid.mdwn \ No newline at end of file
diff --git a/basewiki/pagespec.mdwn b/basewiki/pagespec.mdwn
index 53519e7f0..71ea44d15 100644..120000
--- a/basewiki/pagespec.mdwn
+++ b/basewiki/pagespec.mdwn
@@ -1,71 +1 @@
-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.
+../doc/pagespec.mdwn \ No newline at end of file
diff --git a/basewiki/preprocessordirective.mdwn b/basewiki/preprocessordirective.mdwn
index 1e2332c09..f786ed33b 100644..120000
--- a/basewiki/preprocessordirective.mdwn
+++ b/basewiki/preprocessordirective.mdwn
@@ -1,33 +1 @@
-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"
- """]]
+../doc/preprocessordirective.mdwn \ No newline at end of file
diff --git a/basewiki/shortcuts.mdwn b/basewiki/shortcuts.mdwn
index f9d586bbf..33892d73a 100644..120000
--- a/basewiki/shortcuts.mdwn
+++ b/basewiki/shortcuts.mdwn
@@ -1,18 +1 @@
-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.
+../doc/shortcuts.mdwn \ No newline at end of file
diff --git a/basewiki/smileys.mdwn b/basewiki/smileys.mdwn
index e5377ced2..057df5adf 100644..120000
--- a/basewiki/smileys.mdwn
+++ b/basewiki/smileys.mdwn
@@ -1,50 +1 @@
-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.
+../doc/smileys.mdwn \ No newline at end of file
diff --git a/basewiki/style.css b/basewiki/style.css
index 3b8a24d9a..f32009635 100644..120000
--- a/basewiki/style.css
+++ b/basewiki/style.css
@@ -1,228 +1 @@
-/* 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;
-}
+../doc/style.css \ No newline at end of file
diff --git a/basewiki/subpage.mdwn b/basewiki/subpage.mdwn
index 43669209c..04ec383fc 100644..120000
--- a/basewiki/subpage.mdwn
+++ b/basewiki/subpage.mdwn
@@ -1,11 +1 @@
-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]].
+../doc/subpage.mdwn \ No newline at end of file
diff --git a/basewiki/wikilink.mdwn b/basewiki/wikilink.mdwn
index 46da8c301..f63c38ed2 100644..120000
--- a/basewiki/wikilink.mdwn
+++ b/basewiki/wikilink.mdwn
@@ -1,23 +1 @@
-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.
+../doc/wikilink.mdwn \ No newline at end of file
diff --git a/debian/changelog b/debian/changelog
index 21b5e2563..d77b97dcd 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -8,8 +8,11 @@ ikiwiki (1.43) UNRELEASED; urgency=low
say if they're currently enabled or not, and in various other places
in the wiki.
* Updated Spanish translation.
+ * Make the basewiki be full of symlinks to pages that should be the same
+ in the doc wiki. This will allow direct edits to alter the base wiki
+ without manual munging.
- -- Joey Hess <joeyh@debian.org> Mon, 12 Feb 2007 13:50:25 -0500
+ -- Joey Hess <joeyh@debian.org> Tue, 13 Feb 2007 18:06:02 -0500
ikiwiki (1.42) unstable; urgency=low
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/basewiki/smileys/alert.png b/doc/smileys/alert.png
index 5bb87e33f..5bb87e33f 100644
--- a/basewiki/smileys/alert.png
+++ b/doc/smileys/alert.png
Binary files differ
diff --git a/basewiki/smileys/angry.png b/doc/smileys/angry.png
index 05bc69f74..05bc69f74 100644
--- a/basewiki/smileys/angry.png
+++ b/doc/smileys/angry.png
Binary files differ
diff --git a/basewiki/smileys/attention.png b/doc/smileys/attention.png
index 7e064566d..7e064566d 100644
--- a/basewiki/smileys/attention.png
+++ b/doc/smileys/attention.png
Binary files differ
diff --git a/basewiki/smileys/biggrin.png b/doc/smileys/biggrin.png
index f71b42c11..f71b42c11 100644
--- a/basewiki/smileys/biggrin.png
+++ b/doc/smileys/biggrin.png
Binary files differ
diff --git a/basewiki/smileys/checkmark.png b/doc/smileys/checkmark.png
index 8869caa19..8869caa19 100644
--- a/basewiki/smileys/checkmark.png
+++ b/doc/smileys/checkmark.png
Binary files differ
diff --git a/basewiki/smileys/devil.png b/doc/smileys/devil.png
index 8684c3970..8684c3970 100644
--- a/basewiki/smileys/devil.png
+++ b/doc/smileys/devil.png
Binary files differ
diff --git a/basewiki/smileys/frown.png b/doc/smileys/frown.png
index 2999b55ea..2999b55ea 100644
--- a/basewiki/smileys/frown.png
+++ b/doc/smileys/frown.png
Binary files differ
diff --git a/basewiki/smileys/icon-error.png b/doc/smileys/icon-error.png
index 53b1055f6..53b1055f6 100644
--- a/basewiki/smileys/icon-error.png
+++ b/doc/smileys/icon-error.png
Binary files differ
diff --git a/basewiki/smileys/icon-info.png b/doc/smileys/icon-info.png
index c08b08d74..c08b08d74 100644
--- a/basewiki/smileys/icon-info.png
+++ b/doc/smileys/icon-info.png
Binary files differ
diff --git a/basewiki/smileys/idea.png b/doc/smileys/idea.png
index 37bc02ddc..37bc02ddc 100644
--- a/basewiki/smileys/idea.png
+++ b/doc/smileys/idea.png
Binary files differ
diff --git a/basewiki/smileys/ohwell.png b/doc/smileys/ohwell.png
index a83adfbf5..a83adfbf5 100644
--- a/basewiki/smileys/ohwell.png
+++ b/doc/smileys/ohwell.png
Binary files differ
diff --git a/basewiki/smileys/prio1.png b/doc/smileys/prio1.png
index 774d34d65..774d34d65 100644
--- a/basewiki/smileys/prio1.png
+++ b/doc/smileys/prio1.png
Binary files differ
diff --git a/basewiki/smileys/prio2.png b/doc/smileys/prio2.png
index 3c6fac54f..3c6fac54f 100644
--- a/basewiki/smileys/prio2.png
+++ b/doc/smileys/prio2.png
Binary files differ
diff --git a/basewiki/smileys/prio3.png b/doc/smileys/prio3.png
index 2d03e62ce..2d03e62ce 100644
--- a/basewiki/smileys/prio3.png
+++ b/doc/smileys/prio3.png
Binary files differ
diff --git a/basewiki/smileys/redface.png b/doc/smileys/redface.png
index 9a8739253..9a8739253 100644
--- a/basewiki/smileys/redface.png
+++ b/doc/smileys/redface.png
Binary files differ
diff --git a/basewiki/smileys/sad.png b/doc/smileys/sad.png
index 68d9966cf..68d9966cf 100644
--- a/basewiki/smileys/sad.png
+++ b/doc/smileys/sad.png
Binary files differ
diff --git a/basewiki/smileys/smile.png b/doc/smileys/smile.png
index b51b3ff49..b51b3ff49 100644
--- a/basewiki/smileys/smile.png
+++ b/doc/smileys/smile.png
Binary files differ
diff --git a/basewiki/smileys/smile2.png b/doc/smileys/smile2.png
index 43ea05f9d..43ea05f9d 100644
--- a/basewiki/smileys/smile2.png
+++ b/doc/smileys/smile2.png
Binary files differ
diff --git a/basewiki/smileys/smile3.png b/doc/smileys/smile3.png
index c690ccc2f..c690ccc2f 100644
--- a/basewiki/smileys/smile3.png
+++ b/doc/smileys/smile3.png
Binary files differ
diff --git a/basewiki/smileys/smile4.png b/doc/smileys/smile4.png
index f8f5b523d..f8f5b523d 100644
--- a/basewiki/smileys/smile4.png
+++ b/doc/smileys/smile4.png
Binary files differ
diff --git a/basewiki/smileys/star_off.png b/doc/smileys/star_off.png
index c5535c3de..c5535c3de 100644
--- a/basewiki/smileys/star_off.png
+++ b/doc/smileys/star_off.png
Binary files differ
diff --git a/basewiki/smileys/star_on.png b/doc/smileys/star_on.png
index ec5c03097..ec5c03097 100644
--- a/basewiki/smileys/star_on.png
+++ b/doc/smileys/star_on.png
Binary files differ
diff --git a/basewiki/smileys/thumbs-up.png b/doc/smileys/thumbs-up.png
index 1faabace7..1faabace7 100644
--- a/basewiki/smileys/thumbs-up.png
+++ b/doc/smileys/thumbs-up.png
Binary files differ
diff --git a/basewiki/smileys/tired.png b/doc/smileys/tired.png
index a3d5c56fb..a3d5c56fb 100644
--- a/basewiki/smileys/tired.png
+++ b/doc/smileys/tired.png
Binary files differ
diff --git a/basewiki/smileys/tongue.png b/doc/smileys/tongue.png
index 65105407c..65105407c 100644
--- a/basewiki/smileys/tongue.png
+++ 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/basewiki/subpage/linkingrules.mdwn b/doc/subpage/linkingrules.mdwn
index c1062304a..c1062304a 100644
--- a/basewiki/subpage/linkingrules.mdwn
+++ b/doc/subpage/linkingrules.mdwn
diff --git a/basewiki/wikiicons/diff.png b/doc/wikiicons/diff.png
index 0b98d79ac..0b98d79ac 100644
--- a/basewiki/wikiicons/diff.png
+++ 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.