48 lines
2.3 KiB
Bash
48 lines
2.3 KiB
Bash
#!/usr/bin/env bash
|
|
# Скачивает статические ресурсы UI в static/ (для офлайн-работы без CDN).
|
|
set -euo pipefail
|
|
|
|
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
|
STATIC="${ROOT}/static"
|
|
FA_VER="6.5.2"
|
|
CHART_VER="4.4.1"
|
|
|
|
mkdir -p "${STATIC}/fonts/inter" "${STATIC}/fonts/roboto" "${STATIC}/webfonts" "${STATIC}/js" "${STATIC}/icons"
|
|
|
|
echo "==> Chart.js ${CHART_VER}"
|
|
curl -fsSL -o "${STATIC}/js/chart.umd.min.js" \
|
|
"https://cdn.jsdelivr.net/npm/chart.js@${CHART_VER}/dist/chart.umd.min.js"
|
|
|
|
echo "==> Inter (5 начертаний)"
|
|
curl -fsSL -o "${STATIC}/fonts/inter/inter-300.ttf" \
|
|
"https://fonts.gstatic.com/s/inter/v18/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuOKfMZg.ttf"
|
|
curl -fsSL -o "${STATIC}/fonts/inter/inter-400.ttf" \
|
|
"https://fonts.gstatic.com/s/inter/v18/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfMZg.ttf"
|
|
curl -fsSL -o "${STATIC}/fonts/inter/inter-500.ttf" \
|
|
"https://fonts.gstatic.com/s/inter/v18/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuI6fMZg.ttf"
|
|
curl -fsSL -o "${STATIC}/fonts/inter/inter-600.ttf" \
|
|
"https://fonts.gstatic.com/s/inter/v18/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuGKYMZg.ttf"
|
|
curl -fsSL -o "${STATIC}/fonts/inter/inter-700.ttf" \
|
|
"https://fonts.gstatic.com/s/inter/v18/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuFuYMZg.ttf"
|
|
|
|
echo "==> Roboto (400/500/700)"
|
|
curl -fsSL -o "${STATIC}/fonts/roboto/roboto-400.ttf" \
|
|
"https://fonts.gstatic.com/s/roboto/v47/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbWmT.ttf"
|
|
curl -fsSL -o "${STATIC}/fonts/roboto/roboto-500.ttf" \
|
|
"https://fonts.gstatic.com/s/roboto/v47/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWub2bWmT.ttf"
|
|
curl -fsSL -o "${STATIC}/fonts/roboto/roboto-700.ttf" \
|
|
"https://fonts.gstatic.com/s/roboto/v47/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuYjammT.ttf"
|
|
|
|
echo "==> Font Awesome webfonts ${FA_VER}"
|
|
for f in fa-brands-400 fa-regular-400 fa-solid-900 fa-v4compatibility; do
|
|
curl -fsSL -o "${STATIC}/webfonts/${f}.woff2" \
|
|
"https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@${FA_VER}/webfonts/${f}.woff2"
|
|
curl -fsSL -o "${STATIC}/webfonts/${f}.ttf" \
|
|
"https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@${FA_VER}/webfonts/${f}.ttf"
|
|
done
|
|
|
|
echo "==> Verify (offline guard)"
|
|
"${ROOT}/scripts/verify_static_offline_assets.py"
|
|
|
|
echo "OK — static assets in ${STATIC}"
|