Go to file
Joey Hess 5418385336 Optimise use of gettext, and avoid ugly warnings if Locale::gettext is not available.
The test suite was emitting a lot of ugly gettext warnings;
setting LC_ALL didn't solve the problem for all locale setups
(since ikiwiki remaps it to LANG, and ikiwiki didn't know about
the C locale).

People also seem generally annoyed by the messages when
Locale::Gettext is not installed, and I suspect will be
generally happier if it just silently doesn't localize.

The optimisation came about when I noticed that the gettext
sub was doing rather a lot of work each call just to see
if localisation is needed. We can avoid that work by caching,
and the best thing to cache is a version of the gettext sub
that does exactly the right thing.

This was slightly complicated by the locale setting,
which might need to override the original locale (or lack
thereof) after gettext has been called. So it needs to invalidate
the cache in that case. It used to do it via a global variable,
which I am happy to have also gotten rid of.
2009-06-08 18:33:54 -04:00
Bundle remove dup 2009-04-06 13:34:31 -04:00
IkiWiki goto: Support being passed a page title that is not a valid page name, to support several cases including mercurial's long user names on the RecentChanges page, and urls with spaces being handled by the 404 plugin. 2009-06-06 02:36:40 -04:00
cpan enhancesments for shared hosting 2008-05-05 14:51:26 -04:00
debian Optimise use of gettext, and avoid ugly warnings if Locale::gettext is not available. 2009-06-08 18:33:54 -04:00
doc Instructions to allow .cgi files to execute from anywhere using boa webserver 2009-06-08 03:33:30 -04:00
plugins function injection overhaul 2008-10-21 17:57:19 -04:00
po update po files 2009-06-04 13:24:45 -04:00
t Optimise use of gettext, and avoid ugly warnings if Locale::gettext is not available. 2009-06-08 18:33:54 -04:00
templates comment: Make comment directives no longer use the internal "_comment" form, and document the comment directive syntax. 2009-06-02 17:06:46 -04:00
underlays relativedate: Deal with clock skew. 2009-04-23 13:39:42 -04:00
.gitignore update ignore 2008-07-26 23:04:54 -04:00
.perlcriticrc fix a common case typo 2008-08-12 15:48:44 -04:00
CHANGELOG * Work on firming up the plugin interface: 2006-09-09 22:50:27 +00:00
IkiWiki.pm Optimise use of gettext, and avoid ugly warnings if Locale::gettext is not available. 2009-06-08 18:33:54 -04:00
Makefile.PL debhelper v7; rules file minimisation. 2009-02-15 20:12:16 -05:00
NEWS * Work on firming up the plugin interface: 2006-09-09 22:50:27 +00:00
README reformat 2008-09-09 20:24:59 -04:00
auto-blog.setup add blogspam to auto-blog 2009-01-16 22:42:30 -05:00
auto.setup remove hardlink settings from auto.setup files 2009-01-12 20:04:01 -05:00
docwiki.setup set underlaydirbase in docwiki.setup 2009-05-19 13:57:47 -04:00
gitremotes add Bremner's ikimailbox repo to list 2009-05-21 14:35:04 -04:00
ikiwiki-makerepo ikiwiki-makerepo: Avoid using abs_path, as it apparently fails on nonexistant directories with some broken perl versions. 2009-05-05 14:15:28 -04:00
ikiwiki-mass-rebuild fix two build bugs 2008-06-13 13:05:44 -04:00
ikiwiki-transition ikiwiki-transition: deduplinks was broken and threw away all metadata stored by plugins in the index. Fix this bug. 2009-05-22 13:09:11 -04:00
ikiwiki-update-wikilist add new wiki to wikilist 2008-07-27 16:01:29 -04:00
ikiwiki-w3m.cgi * Support a w3mmode, which lets w3m run ikiwiki using its local CGI 2006-07-07 21:00:48 +00:00
ikiwiki.in remove -T from ikiwiki.in, add back if NOTAINT=0 2009-05-22 13:46:07 -04:00
mdwn2man improved period escape 2008-05-30 18:01:16 -04:00
pm_filter remove -T from ikiwiki.in, add back if NOTAINT=0 2009-05-22 13:46:07 -04:00
wikilist Fix typo. 2007-04-09 23:54:32 +00:00

README

Use ./Makefile.PL to generate a Makefile, "make" will build the
documentation wiki and a man page, and "make install" will install ikiwiki.

All other documentation is in the ikiwiki documentation wiki, which is also
available online at <http://ikiwiki.info/>


A few special variables you can set while using the Makefile:

  PROFILE=1 turns on profiling for the build of the doc wiki.
  (Uses Devel::Profile)

  NOTAINT=0 turns on the taint flag in the ikiwiki program. (Not recommended
  unless your perl is less buggy than mine -- see
  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.