X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/3166479fe4b170bf6ffd3f06c1422f65f7bbfe7e..bfda13f16c3a055b30d7e5448dd6640a12898adc:/IkiWiki/Setup/Yaml.pm diff --git a/IkiWiki/Setup/Yaml.pm b/IkiWiki/Setup/Yaml.pm index 8ad44eb4a..6da93bb64 100644 --- a/IkiWiki/Setup/Yaml.pm +++ b/IkiWiki/Setup/Yaml.pm @@ -5,6 +5,7 @@ package IkiWiki::Setup::Yaml; use warnings; use strict; use IkiWiki; +use Encode; sub loaddump ($$) { my $class=shift; @@ -13,16 +14,13 @@ sub loaddump ($$) { eval q{use YAML::Any}; eval q{use YAML} if $@; die $@ if $@; - IkiWiki::Setup::merge(Load($content)); + $YAML::Syck::ImplicitUnicode=1; + IkiWiki::Setup::merge(Load(encode_utf8($content))); } sub gendump ($@) { my $class=shift; - eval q{use YAML::Any}; - eval q{use YAML} if $@; - die $@ if $@; - "# IkiWiki::Setup::Yaml - YAML formatted setup file", "#", (map { "# $_" } @_), @@ -37,7 +35,11 @@ sub dumpline ($$$$) { my $type=shift; my $prefix=shift; + eval q{use YAML::Old}; + eval q{use YAML} if $@; + die $@ if $@; $YAML::UseHeader=0; + my $dump=Dump({$key => $value}); chomp $dump; if (length $prefix) {