#!/usr/bin/perl
use strict;
use warnings;
use YAML;
local $/;
print yaml2css(<>);
sub yaml2css {
my $yaml = YAML::Load(shift);
my $css;
foreach my $selector ( keys %{ $yaml } ) {
$css .= sprintf "%s {\n", $selector;
foreach my $property ( keys %{ $yaml->{$selector} } ) {
$css .= sprintf "\t%s: %s;\n", $property, $yaml->{$selector}->{$property};
}
$css .= "}\n";
}
return $css;
}
id:naoya さんのコードとほとんど同じ。JSON のところを YAML に変えただけという。んで、
div#main:
color: #000
background: #FFF
border: 1px #000 solid
のような内容の YAML を用意、
perl yaml2css.pl < style.yaml
すると
div#main {
color: #000;
background: #FFF;
border: 1px #000 solid;
}
こんな感じのが返ってくる。
YAML で書いてる分、JSON より見易く書きやすいような気がする。CSS JSON との使い分けは
- CSS JSON → Javascript から使うとき
- CSS YAML → スクリプト(Perl とか)から使うとき
かな?
何に利用できるか思いつかない。
追記: 2006-12-20T15:55:00+09:00
このスクリプトのライセンスは id:naoya さんのスクリプトのライセンスに準拠します。
id:naoya さん曰く、 Perl のライセンスにしておきましょう ということなので、このスクリプトのライセンスは Perl のライセンスです。