optim classes done
This commit is contained in:
parent
5a534922eb
commit
993d61a114
2
build.sh
2
build.sh
|
@ -13,3 +13,5 @@ echo "Update file size"
|
|||
echo "Building RSS"
|
||||
./mkrss.sh
|
||||
echo "RSS Built"
|
||||
echo "Optim Classes accross CSS/HTML"
|
||||
./optim-classes.sh
|
||||
|
|
|
@ -1,16 +1,12 @@
|
|||
#!/bin/zsh
|
||||
|
||||
classes=( $(cat _site/**/*.html | perl -p -e 's/class="?([a-zA-Z0-9-_]*)/\nCLASS: $1\n/g'|grep CLASS|sort -u|cut -d\ -f 2,2) )
|
||||
classes=( $( {cat _site/**/*.html | perl -p -e 's/class="?([a-zA-Z0-9_-]*)/\nCLASS: $1\n/g'; cat _site/**/*.css | perl -p -e 's/\.([a-zA-Z-_][a-zA-Z0-9-_]*)/\nCLASS: $1\n/g'}|grep CLASS|sort -u|cut -d\ -f 2,2|awk 'length($1)>2 {print length($1),$1}'|sort -n|cut -d\ -f 2,2) )
|
||||
|
||||
chr() {
|
||||
[ "$1" -lt 26 ] || return 1
|
||||
printf "\\$(printf '%03o' $(( 97 + $1 )))"
|
||||
}
|
||||
|
||||
ord() {
|
||||
LC_CTYPE=C printf '%d' "'$1"
|
||||
}
|
||||
|
||||
shortName() {
|
||||
if [ "$1" -gt 25 ]; then
|
||||
print -- $(shortName $(( ( $1 / 26 ) - 1 )))$(shortName $(( $1 % 26 )))
|
||||
|
@ -23,26 +19,21 @@ i=0;
|
|||
typeset -A assoc
|
||||
for c in $classes; do
|
||||
sn=$(shortName $i)
|
||||
print "$c $sn"
|
||||
print "$c -> $sn"
|
||||
assoc[$c]=$sn
|
||||
((i++))
|
||||
done
|
||||
|
||||
hmltreplace=''
|
||||
cssreplace=''
|
||||
for long in $classes; do
|
||||
htmlreplace="${htmlreplace}s/\(class=\"\?\)${long}/\$\{1\}${assoc[${long}]}/g;"
|
||||
cssreplace="${cssreplace}s/\(\\.\)${long}/\$\{1\}${assoc[${long}]}/g;"
|
||||
done
|
||||
|
||||
print -- $htmlreplace
|
||||
print -- $cssreplace
|
||||
|
||||
for fic in _site/**/*.html; do
|
||||
print -- $fic
|
||||
perl -pi -e $htmlreplace $fic;
|
||||
for long in $classes; do
|
||||
perl -pi -e 's#class=("?)'${long}'#class=$1'${assoc[$long]}'#g' $fic
|
||||
done
|
||||
done
|
||||
for fic in _site/**/*.css; do
|
||||
echo $fic
|
||||
perl -pi -e $cssreplace $fic;
|
||||
for long in $classes; do
|
||||
perl -pi -e 's#\.'"${long}"'#.'"${assoc[$long]}"'#g' $fic
|
||||
done
|
||||
done
|
||||
|
|
Loading…
Reference in a new issue