diff options
-rw-r--r-- | blog.mdwn | 95 | ||||
-rw-r--r-- | favicon.ico | bin | 0 -> 371 bytes | |||
-rw-r--r-- | helponformatting.mdwn | 94 | ||||
-rw-r--r-- | index.mdwn | 7 | ||||
-rw-r--r-- | local.css | 3 | ||||
-rw-r--r-- | markdown.mdwn | 13 | ||||
-rw-r--r-- | openid.mdwn | 32 | ||||
-rw-r--r-- | pagespec.mdwn | 73 | ||||
-rw-r--r-- | preprocessordirective.mdwn | 33 | ||||
-rw-r--r-- | sandbox.mdwn | 32 | ||||
-rw-r--r-- | shortcuts.mdwn | 71 | ||||
-rw-r--r-- | style.css | 299 | ||||
-rw-r--r-- | subpage.mdwn | 11 | ||||
-rw-r--r-- | subpage/linkingrules.mdwn | 32 | ||||
-rw-r--r-- | templates.mdwn | 77 | ||||
-rw-r--r-- | templates/note.mdwn | 11 | ||||
-rw-r--r-- | templates/popup.mdwn | 16 | ||||
-rw-r--r-- | wikiicons/diff.png | bin | 0 -> 219 bytes | |||
-rw-r--r-- | wikiicons/openidlogin-bg.gif | bin | 0 -> 142 bytes | |||
-rw-r--r-- | wikilink.mdwn | 27 |
20 files changed, 926 insertions, 0 deletions
diff --git a/blog.mdwn b/blog.mdwn new file mode 100644 index 0000000..2792a35 --- /dev/null +++ b/blog.mdwn @@ -0,0 +1,95 @@ +[[if test="enabled(inline)" + then="This wiki has the inline plugin **enabled**." + else="This wiki has the inline plugin **disabled**."]] + +[[if test="enabled(inline)" + then="You can" + else="If this wiki had the inline plugin enabled, you could"]] +turn any page on this wiki into a weblog by using the `inline` +[[PreProcessorDirective]]. For example: + + \[[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)"]] + +## usage + +Here are descriptions of all the supported parameters to the `inline` +directive: + +* `pages` - A [[PageSpec]] of the pages to inline. +* `show` - Specify the maximum number of matching pages to inline. + Default is 10, unless archiving, when the default is to show all. + Set to 0 to show all matching pages. +* `skip` - Specify a number of pages to skip displaying. Can be useful + to produce a feed that only shows archived pages. +* `rss` - controls generation of an rss feed. On by default if the wiki is + configured to use rss feeds, set to "no" to disable. +* `atom` - controls generation of an atom feed. On by default if the wiki is + configured to use atom feeds, set to "no" to disable. +* `feeds` - controls generation of all types of feeds. Set to "no" to + disable generating any feeds. +* `postform` - Set to "yes" to enables a form to post new pages to a [[blog]]. +* `postformtext` - Set to specify text that is displayed in a postform. +* `rootpage` - Also enables a form to post new pages to a [[blog]], and + allows specifying of a page that is used as the parent page for new pages. +* `archive` - If set to "yes", only list page titles and some metadata, not + full controls. +* `quick` - Build archives in quick mode, without reading page contents for + metadata. By default, this also turns off generation of any feeds. +* `template` - Specifies the template to fill out to display each inlined + page. By default the `inlinepage` template is used, while + the `archivepage` template is used for archives. Set this parameter to + use some other, custom template, such as the `titlepage` template that + only shows post titles. Note that you should still set `archive=yes` if + your custom template does not include the page content. +* `raw` - Rather than the default behavior of creating a [[blog]], + if raw is set to "yes", the page will be included raw, without additional + markup around it, as if it were a literal part of the source of the + inlining page. +* `description` - Sets the description of the rss feed if one is generated. + Defaults to the name of the wiki. +* `actions` - If set to "yes" add links to the bottom of the inlined pages + for editing and discussion (if they would be shown at the top of the page + itself). +* `sort` - Controls how inlined pages are sorted. The default, "age" is to + sort newest created pages first. Setting it to "title" will sort pages by + title, and "mtime" sorts most recently modified pages first. +* `reverse` - If set to "yes", causes the sort order to be reversed. +* `feedpages` - A [[PageSpec]] of inlined pages to include in the rss/atom + feeds. The default is the same as the `pages` value above, and only pages + matches by that value are included, but some of those can be excluded by + specifying a tighter [[PageSpec]] here. +* `feedshow` - Specify the maximum number of matching pages to include in + the rss/atom feeds. The default is the same as the `show` value above, +* `feedonly` - Only generate the feed, do not display the pages inline on + the page. diff --git a/favicon.ico b/favicon.ico Binary files differnew file mode 100644 index 0000000..b55eba2 --- /dev/null +++ b/favicon.ico diff --git a/helponformatting.mdwn b/helponformatting.mdwn new file mode 100644 index 0000000..4e8760c --- /dev/null +++ b/helponformatting.mdwn @@ -0,0 +1,94 @@ +[[meta title="Help on formatting wiki pages"]] + +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: <<http://ikiwiki.info>>, 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(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) and blog" then=""" +* Create a [[blog]] by inlining a set of pages: + + \[[inline pages="blog/*"]] +"""]] + +[[if test="enabled(template) and templates" then=""" +* Create and fill out [[templates]] for repeated chunks of + parameterized wiki text. +"""]] diff --git a/index.mdwn b/index.mdwn new file mode 100644 index 0000000..05834e0 --- /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](http://ikiwiki.info/). 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/markdown.mdwn b/markdown.mdwn new file mode 100644 index 0000000..e7823bb --- /dev/null +++ b/markdown.mdwn @@ -0,0 +1,13 @@ +[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). A +[markdown mode](http://jrblevin.freeshell.org/software/markdown-mode/) for +emacs can help in editing. + +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/openid.mdwn b/openid.mdwn new file mode 100644 index 0000000..f02a0a6 --- /dev/null +++ b/openid.mdwn @@ -0,0 +1,32 @@ +[[meta title="OpenID"]] + +[[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](http://openiddirectory.com/index.php?dir=1).. + +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 openid="http://yourid.myopenid.com/" + server="http://www.myopenid.com/server"]] diff --git a/pagespec.mdwn b/pagespec.mdwn new file mode 100644 index 0000000..e004de4 --- /dev/null +++ b/pagespec.mdwn @@ -0,0 +1,73 @@ +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 (or glob) +* "`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 +* "`user(name)`" - only available in page subscription preferences, match + only changes made by this user + +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/preprocessordirective.mdwn b/preprocessordirective.mdwn new file mode 100644 index 0000000..1e2332c --- /dev/null +++ b/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/sandbox.mdwn b/sandbox.mdwn new file mode 100644 index 0000000..c93c8f3 --- /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 + +[[WikiLink]] diff --git a/shortcuts.mdwn b/shortcuts.mdwn new file mode 100644 index 0000000..7884084 --- /dev/null +++ b/shortcuts.mdwn @@ -0,0 +1,71 @@ +[[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]] + +This page controls what shortcut links the wiki supports. + +* [[shortcut name=google url="http://www.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="http://en.wikipedia.org/wiki/%s"]] +* [[shortcut name=wikitravel url="http://wikitravel.org/en/%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=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=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=ikirev url="http://ikiwiki.info/cgi-bin/viewvc.cgi?view=rev&root=ikiwiki&revision=%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=zooomr url="http://www.zooomr.com/photos/%s"]] + * Note: You have to include the username and number in here, such as `bob/123455`. + +To add a new shortcut, use the `shortcut` [[PreprocessorDirective]]. "%s" is +replaced with the text passed to the named shortcut. The optional `desc` +parameter controls the description of the link. + +Remember that the `name` you give the shortcut will become a new +[[PreprocessorDirective]]. Avoid using a `name` that conflicts with an +existing directive. + +If you come up with a shortcut that you think others might find useful, +consider contributing it to the [[iki shortcuts]] page on the ikiwiki +ikiwiki, 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..0fa15d2 --- /dev/null +++ b/style.css @@ -0,0 +1,299 @@ +/* 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; +} + +.tags { + clear: both; +} + +#pageinfo { + clear: both; + margin: 1em 0; + border-top: 1px solid #000; +} + +div.tags { + margin-top: 1em; +} + +.mapparent { + text-decoration: none; +} + +#backlinks { + margin-top: 1em; +} + +#searchform { + display: inline; + float: right; +} + +#editcontent { + width: 100%; +} + +img { + border-style: none; +} + +/* 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; +} + +/* 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; +} + +.pagedate, +.pagelicense, +.pagecopyright { + clear: both; + font-style: italic; + display: block; + margin-top: 1em; +} + +/* 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; + 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%; } + +#sidebar { + line-height: 3ex; + width: 20ex; + float: right; + margin-left: 40px; + margin-bottom: 40px; + padding: 2ex 2ex; +} + +/* 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(wikiicons/openidlogin-bg.gif) no-repeat; + background-color: #fff; + background-position: 0 50%; + color: #000; + padding-left: 18px; +} + +/* 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; } +} + +/* Provided for use by template plugin for floating info boxes. */ +.infobox { + float: right; + margin-left: 2ex; + margin-top: 1ex; + margin-bottom: 1ex; + padding: 1ex 1ex; + border: 1px solid #aaa; +} + +/* Provided for use by template plugin for floating note boxes. */ +.notebox { + float: right; + margin-left: 2ex; + margin-top: 1ex; + margin-bottom: 1ex; + padding: 1ex 1ex; + border: 1px solid #aaa; + width: 25% +} + +/* Used by the popup template and for 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; + + /* Nonstandard, but very nice. */ + opacity: 0.95; + -moz-opacity: 0.95; + filter: alpha(opacity=95); +} + +/* Formbuilder styling */ +fieldset { + margin: 1ex 0; + border: 1px solid black; +} +legend { + padding: 0 1ex; +} +.fb_submit { + float: left; + margin: 2px 0; +} +#signin_openid_url_label { + float: left; + margin-right: 1ex; +} +#signin_openid { + padding: 10px 10px; + border: 1px solid #aaa; + background: #eee; + color: black !important; +} diff --git a/subpage.mdwn b/subpage.mdwn new file mode 100644 index 0000000..4366920 --- /dev/null +++ b/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/subpage/linkingrules.mdwn b/subpage/linkingrules.mdwn new file mode 100644 index 0000000..c106230 --- /dev/null +++ b/subpage/linkingrules.mdwn @@ -0,0 +1,32 @@ +To link to or from a [[SubPage]], you can normally use a regular +[[WikiLink]] that does not contain the name of the parent directory of +the [[SubPage]]. Ikiwiki descends the directory hierarchy looking for a +page that matches your link. + +For example, if FooBar/SubPage links to "OtherPage", ikiwiki will first +prefer pointing the link to FooBar/SubPage/OtherPage if it exists, next +to FooBar/OtherPage and finally to OtherPage in the root of the wiki. + +Note that this means that if a link on FooBar/SomePage to "OtherPage" +currently links to OtherPage, in the root of the wiki, and FooBar/OtherPage +is created, the link will _change_ to point to FooBar/OtherPage. On the +other hand, a link from BazBar to "OtherPage" would be unchanged by this +creation of a [[SubPage]] of FooBar. + +You can also specify a link that contains a directory name, like +"FooBar/OtherPage" to more exactly specify what page to link to. This is +the only way to link to an unrelated [[SubPage]]. + +You can use this to, for example, to link from BazBar to "FooBar/SubPage", +or from BazBar/SubPage to "FooBar/SubPage". + +You can also use "/" at the start of a link, to specify exactly which page +to link to, when there are multiple pages with similar names and the link +goes to the wrong page by default. For example, linking from +"FooBar/SubPage" to "/OtherPage" will link to the "OtherPage" in the root +of the wiki, even if there is a "FooBar/OtherPage". + +Also, if the wiki is configured with a userdir, you can link to pages +within the userdir without specifying a path to them. This is to allow for +easy linking to a user's page in the userdir, to sign a comment. These +links are checked for last of all. diff --git a/templates.mdwn b/templates.mdwn new file mode 100644 index 0000000..33e02b9 --- /dev/null +++ b/templates.mdwn @@ -0,0 +1,77 @@ +[[if test="enabled(template)" +then="This wiki has templates **enabled**." +else="This wiki has templates **disabled**." +]] + +Templates are files that can be filled out and inserted into pages in the +wiki. + +[[if test="enabled(template) and enabled(inline)" then=""" + +## Available templates + +These templates are available for inclusion onto other pages in this +wiki: + +[[inline pages="templates/* and !*/discussion" feeds=no archive=yes +sort=title template=titlepage]] +"""]] + +## Using a template + +Using a template works like this: + + \[[template id=note text="""Here is the text to insert into my note."""]] + +This fills out the [[note]] template, filling in the `text` field with +the specified value, and inserts the result into the page. + +A value can include any markup that would be allowed in the wiki page +outside the template. Triple-quoting the value even allows quotes to be +included in it. Combined with multi-line quoted values, this allows for +large chunks of marked up text to be embedded into a template: + + \[[template id=foo name="Sally" color="green" age=8 notes=""" + * \[[Charley]]'s sister. + * "I want to be an astronaut when I grow up." + * Really 8 and a half. + """]] + +## Creating a template + +To create a template, simply add a template directive to a page, and page will +provide a link that can be used to create the template. The template is a +regular wiki page, located in the `templates/` directory. + +The template uses the syntax used by the +[cpan HTML::Template](http://search.cpan.org/search?mode=dist&query=HTML::Template) +perl module, which allows for some fairly complex things to be done. +Consult its documentation for the full syntax, but all you really need to know +are a few things: + +* To insert the value of a variable, use `<TMPL_VAR variable>`. +* To make a block of text conditional on a variable being set use + `<TMPL_IF NAME="variable">text</TMPL_IF>`. +* To use one block of text if a variable is set and a second if it's not, + use `<TMPL_IF NAME="variable">text<TMPL_ELSE>other text</TMPL_IF>` + +Here's a sample template: + + <span class="infobox"> + Name: <TMPL_VAR name><br /> + Age: <TMPL_VAR age><br /> + <TMPL_IF NAME="color"> + Favorite color: <TMPL_VAR color><br /> + <TMPL_ELSE> + No favorite color.<br /> + </TMPL_IF> + <TMPL_IF NAME="notes"> + <hr /> + <TMPL_VAR notes> + </TMPL_IF> + </span> + +The filled out template will be formatted the same as the rest of the page +that contains it, so you can include WikiLinks and all other forms of wiki +markup in the template. Note though that such WikiLinks will not show up as +backlinks to the page that uses the template. diff --git a/templates/note.mdwn b/templates/note.mdwn new file mode 100644 index 0000000..d992e02 --- /dev/null +++ b/templates/note.mdwn @@ -0,0 +1,11 @@ +<span class="notebox"> +<TMPL_VAR text> +</span> +<TMPL_UNLESS NAME="text"> +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: +<ul> +<li>`text` - the text to display in the note +</ul> +</TMPL_UNLESS> diff --git a/templates/popup.mdwn b/templates/popup.mdwn new file mode 100644 index 0000000..b355daa --- /dev/null +++ b/templates/popup.mdwn @@ -0,0 +1,16 @@ +<TMPL_UNLESS NAME="mouseover"> +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: +<ul> +<li>`mouseover` - This is the text or other content that triggers the +popup. +<li>`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. +</ul> +Note that browsers that do not support the CSS will display the popup +inline in the page, inside square brackets. +</TMPL_UNLESS> +<span class="popup"><TMPL_VAR mouseover> +<span class="paren">[</span><span class="balloon"><TMPL_VAR popup></span><span class="paren">]</span> +</span> diff --git a/wikiicons/diff.png b/wikiicons/diff.png Binary files differnew file mode 100644 index 0000000..0b98d79 --- /dev/null +++ b/wikiicons/diff.png diff --git a/wikiicons/openidlogin-bg.gif b/wikiicons/openidlogin-bg.gif Binary files differnew file mode 100644 index 0000000..c8f43d0 --- /dev/null +++ b/wikiicons/openidlogin-bg.gif diff --git a/wikilink.mdwn b/wikilink.mdwn new file mode 100644 index 0000000..38df00f --- /dev/null +++ b/wikilink.mdwn @@ -0,0 +1,27 @@ +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]]. + +To link to an anchor inside a page, you can use something like +`\[[WikiLink#foo]]` + +**Note that you cannot use spaces in WikiLinks**. Replace spaces with +underscores. The presence of spaces is used to distinguish between a +[[PreprocessorDirective]] and a WikiLink. |