From 5a534922eb1bdda2ecc6a8f58f053dc28ae28348 Mon Sep 17 00:00:00 2001 From: "Yann Esposito (Yogsototh)" Date: Thu, 5 Dec 2019 14:55:51 +0100 Subject: [PATCH] optim WIP --- optim-classes.sh | 48 +++++++++++++++++++++++++++++++++++++++++++++++ optim-html.sh | 4 +++- project.el | 9 ++++----- project.el.sig | Bin 586 -> 586 bytes 4 files changed, 55 insertions(+), 6 deletions(-) create mode 100755 optim-classes.sh diff --git a/optim-classes.sh b/optim-classes.sh new file mode 100755 index 0000000..b648402 --- /dev/null +++ b/optim-classes.sh @@ -0,0 +1,48 @@ +#!/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) ) + +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 ))) + else + chr $1 + fi +} + +i=0; +typeset -A assoc +for c in $classes; do + sn=$(shortName $i) + 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; +done +for fic in _site/**/*.css; do + echo $fic + perl -pi -e $cssreplace $fic; +done diff --git a/optim-html.sh b/optim-html.sh index b689a78..4e2b85f 100755 --- a/optim-html.sh +++ b/optim-html.sh @@ -23,6 +23,8 @@ for fic in $filelist; do continue fi print -n -- "$fic " - cp $fic $tmp; minify --mime text/html $tmp > $fic + cp $fic $tmp + perl -pi -e 's#
$fic print "[OK]" done diff --git a/project.el b/project.el index 797dc65..d2eb329 100644 --- a/project.el +++ b/project.el @@ -24,10 +24,9 @@ (defvar org-blog-head (concat - "" - "" - "" - "")) + "" + "" + "")) (defun menu (lst) "Blog menu" @@ -101,7 +100,7 @@ (format "
Created: %s (%s)
" date (y-date date))) (when-let ((keywords (plist-get info :keywords))) (format "
Keywords: %s
" keywords)) - "" + "" (format "
Generated: %s
" (format-time-string "%Y-%m-%d %H:%M:%S")) "
Size: XXK (HTML: XXK, CSS: XXK, IMG: XXK)
" diff --git a/project.el.sig b/project.el.sig index 0abcca489fe2fdd93ef85bf0b534a9ea56398832..1873af120ce8165cb14816e43e95b702108bd5a7 100644 GIT binary patch delta 534 zcmV+x0_pwA1j+=EBLnFDmXRhPe^llW0G(=wS+=|!psDNPnQ&2*`=hlh)O&evt0E}q zUHFX|7)6?>(fEi!o-?txyI_k7q-v(U7apL5*9R2bQG>v;c|-0Ze7Fp3DWSuN_j_zP z#Dfp^yS>4R?KW)l7RAAp5j+nylaIq<;?SP*7{bIO1fhFDrBzRjZb`yde>OY4hXL(* zh0kS=)u0l&^vqWbVrAQ9|YHcvG_@WsK*P{qM3qitg-1m$f% zOv##4Mk??iMN!42{mped0r3$DJNKR)9&PrDD>p0_eFyQ99DCl$;Cq;a?-C|;Zt2(j zSfj0_$Y9C(PP=}WFR*l2e?|&R#EppF!3C87UxP$AZ|xwQ`JoR?4Ejxx&#bQ*5B+H4 z^K&R*lqkjI;K16}7a$>os1>B~+1b`}oWN?^>TphA&cYjwAlf$ygh4kA7akcR&e#we zXflI`$FN;t=9-ZyMVG=d*mWs6s50Jl`TD@;zeJh>U%dur36qQ0f9Ls}$uyRo^VPHq z%XW;sS2w2Nj_kh9VS&lE3eC&+c@P1k%B YuHhqJ`+~FQS8(rR2=RA?Zup&Ohqz1(lK=n! delta 534 zcmV+x0_pwA1j+=EBLm;-vXLere`Deh0E_vJ>qKXxrFFEix0T&wS5Yo0eefl13~7S+ z!3Jpc?&UHVxe@nWz{E7GL>D)sbI#Wr!lfB*w$(RHBJ<08UYH1HwX_diXKCWq+b2&8 ztPrcsG(z^ql4}w>rr88ME|aa7@!e}vB4Ti>O|;?)TFseP8l=7L0WY=0eT&LJ~yw!(h$O}hm89ENiiRkB2Y;(Yzi zfgwfpA+epX%}}jf!c6McMv@US-5Sc^ir9O0Sk4WSwaFu*_XDpB*aHA61kYEL8g>_U zEjSaG^d!fEFpbmhv?rr+e{)CFHL$h5a4O(DrDjSFCS+KZvE+Z1}d}9*c_h&YW1|9gAHVe~hJ3IJ4Tr?SEd8 z_1Jaf37!mra;#+s2xGXZ_1lKI8Nx#bfB*mh