CMS 2.0 - Theme engine, logging, admin improvements
Major changes: - New ThemeManager with Twig templating and SCSS compilation - Dynamic themes system (themes/default, themes/demo) - LogManager with SQLite storage and syslog forwarding - RequestLogger with static helper methods - Admin UI overhaul (Bootstrap 5, dark mode) - Admin config page with logging and theme settings - Admin logs page with filters and search - Removed legacy Mustache templates - Removed test plugin and theme - Composer dependencies: Twig, scssphp, CommonMark, MaxMind GeoIP
This commit is contained in:
Executable
+47
@@ -0,0 +1,47 @@
|
||||
#!/usr/bin/env bash
|
||||
# Generate theme.png preview images for each theme using ImageMagick.
|
||||
# Reads the theme's SCSS color variables and renders a simple page mockup.
|
||||
set -euo pipefail
|
||||
|
||||
cd "$(dirname "$0")/../themes"
|
||||
|
||||
gen_preview() {
|
||||
local dir="$1"
|
||||
local scss="$dir/css/theme.scss"
|
||||
if [[ ! -f "$scss" ]]; then
|
||||
echo "Skip $dir (no theme.scss)"
|
||||
return
|
||||
fi
|
||||
|
||||
local header_bg header_font nav_bg nav_font sidebar_bg sidebar_border
|
||||
header_bg=$(grep -oE '^\$header-bg:\s*[^;]+;' "$scss" | grep -oE '#[0-9a-fA-F]{6}' || echo "#0a369d")
|
||||
header_font=$(grep -oE '^\$header-font:\s*[^;]+;' "$scss" | grep -oE '#[0-9a-fA-F]{6}' || echo "#ffffff")
|
||||
nav_bg=$(grep -oE '^\$nav-bg:\s*[^;]+;' "$scss" | grep -oE '#[0-9a-fA-F]{6}' || echo "#2754b4")
|
||||
nav_font=$(grep -oE '^\$nav-font:\s*[^;]+;' "$scss" | grep -oE '#[0-9a-fA-F]{6}' || echo "#ffffff")
|
||||
sidebar_bg=$(grep -oE '^\$sidebar-bg:\s*[^;]+;' "$scss" | grep -oE '#[0-9a-fA-F]{6}' || echo "#f8f9fa")
|
||||
sidebar_border=$(grep -oE '^\$sidebar-border:\s*[^;]+;' "$scss" | grep -oE '#[0-9a-fA-F]{6}' || echo "#dee2e6")
|
||||
|
||||
local size=640x400
|
||||
local body_bg="#ffffff"
|
||||
|
||||
# Header bar
|
||||
convert -size "$size" xc:"$body_bg" \
|
||||
-fill "$header_bg" -draw "rectangle 0,0 639,70" \
|
||||
-fill "$nav_bg" -draw "rectangle 0,70 639,95" \
|
||||
-fill "$sidebar_bg" -draw "rectangle 0,95 180,399" \
|
||||
-fill "$header_font" -font DejaVu-Sans-Bold -pointsize 20 -annotate +15+22 "$(basename "$dir")" \
|
||||
-fill "$header_font" -font DejaVu-Sans -pointsize 13 -annotate +15+45 "CodePress" \
|
||||
-fill "$nav_font" -font DejaVu-Sans -pointsize 12 -annotate +15+85 "Home | Over | Blog" \
|
||||
-fill "#666666" -font DejaVu-Sans -pointsize 14 -annotate +200+130 "Welkom bij $(basename "$dir")" \
|
||||
-fill "#999999" -font DejaVu-Sans -pointsize 11 -annotate +200+155 "Dit is een voorbeeld van het thema." \
|
||||
-fill "#cccccc" -draw "rectangle 200,400 639,399" \
|
||||
"$dir/theme.png"
|
||||
|
||||
echo "Generated $dir/theme.png"
|
||||
}
|
||||
|
||||
for d in default demo test; do
|
||||
if [[ -d "$d" ]]; then
|
||||
gen_preview "$d"
|
||||
fi
|
||||
done
|
||||
Reference in New Issue
Block a user