#!/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 <