Initial commit, blog system works
This commit is contained in:
69
Makefile
Normal file
69
Makefile
Normal file
@@ -0,0 +1,69 @@
|
||||
# --- Web Sources ---
|
||||
REDBEAN_URL = https://redbean.dev/redbean-3.0.0.com
|
||||
FM_URL = https://raw.githubusercontent.com/pkulchenko/fullmoon/master/fullmoon.lua
|
||||
HTMX_URL = https://cdn.jsdelivr.net/npm/htmx.org@2.0.10/dist/htmx.min.js
|
||||
HLJS_URL = https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11/build/highlight.min.js
|
||||
PLEX_SERIF = https://github.com/IBM/plex/raw/master/IBM-Plex-Serif/fonts/complete/ttf
|
||||
PLEX_MONO = https://github.com/IBM/plex/raw/master/IBM-Plex-Mono/fonts/complete/ttf
|
||||
|
||||
# --- Targets ---
|
||||
TARGET = blog.com
|
||||
UPSTREAM_BIN = .deps/redbean.com
|
||||
LUA_DIR = .lua
|
||||
ASSET_DIR = static
|
||||
|
||||
LOCAL_LUA = .init.lua $(wildcard $(LUA_DIR)/*.lua)
|
||||
LOCAL_ASSET = $(wildcard $(ASSET_DIR)/*)
|
||||
|
||||
FILES = .init.lua .lua static
|
||||
FONTS = $(ASSET_DIR)/plex-serif-400.ttf \
|
||||
$(ASSET_DIR)/plex-serif-500.ttf \
|
||||
$(ASSET_DIR)/plex-mono-400.ttf \
|
||||
$(ASSET_DIR)/plex-mono-500.ttf
|
||||
|
||||
|
||||
.PHONY: all clean fetch build setup
|
||||
|
||||
all: $(TARGET)
|
||||
|
||||
$(LUA_DIR) $(ASSET_DIR) .deps:
|
||||
@mkdir -p $@
|
||||
|
||||
fetch: .deps/redbean.com $(LUA_DIR)/fm.lua $(ASSET_DIR)/htmx.min.js $(ASSET_DIR)/highlight.min.js fetch-fonts
|
||||
|
||||
.deps/redbean.com: | .deps
|
||||
curl -L $(REDBEAN_URL) -o $@
|
||||
chmod +x $@
|
||||
|
||||
$(LUA_DIR)/fm.lua: | $(LUA_DIR)
|
||||
curl -L $(FM_URL) -o $@
|
||||
|
||||
$(ASSET_DIR)/htmx.min.js: | $(ASSET_DIR)
|
||||
curl -L $(HTMX_URL) -o $@
|
||||
|
||||
$(ASSET_DIR)/highlight.min.js: | $(ASSET_DIR)
|
||||
curl -L $(HLJS_URL) -o $@
|
||||
|
||||
fetch-fonts: | $(ASSET_DIR)
|
||||
@echo "Fetching fonts..."
|
||||
curl -L $(PLEX_SERIF)/IBMPlexSerif-Regular.ttf -o $(ASSET_DIR)/plexserif400.ttf
|
||||
curl -L $(PLEX_SERIF)/IBMPlexSerif-Medium.ttf -o $(ASSET_DIR)/plexserif500.ttf
|
||||
curl -L $(PLEX_MONO)/IBMPlexMono-Regular.ttf -o $(ASSET_DIR)/plexmono400.ttf
|
||||
curl -L $(PLEX_MONO)/IBMPlexMono-Medium.ttf -o $(ASSET_DIR)/plexmono500.ttf
|
||||
|
||||
$(TARGET): fetch $(LOCAL_LUA) $(LOCAL_ASSET)
|
||||
cp $(UPSTREAM_BIN) $(TARGET)
|
||||
zip -r $(TARGET) .init.lua $(LUA_DIR)/ $(ASSET_DIR)/
|
||||
@echo "Build complete: $(TARGET)"
|
||||
|
||||
setup: $(TARGET)
|
||||
./$(TARGET) -i setup_admin.lua
|
||||
|
||||
clean:
|
||||
rm -f $(TARGET)
|
||||
rm -f .lua/fm.lua
|
||||
rm -f static/htmx.min.js
|
||||
rm -f static/highlight.min.js
|
||||
rm -f $(FONTS)
|
||||
rm -f blog.db
|
||||
rm -rf .deps
|
||||
Reference in New Issue
Block a user