]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Setup/Yaml.pm
(no commit message)
[git.ikiwiki.info.git] / IkiWiki / Setup / Yaml.pm
index 6da93bb644bb5f639dd6871b492782cfa059345d..8edd7126b0e33c2a8c07bfa329be72b997d0d81d 100644 (file)
@@ -11,10 +11,8 @@ sub loaddump ($$) {
        my $class=shift;
        my $content=shift;
 
        my $class=shift;
        my $content=shift;
 
-       eval q{use YAML::Any};
-       eval q{use YAML} if $@;
+       eval q{use YAML::XS};
        die $@ if $@;
        die $@ if $@;
-       $YAML::Syck::ImplicitUnicode=1;
        IkiWiki::Setup::merge(Load(encode_utf8($content)));
 }
 
        IkiWiki::Setup::merge(Load(encode_utf8($content)));
 }
 
@@ -35,12 +33,14 @@ sub dumpline ($$$$) {
        my $type=shift;
        my $prefix=shift;
        
        my $type=shift;
        my $prefix=shift;
        
-       eval q{use YAML::Old};
-       eval q{use YAML} if $@;
+       eval q{use YAML::XS};
        die $@ if $@;
        die $@ if $@;
-       $YAML::UseHeader=0;
+       no warnings 'once';
+       $YAML::XS::QuoteNumericStrings=0;
+       use warnings;
 
 
-       my $dump=Dump({$key => $value});
+       my $dump=decode_utf8(Dump({$key => $value}));
+       $dump=~s/^---\n//; # yaml header, we don't want
        chomp $dump;
        if (length $prefix) {
                $dump=join("\n", map { $prefix.$_ } split(/\n/, $dump));
        chomp $dump;
        if (length $prefix) {
                $dump=join("\n", map { $prefix.$_ } split(/\n/, $dump));