backlinks => $backlinks,
more_backlinks => $more_backlinks,
mtime => displaytime($pagemtime{$page}),
+ ctime => displaytime($pagectime{$page}),
baseurl => baseurl($page),
);
}
$pagecase{lc $page}=$page;
if ($config{getctime} && -e "$config{srcdir}/$file") {
- $pagectime{$page}=rcs_getctime("$config{srcdir}/$file");
+ eval {
+ my $time=rcs_getctime("$config{srcdir}/$file");
+ $pagectime{$page}=$time;
+ };
+ if ($@) {
+ print STDERR $@;
+ }
}
- elsif (! exists $pagectime{$page}) {
+ if (! exists $pagectime{$page}) {
$pagectime{$page}=mtime(srcfile($file));
}
}
-It's a good idea, and in some cases a requirement, to rebuild your wiki
+It's a good idea, and in some cases a requirement, to rebuild your wikis
when upgrading to a new version of ikiwiki. If you have a lot of different
wikis on a system, this can be a pain to do by hand, and it's a good idea
to automate it anyway.
as the user who owns the wiki. Edit this file and add any wikis you
set up.
+You can also allow users to maintain their own list of wikis to rebuild,
+by listing their usernames in /etc/ikiwiki/wikilist without corresponding
+setup files. ikiwiki will then read their lists of wikis from
+.ikiwiki/wikilist in their home directories.
+
The examples directory contains the source to some example wiki setups.
-ikiwiki (2.31) UNRELEASED; urgency=low
+ikiwiki (2.40) UNRELEASED; urgency=low
+ [ Josh Triplett ]
+ * Add new preprocessor directive syntax¸ using a '!' prefix. Add a
+ prefix_directives option to the setup file to turn this syntax on;
+ currently defaults to false, for backward compatibility. Support
+ optional '!' prefix even with prefix_directives off, and use that in
+ the underlay to support either setting of prefix_directives. Add NEWS
+ entry with migration information.
+
+ -- Josh Triplett <josh@freedesktop.org> Sat, 09 Feb 2008 23:01:19 -0800
+
+ikiwiki (2.31) unstable; urgency=low
+
+ [ Joey Hess ]
* Revert preservation of input file modification times in output files,
since this leads to too many problems with web caching, especially with
inlined pages. Properly solving this would involve tracking every page
* inline: Add new `allowrss` and `allowatom` config options. These can be
used if you want a wiki that doesn't default to generating rss or atom
feeds, but that does allow them to be turned on for specific blogs.
+ * Don't die if running with --getctime and rcs_getctime throws an error.
+ There are several cases (recentchanges files, aggregated files)
+ where some source files are not in revision control.
+ * Page templates can now use CTIME to show when the page was created.
[ Josh Triplett ]
- * Add new preprocessor directive syntax¸ using a '!' prefix. Add a
- prefix_directives option to the setup file to turn this syntax on;
- currently defaults to false, for backward compatibility. Support
- optional '!' prefix even with prefix_directives off, and use that in
- the underlay to support either setting of prefix_directives. Add NEWS
- entry with migration information.
+ * README.Debian: Mention user wikilists.
- -- Joey Hess <joeyh@debian.org> Sat, 02 Feb 2008 23:36:31 -0500
+ -- Joey Hess <joeyh@debian.org> Sat, 09 Feb 2008 23:09:45 -0500
ikiwiki (2.30) unstable; urgency=low
--- /dev/null
+The img plugin causes a taint failure if one tries to link a scaled image, e.g.
+
+ \[[img foo.png size=64x64]]
+
+ .ikiwiki.setup: Insecure dependency in mkdir while running with -T switch at /usr/lib/perl5/vendor_perl/5.8.8/IkiWiki.pm line 360.
+ BEGIN failed--compilation aborted at (eval 5) line 109.
+
+If one omits the size argument it works. And if it worked once the taint failure will not happen again unless one rm -r's the destdir.
+
+Seen with ikiwiki 2.30
+
+> And what version of perl? See [[Insecure_dependency_in_mkdir]] et al.
+> Also, the debian build of ikiwiki has taint checking disabled to avoid
+> this perl bug. Did you build your own? Set NOTAINT=1 when building..
+> --[[Joey]]
Some of the branches included in the main repository include:
* `gallery` contains the [[todo/Gallery]] plugin. It's not yet merged
- die to license issues.
+ due to license issues. Also some bits need to be tweaked to make it
+ work with the current *master* branch again.
* `html` is an unfinished attempt at making ikiwiki output HTML 4.01
instead of xhtml.
-* `prefix-directives` changes the preprocessor directive syntax. It
- is approximately one failing test case away from merging.
+
+* `prefix-directives` changes the preprocessor directive syntax.
+ Passes all test cases; pending merge.
+
* `wikiwyg` adds [[todo/wikiwyg]] support. It is unmerged pending some
changes.
* `pristine-tar` contains deltas that
--- /dev/null
+ikiwiki 2.31 released with [[toggle text="these changes"]]
+[[toggleable text="""
+ * [ Joey Hess ]
+ * Revert preservation of input file modification times in output files,
+ since this leads to too many problems with web caching, especially with
+ inlined pages. Properly solving this would involve tracking every page
+ that contributes to a page's content and using the youngest of them all,
+ as well as special cases for things like the version plugin, and it's just
+ too complex to do.
+ * aggregate: Forking a child broke the one state that mattered: Forcing
+ the aggregating page to be rebuilt. Fix this.
+ * cgi hooks are now run before ikiwiki state is loaded.
+ * This allows locking the wiki before loading state, which avoids some
+ tricky locking code when saving a web edit.
+ * poll: This plugin turns out to have edited pages w/o doing any locking.
+ Oops. Convert it from a cgi to a sessioncgi hook, which will work
+ much better.
+ * recentchanges: Improve handling of links on the very static changes pages
+ by thunking to the CGI, which can redirect to the page, or allow it to be
+ created if it doesn't exist.
+ * recentchanges: Exipre all *.\_change pages, even if the directory
+ they're in has changed.
+ * aggregate: Lots of changes; aggregation can now run without locking the
+ wiki, and there is a separate aggregatelock to prevent multiple concurrent
+ aggregation runs.
+ * monotone changes by Brian May:
+ - On commits, replace "mtn sync" bidirectional with "mtn push" single
+ direction. No need to pull changes when doing a commit. mtn sync
+ is still called in rcs\_update.
+ - Support for viewing differences via patches using viewmtn.
+ * inline: When previewing, still call will\_render on rss/atom files,
+ just avoid actually writing the files. This is necessary because ikiwiki
+ saves state after a preview (in case it actually *did* write files),
+ and if will\_render isn't called its security checks will get upset
+ when the page is saved. Thanks to Edward Betts for his help tracking this
+ tricky bug down.
+ * inline: Add new `allowrss` and `allowatom` config options. These can be
+ used if you want a wiki that doesn't default to generating rss or atom
+ feeds, but that does allow them to be turned on for specific blogs.
+ * Don't die if running with --getctime and rcs\_getctime throws an error.
+ There are several cases (recentchanges files, aggregated files)
+ where some source files are not in revision control.
+ * Page templates can now use CTIME to show when the page was created.
+ * [ Josh Triplett ]
+ * README.Debian: Mention user wikilists."""]]
\ No newline at end of file
The user has to look at the history link to find when a blog item was posted.
It would be nice if blog entry post pages could include the ctime. -- [[Edward_Betts]]
+
+> I've committed a change that adds a CTIME variable to page.tmpl. I left
+> it commented out in the default template, since it seems like a bit of
+> clutter to me. Good enough? --[[Joey]]
[Revision 3840]: http://ikiwiki.info/cgi-bin/viewvc.cgi?view=rev&root=ikiwiki&revision=3840
+
+
+None of the links for the WYSIWYG editor work anymore. Does anyone have an up to date link?
+Thanks, [[Greg]]
+
+> There's a branch in [[git]] for the wikiwyg stuff, which includes
+> the latest version I sucked in from TaylorKillian's svn repository before
+> it went offline. Disapponted that nothing seems to be moving here.
+> --[[Joey]]
My watchlist:
-[[inline pages="todo/allow_wiki_syntax_in_commit_messages" archive="yes" sort="mtime" atom="yes"]]
+[[inline pages="todo/allow_wiki_syntax_in_commit_messages todo/shortcut_with_different_link_text" archive="yes" sort="mtime" atom="yes"]]
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-02-03 16:05-0500\n"
+"POT-Creation-Date: 2008-02-09 23:08-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
msgid "%s is not an editable page"
msgstr ""
-#: ../IkiWiki/CGI.pm:382 ../IkiWiki/Plugin/brokenlinks.pm:24
-#: ../IkiWiki/Plugin/inline.pm:241 ../IkiWiki/Plugin/opendiscussion.pm:17
+#: ../IkiWiki/CGI.pm:384 ../IkiWiki/Plugin/brokenlinks.pm:24
+#: ../IkiWiki/Plugin/inline.pm:242 ../IkiWiki/Plugin/opendiscussion.pm:17
#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:95
-#: ../IkiWiki/Render.pm:175
+#: ../IkiWiki/Render.pm:176
msgid "discussion"
msgstr ""
-#: ../IkiWiki/CGI.pm:429
+#: ../IkiWiki/CGI.pm:431
#, perl-format
msgid "creating %s"
msgstr ""
-#: ../IkiWiki/CGI.pm:447 ../IkiWiki/CGI.pm:466 ../IkiWiki/CGI.pm:476
-#: ../IkiWiki/CGI.pm:510 ../IkiWiki/CGI.pm:554
+#: ../IkiWiki/CGI.pm:449 ../IkiWiki/CGI.pm:467 ../IkiWiki/CGI.pm:477
+#: ../IkiWiki/CGI.pm:511 ../IkiWiki/CGI.pm:555
#, perl-format
msgid "editing %s"
msgstr ""
-#: ../IkiWiki/CGI.pm:643
+#: ../IkiWiki/CGI.pm:644
msgid "You are banned."
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:100
+#: ../IkiWiki/Plugin/aggregate.pm:101
#, perl-format
msgid "missing %s parameter"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:127
+#: ../IkiWiki/Plugin/aggregate.pm:128
msgid "new feed"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:141
+#: ../IkiWiki/Plugin/aggregate.pm:142
msgid "posts"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:143
+#: ../IkiWiki/Plugin/aggregate.pm:144
msgid "new"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:307
+#: ../IkiWiki/Plugin/aggregate.pm:309
#, perl-format
msgid "expiring %s (%s days old)"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:314
+#: ../IkiWiki/Plugin/aggregate.pm:316
#, perl-format
msgid "expiring %s"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:343
+#: ../IkiWiki/Plugin/aggregate.pm:345
#, perl-format
msgid "processed ok at %s"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:347
+#: ../IkiWiki/Plugin/aggregate.pm:349
#, perl-format
msgid "checking feed %s ..."
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:352
+#: ../IkiWiki/Plugin/aggregate.pm:354
#, perl-format
msgid "could not find feed at %s"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:367
+#: ../IkiWiki/Plugin/aggregate.pm:369
msgid "feed not found"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:378
+#: ../IkiWiki/Plugin/aggregate.pm:380
#, perl-format
msgid "(invalid UTF-8 stripped from feed)"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:384
+#: ../IkiWiki/Plugin/aggregate.pm:386
#, perl-format
msgid "(feed entities escaped)"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:390
+#: ../IkiWiki/Plugin/aggregate.pm:392
msgid "feed crashed XML::Feed!"
msgstr ""
-#: ../IkiWiki/Plugin/aggregate.pm:464
+#: ../IkiWiki/Plugin/aggregate.pm:466
#, perl-format
msgid "creating new page %s"
msgstr ""
msgid "failed to determine size of image %s"
msgstr ""
-#: ../IkiWiki/Plugin/inline.pm:42
+#: ../IkiWiki/Plugin/inline.pm:44
msgid "Must specify url to wiki with --url when using --rss or --atom"
msgstr ""
-#: ../IkiWiki/Plugin/inline.pm:135
+#: ../IkiWiki/Plugin/inline.pm:136
#, perl-format
msgid "unknown sort type %s"
msgstr ""
-#: ../IkiWiki/Plugin/inline.pm:200
+#: ../IkiWiki/Plugin/inline.pm:201
msgid "Add a new post titled:"
msgstr ""
-#: ../IkiWiki/Plugin/inline.pm:216
+#: ../IkiWiki/Plugin/inline.pm:217
#, perl-format
msgid "nonexistant template %s"
msgstr ""
-#: ../IkiWiki/Plugin/inline.pm:249 ../IkiWiki/Render.pm:99
+#: ../IkiWiki/Plugin/inline.pm:250 ../IkiWiki/Render.pm:99
msgid "Discussion"
msgstr ""
-#: ../IkiWiki/Plugin/inline.pm:463
+#: ../IkiWiki/Plugin/inline.pm:468
msgid "RPC::XML::Client not found, not pinging"
msgstr ""
msgid "getctime not implemented"
msgstr ""
-#: ../IkiWiki/Render.pm:273 ../IkiWiki/Render.pm:294
+#: ../IkiWiki/Render.pm:274 ../IkiWiki/Render.pm:295
#, perl-format
msgid "skipping bad filename %s"
msgstr ""
-#: ../IkiWiki/Render.pm:343
+#: ../IkiWiki/Render.pm:350
#, perl-format
msgid "removing old page %s"
msgstr ""
-#: ../IkiWiki/Render.pm:384
+#: ../IkiWiki/Render.pm:391
#, perl-format
msgid "scanning %s"
msgstr ""
-#: ../IkiWiki/Render.pm:389
+#: ../IkiWiki/Render.pm:396
#, perl-format
msgid "rendering %s"
msgstr ""
-#: ../IkiWiki/Render.pm:410
+#: ../IkiWiki/Render.pm:417
#, perl-format
msgid "rendering %s, which links to %s"
msgstr ""
-#: ../IkiWiki/Render.pm:431
+#: ../IkiWiki/Render.pm:438
#, perl-format
msgid "rendering %s, which depends on %s"
msgstr ""
-#: ../IkiWiki/Render.pm:470
+#: ../IkiWiki/Render.pm:477
#, perl-format
msgid "rendering %s, to update its backlinks"
msgstr ""
-#: ../IkiWiki/Render.pm:482
+#: ../IkiWiki/Render.pm:489
#, perl-format
msgid "removing %s, no longer rendered by %s"
msgstr ""
-#: ../IkiWiki/Render.pm:508
+#: ../IkiWiki/Render.pm:515
#, perl-format
msgid "ikiwiki: cannot render %s"
msgstr ""
msgid "usage: --set var=value"
msgstr ""
-#: ../IkiWiki.pm:127
+#: ../IkiWiki.pm:129
msgid "Must specify url to wiki with --url when using --cgi"
msgstr ""
-#: ../IkiWiki.pm:196 ../IkiWiki.pm:197
+#: ../IkiWiki.pm:198 ../IkiWiki.pm:199
msgid "Error"
msgstr ""
#. translators: preprocessor directive name,
#. translators: the second a page name, the
#. translators: third a number.
-#: ../IkiWiki.pm:750
+#: ../IkiWiki.pm:752
#, perl-format
msgid "%s preprocessing loop detected on %s at depth %i"
msgstr ""
<TMPL_IF AUTHORURL>
[[!meta authorurl="""<TMPL_VAR AUTHORURL>"""]]
</TMPL_IF>
-[[!meta title="""update of <TMPL_VAR WIKINAME>'s<TMPL_LOOP NAME="PAGES"> <TMPL_VAR PAGE></TMPL_LOOP>"""]]
+[[!meta title="""change to<TMPL_LOOP NAME="PAGES"> <TMPL_VAR PAGE></TMPL_LOOP> on <TMPL_VAR WIKINAME>"""]]
<div class="metadata">
<span class="desc"><br />Changed pages:</span>
<span class="pagelinks">
<div class="pagedate">
Last edited <TMPL_VAR NAME=MTIME>
+<!-- Created <TMPL_VAR NAME=CTIME> -->
</div>
</div>