Photos
Blog
Projects
vanrenterghem.biz
projects
/
git.ikiwiki.info.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
how I do this
[git.ikiwiki.info.git]
/
IkiWiki
/
Setup
/
Yaml.pm
diff --git
a/IkiWiki/Setup/Yaml.pm
b/IkiWiki/Setup/Yaml.pm
index 904784728e0a0cbc6314cf26006010b5e5d25d8a..8edd7126b0e33c2a8c07bfa329be72b997d0d81d 100644
(file)
--- a/
IkiWiki/Setup/Yaml.pm
+++ b/
IkiWiki/Setup/Yaml.pm
@@
-5,16
+5,15
@@
package IkiWiki::Setup::Yaml;
use warnings;
use strict;
use IkiWiki;
use warnings;
use strict;
use IkiWiki;
+use Encode;
sub loaddump ($$) {
my $class=shift;
my $content=shift;
sub loaddump ($$) {
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($content));
+ IkiWiki::Setup::merge(Load(encode_utf8($content)));
}
sub gendump ($@) {
}
sub gendump ($@) {
@@
-34,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));