summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/bugs.mdwn5
-rw-r--r--doc/features.mdwn6
-rw-r--r--doc/plugins/meta.mdwn45
-rw-r--r--doc/plugins/write.mdwn10
-rw-r--r--doc/roadmap.mdwn2
-rw-r--r--doc/tags.mdwn18
-rw-r--r--doc/todo/blogging.mdwn4
-rw-r--r--doc/todo/lists.mdwn7
-rw-r--r--doc/todo/metadata.mdwn6
-rw-r--r--doc/todo/pluggablerenderers.mdwn15
10 files changed, 87 insertions, 31 deletions
diff --git a/doc/bugs.mdwn b/doc/bugs.mdwn
index c646242aa..3bcd1998a 100644
--- a/doc/bugs.mdwn
+++ b/doc/bugs.mdwn
@@ -30,6 +30,5 @@
underlaydir gets a mtime newer than the mtime the removed file had.
* ikiwiki will generate html formatted error messages to the command
line if --cgi is set, even if it's not yet running as a cgi
-* if a page containing an rss feed happens to show up in an rss feed,
- the preprocessor directives won't be expanded (good) but are left in
- raw rather than removed (bad).
+* The meta plugin doesn't affect a page if it's being inlined. Probably
+ setting the title with it should override the title of the blog post.
diff --git a/doc/features.mdwn b/doc/features.mdwn
index ac5dc0375..30fe5987b 100644
--- a/doc/features.mdwn
+++ b/doc/features.mdwn
@@ -35,7 +35,7 @@ Some of ikiwiki's features:
Arbitrarily deep hierarchies of pages with fairly simple and useful [[SubPage/LinkingRules]]
-* [[blog]]s
+* [[blogging|blog]]
You can turn any page in the wiki into a [[blog]]. Pages matching a
specified [[GlobList]] will be displayed as a weblog within the blog
@@ -44,7 +44,9 @@ Some of ikiwiki's features:
Ikiwiki's own [[TODO]], [[news]], and [[plugins]] pages are good examples
of some of the flexible ways that this can be used.
- Note that this also includes support for tag-based blogging.
+* [[tags]]
+
+ You can tag pages and use these tags in various ways.
* Fast compiler
diff --git a/doc/plugins/meta.mdwn b/doc/plugins/meta.mdwn
new file mode 100644
index 000000000..371713a31
--- /dev/null
+++ b/doc/plugins/meta.mdwn
@@ -0,0 +1,45 @@
+This plugin allows inserting arbitrary metadata into the source of a page.
+Enter the metadata as follows:
+
+ \\[[meta field="value"]]
+ \\[[meta field="value" param="value" param="value"]]
+
+The first form sets a given field to a given value, while the second form
+also specifies some additional sub-parameters.
+
+You can use any field names you like, but here are some predefined ones:
+
+* link
+
+ Specifies a link to another page. This is used to generate a html
+ <link> tag, and also as a way to make the wiki treat one page as
+ linking to another without displaying a user-visible link. The latter
+ can be useful when using links to categorise pages. A html link tag
+ would look like this:
+
+ \\[[meta link="foo.css" rel="stylesheet" type="text/css"]]
+
+ A non-user-visible [[WikiLink]] would instead look like this:
+
+ \\[[meta link=otherpage]]
+
+* title
+
+ Overrides the title of the page, which is generally the same as the
+ page name.
+
+* license
+
+ Specifies a copyright license for the page, for example, "GPL".
+
+* author
+
+ Specifies the author of a page.
+
+If the field is not treated specially (as the link and title fields are),
+the metadata will be written to the generated html page as a <meta>
+header.
+
+This plugin is not enabled by default. If it is enabled, the title of this
+page will say it is.
+[[meta title="meta plugin (enabled)"]]
diff --git a/doc/plugins/write.mdwn b/doc/plugins/write.mdwn
index 245f7c9ee..b2b7c6ff8 100644
--- a/doc/plugins/write.mdwn
+++ b/doc/plugins/write.mdwn
@@ -35,10 +35,12 @@ This is probably the most common use of a plugin.
Replace "foo" with the command name that will be used inside brackers for
the preprocessor directive.
-Each time the directive is processed, the referenced function (`preprocess` in the example above) is called, and is passed named parameters. A
-"page" parameter gives the name of the page that embedded the preprocessor directive. All parameters included in the directive are included
-as named parameters as well. Whatever the function returns goes onto the
-page in place of the directive.
+Each time the directive is processed, the referenced function (`preprocess`
+in the example above) is called, and is passed named parameters. A "page"
+parameter gives the name of the page that embedded the preprocessor
+directive. All parameters included in the directive are included as named
+parameters as well. Whatever the function returns goes onto the page in
+place of the directive.
## Error handing
diff --git a/doc/roadmap.mdwn b/doc/roadmap.mdwn
index 8e9c5b462..eef5bd755 100644
--- a/doc/roadmap.mdwn
+++ b/doc/roadmap.mdwn
@@ -14,8 +14,10 @@ Released 29 April 2006.
* Unit test suite (with tests of at least core stuff like
[[GlobList]]).
* [[Plugins]]
+* [[Tags]]
* Should have fully working [[todo/done/utf8]] support.
* [[Optimised_rendering|todo/optimisations]] if possible. Deal with other scalability issues.
* improved [[todo/html]] stylesheets and templates
* A version of the logo in a different font, possibly with the dots on the i's highlighted in some other color.
* Support for at least one RCS aside from svn. Once it supports two, it should quickly grow to support them all.. See [[about_rcs_backends]]
+* Support for one other markup language, probably restructured text.
diff --git a/doc/tags.mdwn b/doc/tags.mdwn
new file mode 100644
index 000000000..fd2315f88
--- /dev/null
+++ b/doc/tags.mdwn
@@ -0,0 +1,18 @@
+While ikiwiki supports hierarchically categorising pages by creating
+[[SubPage]]s, that's often not flexible enough, and it can also be useful
+to tag pages in various non-hierarchical ways.
+
+Since this is a wiki, tagging is just a form of linking. For example, since
+this page links to [[features]], it can be considered to have something to
+do with ikiwiki's features. If you want to put pages into a category, the
+typical wiki way to do so is to create a "CategoryFoo" page and link pages
+in the category to it. That is just another form of tagging.
+
+Sometimes you may want to tag a page without putting a visible link on it.
+The [[meta_plugin|plugins/meta]] allows you to do so, like this:
+
+ \\[[meta link=mytag]]
+
+One way to use these tags is to create a [[blog]] of pages that have a
+particular set of tags. [[Plugins]] can be written to do anything else with
+tags that you might desire.
diff --git a/doc/todo/blogging.mdwn b/doc/todo/blogging.mdwn
index 680570d84..a5e776256 100644
--- a/doc/todo/blogging.mdwn
+++ b/doc/todo/blogging.mdwn
@@ -1,5 +1,5 @@
-- Should probably add params to control various rss fields like the blog
- title, its author email, its copyright info, etc.
+- Blog title, author email, copyright info and anything else supported by
+ rss should be able to be specified using the meta plugin.
- The [[TODO]] page would work better if the first N were shown in full,
and then all open items were shown in summary. Maybe add this mode.
- Add Discussion and Edit links at the bottom of each inlined post.
diff --git a/doc/todo/lists.mdwn b/doc/todo/lists.mdwn
index 933012493..912666cd7 100644
--- a/doc/todo/lists.mdwn
+++ b/doc/todo/lists.mdwn
@@ -1,8 +1,3 @@
* list of all missing pages
- done
-
-* list of registered users, with the names being links to any userpages.
-
- Might be a plugin, but how to let the wiki know that the page
- needs an update whever a new user is added?
+ [[done]]
diff --git a/doc/todo/metadata.mdwn b/doc/todo/metadata.mdwn
index 044e65abe..c647c0cff 100644
--- a/doc/todo/metadata.mdwn
+++ b/doc/todo/metadata.mdwn
@@ -9,3 +9,9 @@ Uses for this include:
* Any metadata that's generally useful on html pages.
* Maybe as an alternate way to tag a page, like linking to the tag,
except it doesn't have to show up in the page text.
+* Recording page licenses.
+
+[[meta link=done]]
+[[meta title="supporting metadata..."]]
+[[meta author="Joey Hess"]]
+[[meta link="foo.css" rel="stylesheet" type="text/css"]]
diff --git a/doc/todo/pluggablerenderers.mdwn b/doc/todo/pluggablerenderers.mdwn
index bbf28c305..3b7e9ffc7 100644
--- a/doc/todo/pluggablerenderers.mdwn
+++ b/doc/todo/pluggablerenderers.mdwn
@@ -1,14 +1 @@
-I'm considering a configurable rendering pipeline for each supported
-filename extension. So for ".mdwn" files, it would send the content through
-linkify, markdown, and finalize, while for ".wiki" files it might send it
-through just a wiki formatter and finalize.
-
-This would allow not only supporting more types of markup, but changing
-what style of [[WikiLink]]s are supported, maybe some people want to add
-[[CamelCase]] for example, or don't like the [[SubPage/LinkingRules]].
-
-There also needs to be a step before finalize, where stuff like lists of pages
-that linked back to it could be added to the page. However, doing linkbacks
-also needs to tie into the main logic, to determine what pages need to be
-renered, so maybe that won't be a plugin.
-
+Should be able to plug in support for rst or other markup formats.