for (@gd_images) {
my $name = fileparse($_->{filename}, ".png");
- $name =~ s/ /-/g;
+
+ # the full grammar for valid css class names is completely bonkers (to put it mildly).
+ # so instead of trying to punch filenames into those class names, we'll
+ # just reduce them to a nice minimal set of lower case /[a-z0-9_-]*/
+ $name = lc $name;
+ $name =~ s/[^a-z0-9_-]/-/g;
print $file ".$class_for_map.$name { background-position: -$_->{h_offset}px 0px; }\n";
}
}