diff options
-rw-r--r-- | IkiWiki/Setup/Yaml.pm | 43 | ||||
-rw-r--r-- | debian/changelog | 1 |
2 files changed, 44 insertions, 0 deletions
diff --git a/IkiWiki/Setup/Yaml.pm b/IkiWiki/Setup/Yaml.pm new file mode 100644 index 000000000..ba9192faf --- /dev/null +++ b/IkiWiki/Setup/Yaml.pm @@ -0,0 +1,43 @@ +#!/usr/bin/perl + +package IkiWiki::Setup::Yaml; + +use warnings; +use strict; +use IkiWiki; +use YAML; + +sub loaddump ($$) { + my $class=shift; + my $content=shift; + + IkiWiki::Setup::merge(Load($content)); +} + +sub gendump ($@) { + my $class=shift; + + "# IkiWiki::Setup::Yaml - YAML formatted setup file", + "#", + (map { "# $_" } @_), + "#", + IkiWiki::Setup::commented_dump(\&dumpline, "") +} + + +sub dumpline ($$$$) { + my $key=shift; + my $value=shift; + my $type=shift; + my $prefix=shift; + + $YAML::UseHeader=0; + my $dump=Dump({$key => $value}); + chomp $dump; + if (length $prefix) { + $dump=join("", map { $prefix.$_ } split(/\n/, $dump)); + } + return $dump; +} + +1 diff --git a/debian/changelog b/debian/changelog index 73f6fcff8..e020b380f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -13,6 +13,7 @@ ikiwiki (3.20100313) UNRELEASED; urgency=low for security or other reasons. Closes: #447267 (Thanks to Aaron Wilson for the original patch.) * Allow wrappers to be built using tcc. + * Add support for setup files written in YAML. -- Joey Hess <joeyh@debian.org> Sat, 13 Mar 2010 14:48:10 -0500 |