Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use Algorithm::Combinatorics qw(combinations);
- # list language codes
- my @languages = sort {$b cmp $a } qw(es fr de it pt nl ga da sv en hu eo tr nb uk pl ru ca cy gn el he vi ro sw);
- my $iter;
- my $css1;
- my $css2;
- my $padding;
- my @languages1, @languages2, @languages3, @languages4;
- my $count = 0;
- foreach (@languages)
- {
- if ($count < 1 * scalar @languages / 5) { push @languages5, $_; }
- elsif ($count < 2 * scalar @languages / 5) { push @languages4, $_; }
- elsif ($count < 3 * scalar @languages / 5) { push @languages3, $_; }
- elsif ($count < 4 * scalar @languages / 5) { push @languages2, $_; }
- elsif ($count < 5 * scalar @languages / 5) { push @languages1, $_; }
- $count++;
- }
- # generate .flair background-image classes
- for (my $length = 1; $length <= scalar @languages1; $length++)
- {
- # iterate over the set of combinations of $length elements
- $iter = combinations(\@languages1, $length);
- while (my $i = $iter->next)
- {
- # @$i is now an array like [ru][uk][nb], so let's generate css from it
- $css1 = $css2 = "";
- $padding = (18 * $length) . "px";
- while ($output = pop @$i)
- {
- $css1 .= "[title*=\"$output\"]"; # the css selector
- if ($css2 ne "") { $css2 .= ","; }
- $css2 .= " url(%%$output%%)"; # the image references
- }
- print ".flair$css1 { background-image:$css2; padding-left: $padding }\n";
- }
- }
- # generate :before background-image classes
- for (my $length = 1; $length <= scalar @languages2; $length++)
- {
- # iterate over the set of combinations of $length elements
- $iter = combinations(\@languages2, $length);
- while (my $i = $iter->next)
- {
- # @$i is now an array like [ru][uk][nb], so let's generate css from it
- $css1 = $css2 = "";
- $padding = (18 * $length) . "px";
- while ($output = pop @$i)
- {
- $css1 .= "[title*=\"$output\"]"; # the css selector
- if ($css2 ne "") { $css2 .= ","; }
- $css2 .= " url(%%$output%%)"; # the image references
- }
- print ".flair$css1:before{ background-image:$css2; padding-left: $padding }\n";
- }
- }
- # generate :before content classes
- for (my $length = 1; $length <= scalar @languages3; $length++)
- {
- # iterate over the set of combinations of $length elements
- $iter = combinations(\@languages3, $length);
- while (my $i = $iter->next)
- {
- # @$i is now an array like [ru][uk][nb], so let's generate css from it
- $css1 = $css2 = "";
- while ($output = pop @$i)
- {
- $css1 .= "[title*=\"$output\"]"; # the css selector
- $css2 .= " url(%%$output%%)"; # the image references
- }
- print ".flair$css1:before{ content:$css2; }\n";
- }
- }
- # generate :after background-image classes
- for (my $length = 1; $length <= scalar @languages4; $length++)
- {
- # iterate over the set of combinations of $length elements
- $iter = combinations(\@languages4, $length);
- while (my $i = $iter->next)
- {
- # @$i is now an array like [ru][uk][nb], so let's generate css from it
- $css1 = $css2 = "";
- $padding = (18 * $length) . "px";
- while ($output = pop @$i)
- {
- $css1 .= "[title*=\"$output\"]"; # the css selector
- if ($css2 ne "") { $css2 .= ","; }
- $css2 .= " url(%%$output%%)"; # the image references
- }
- print ".flair$css1:after{ background-image:$css2; padding-left: $padding }\n";
- }
- }
- # generate :after content classes
- for (my $length = 1; $length <= scalar @languages5; $length++)
- {
- # iterate over the set of combinations of $length elements
- $iter = combinations(\@languages5, $length);
- while (my $i = $iter->next)
- {
- # @$i is now an array like [ru][uk][nb], so let's generate css from it
- $css1 = $css2 = "";
- while ($output = pop @$i)
- {
- $css1 .= "[title*=\"$output\"]"; # the css selector
- $css2 .= " url(%%$output%%)"; # the image references
- }
- print ".flair$css1:after{ content:$css2; }\n";
- }
- }
- print "\n\n";
- foreach (@languages)
- {
- print "a[href\$=\"#$_\"]{ background:url(%%$_%%); width:18px; height: 18px; }\n";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement