From 6b53960c5bbcf6a43f2e48b0b37a94e1f909b522 Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Wed, 14 Jul 2010 20:22:53 +0200 Subject: Sync with ikiwiki 3.20100704. --- ikiwiki/blog.mdwn | 8 ------- ikiwiki/directive.mdwn | 16 ++++++------- ikiwiki/formatting.mdwn | 2 +- ikiwiki/markdown.mdwn | 4 +--- ikiwiki/openid.mdwn | 12 +++------- ikiwiki/pagespec.mdwn | 49 +++++++++++++++----------------------- ikiwiki/pagespec/attachment.mdwn | 19 ++++++++------- ikiwiki/pagespec/po.mdwn | 20 ++++++++++++++++ ikiwiki/pagespec/sorting.mdwn | 26 ++++++++++++++++++++ ikiwiki/preprocessordirective.mdwn | 7 ------ ikiwiki/searching.mdwn | 2 +- ikiwiki/subpage.mdwn | 4 ++-- ikiwiki/wikilink.mdwn | 25 +++++++------------ 13 files changed, 99 insertions(+), 95 deletions(-) delete mode 100644 ikiwiki/blog.mdwn create mode 100644 ikiwiki/pagespec/po.mdwn create mode 100644 ikiwiki/pagespec/sorting.mdwn delete mode 100644 ikiwiki/preprocessordirective.mdwn (limited to 'ikiwiki') diff --git a/ikiwiki/blog.mdwn b/ikiwiki/blog.mdwn deleted file mode 100644 index 0a5a524..0000000 --- a/ikiwiki/blog.mdwn +++ /dev/null @@ -1,8 +0,0 @@ -[[!meta robots="noindex, follow"]] - -This page has been removed from ikiwiki's basewiki. For documentation about -creating a blog with ikiwiki, see the documentation of the -[[!iki ikiwiki/directive/inline desc=inline]] directive. - -Please update your links, as this redirection page will be removed in a -future ikiwiki release. diff --git a/ikiwiki/directive.mdwn b/ikiwiki/directive.mdwn index c4342de..fb88aa7 100644 --- a/ikiwiki/directive.mdwn +++ b/ikiwiki/directive.mdwn @@ -28,15 +28,13 @@ of text with triple-quotes: 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 the preferred alternative. However, ikiwiki still supports -wikis using the older syntax, if the `prefix_directives` option is not enabled. -For backward compatibility with existing wikis, this option currently -defaults to off, so ikiwiki supports the old syntax. +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: diff --git a/ikiwiki/formatting.mdwn b/ikiwiki/formatting.mdwn index 2ed5cc2..befbce9 100644 --- a/ikiwiki/formatting.mdwn +++ b/ikiwiki/formatting.mdwn @@ -7,7 +7,7 @@ called [[MarkDown]], and it works like this: Leave blank lines between paragraphs. -You can \**emphasise*\* or \*\***strongly emphasise**\*\* text by placing it +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: diff --git a/ikiwiki/markdown.mdwn b/ikiwiki/markdown.mdwn index a419094..6841919 100644 --- a/ikiwiki/markdown.mdwn +++ b/ikiwiki/markdown.mdwn @@ -4,9 +4,7 @@ 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). A -[markdown mode](http://jblevins.org/projects/markdown-mode/) for -emacs can help in editing. +[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 diff --git a/ikiwiki/openid.mdwn b/ikiwiki/openid.mdwn index dd851e5..2fa972e 100644 --- a/ikiwiki/openid.mdwn +++ b/ikiwiki/openid.mdwn @@ -9,16 +9,10 @@ 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: +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) -* [MyOpenID](https://www.myopenid.com/) -* [GetOpenID](https://getopenid.com/) -* [Videntity](http://videntity.org/) -* [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 diff --git a/ikiwiki/pagespec.mdwn b/ikiwiki/pagespec.mdwn index c78666c..c66395f 100644 --- a/ikiwiki/pagespec.mdwn +++ b/ikiwiki/pagespec.mdwn @@ -24,29 +24,37 @@ match all pages except for Discussion pages and the SandBox: Some more elaborate limits can be added to what matches using 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 +* "`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)`" - match only pages created after the given page +* "`created_after(page)`" - matches only files created after the given page was created -* "`created_before(page)`" - match only pages created before the given page +* "`created_before(page)`" - matches only files created before the given page was created -* "`glob(someglob)`" - match 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. + "`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. + 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: @@ -63,29 +71,10 @@ 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)) + 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". - -## 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/ikiwiki/pagespec/attachment.mdwn b/ikiwiki/pagespec/attachment.mdwn index 2d33db7..fa2bc58 100644 --- a/ikiwiki/pagespec/attachment.mdwn +++ b/ikiwiki/pagespec/attachment.mdwn @@ -7,23 +7,24 @@ 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 virii, something like this could be used: +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 (!ispage() and maxsize(50kb))) + 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 +* "`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 +* "`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 +* "`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). @@ -31,7 +32,7 @@ additional tests: use `!ispage()` ; if you only want to allow wiki pages to be uploaded as attachments, use `ispage()`. -* "`mimetype(foo/bar)`" - This checks the MIME type of the attachment. You can +* "`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. +* "`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..f8b3985 --- /dev/null +++ b/ikiwiki/pagespec/po.mdwn @@ -0,0 +1,20 @@ +[[!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. + +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/preprocessordirective.mdwn b/ikiwiki/preprocessordirective.mdwn deleted file mode 100644 index bd12895..0000000 --- a/ikiwiki/preprocessordirective.mdwn +++ /dev/null @@ -1,7 +0,0 @@ -[[!meta redir=ikiwiki/directive delay=10]] -[[!meta robots="noindex, follow"]] - -This page has moved to -[[ikiwiki/directive|ikiwiki/directive]]. Please -update your links, as this redirection page will be removed in a future -ikiwiki release. diff --git a/ikiwiki/searching.mdwn b/ikiwiki/searching.mdwn index 539e719..4c12879 100644 --- a/ikiwiki/searching.mdwn +++ b/ikiwiki/searching.mdwn @@ -5,7 +5,7 @@ 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 constuct +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. diff --git a/ikiwiki/subpage.mdwn b/ikiwiki/subpage.mdwn index e047b86..862f45e 100644 --- a/ikiwiki/subpage.mdwn +++ b/ikiwiki/subpage.mdwn @@ -5,8 +5,8 @@ this page, [[SubPage]] has some related pages placed under it, like 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 +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/wikilink.mdwn b/ikiwiki/wikilink.mdwn index 371c252..cf3b89c 100644 --- a/ikiwiki/wikilink.mdwn +++ b/ikiwiki/wikilink.mdwn @@ -9,9 +9,6 @@ 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. @@ -21,16 +18,12 @@ 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]]` - -## Directives and WikiLinks - -ikiwiki has two syntaxes for -[[directives|directive]]. The older syntax -used spaces to distinguish between directives and -wikilinks; as a result, with that syntax in use, you cannot use spaces -in WikiLinks, and must replace spaces with underscores. The newer -syntax, enabled with the `prefix_directives` option in an ikiwiki -setup file, prefixes directives with `!`, and thus does not prevent -links with spaces. Future versions of ikiwiki will turn this option -on by default. +`\[[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. -- cgit v1.2.3