aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorJoey Hess <joey@kodama.kitenet.net>2008-01-28 23:56:26 -0500
committerJoey Hess <joey@kodama.kitenet.net>2008-01-28 23:56:26 -0500
commit5921b86fccde90e5a9c77623d808be06f40cbe47 (patch)
treeb116168da21dbae0d82a6334f763e035fe0f5ac8 /doc
parent2d3dc86d07a7ebf5f638084259ae2d9c2c63e6b6 (diff)
downloadikiwiki-5921b86fccde90e5a9c77623d808be06f40cbe47.tar
ikiwiki-5921b86fccde90e5a9c77623d808be06f40cbe47.tar.gz
proof of concept implementation of static recentchanges
Currently hardcoded to write to recentchanges/*, and the page format needs to be rethought to be usable for aggregation, but it basically works.
Diffstat (limited to 'doc')
-rw-r--r--doc/plugins/recentchanges.mdwn14
-rw-r--r--doc/recentchanges.mdwn6
-rw-r--r--doc/todo/recentchanges.mdwn7
-rw-r--r--doc/wikitemplates.mdwn3
4 files changed, 21 insertions, 9 deletions
diff --git a/doc/plugins/recentchanges.mdwn b/doc/plugins/recentchanges.mdwn
new file mode 100644
index 000000000..9e0d8dc51
--- /dev/null
+++ b/doc/plugins/recentchanges.mdwn
@@ -0,0 +1,14 @@
+[[template id=plugin name=recentchanges core=1 author="[[Joey]]"]]
+
+This plugin examines the [[revision_control_system|rcs]] history and
+generates a page describing each recent change made to the wiki. These
+pages can be joined together with [[inline]] to generate the
+[[RecentChanges]] page.
+
+Typically only the RecentChanges page will use the plugin, but you can
+use it elsewhere too if you like. It's used like this:
+
+ \[[recentchanges pages="*" num=100 template=change]]
+
+The pages describing recent changes will be created as [[subpages|subpage]]
+of the page where the `recentchanges` directive is placed.
diff --git a/doc/recentchanges.mdwn b/doc/recentchanges.mdwn
index 2e67f02e7..a027bf462 100644
--- a/doc/recentchanges.mdwn
+++ b/doc/recentchanges.mdwn
@@ -1,3 +1,3 @@
-ikiwiki generates the list of recent changes by examining the history of
-the [[revision_control_system|rcs]] that the wiki is configured to use. You
-have to have [[CGI]] set up for this feature to be enabled.
+[[recentchanges pages="*" num=100 template=change]]
+[[inline pages="recentchanges/change_* and !*/Discussion"
+template=recentchanges show=0]]
diff --git a/doc/todo/recentchanges.mdwn b/doc/todo/recentchanges.mdwn
index bdd7948e4..75334659a 100644
--- a/doc/todo/recentchanges.mdwn
+++ b/doc/todo/recentchanges.mdwn
@@ -107,11 +107,8 @@ Here's a full design for redoing recentchanges, based on Ethan's ideas:
aggregator, or they can set up their own page that uses the recentchanges
directive for only the pages they want.
* The `rcs_notify` functions will be removed.
-* `rcs_getchange` is passed a change id (as returned from rcs_recentchanges)
- and a partially filled out HTML::Template and fills out the remainer of the
- template. So if a template is used that includes diffs, it will need to run
- some expensive diffing operation, wikis with less resources can use a
- template that doesn't include diffs and avoid that overhead.
+* To add diffs, another plugin can add a pagetemplate hook that calls
+ a `rcs_diff`. (optional)
* So to update the changes files, just call `rcs_recentchanges`, create
files for each new id, and delete files for each id that is no longer
included.
diff --git a/doc/wikitemplates.mdwn b/doc/wikitemplates.mdwn
index 4588b948e..8a579e183 100644
--- a/doc/wikitemplates.mdwn
+++ b/doc/wikitemplates.mdwn
@@ -10,11 +10,12 @@ located in /usr/share/ikiwiki/templates by default.
* `page.tmpl` - Used for displaying all regular wiki pages.
* `misc.tmpl` - Generic template used for any page that doesn't
have a custom template.
-* `recentchanges.tmpl` - Used for the RecentChanges page.
* `editpage.tmpl` - Create/edit page.
* `notifymail.tmpl` - Not a html template, this is used to
generate change notification mails for users who have subscribed to
changes to a page.
+* `recentchanges.tmpl` - Used to generate a RecentChanges table with inline.
+* `change.tmpl` - Used to create a page describing a change made to the wiki.
* `passwordmail.tmpl` - Not a html template, this is used to
generate the mail with the user's password in it.
* `rsspage.tmpl` - Used for generating rss feeds for [blogs|[ikiwiki/blog]].