Merge commit 'smcv/prefix'
authorJoey Hess <joey@kodama.kitenet.net>
Mon, 21 Jul 2008 15:33:43 +0000 (11:33 -0400)
committerJoey Hess <joey@kodama.kitenet.net>
Mon, 21 Jul 2008 15:34:49 +0000 (11:34 -0400)
Conflicts:

doc/news/version_2.49.mdwn

Also fixed the newest news file (and my wikiannounce script).

IkiWiki/Plugin/skeleton.pm.example [moved from IkiWiki/Plugin/skeleton.pm with 100% similarity]
README
debian/changelog
doc/install/discussion.mdwn
doc/news/version_2.49.mdwn [deleted file]
doc/news/version_2.54.mdwn [new file with mode: 0644]
doc/todo/online_configuration.mdwn [new file with mode: 0644]
po/ikiwiki.pot

diff --git a/README b/README
index d4be0455a6085c43c3ae5a5e387d811f93606933..fdb63227d02e7f26f778e38b327c62413cce9b88 100644 (file)
--- a/README
+++ b/README
@@ -12,5 +12,10 @@ http://bugs.debian.org/411786)
 There are also other variables supported by MakeMaker, including PREFIX,
 INSTALL_BASE, and DESTDIR. See ExtUtils::MakeMaker(3).
 
+In particular, INSTALL_BASE is very useful if you want to install ikiwiki
+to some other location, as it configures it to see the perl libraries
+there. See `doc/tips/nearlyfreespeech.mdwn` for an example of using this to
+install ikiwiki and its dependencies in a home directory.
+
 All other documentation is in the ikiwiki documentation wiki, which is also
 available online at <http://ikiwiki.info/>
index 8ec90413a8d222be26ab6f5c69bbb1e893e51dec..6212febbbdce6b2a40f7dc46ad72f922c78f80d1 100644 (file)
@@ -1,4 +1,4 @@
-ikiwiki (2.54) UNRELEASED; urgency=low
+ikiwiki (2.54) unstable; urgency=low
 
   [ Joey Hess ]
   * Make it possible to load setup files w/o running them. Code
@@ -32,9 +32,10 @@ ikiwiki (2.54) UNRELEASED; urgency=low
     The committer's email address is not used (because leaking email addresses
     is not liked by many users). Closes: #451023
   * git: Fix parsing of git logs with no commit messages at all.
-  * search: Fixes for title stemming, and use better term for tags. (Gabriel McManus)
-    (Rebuilding the wiki on upgrade to this version is recommended if you use the
-    search plugin.)
+  * search: Fixes for title stemming, and use better term for tags.
+    (Gabriel McManus)
+    (Rebuilding the wiki on upgrade to this version is recommended if you
+    use the search plugin.)
 
   [ Simon McVittie ]
   * meta, inline: Support guid options, to allow forcing a particular url or
@@ -47,7 +48,7 @@ ikiwiki (2.54) UNRELEASED; urgency=low
   * ikiwiki-transition: Add a `aggregateinternal` transition to rename
     the aggregated files.
 
- -- Josh Triplett <josh@freedesktop.org>  Wed, 09 Jul 2008 21:30:33 -0700
+ -- Joey Hess <joeyh@debian.org>  Mon, 21 Jul 2008 10:10:52 -0400
 
 ikiwiki (2.53) unstable; urgency=low
 
index 9b64330e424bc62c21a83addda28fe992bd5d223..ebdb7e0903f766763a8fce16a2f74de8573bda7a 100644 (file)
@@ -1,5 +1,17 @@
 No matter what I do, ikiwiki gives me a `Can't locate loadable object for module Locale::gettext in @INC` although I've installed (and reinstalled) the Locale module, and no luck. If I look at the directories in the INC path, I can see the file. The wiki won't compile in spite of this, and I've tried everything I can think of.. -- [[tychoish]]
 
+> Sounds like the `Locale::gettext` perl module is there, but your perl
+> installation is broken so that the accompnying so file is not there, or
+> doesn't work. On my system I have 
+> `/usr/lib/perl5/Locale/gettext.pm` and
+> `/usr/lib/perl5/auto/Locale/gettext.so` -- suspect your problem is with
+> the second one.
+> 
+> If you can't fix it, this problem could probably be worked around by
+> unsetting all environment variables when running ikiwiki (`LANG`,
+> `LC_ALL`, `LC_MESSAGES`). Then it won't try to load `Locale::gettext` at
+> all. --[[Joey]]
+
 ---
 
 I am trying to install Ikiwiki version 2.1 from the source tarball.
diff --git a/doc/news/version_2.49.mdwn b/doc/news/version_2.49.mdwn
deleted file mode 100644 (file)
index 37cf6b7..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-News for ikiwiki 2.49:
-
-   The search plugin no longer uses hyperestraier. Instead, to use it you
-   will now need to install xapian-omega, and the [[!cpan Search::Xapian]],
-   [[!cpan HTML::Scrubber]], and [[!cpan Digest::SHA1]] perl modules. Ie,
-   `apt-get install xapian-omega libsearch-xapian-perl libhtml-scrubber-perl libdigest-sha1-perl`
-
-   Also, wikis that use the search plugin will need to be rebuilt, 
-   since the search form has changed. This will not be done automatically,
-   but can be done by running `ikiwiki-mass-upgrade` as root, or
-   running `ikiwiki -setup` on individual setup files.
-
-ikiwiki 2.49 released with [[!toggle text="these changes"]]
-[[!toggleable text="""
-   * haiku: Generate valid xhtml.
-   * ikiwiki-mass-rebuild: Don't trust $! when setting $)
-   * inline: The optimisation in 2.41 broke nested inlines. Detect those
-     and avoid overoptimising.
-   * search: Converted to use xapian-omega.
-   * Filter hooks are no longer called during the scan phase. This will
-     prevent wikilinks added by filters from being scanned properly. But
-     no known filter hook does that, so let's not waste time on it.
-   * Pass a destpage parameter to the sanitize hook.
-   * The search interface now allows searching for a page by title
-     ("title:foo"), as well as for pages that contain a given link
-     ("link:bar")."""]]
diff --git a/doc/news/version_2.54.mdwn b/doc/news/version_2.54.mdwn
new file mode 100644 (file)
index 0000000..075bc65
--- /dev/null
@@ -0,0 +1,46 @@
+ikiwiki 2.54 released with [[!toggle text="these changes"]]
+[[!toggleable text="""
+ * [ Joey Hess ]
+   * Make it possible to load setup files w/o running them. Code
+     needing to do so can call IkiWiki::Setup::load, which will return
+     a hash of values.
+ * [ Josh Triplett ]
+   * ikiwiki-transition: Fix command-line processing so the prefix\_directives
+     transition works again.
+ * [ Joey Hess ]
+   * template: Add support for a BASENAME variable.
+   * Fixes creation of pages when clicking on WikiLinks starting with "/".
+   * Change deb dependencies to list Text::Markdown before markdown, since
+     the former, while slower, has a much better html parser that avoids
+     numerous bugs.
+   * Move yesno function out of inline and into IkiWiki core, not exported.
+   * Error handling improvement for preprocess hooks. It's now safe to call
+     error() from such hooks; it will cause a nicely formatted error message
+     to be inserted into the page.
+   * Cut the size of the binary package in half by excluding pages for bugs
+     and todo items from the html shipped in it.
+   * parentlinks: New plugin, split out of ikiwiki core and enabled by default,
+     and several new fields added to allow for advanced styling. (intrigeri)
+   * smileys: Some fixes for escaped smileys.
+   * smileys: Note that smileys need to be double-escaped for the escaping to
+     work. Markdown removes one level of escaping.
+   * Add a postscan hook.
+   * search: Use postscan hook, avoid updating index when previewing.
+   * git: Put web committer name/openid/address in the git author field.
+     The committer's email address is not used (because leaking email addresses
+     is not liked by many users). Closes: #[451023](http://bugs.debian.org/451023)
+   * git: Fix parsing of git logs with no commit messages at all.
+   * search: Fixes for title stemming, and use better term for tags.
+     (Gabriel McManus)
+     (Rebuilding the wiki on upgrade to this version is recommended if you
+     use the search plugin.)
+ * [ Simon McVittie ]
+   * meta, inline: Support guid options, to allow forcing a particular url or
+     uuid in feeds.
+   * meta: fix title() PageSpec
+   * Some footer style changes.
+   * aggregate: Add an `aggregateinternal` option, which allows storing
+     aggregated data to internal-use files, rather than wiki pages. This
+     can save disk space, and be faster.
+   * ikiwiki-transition: Add a `aggregateinternal` transition to rename
+     the aggregated files."""]]
diff --git a/doc/todo/online_configuration.mdwn b/doc/todo/online_configuration.mdwn
new file mode 100644 (file)
index 0000000..db3b41a
--- /dev/null
@@ -0,0 +1,66 @@
+It should be possible to configure ikiwiki online, in the wiki admin's
+preferences form. Rather than the current situation where most settings are
+in ikiwiki.setup, and one or two (like locked pages and upload limits) in
+the admin preferences.
+
+In theory, every setting could be configured there. In practice, some
+settings, like `srcdir` and `destdir` are ones you want to keep far away
+from editing via the web.
+
+Currently admin prefs are per-admin, and are stored in the userdb.
+That seems like a bad choice in the context of this idea. Instead, admin
+setup should be configured on a separate page than the regular user prefs
+page, and should be shared amoung all admins, and the ideal storage would be
+another ikiwiki setup file, which could be loaded in, and written back out.
+
+If `ikiwiki-makerepo` were extended a little bit to generate the stub setup
+file that's enough to get `ikiwiki.cgi` working, and that sets values for
+all the dangerous options, leaving only safe ones 'undef', then users could
+set up ikiwiki using it, and configure the rest with the web interface,
+without ever needing to edit a setup file.
+
+The setup page could `require` every available plugin, and then call a
+`getsetup` function, which would look something like:
+
+       sub getsetup () {
+               eval q{use Some::Thing};
+               die $@ if $@;
+
+               return option_foo => {
+                       safe => 1,
+                       rebuild => 1,
+                       type => "boolean",
+                       default => 0,
+                       description => gettext("Enable foo."),
+               },
+               option_bar => {
+                       safe => 0,
+                       rebuild => 0,
+                       type => "password",
+                       default => "",
+                       description => gettext("Password for bar."),
+               };
+       }
+
+The types would be: boolean, string, password, filename, other.
+This would be the type of the leaf fields; if a value in `%config` is an
+array or hash, the type specifies the type of values that go into it.
+
+From this info, a form can be built, that has core setup values at the
+top, followed by each plugin whose `getsetup` succeeded, with a check box
+to enable/disable that plugin, and all of its setup options listed after
+it.
+
+The main setup file could control what options are read from the
+online setup file:
+
+       online_setup_include => 'safe', # all things with safe = 1
+       online_setup_exclude => [qw{option_baz}],
+
+Note that posting the setup form would sometimes need to cause a rebuild
+of the whole wiki. This could be done with output streamed to the admin in
+the web browser. The `rebuild` fields would be set to 1 for values that
+require a wiki rebuild when changed, and to 0 for values that only need the
+wrappers to be refreshed.
+
+[[tag wishlist]]
index 71cddfdd0348fe5144db3b8ebb541d1236c737c7..c00242df72295933c3a4fb1cccdd2f390e75a3d4 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-07-13 15:04-0400\n"
+"POT-Creation-Date: 2008-07-21 10:11-0400\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"
@@ -51,8 +51,8 @@ msgstr ""
 
 #: ../IkiWiki/CGI.pm:438 ../IkiWiki/Plugin/brokenlinks.pm:24
 #: ../IkiWiki/Plugin/inline.pm:261 ../IkiWiki/Plugin/opendiscussion.pm:17
-#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:95
-#: ../IkiWiki/Render.pm:162
+#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:78
+#: ../IkiWiki/Render.pm:148
 msgid "discussion"
 msgstr ""
 
@@ -71,79 +71,79 @@ msgstr ""
 msgid "You are banned."
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:758 ../IkiWiki/CGI.pm:759 ../IkiWiki.pm:782
+#: ../IkiWiki/CGI.pm:758 ../IkiWiki/CGI.pm:759 ../IkiWiki.pm:783
 msgid "Error"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:53
+#: ../IkiWiki/Plugin/aggregate.pm:57
 msgid "Aggregation triggered via web."
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:62
+#: ../IkiWiki/Plugin/aggregate.pm:66
 msgid "Nothing to do right now, all feeds are up-to-date!"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:134
+#: ../IkiWiki/Plugin/aggregate.pm:193
 #, perl-format
 msgid "missing %s parameter"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:168
+#: ../IkiWiki/Plugin/aggregate.pm:227
 msgid "new feed"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:182
+#: ../IkiWiki/Plugin/aggregate.pm:241
 msgid "posts"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:184
+#: ../IkiWiki/Plugin/aggregate.pm:243
 msgid "new"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:347
+#: ../IkiWiki/Plugin/aggregate.pm:406
 #, perl-format
 msgid "expiring %s (%s days old)"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:354
+#: ../IkiWiki/Plugin/aggregate.pm:413
 #, perl-format
 msgid "expiring %s"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:381
+#: ../IkiWiki/Plugin/aggregate.pm:440
 #, perl-format
 msgid "processed ok at %s"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:385
+#: ../IkiWiki/Plugin/aggregate.pm:444
 #, perl-format
 msgid "checking feed %s ..."
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:390
+#: ../IkiWiki/Plugin/aggregate.pm:449
 #, perl-format
 msgid "could not find feed at %s"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:405
+#: ../IkiWiki/Plugin/aggregate.pm:464
 msgid "feed not found"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:416
+#: ../IkiWiki/Plugin/aggregate.pm:475
 #, perl-format
 msgid "(invalid UTF-8 stripped from feed)"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:422
+#: ../IkiWiki/Plugin/aggregate.pm:481
 #, perl-format
 msgid "(feed entities escaped)"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:428
+#: ../IkiWiki/Plugin/aggregate.pm:487
 msgid "feed crashed XML::Feed!"
 msgstr ""
 
-#: ../IkiWiki/Plugin/aggregate.pm:502
+#: ../IkiWiki/Plugin/aggregate.pm:561
 #, perl-format
 msgid "creating new page %s"
 msgstr ""
@@ -279,7 +279,7 @@ msgstr ""
 msgid "nonexistant template %s"
 msgstr ""
 
-#: ../IkiWiki/Plugin/inline.pm:269 ../IkiWiki/Render.pm:99
+#: ../IkiWiki/Plugin/inline.pm:269 ../IkiWiki/Render.pm:82
 msgid "Discussion"
 msgstr ""
 
@@ -501,12 +501,12 @@ msgstr ""
 msgid "Must specify %s when using the search plugin"
 msgstr ""
 
-#: ../IkiWiki/Plugin/search.pm:170
+#: ../IkiWiki/Plugin/search.pm:166
 #, perl-format
 msgid "need Digest::SHA1 to index %s"
 msgstr ""
 
-#: ../IkiWiki/Plugin/search.pm:205
+#: ../IkiWiki/Plugin/search.pm:201
 msgid "search"
 msgstr ""
 
@@ -612,47 +612,47 @@ msgstr ""
 msgid "getctime not implemented"
 msgstr ""
 
-#: ../IkiWiki/Render.pm:290 ../IkiWiki/Render.pm:311
+#: ../IkiWiki/Render.pm:276 ../IkiWiki/Render.pm:297
 #, perl-format
 msgid "skipping bad filename %s"
 msgstr ""
 
-#: ../IkiWiki/Render.pm:365
+#: ../IkiWiki/Render.pm:351
 #, perl-format
 msgid "removing old page %s"
 msgstr ""
 
-#: ../IkiWiki/Render.pm:405
+#: ../IkiWiki/Render.pm:391
 #, perl-format
 msgid "scanning %s"
 msgstr ""
 
-#: ../IkiWiki/Render.pm:410
+#: ../IkiWiki/Render.pm:396
 #, perl-format
 msgid "rendering %s"
 msgstr ""
 
-#: ../IkiWiki/Render.pm:431
+#: ../IkiWiki/Render.pm:417
 #, perl-format
 msgid "rendering %s, which links to %s"
 msgstr ""
 
-#: ../IkiWiki/Render.pm:452
+#: ../IkiWiki/Render.pm:438
 #, perl-format
 msgid "rendering %s, which depends on %s"
 msgstr ""
 
-#: ../IkiWiki/Render.pm:491
+#: ../IkiWiki/Render.pm:477
 #, perl-format
 msgid "rendering %s, to update its backlinks"
 msgstr ""
 
-#: ../IkiWiki/Render.pm:503
+#: ../IkiWiki/Render.pm:489
 #, perl-format
 msgid "removing %s, no longer rendered by %s"
 msgstr ""
 
-#: ../IkiWiki/Render.pm:527
+#: ../IkiWiki/Render.pm:513
 #, perl-format
 msgid "ikiwiki: cannot render %s"
 msgstr ""
@@ -716,7 +716,7 @@ msgstr ""
 msgid "usage: --set var=value"
 msgstr ""
 
-#: ../IkiWiki.pm:125
+#: ../IkiWiki.pm:126
 msgid "Must specify url to wiki with --url when using --cgi"
 msgstr ""
 
@@ -724,11 +724,11 @@ msgstr ""
 #. translators: preprocessor directive name,
 #. translators: the second a page name, the
 #. translators: third a number.
-#: ../IkiWiki.pm:765
+#: ../IkiWiki.pm:766
 #, perl-format
 msgid "%s preprocessing loop detected on %s at depth %i"
 msgstr ""
 
-#: ../IkiWiki.pm:1212
+#: ../IkiWiki.pm:1214
 msgid "yes"
 msgstr ""