--- /dev/null
+debian/changelog merge=dpkg-mergechangelogs
# hnb outputs version number etc. every time to STDOUT, so
# using files makes it easier to seprarate.
- my $tmpin = mkstemp( "/tmp/ikiwiki-hnbin.XXXXXXXXXX" );
- my $tmpout = mkstemp( "/tmp/ikiwiki-hnbout.XXXXXXXXXX" );
+ my ($infh, $tmpin) = mkstemp( "/tmp/ikiwiki-hnbin.XXXXXXXXXX" );
+ my ($outfh, $tmpout) = mkstemp( "/tmp/ikiwiki-hnbout.XXXXXXXXXX" );
open(TMP, '>', $tmpin) or die "Can't write to $tmpin: $!";
print TMP $params{content};
* Fixed some confusion and bugginess about whether
rcs_getctime/rcs_getmtime were passed absolute or relative filenames.
(Make it relative like everything else.)
+ * hnb: Fixed broken use of mkstemp that had caused dangling temp files,
+ and prevented actually rendering hnb files.
-- Joey Hess <joeyh@debian.org> Wed, 23 Jun 2010 15:30:04 -0400
--- /dev/null
+The po plugin's protection against processing loops (i.e. the
+alreadyfiltered stuff) is playing against us: the template plugin
+triggers a filter hooks run with the very same ($page, $destpage)
+arguments pair that is used to identify an already filtered page.
+
+Processing an included template can then mark the whole translation
+page as already filtered, which prevented `po_to_markup` to be called on
+the PO content.
+
+Symptoms: the unprocessed gettext file goes unfiltered to the
+generated HTML.
+
+This has been fixed in my po branch.
+
+-- [[intrigeri]]
+
+[[!tag patch]]
* [Ertug Karamatli](http://pages.karamatli.com)
* [Jonatan Walck](http://jonatan.walck.i2p/) a weblog + wiki over [I2P](http://i2p2.de/). Also [mirrored](http://jonatan.walck.se/) to the Internet a few times per day.
* [Daniel Wayne Armstrong](http://circuidipity.com/)
+* [Mukund](https://www.mukund.org/)
Please feel free to add your own ikiwiki site!
>>> the side-effects, but use `field` as an interface to get the values of those special fields.
>>> --[[KathrynAndersen]]
+
+I was just looking at HTML5 and wondered if the field plugin should generate the new Microdata tags (as well as the internal structures)? <http://slides.html5rocks.com/#slide19> -- [[Will]]
underlay, and the underlays lack translation to a given language.
--[[Joey]]
+> Any simple testcase to reproduce it, please? I've never seen this
+> happen yet. --[[intrigeri]]
+
Double commits of po files
--------------------------
Same thing happens when a change to an existing page triggers a po file
update. --[[Joey]]
+> * The s/utf-8/UTF-8 part is fixed in my po branch.
+> * The ENCODING\n part is due to an inconsistency in po4a, which
+> I've just send a patch for. --[[intrigeri]]
+
Ugly messages with empty files
------------------------------
If there are empty .mdwn files, the po plugin displays some ugly messages.
+> This is due to a bug in po4a (not checking definedness of a
+> variable). One-liner patch sent. --[[intrigeri]]
+
Translation of directives
-------------------------
* creates a repository,
* imports `$SRCDIR` into top-level module `ikiwiki` (vendor tag IKIWIKI, release tag PRE_CVS),
* configures the post-commit hook in `CVSROOT/loginfo`.
-* CVS multi-directory commits happen separately; the post-commit hook sees only the first directory's changes in time for [[recentchanges|plugins/recentchanges]]. The next run of `ikiwiki --setup` will correctly re-render such a recentchanges entry. It should be possible to solve this problem with NetBSD's `commit_prep` and `log_accum` scripts (see below).
### To do
-* Instead of resource-intensively scraping changesets with `cvsps`, have `ikiwiki-makerepo` set up NetBSD-like `log_accum` and `commit_prep` scripts that coalesce and keep records of commits. `cvsps` can be used as a fallback for repositories without such records.
+* Have `ikiwiki-makerepo` set up NetBSD-like `log_accum` and `commit_prep` scripts that coalesce commits into changesets. Reasons:
+ 7. Obviates the need to scrape the repo's complete history to determine the last N changesets. (Repositories without such records can fall back on the `cvsps` and `File::ReadBackwards` code.)
+ 7. Arranges for ikiwiki to be run once per changeset, rather than CVS's once per committed file (!), which is a waste at best and bug-inducing at worst. (Currently, on multi-directory commits, only the first directory's changes get mentioned in [[recentchanges|plugins/recentchanges]].)
* Perhaps prevent web edits from attempting to create `.../CVS/foo.mdwn` (and `.../cvs/foo.mdwn` on case-insensitive filesystems); thanks to the CVS metadata directory, the attempt will fail anyway (and much more confusingly) if we don't.
This is the [[SandBox]], a page anyone can edit to try out ikiwiki (version [[!version ]]).
+<<<<<<< HEAD
+Test conflict.
+=======
+Testing 123.
+>>>>>>> 8cc8bb52f7913e429be7e14203177ef374645718
+
# Header
## Subheader2
Once your wiki is checked in to the revision control system, you should
configure ikiwiki to use revision control. Edit your ikiwiki.setup, set
-`rcs` to the the revision control system you chose to use. Be careful,
+`rcs` to the revision control system you chose to use. Be careful,
you may need to use the 'fullname'. For example, 'hg' doesn't work, you
should use mercurial. Be sure to set `svnrepo` to the directory for your
repository, if using subversion. Uncomment the configuration for the wrapper
--- /dev/null
+The HTML page type should be fully supported by the PO plugin: po4a's
+HTML support is able to extract translatable strings and to disregard
+the rest.
+
+This is implemented in my po branch, please review. --[[intrigeri]]
+
+[[!tag patch]]
Fixed in my po branch. --[[intrigeri]]
[[!tag patch]]
+
+> bump?
[[!map pages="!*/Discussion and ((link(users/schmonz) and plugins/*) or rcs/cvs)"]]
-In progress: a plugin for [WIND authentication](http://www.columbia.edu/acis/rad/authmethods/wind/).
+I've also written a plugin for [WIND authentication](http://www.columbia.edu/acis/rad/authmethods/wind/), which may or may not be of general utility.
$dir = "/tmp/ikiwiki-test-bzr.$$";
my $bzr=`which bzr`;
chomp $bzr;
- if (! -x $bzr || ! mkdir($dir)) {
+ if (! -x $bzr) {
eval q{
- use Test::More skip_all => "bzr not available or could not make test dir"
+ use Test::More skip_all => "bzr not available"
}
}
+ if (! mkdir($dir)) {
+ die $@;
+ }
}
use Test::More tests => 17;
chomp $cvs;
my $cvsps=`which cvsps`;
chomp $cvsps;
- if (! -x $cvs || ! -x $cvsps || ! mkdir($dir)) {
+ if (! -x $cvs || ! -x $cvsps) {
eval q{
- use Test::More skip_all => "cvs or cvsps not available or could not make test dir"
+ use Test::More skip_all => "cvs or cvsps not available"
}
}
+ if (! mkdir($dir)) {
+ die $@;
+ }
foreach my $module ('File::ReadBackwards', 'File::MimeInfo') {
eval qq{use $module};
if ($@) {
$dir="/tmp/ikiwiki-test-git.$$";
my $git=`which git`;
chomp $git;
- if (! -x $git || ! mkdir($dir)) {
+ if (! -x $git) {
eval q{
- use Test::More skip_all => "git not available or could not make test dir"
+ use Test::More skip_all => "git not available"
}
}
+ if (! mkdir($dir)) {
+ die $@;
+ }
}
use Test::More tests => 18;
$dir = "/tmp/ikiwiki-test-hg.$$";
my $hg=`which hg`;
chomp $hg;
- if (! -x $hg || ! mkdir($dir)) {
+ if (! -x $hg) {
eval q{
- use Test::More skip_all => "hg not available or could not make test dir"
+ use Test::More skip_all => "hg not available"
}
}
+ if (! mkdir($dir)) {
+ die $@;
+ }
}
use Test::More tests => 11;
chomp $svn;
my $svnadmin=`which svnadmin`;
chomp $svnadmin;
- if (! -x $svn || ! -x $svnadmin || ! mkdir($dir)) {
+ if (! -x $svn || ! -x $svnadmin) {
eval q{
- use Test::More skip_all => "svn not available or could not make test dir"
+ use Test::More skip_all => "svn or svnadmin not available"
}
}
+ if (! mkdir($dir)) {
+ die $@;
+ }
}
use Test::More tests => 12;