zola.386 trae JS de bootstrap/jquery, íconos y las fuentes DOS, pero ninguna plantilla local los referencia; se publicaban igual porque static/ se copia tal cual. Reubica los 3 CSS que compile_sass sí necesita a vendor/ (fuera de static/) y descarta el resto. public/ pasa de 1268 KB / 110 archivos a 672 KB / 58 archivos, sin cambio visual ni de tiempo de build (~0.3s).
62 lines
2.0 KiB
Bash
Executable File
62 lines
2.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
REF="${ZOLA386_REF:-d9c9726435d1347341f2171f9aa751291f1db93d}"
|
|
DEST="$ROOT/themes/zola.386"
|
|
SOURCE="${ZOLA386_SOURCE:-}"
|
|
TMP=""
|
|
|
|
cleanup() {
|
|
if [[ -n "$TMP" && -d "$TMP" ]]; then
|
|
rm -rf "$TMP"
|
|
fi
|
|
}
|
|
trap cleanup EXIT
|
|
|
|
if [[ -z "$SOURCE" ]]; then
|
|
TMP="$(mktemp -d)"
|
|
SOURCE="$TMP/source"
|
|
git init -q "$SOURCE"
|
|
git -C "$SOURCE" remote add origin https://github.com/lopes/zola.386.git
|
|
git -C "$SOURCE" fetch -q --depth 1 origin "$REF"
|
|
git -C "$SOURCE" checkout -q --detach FETCH_HEAD
|
|
else
|
|
SOURCE="$(cd "$SOURCE" && pwd)"
|
|
fi
|
|
|
|
for required in sass static theme.toml; do
|
|
if [[ ! -e "$SOURCE/$required" ]]; then
|
|
echo "Falta $required en el tema fuente: $SOURCE" >&2
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
rm -rf "$DEST"
|
|
mkdir -p "$DEST"
|
|
mkdir -p "$DEST/templates"
|
|
cp -R "$SOURCE/sass" "$DEST/sass"
|
|
cp -R "$SOURCE/static" "$DEST/static"
|
|
cp "$SOURCE/theme.toml" "$DEST/theme.toml"
|
|
[[ -f "$SOURCE/LICENSE" ]] && cp "$SOURCE/LICENSE" "$DEST/LICENSE"
|
|
[[ -f "$SOURCE/README.md" ]] && cp "$SOURCE/README.md" "$DEST/UPSTREAM_README.md"
|
|
printf '%s\n' "$REF" > "$DEST/.upstream-revision"
|
|
|
|
# Ninguna plantilla local referencia el JS/iconos/fuentes DOS del tema, y
|
|
# static/ se publica tal cual junto al sitio: sin podarlo, ~65% del build
|
|
# es peso muerto. compile_sass solo necesita los 3 CSS que importa
|
|
# site.scss, así que se mueven fuera de static/ (a vendor/, que Zola no
|
|
# copia) y el resto de static/ se descarta.
|
|
mkdir -p "$DEST/vendor/css"
|
|
mv "$DEST/static/css/bootstrap.css" "$DEST/static/css/bootstrap-responsive.css" "$DEST/static/css/style.css" "$DEST/vendor/css/"
|
|
sed -i 's#\.\./static/css/#../vendor/css/#g' "$DEST/sass/site.scss"
|
|
rm -rf "$DEST/static"
|
|
mkdir -p "$DEST/static"
|
|
|
|
cat <<MSG
|
|
Tema zola.386 preparado en themes/zola.386
|
|
Revisión fijada: $REF
|
|
Se conservaron Sass y archivos estáticos; las plantillas locales modernas tienen precedencia.
|
|
static/ podado a solo lo necesario para compile_sass (sin JS/iconos/fuentes sin referenciar).
|
|
MSG
|