Skip to content

Commit

Permalink
Copy in all content from the default basewiki
Browse files Browse the repository at this point in the history
It seems much more straightforward to me to just edit
actual files rather than depending on some mystic files
outside of revision control.
  • Loading branch information
Carl Worth committed Feb 2, 2010
1 parent e7cd66b commit 21bc781
Show file tree
Hide file tree
Showing 26 changed files with 1,116 additions and 0 deletions.
Binary file added favicon.ico
Binary file not shown.
16 changes: 16 additions & 0 deletions ikiwiki.mdwn
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
[[!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]]
43 changes: 43 additions & 0 deletions ikiwiki/directive.mdwn
Original file line number Diff line number Diff line change
@@ -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 ]]
"""]]
106 changes: 106 additions & 0 deletions ikiwiki/formatting.mdwn
Original file line number Diff line number Diff line change
@@ -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: <<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(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 ]]
"""]]
11 changes: 11 additions & 0 deletions ikiwiki/markdown.mdwn
Original file line number Diff line number Diff line change
@@ -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.
33 changes: 33 additions & 0 deletions ikiwiki/openid.mdwn
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
[[!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.

To sign up for an OpenID, visit one of the following identity providers:

* [MyOpenID](https://www.myopenid.com/)
* [GetOpenID](https://getopenid.com/)
* [LiveJournal](http://www.livejournal.com/openid/)
* [TrustBearer](https://openid.trustbearer.com/)
* or any of the [many others out there](http://openiddirectory.com/openid-providers-c-1.html)

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"]]
76 changes: 76 additions & 0 deletions ikiwiki/pagespec.mdwn
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
[[!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:

* "`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 pages created on the given month
* "`creation_day(mday)`" - or day of the month
* "`creation_year(year)`" - or year
* "`created_after(page)`" - matches only pages created after the given page
was created
* "`created_before(page)`" - matches only pages created before the given page
was created
* "`glob(someglob)`" - matches pages that match the given glob. Just writing
the glob by itself is actually a shorthand for this function.
* "`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)`" - 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.
* "`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.
* "`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".
37 changes: 37 additions & 0 deletions ikiwiki/pagespec/attachment.mdwn
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
[[!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 arbitrary files to 50 kilobytes, but allow
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 (!ispage() 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.
16 changes: 16 additions & 0 deletions ikiwiki/pagespec/po.mdwn
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
[[!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.

Note that every non-po page is considered to be written in
`po_master_language`, as specified in `ikiwiki.setup`.
11 changes: 11 additions & 0 deletions ikiwiki/pagespec/sorting.mdwn
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
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.
* `title_natural` - Only available if [[!cpan Sort::Naturally]] is
installed. Orders by title, but numbers in the title are treated
as such, ("1 2 9 10 20" instead of "1 10 2 20 9")
20 changes: 20 additions & 0 deletions ikiwiki/searching.mdwn
Original file line number Diff line number Diff line change
@@ -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".
12 changes: 12 additions & 0 deletions ikiwiki/subpage.mdwn
Original file line number Diff line number Diff line change
@@ -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]].
Loading

0 comments on commit 21bc781

Please sign in to comment.