--- /dev/null
+Wide characters should probably be supported, or, at the very least, warned about.
+
+Test case:
+
+ mkdir -p ikiwiki-utf-test/raw ikiwiki-utf-test/rendered
+ for page in txt mdwn; do
+ echo hello > ikiwiki-utf-test/raw/$page.$page
+ for text in 8 16 16BE 16LE 32 32BE 32LE; do
+ iconv -t UTF$text ikiwiki-utf-test/raw/$page.$page > ikiwiki-utf-test/raw/$page-utf$text.$page;
+ done
+ done
+ ikiwiki --verbose --plugin txt --plugin mdwn ikiwiki-utf-test/raw/ ikiwiki-utf-test/rendered/
+ www-browser ikiwiki-utf-test/rendered/ || x-www-browser ikiwiki-utf-test/rendered/
+ # rm -r ikiwiki-utf-test/ # some browsers rather stupidly daemonize themselves, so this operation can't easily be safely automated
+
+BOMless LE and BE input is probably a lost cause.
+
+Optimally, UTF-16 (which is ubiquitous in the Windows world) and UTF-32 should be fully supported, probably by converting to mostly-UTF-8 and using `&#xXXXX;` or `&#DDDDD;` XML escapes where necessary.
+
+Suboptimally, UTF-16 and UTF-32 should be converted to UTF-8 where cleanly possible and a warning printed where impossible.
* [[privat]] `git://github.com/privat/ikiwiki.git`
* [[blipvert]] `git://github.com/blipvert/ikiwiki.git`
* [[bzed|BerndZeimetz]] `git://git.recluse.de/users/bzed/ikiwiki.git`
+* [[wtk]]: `git://github.com/wking/ikiwiki.git`
## branches
% ikiwiki -setup /etc/ikiwiki/auto-blog.setup
+`librpc-xml-perl` and `python-docutils` dependencies are needed.
+
Either way, it will ask you a couple of questions.
What will the wiki be named? foo
them and re-checkout from the new repository location.
% rm -rf foo
- % git clone /src/git/foo.git
+ % git clone /srv/git/foo.git
Finally, edit the setup file. Modify the settings for `srcdir`, `destdir`,
`url`, `cgiurl`, `cgi_wrapper`, `git_wrapper`, etc to reflect where
--- /dev/null
+[[!template id=gitbranch branch=wtk/master author="[[wtk]]"]]
+
+summary
+=======
+
+Extend inlining to handle raw files (files with unrecognized extensions).
+
+Also raise an error in `IkiWiki::pagetype($file)` if `$file` is blank, which avoids trying to do much with missing files, etc.
+
+I'm using the new code in my [blog][].
+
+[blog]: http://www.physics.drexel.edu/~wking/unfolding-disasters/posts/yacc2dot/
+
+usage
+=====
+
+ \[[!inline pagenames="somefile.txt" template="raw" feeds="no"]]
>>
>> Please look it over and tell me what else needs fixing... -- [[peteg]]
->>> I have made my own revert branch and put a few fixes in there. Issues
->>> I noticed but have not gotten to:
+>>> I have made my own revert branch and put a few fixes in there
+>>> [[!template id=gitbranch branch=origin/revert author="[[joey]]"]]
+>>> (and fixed all the indention..). Issues I noticed but have not gotten
+>>> to: --[[Joey]]
+>>>> Please change the git pointer above, then. I will work on your branch. -- [[peteg]]
>>>
>>> * `rcs_diff` already exists; why add `rcs_showpatch`?
->>> *
+>>>> If `rcs_diff` is intended for human consumption, by all means we can use that. -- [[peteg]]
+
+>>> * Would it be better for `rcs_revert` to not commit, and
+>>> `rcs_commit_staged` to then be used? This would work for git, but
+>>> maybe other RCSs would be problimatic. It would simplifiy the
+>>> interface and allow for future mulitple-revert interfaces.
+>>> * I quite don't understand why one caller of `git_parse_changes`
+>>> needs it to chdir, and not the other one. It's running
+>>> in the same git repo either way, and git doesn't need
+>>> `git show` to run in a subdir at all..
+>>>> I was aping (preserving) what was already there. I don't understand what you say about `git show` - it must run under $srcdir, surely? And empirically the CGI process wasn't in the right place. By all means simplify that. -- [[peteg]]
+
+>>> * Probably needs to untaint the revs passed in.
+>>> * Seems backwards for `rcs_preprevert` to import and
+>>> use `IkiWiki::Receive`.
+>>>> Indeed. This is saying that the checking code in IkiWiki::Receive is in the wrong place. I think it would be better to set up some general hooks and shuffle it into a plugin, for then other plugins that maintain special files in the repo can have a say about validity. -- [[peteg]]