utf-8 support seems to be working now
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>
Fri, 26 May 2006 15:33:14 +0000 (15:33 +0000)
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>
Fri, 26 May 2006 15:33:14 +0000 (15:33 +0000)
IkiWiki/Render.pm
debian/changelog
debian/postinst
doc/todo/utf8.mdwn
ikiwiki

index f33d6e66eb7de041d43734b0a4ec4ef3aa7b9b7c..08f5e7e951245e7b35b237db99ac76949c3aa2cb 100644 (file)
@@ -28,10 +28,13 @@ sub htmlize ($$) { #{{{
                $blosxom::version="is a proper perl module too much to ask?";
                use warnings 'all';
                do "/usr/bin/markdown";
+               require Encode;
        }
        
        if ($type eq '.mdwn') {
-               $content=Markdown::Markdown($content);
+               # Markdown does character based stuff that does not work
+               # well with utf-8 strings.
+               $content=Encode::decode_utf8(Markdown::Markdown(Encode::encode_utf8($content)));
        }
        else {
                error("htmlization of $type not supported");
index 12dc0617845b96ce5610b8bbcde41646e9f6961c..5be298136d425b641c7c81854badde799b11002a 100644 (file)
@@ -14,11 +14,17 @@ ikiwiki (1.4) UNRELEASED; urgency=low
   * Rebuilding on upgrade to this version is recommended.
   * Add a html validity check to the test suite, using the wdg-html-validator,
     if available.
-  * Make the html valid when there is nothing in the actions list by adding an
-    empty <li> to the end of it.
+  * Make the html valid when there is nothing in the actions list.
   * Reordered some function call parameters for consistency.
+  * Enable full utf-8 support for page input and output.
+  * Add a workaround for markdown, which does not work well with utf-8
+    strings.
+  * --getctime had bitrotted (well I only ever used it the once so far..), 
+    fix and make it a bit more flexible
+  * rcs_getctime is changed, now rather than needing to loop over all pages,
+    it should just use the rcs to get the ctime of the passed file.
 
- -- Joey Hess <joeyh@debian.org>  Fri, 26 May 2006 04:11:57 -0400
+ -- Joey Hess <joeyh@debian.org>  Fri, 26 May 2006 04:49:49 -0400
 
 ikiwiki (1.3) unstable; urgency=low
 
index 76d8263575d1af6735cdf883baac2d7e14d37628..9135af7548285142c401de312895ee0f1ebda58d 100755 (executable)
@@ -4,7 +4,7 @@ set -e
 
 # Change this when some incompatible change is made that requires
 # rebuilding all wikis.
-firstcompat=1.1
+firstcompat=1.4
 
 if [ "$1" = configure ] && \
    dpkg --compare-versions "$2" lt "$firstcompat"; then
index 68195b729be007800690bf42289a7abc1cc77626..b905e4633d820dd2fd4598e6ef0cca6f4f64a76b 100644 (file)
@@ -25,4 +25,17 @@ The following problems have been observed when running ikiwiki this way:
        Malformed UTF-8 character (fatal) at /usr/bin/markdown line 1317.
 
   In this example, a literal 0x97 character had gotten into a markdown
-  file. 
+  file.
+
+  Running this before markdown can avoid it:
+
+  $content = Encode::encode_utf8($content);
+
+  I'm not sure how, or what should be done after markdown to get the string
+  back into a form that perl can treat as utf-8.
+
+* Apache "AddDefaultCharset on" settings will not play well with utf-8
+  pages.
+
+* CGI::FormBuilder needs to be told to set `charset => "utf-8"` so that
+  utf-8 is used in the edit form. (done)
diff --git a/ikiwiki b/ikiwiki
index be7f86a458e4c3bb820fcef1c74cef8ac6621b28..3ea6b7aa05109ab47234a73eb161f023ee049c58 100755 (executable)
--- a/ikiwiki
+++ b/ikiwiki
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -T
+#!/usr/bin/perl -T -CSD
 $ENV{PATH}="/usr/local/bin:/usr/bin:/bin";
 
 package IkiWiki;
@@ -101,7 +101,6 @@ sub main () { #{{{
                loadindex();
                require IkiWiki::Render;
                rcs_update();
-               rcs_getctime() if $config{getctime};
                refresh();
                rcs_notify() if $config{notify};
                saveindex();