From 5749a9d2cc502cee4451b8b01898649d1bad8444 Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Thu, 14 Oct 2010 13:38:46 +0200 Subject: Sync with ikiwiki 3.20100926. --- favicon.ico | Bin 0 -> 371 bytes ikiwiki.mdwn | 17 ++ ikiwiki/directive.mdwn | 43 ++++ ikiwiki/formatting.mdwn | 106 ++++++++ ikiwiki/markdown.mdwn | 11 + ikiwiki/openid.mdwn | 28 +++ ikiwiki/pagespec.mdwn | 84 +++++++ ikiwiki/pagespec/attachment.mdwn | 38 +++ ikiwiki/pagespec/po.mdwn | 23 ++ ikiwiki/pagespec/sorting.mdwn | 26 ++ ikiwiki/searching.mdwn | 20 ++ ikiwiki/subpage.mdwn | 12 + ikiwiki/subpage/linkingrules.mdwn | 33 +++ ikiwiki/wikilink.mdwn | 29 +++ index.mdwn | 7 + local.css | 3 + recentchanges.mdwn | 7 + sandbox.mdwn | 32 +++ shortcuts.mdwn | 79 ++++++ style.css | 491 ++++++++++++++++++++++++++++++++++++++ templates.mdwn | 80 +++++++ templates/note.mdwn | 11 + templates/popup.mdwn | 16 ++ wikiicons/diff.png | Bin 0 -> 219 bytes wikiicons/openidlogin-bg.gif | Bin 0 -> 336 bytes wikiicons/search-bg.gif | Bin 0 -> 74 bytes 26 files changed, 1196 insertions(+) create mode 100644 favicon.ico create mode 100644 ikiwiki.mdwn create mode 100644 ikiwiki/directive.mdwn create mode 100644 ikiwiki/formatting.mdwn create mode 100644 ikiwiki/markdown.mdwn create mode 100644 ikiwiki/openid.mdwn create mode 100644 ikiwiki/pagespec.mdwn create mode 100644 ikiwiki/pagespec/attachment.mdwn create mode 100644 ikiwiki/pagespec/po.mdwn create mode 100644 ikiwiki/pagespec/sorting.mdwn create mode 100644 ikiwiki/searching.mdwn create mode 100644 ikiwiki/subpage.mdwn create mode 100644 ikiwiki/subpage/linkingrules.mdwn create mode 100644 ikiwiki/wikilink.mdwn create mode 100644 index.mdwn create mode 100644 local.css create mode 100644 recentchanges.mdwn create mode 100644 sandbox.mdwn create mode 100644 shortcuts.mdwn create mode 100644 style.css create mode 100644 templates.mdwn create mode 100644 templates/note.mdwn create mode 100644 templates/popup.mdwn create mode 100644 wikiicons/diff.png create mode 100644 wikiicons/openidlogin-bg.gif create mode 100644 wikiicons/search-bg.gif diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..b55eba2 Binary files /dev/null and b/favicon.ico differ diff --git a/ikiwiki.mdwn b/ikiwiki.mdwn new file mode 100644 index 0000000..4d84069 --- /dev/null +++ b/ikiwiki.mdwn @@ -0,0 +1,17 @@ +[[!meta robots="noindex, follow"]] +This wiki is powered by [ikiwiki](http://ikiwiki.info/). +[[!if test="enabled(version)" + then="(Currently running version [[!version ]].)" +]] + +Some documentation on using ikiwiki: + +* [[ikiwiki/formatting]] +* [[ikiwiki/wikilink]] +* [[ikiwiki/subpage]] +* [[ikiwiki/pagespec]] +* [[ikiwiki/directive]] +* [[ikiwiki/markdown]] +* [[ikiwiki/openid]] +* [[ikiwiki/searching]] +* [[templates]] diff --git a/ikiwiki/directive.mdwn b/ikiwiki/directive.mdwn new file mode 100644 index 0000000..fb88aa7 --- /dev/null +++ b/ikiwiki/directive.mdwn @@ -0,0 +1,43 @@ +[[!meta robots="noindex, follow"]] +Directives are similar to a [[ikiwiki/WikiLink]] in form, except they +begin with `!` and may contain 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]] + +A directive does not need to all be on one line, it can be +wrapped to multiple lines if you like: + + \[[!directive foo="baldersnatch" + bar="supercalifragilisticexpialidocious" 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" + """]] + +ikiwiki also has an older syntax for directives, which requires a space in +directives to distinguish them from [[wikilinks|ikiwiki/wikilink]]. This +syntax has several disadvantages: it requires a space after directives with +no parameters (such as `\[[pagecount ]]`), and it prohibits spaces in +[[wikilinks|ikiwiki/wikilink]]. ikiwiki now provides the `!`-prefixed +syntax shown above as default. However, ikiwiki still supports wikis using +the older syntax, if the `prefix_directives` option is disabled. + +[[!if test="enabled(listdirectives)" then=""" +Here is a list of currently available directives in this wiki: + +[[!listdirectives ]] +"""]] diff --git a/ikiwiki/formatting.mdwn b/ikiwiki/formatting.mdwn new file mode 100644 index 0000000..befbce9 --- /dev/null +++ b/ikiwiki/formatting.mdwn @@ -0,0 +1,106 @@ +[[!meta title="Formatting wiki pages"]] +[[!meta robots="noindex, follow"]] + +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 + +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 an url or email address, you can just put the +url in angle brackets: <>, or you can use the +form \[link text\]\(url\) + +---- + +In addition to basic html formatting using [[MarkDown]], this wiki lets +you use the following additional features: + +* 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]]. + +[[!if test="enabled(smiley) and smileys" then=""" +* Insert [[smileys]] and some other useful symbols. :-) +"""]] + +[[!if test="enabled(shortcut) and shortcuts" then=""" +* Use [[shortcuts]] to link to common resources. + + \[[!wikipedia War\_of\_1812]] +"""]] + +[[!if test="enabled(template) and templates" then=""" +* Create and fill out [[templates]] for repeated chunks of + parameterized wiki text. +"""]] + +* Insert various [[directives|directive]] onto a page to perform useful + actions. +[[!if test="enabled(toc) or enabled(meta) or enabled(inline)" then=""" + For example, you can: +"""]] + +[[!if test="enabled(toc)" then=""" + * Add a table of contents to a page: + + \[[!toc]] +"""]] + + +[[!if test="enabled(meta)" then=""" + * Change the title of a page: + + \[[!meta title="full page title"]] +"""]] + +[[!if test="enabled(inline)" then=""" + * Create a blog by inlining a set of pages: + + \[[!inline pages="blog/*"]] +"""]] + +[[!if test="enabled(listdirectives)" then=""" + Full list of [[directives|directive]] enabled for this wiki: + [[!listdirectives ]] +"""]] diff --git a/ikiwiki/markdown.mdwn b/ikiwiki/markdown.mdwn new file mode 100644 index 0000000..6841919 --- /dev/null +++ b/ikiwiki/markdown.mdwn @@ -0,0 +1,11 @@ +[[!meta robots="noindex, follow"]] +[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 [[formatting]] and +[Markdown: syntax](http://daringfireball.net/projects/markdown/syntax). + +Note that [[WikiLinks|WikiLink]] and [[directives|directive]] are not part +of the markdown syntax, and are the only bit of markup that this wiki +handles internally. diff --git a/ikiwiki/openid.mdwn b/ikiwiki/openid.mdwn new file mode 100644 index 0000000..2fa972e --- /dev/null +++ b/ikiwiki/openid.mdwn @@ -0,0 +1,28 @@ +[[!meta title="OpenID"]] +[[!meta robots="noindex, follow"]] + +[[!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. + +If you have an account with some of the larger web service providers, +you might already have an OpenID. +[Directory of OpenID providers](http://openiddirectory.com/openid-providers-c-1.html) + +[[!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 openid="http://yourid.myopenid.com/" + server="http://www.myopenid.com/server"]] diff --git a/ikiwiki/pagespec.mdwn b/ikiwiki/pagespec.mdwn new file mode 100644 index 0000000..6aec561 --- /dev/null +++ b/ikiwiki/pagespec.mdwn @@ -0,0 +1,84 @@ +[[!meta robots="noindex, follow"]] +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 these functions: + +* "`glob(someglob)`" - matches pages and other files that match the given glob. + Just writing the glob by itself is actually a shorthand for this function. +* "`page(glob)`" - like `glob()`, but only matches pages, not other files +* "`link(page)`" - matches only pages that link to a given page (or glob) +* "`tagged(tag)`" - matches pages that are tagged or link to the given tag (or + tags matched by a glob) +* "`backlink(page)`" - matches only pages that a given page links to +* "`creation_month(month)`" - matches only files created on the given month +* "`creation_day(mday)`" - or day of the month +* "`creation_year(year)`" - or year +* "`created_after(page)`" - matches only files created after the given page + was created +* "`created_before(page)`" - matches only files created before the given page + was created +* "`internal(glob)`" - like `glob()`, but matches even internal-use + pages that globs do not usually match. +* "`title(glob)`", "`author(glob)`", "`authorurl(glob)`", + "`license(glob)`", "`copyright(glob)`", "`guid(glob)`" + - match pages that have the given metadata, matching the specified glob. +* "`user(username)`" - tests whether a modification is being made by a + user with the specified username. If openid is enabled, an openid can also + be put here. Glob patterns can be used in the username. For example, + to match all openid users, use `user(*://*)` +* "`admin()`" - tests whether a modification is being made by one of the + wiki admins. +* "`ip(address)`" - tests whether a modification is being made from the + specified IP address. +* "`comment(glob)`" - matches comments to a page matching the glob. +* "`comment_pending(glob)`" - matches unmoderated, pending comments. +* "`postcomment(glob)`" - matches only when comments are being + posted to a page matching the specified glob + +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) + +Note the use of "and" in the above example, that means that only pages that +match each of the three expressions match the whole. Use "and" when you +want to combine expression like that; "or" when it's enough for a page to +match one expression. Note that it doesn't make sense to say "index and +SandBox", since no page can match both expressions. + +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 (tagged(foo) or tagged(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". + +To indicate the name of the page the PageSpec is used in, you can +use a single dot. For example, `link(.)` matches all the pages +linking to the page containing the PageSpec. diff --git a/ikiwiki/pagespec/attachment.mdwn b/ikiwiki/pagespec/attachment.mdwn new file mode 100644 index 0000000..fa2bc58 --- /dev/null +++ b/ikiwiki/pagespec/attachment.mdwn @@ -0,0 +1,38 @@ +[[!meta robots="noindex, follow"]] +[[!if test="enabled(attachment)" + then="This wiki has attachments **enabled**." + else="This wiki has attachments **disabled**."]] + +If attachments are enabled, the wiki admin can control what types of +attachments will be accepted, via the `allowed_attachments` +configuration setting. + +For example, to limit most users to uploading small images, and nothing else, +while allowing larger mp3 files to be uploaded by joey into a specific +directory, and check all attachments for viruses, something like this could be +used: + + virusfree() and ((user(joey) and podcast/*.mp3 and mimetype(audio/mpeg) and maxsize(15mb)) or (mimetype(image/*) and maxsize(50kb))) + +The regular [[ikiwiki/PageSpec]] syntax is expanded with the following +additional tests: + +* "`maxsize(size)`" - tests whether the attachment is no larger than the + specified size. The size defaults to being in bytes, but "kb", "mb", "gb" + etc can be used to specify the units. + +* "`minsize(size)`" - tests whether the attachment is no smaller than the + specified size. + +* "`ispage()`" - tests whether the attachment will be treated by ikiwiki as a + wiki page. (Ie, if it has an extension of ".mdwn", or of any other enabled + page format). + + So, if you don't want to allow wiki pages to be uploaded as attachments, + use `!ispage()` ; if you only want to allow wiki pages to be uploaded + as attachments, use `ispage()`. + +* "`mimetype(foo/bar)`" - checks the MIME type of the attachment. You can + include a glob in the type, for example `mimetype(image/*)`. + +* "`virusfree()`" - checks the attachment with an antiviral program. diff --git a/ikiwiki/pagespec/po.mdwn b/ikiwiki/pagespec/po.mdwn new file mode 100644 index 0000000..f995640 --- /dev/null +++ b/ikiwiki/pagespec/po.mdwn @@ -0,0 +1,23 @@ +[[!if test="enabled(po)" + then="This wiki has po support **enabled**." + else="This wiki has po support **disabled**."]] + +If the [[!iki plugins/po desc=po]] plugin is enabled, the regular +[[ikiwiki/PageSpec]] syntax is expanded with the following additional +tests that can be used to improve user navigation in a multi-lingual +wiki: + +* "`lang(LL)`" - tests whether a page is written in the language + specified as a ISO639-1 (two-letter) language code. +* "`currentlang()`" - tests whether a page is written in the same + language as the current page. +* "`needstranslation()`" - tests whether a page needs translation + work. Only slave pages match this PageSpec. A minimum target + translation percentage can optionally be passed as an integer + parameter: "`needstranslation(50)`" matches only pages less than 50% + translated. + +Note that every non-po page is considered to be written in +`po_master_language`, as specified in `ikiwiki.setup`. + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/pagespec/sorting.mdwn b/ikiwiki/pagespec/sorting.mdwn new file mode 100644 index 0000000..ccd7f7e --- /dev/null +++ b/ikiwiki/pagespec/sorting.mdwn @@ -0,0 +1,26 @@ +Some [[directives|ikiwiki/directive]] that use +[[PageSpecs|ikiwiki/pagespec]] allow +specifying the order that matching pages are shown in. The following sort +orders can be specified. + +* `age` - List pages from the most recently created to the oldest. + +* `mtime` - List pages with the most recently modified first. + +* `title` - Order by title (page name). +[[!if test="enabled(sortnaturally)" then=""" +* `title_natural` - Orders by title, but numbers in the title are treated + as such, ("1 2 9 10 20" instead of "1 10 2 20 9") +"""]] +[[!if test="enabled(meta)" then=""" +* `meta(title)` - Order according to the `\[[!meta title="foo" sortas="bar"]]` + or `\[[!meta title="foo"]]` [[ikiwiki/directive]], or the page name if no + full title was set. `meta(author)`, `meta(date)`, `meta(updated)`, etc. + also work. +"""]] + +In addition, you can combine several sort orders and/or reverse the order of +sorting, with a string like `age -title` (which would sort by age, then by +title in reverse order if two pages have the same age). + +[[!meta robots="noindex, follow"]] diff --git a/ikiwiki/searching.mdwn b/ikiwiki/searching.mdwn new file mode 100644 index 0000000..4c12879 --- /dev/null +++ b/ikiwiki/searching.mdwn @@ -0,0 +1,20 @@ +[[!meta robots="noindex, follow"]] + +[[!if test="enabled(search)" +then="This wiki has searching **enabled**." +else="This wiki has searching **disabled**."]] + +If searching is enabled, you can enter search terms in the search field, +as you'd expect. There are a few special things you can do to construct +more powerful searches. + +* To match a phrase, enclose it in double quotes. +* `AND` can be used to search for documents containing two expressions. +* `OR` can be used to search for documents containing either one of + two expressions. +* Parentheses can be used to build up complicated search expressions. For + example, "(foo AND bar) OR (me AND you)" +* Prefix a search term with "-" to avoid it from appearing in the results. + For example, "-discussion" will omit "discussion". +* To search for a page with a given title, use "title:foo". +* To search for pages that contain a "bar" link, use "link:bar". diff --git a/ikiwiki/subpage.mdwn b/ikiwiki/subpage.mdwn new file mode 100644 index 0000000..862f45e --- /dev/null +++ b/ikiwiki/subpage.mdwn @@ -0,0 +1,12 @@ +[[!meta robots="noindex, follow"]] +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/ikiwiki/subpage/linkingrules.mdwn b/ikiwiki/subpage/linkingrules.mdwn new file mode 100644 index 0000000..e547f30 --- /dev/null +++ b/ikiwiki/subpage/linkingrules.mdwn @@ -0,0 +1,33 @@ +[[!meta robots="noindex, follow"]] +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/ikiwiki/wikilink.mdwn b/ikiwiki/wikilink.mdwn new file mode 100644 index 0000000..cf3b89c --- /dev/null +++ b/ikiwiki/wikilink.mdwn @@ -0,0 +1,29 @@ +[[!meta robots="noindex, follow"]] +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]]. + +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]]. + +To link to an anchor inside a page, you can use something like +`\[[WikiLink#foo]]` . + +If the file linked to by a WikiLink looks like an image, it will +be displayed inline on the page. + +--- + +You can also put an url in a WikiLink, to link to an external page. +Email addresses can also be used to generate a mailto link. diff --git a/index.mdwn b/index.mdwn new file mode 100644 index 0000000..4187c11 --- /dev/null +++ b/index.mdwn @@ -0,0 +1,7 @@ +Welcome to your new wiki. + +All wikis are supposed to have a [[SandBox]], so this one does too. + +---- + +This wiki is powered by [[ikiwiki]]. diff --git a/local.css b/local.css new file mode 100644 index 0000000..a0dec8c --- /dev/null +++ b/local.css @@ -0,0 +1,3 @@ +/* ikiwiki local style sheet */ + +/* Add local styling here, instead of modifying style.css. */ diff --git a/recentchanges.mdwn b/recentchanges.mdwn new file mode 100644 index 0000000..3383fc7 --- /dev/null +++ b/recentchanges.mdwn @@ -0,0 +1,7 @@ +[[!if test="enabled(meta)" then=""" +[[!meta title="RecentChanges"]] +"""]] +Recent changes to this wiki: + +[[!inline pages="internal(recentchanges/change_*) and !*/Discussion" +template=recentchanges show=0]] diff --git a/sandbox.mdwn b/sandbox.mdwn new file mode 100644 index 0000000..c66534f --- /dev/null +++ b/sandbox.mdwn @@ -0,0 +1,32 @@ +This is the SandBox, a page anyone can edit to learn how to use the wiki. + +---- + +Here's a paragraph. + +Here's another one with *emphasised* text. + +# Header + +## Subheader + +> This is a blockquote. +> +> This is the first level of quoting. +> +> > This is nested blockquote. +> +> Back to the first level. + +Numbered list + +1. First item. +1. Another. +1. And another.. + +Bulleted list + +* *item* +* item + +[[ikiwiki/WikiLink]] diff --git a/shortcuts.mdwn b/shortcuts.mdwn new file mode 100644 index 0000000..cafe3f5 --- /dev/null +++ b/shortcuts.mdwn @@ -0,0 +1,79 @@ +[[!if test="enabled(shortcut)" + then="This wiki has shortcuts **enabled**." + else="This wiki has shortcuts **disabled**."]] + +Some examples of using shortcuts include: + + \[[!google foo]] + \[[!wikipedia War_of_1812]] + \[[!debbug 12345]] + Check the \[[!cia ikiwiki desc="CIA page for %s"]]. + +This page controls what shortcut links the wiki supports. + +* [[!shortcut name=google url="https://encrypted.google.com/search?q=%s"]] +* [[!shortcut name=archive url="http://web.archive.org/*/%S"]] +* [[!shortcut name=gmap url="http://maps.google.com/maps?q=%s"]] +* [[!shortcut name=gmsg url="http://groups.google.com/groups?selm=%s"]] +* [[!shortcut name=wikipedia url="https://secure.wikimedia.org/wikipedia/en/wiki/%s"]] +* [[!shortcut name=wikitravel url="https://wikitravel.org/en/%s"]] +* [[!shortcut name=wiktionary url="https://secure.wikimedia.org/wiktionary/en/wiki/%s"]] +* [[!shortcut name=debbug url="http://bugs.debian.org/%S" desc="Debian 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=debpkgsid url="http://packages.debian.org/sid/%s"]] +* [[!shortcut name=debpts url="http://packages.qa.debian.org/%s"]] +* [[!shortcut name=debmsg url="http://lists.debian.org/msgid-search/%s"]] +* [[!shortcut name=debrt url="https://rt.debian.org/Ticket/Display.html?id=%s"]] +* [[!shortcut name=debss url="http://snapshot.debian.net/package/%s"]] + * Usage: `\[[!debss package]]`, `\[[!debss package#version]]`, or `\[[!debss package/version]]`. See http://snapshot.debian.net for details. +* [[!shortcut name=debwiki url="http://wiki.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=gnomebug url="http://bugzilla.gnome.org/show_bug.cgi?id=%s" desc="GNOME bug #%s"]] +* [[!shortcut name=linuxbug url="http://bugzilla.kernel.org/show_bug.cgi?id=%s" desc="Linux bug #%s"]] +* [[!shortcut name=mozbug url="https://bugzilla.mozilla.org/show_bug.cgi?id=%s" desc="Mozilla bug #%s"]] +* [[!shortcut name=gnulist url="http://lists.gnu.org/mailman/listinfo/%s" desc="%s@gnu.org"]] +* [[!shortcut name=marcmsg url="http://marc.info/?i=%s"]] +* [[!shortcut name=marclist url="http://marc.info/?l=%s"]] +* [[!shortcut name=gmane url="http://dir.gmane.org/gmane.%s" desc="gmane.%s"]] +* [[!shortcut name=gmanemsg url="http://mid.gmane.org/%s"]] +* [[!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=hoogle url="http://haskell.org/hoogle/?q=%s"]] +* [[!shortcut name=iki url="http://ikiwiki.info/%S/"]] +* [[!shortcut name=ljuser url="http://%s.livejournal.com/"]] +* [[!shortcut name=rfc url="http://www.ietf.org/rfc/rfc%s.txt" desc="RFC %s"]] +* [[!shortcut name=c2 url="http://c2.com/cgi/wiki?%s"]] +* [[!shortcut name=meatballwiki url="http://www.usemod.com/cgi-bin/mb.pl?%s"]] +* [[!shortcut name=emacswiki url="http://www.emacswiki.org/cgi-bin/wiki/%s"]] +* [[!shortcut name=haskellwiki url="http://haskell.org/haskellwiki/%s"]] +* [[!shortcut name=dict url="http://www.dict.org/bin/Dict?Form=Dict1&Strategy=*&Database=*&Query=%s"]] +* [[!shortcut name=imdb url="http://imdb.com/find?q=%s"]] +* [[!shortcut name=gpg url="http://pgpkeys.mit.edu:11371/pks/lookup?op=vindex&exact=on&search=0x%s"]] +* [[!shortcut name=perldoc url="http://perldoc.perl.org/search.html?q=%s"]] +* [[!shortcut name=whois url="http://reports.internic.net/cgi/whois?whois_nic=%s&type=domain"]] +* [[!shortcut name=cve url="http://cve.mitre.org/cgi-bin/cvename.cgi?name=%s"]] +* [[!shortcut name=cia url="http://cia.vc/stats/project/%s"]] +* [[!shortcut name=ciauser url="http://cia.vc/stats/user/%s"]] +* [[!shortcut name=flickr url="http://www.flickr.com/photos/%s"]] +* [[!shortcut name=man url="http://linux.die.net/man/%s"]] +* [[!shortcut name=ohloh url="http://www.ohloh.net/projects/%s"]] +* [[!shortcut name=cpanrt url="https://rt.cpan.org/Ticket/Display.html?id=%s" desc="CPAN RT#%s"]] +* [[!shortcut name=novellbug url="https://bugzilla.novell.com/show_bug.cgi?id=%s" desc="bug %s"]] + +To add a new shortcut, use the `shortcut` +[[ikiwiki/directive]]. In the url, "%s" is replaced with the +text passed to the named shortcut, after [[!wikipedia url_encoding]] +it, and '%S' is replaced with the raw, non-encoded text. The optional +`desc` parameter controls the description of the link. + +Remember that the `name` you give the shortcut will become a new +[[ikiwiki/directive]]. Avoid using a `name` that conflicts +with an existing directive. These directives also accept a `desc` +parameter that will override the one provided at definition time. + +If you come up with a shortcut that you think others might find useful, +consider contributing it to the [shortcuts page on the ikiwiki +wiki](http://ikiwiki.info/shortcuts/), so that future versions of +ikiwiki will include your shortcut in the standard underlay. diff --git a/style.css b/style.css new file mode 100644 index 0000000..fa4b2a3 --- /dev/null +++ b/style.css @@ -0,0 +1,491 @@ +/* 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. + */ + +/* html5 compat */ +article, +header, +footer, +nav { + display: block; +} + +.header { + margin: 0; + font-size: 140%; + font-weight: bold; + line-height: 1em; + display: block; +} + +.inlineheader .author { + margin: 0; + font-size: 112%; + font-weight: bold; + display: block; +} + +.actions ul { + margin: 0; + padding: 6px .4em; + height: 1em; + list-style-type: none; +} +.actions li { + display: inline; + padding: .2em; +} +.pageheader .actions ul { + border-bottom: 1px solid #000; +} + +.inlinepage .actions ul { + border-bottom: 0; +} + +#otherlanguages ul { + margin: 0; + padding: 6px; + list-style-type: none; +} +#otherlanguages li { + display: inline; + padding: .2em .4em; +} +.pageheader #otherlanguages { + border-bottom: 1px solid #000; +} + +.inlinecontent { + margin-top: .4em; +} + +.pagefooter, +.inlinefooter, +.comments { + clear: both; +} + +#pageinfo { + margin: 1em 0; + border-top: 1px solid #000; +} + +.tags { + margin-top: 1em; +} + +.inlinepage .tags { + display: inline; +} + +.mapparent { + text-decoration: none; +} + +.img caption { + font-size: 80%; + caption-side: bottom; + text-align: center; +} + +img.img { + margin: 0.5ex; +} + +.align-left { + float:left; +} + +.align-right { + float:right; +} + +#backlinks { + margin-top: 1em; +} + +#searchform { + display: inline; + float: right; +} + +#editcontent { + width: 98%; +} + +.editcontentdiv { + width: auto; + overflow: auto; +} + +img { + border-style: none; +} + +pre { + overflow: auto; +} + +div.recentchanges { + border-style: solid; + border-width: 1px; + overflow: auto; + width: auto; + clear: none; + background: #eee; + color: black !important; +} +.recentchanges .metadata { + padding: 0px 0.5em; +} +.recentchanges .changelog { + font-style: italic; + clear: both; + display: block; + padding: 1px 2px; + background: white !important; + color: black !important; +} +.recentchanges .desc { + display: none; +} +.recentchanges .diff { + display: none; +} +.recentchanges .committer { + float: left; + margin: 0; + width: 40%; +} +.recentchanges .committype { + float: left; + margin: 0; + width: 5%; + font-size: small; +} +.recentchanges .changedate { + float: left; + margin: 0; + width: 35%; + font-size: small; +} +.recentchanges .pagelinks { + float: right; + margin: 0; + width: 60%; +} + +#blogform { + padding: 10px 10px; + border: 1px solid #aaa; + background: #eee; + color: black !important; + width: auto; + overflow: auto; +} + +.inlinepage { + padding: 10px 10px; + border: 1px solid #aaa; + overflow: auto; +} + +.pagedate, +.pagelicense, +.pagecopyright { + font-style: italic; + display: block; + margin-top: 1em; +} + +.error { + color: #C00; +} + +.sidebar { + width: 20ex; + float: right; + margin-left: 4px; + margin-bottom: 4px; + margin-top: -1px; + padding: 0ex 2ex; + background: white; + border: 1px solid black; + color: black !important; +} + +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; +} + +span.color { + padding: 2px; +} + +.comment-header, +.microblog-header { + font-style: italic; + margin-top: .3em; +} +.comment .author, +.microblog .author { + font-weight: bold; +} +.comment-subject { + font-weight: bold; +} +.comment { + border: 1px solid #aaa; + padding: 3px; +} + +div.progress { + margin-top: 1ex; + margin-bottom: 1ex; + border: 1px solid #888; + width: 400px; + background: #eee; + color: black !important; + padding: 1px; +} +div.progress-done { + background: #ea6 !important; + color: black !important; + text-align: center; + padding: 1px; +} + +/* things to hide in printouts */ +@media print { + .actions { display: none; } + .tags { display: none; } + .feedbutton { display: none; } + #searchform { display: none; } + #blogform { display: none; } + #backlinks { display: none; } +} + +/* infobox template */ +.infobox { + float: right; + margin-left: 2ex; + margin-top: 1ex; + margin-bottom: 1ex; + padding: 1ex 1ex; + border: 1px solid #aaa; + background: white; + color: black !important; +} + +/* notebox template */ +.notebox { + float: right; + margin-left: 2ex; + margin-top: 1ex; + margin-bottom: 1ex; + padding: 1ex 1ex; + border: 1px solid #aaa; + width: 25%; + background: white; + color: black !important; +} + +/* popup template and backlinks hiding */ +.popup { + border-bottom: 1px dotted #366; + color: #366; +} +.popup .balloon, +.popup .paren, +.popup .expand { + display: none; +} +.popup:hover .balloon, +.popup:focus .balloon { + position: absolute; + display: inline; + margin: 1em 0 0 -2em; + padding: 0.625em; + border: 2px solid; + background-color: #dee; + color: black; +} + +/* form styling */ +fieldset { + margin: 1ex 0; + border: 1px solid black; +} +legend { + padding: 0 1ex; +} +.fb_submit { + float: left; + margin: 2px 0; +} +label.block { + display: block; +} +label.inline { + display: inline; +} +input#openid_identifier { + background: url(wikiicons/openidlogin-bg.gif) no-repeat; + background-color: #fff; + background-position: 0 50%; + color: #000; + padding-left: 18px; +} +input#searchbox { + background: url(wikiicons/search-bg.gif) no-repeat; + background-color: #fff; + background-position: 100% 50%; + color: #000; + padding-right: 16px; +} +/* invalid form fields */ +.fb_invalid { + color: red; + background: white !important; +} +/* required form fields */ +.fb_required { + font-weight: bold; +} + +/* highlight plugin */ +pre.hl { color:#000000; background-color:#ffffff; } +.hl.num { color:#2928ff; } +.hl.esc { color:#ff00ff; } +.hl.str { color:#ff0000; } +.hl.dstr { color:#818100; } +.hl.slc { color:#838183; font-style:italic; } +.hl.com { color:#838183; font-style:italic; } +.hl.dir { color:#008200; } +.hl.sym { color:#000000; } +.hl.line { color:#555555; } +.hl.mark { background-color:#ffffbb; } +.hl.kwa { color:#000000; font-weight:bold; } +.hl.kwb { color:#830000; } +.hl.kwc { color:#000000; font-weight:bold; } +.hl.kwd { color:#010181; } + +/* calendar plugin */ +.month-calendar-day-this-day, +.year-calendar-this-month { + background-color: #eee; +} +.month-calendar-day-head, +.month-calendar-day-nolink, +.month-calendar-day-link, +.month-calendar-day-this-day, +.month-calendar-day-future { + text-align: right; +} +.month-calendar-arrow A:link, +.year-calendar-arrow A:link, +.month-calendar-arrow A:visited, +.year-calendar-arrow A:visited { + text-decoration: none; + font-weight: normal; + font-size: 150%; +} + +/* 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; } + +/* tag cloud */ +.pagecloud { + float: right; + width: 30%; + text-align: center; + padding: 10px 10px; + border: 1px solid #aaa; + background: #eee; + color: black !important; +} +.smallestPC { font-size: 70%; } +.smallPC { font-size: 85%; } +.normalPC { font-size: 100%; } +.bigPC { font-size: 115%; } +.biggestPC { font-size: 130%; } + +/* 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; +} + +.FlattrButton { + display: none; +} + +/* openid selector */ +#openid_choice { + display: none; +} +#openid_input_area { + clear: both; + padding: 10px; +} +#openid_btns, #openid_btns br { + clear: both; +} +#openid_highlight { + background-color: black; + float: left; +} +.openid_large_btn { + padding: 1em 1.5em; + border: 1px solid #DDD; + margin: 3px; + float: left; +} +.openid_small_btn { + padding: 4px 4px; + border: 1px solid #DDD; + margin: 3px; + float: left; +} +a.openid_large_btn:focus { + outline: none; +} +a.openid_large_btn:focus { + -moz-outline-style: none; +} +.openid_selected { + border: 4px solid #DDD; +} diff --git a/templates.mdwn b/templates.mdwn new file mode 100644 index 0000000..bfb6a43 --- /dev/null +++ b/templates.mdwn @@ -0,0 +1,80 @@ +[[Ikiwiki]] uses many templates for many purposes. By editing its templates, +you can fully customise this site. + +Templates are located in `/usr/share/ikiwiki/templates` by default; +the `templatedir` setting can be used to make another directory be +searched first. Customised templates can also be placed inside the +"templates/" directory in your wiki's source. + +Ikiwiki uses the HTML::Template module as its template engine. This +supports things like conditionals and loops in templates and is pretty +easy to learn. All you really need to know to modify templates is this: + +* To insert the value of a template variable, use ``. +* To make a block of text conditional on a variable being set use + `text`. +* To use one block of text if a variable is set and a second if it's not, + use `textother text` + +[[!if test="enabled(template)" then=""" +## template pages + +The [[!iki ikiwiki/directive/template desc="template directive"]] allows +wiki pages to be used as templates, filled out and inserted into other +pages in the wiki. +"""]] + +[[!if test="enabled(edittemplate)" then=""" +## default content for new pages + +The [[!iki ikiwiki/directive/edittemplate desc="edittemplate directive"]] can +be used to make new pages default to containing text from a template +page, which can be filled out as the page is edited. +"""]] + +[[!if test="(enabled(template) or enabled(edittemplate)) +and enabled(inline)" then=""" +[[!inline pages="templates/* and !*.tmpl and !templates/*/* and !*/discussion" +feeds=no archive=yes sort=title template=titlepage +rootpage=templates postformtext="Add a new template named:"]] +"""]] + +## wiki templates + +These templates are used to build the wiki. The aim is to keep almost all +html out of ikiwiki and in the templates. + +* `page.tmpl` - Used for displaying all regular wiki pages. This is the + key template to customise. [[!if test="enabled(pagetemplate)" then=""" + (The [[!iki ikiwiki/directive/pagetemplate desc="pagetemplate directive"]] + can be used to make a page use a different template than `page.tmpl`.)"""]] +* `rsspage.tmpl` - Used for generating rss feeds for blogs. +* `rssitem.tmpl` - Used for generating individual items on rss feeds. +* `atompage.tmpl` - Used for generating atom feeds for blogs. +* `atomitem.tmpl` - Used for generating individual items on atom feeds. +* `inlinepage.tmpl` - Used for displaying a post in a blog. +* `archivepage.tmpl` - Used for listing a page in a blog archive page. +* `titlepage.tmpl` - Used for listing a page by title in a blog archive page. +* `microblog.tmpl` - Used for showing a microblogging post inline. +* `blogpost.tmpl` - Used for a form to add a post to a blog (and rss/atom links) +* `feedlink.tmpl` - Used to add rss/atom links if `blogpost.tmpl` is not used. +* `aggregatepost.tmpl` - Used by the aggregate plugin to create + a page for a post. +* `searchform.tmpl`, `googleform.tmpl` - Used by the search plugin + and google plugin to add search forms to wiki pages. +* `searchquery.tmpl` - This is a Omega template, used by the + search plugin. +* `comment.tmpl` - Used by the comments plugin to display a comment. +* `change.tmpl` - Used to create a page describing a change made to the wiki. +* `recentchanges.tmpl` - Used for listing a change on the RecentChanges page. +* `autoindex.tmpl` - Filled in by the autoindex plugin to make index pages. +* `autotag.tmpl` - Filled in by the tag plugin to make tag pages. +* `calendarmonth.tmpl`, `calendaryear.tmpl` - Used by ikiwiki-calendar to + make calendar archive pages. +* `editpage.tmpl`, `editconflict.tmpl`, `editcreationconflict.tmpl`, + `editfailedsave.tmpl`, `editpagegone.tmpl`, `pocreatepage.tmpl`, + `editcomment.tmpl` `commentmoderation.tmpl`, `renamesummary.tmpl`, + `passwordmail.tmpl`, `openid-selector.tmpl` - Parts of ikiwiki's user + interface; do not normally need to be customised. + +[[!meta robots="noindex, follow"]] diff --git a/templates/note.mdwn b/templates/note.mdwn new file mode 100644 index 0000000..9ef5ad9 --- /dev/null +++ b/templates/note.mdwn @@ -0,0 +1,11 @@ +
+ +
+ +Use this template to insert a note into a page. The note will be styled to +float to the right of other text on the page. This template has one +parameter: +
    +
  • `text` - the text to display in the note +
+
diff --git a/templates/popup.mdwn b/templates/popup.mdwn new file mode 100644 index 0000000..92455eb --- /dev/null +++ b/templates/popup.mdwn @@ -0,0 +1,16 @@ + +Use this template to create a popup window that is displayed when the mouse +is over part of the page. This template has two parameters: +
    +
  • `mouseover` - This is the text or other content that triggers the +popup. +
  • `popup` - This should be the content of the popup window. It can be +anything, even images or a whole little wiki page, but should not be too +large for good usability. +
+Note that browsers that do not support the CSS will display the popup +inline in the page, inside square brackets. +
+ +[] + diff --git a/wikiicons/diff.png b/wikiicons/diff.png new file mode 100644 index 0000000..0b98d79 Binary files /dev/null and b/wikiicons/diff.png differ diff --git a/wikiicons/openidlogin-bg.gif b/wikiicons/openidlogin-bg.gif new file mode 100644 index 0000000..a3bfe10 Binary files /dev/null and b/wikiicons/openidlogin-bg.gif differ diff --git a/wikiicons/search-bg.gif b/wikiicons/search-bg.gif new file mode 100644 index 0000000..02f9da4 Binary files /dev/null and b/wikiicons/search-bg.gif differ -- cgit v1.2.3