build: Makefile für typische Operationen
This commit is contained in:
parent
f0dfefa36e
commit
64d1a830d4
3 changed files with 60 additions and 2 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,3 +1,4 @@
|
||||||
|
build/
|
||||||
public/
|
public/
|
||||||
resources/_gen
|
resources/_gen
|
||||||
.hugo_build.lock
|
.hugo_build.lock
|
||||||
|
|
46
Makefile
Normal file
46
Makefile
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
BUILD_DIR ?= build
|
||||||
|
EXPORT_DIR ?= public
|
||||||
|
BUILD_STAMP_HUGO = $(BUILD_DIR)/.stamp-hugo
|
||||||
|
BUILD_STAMP_THEME = $(BUILD_DIR)/.stamp-theme
|
||||||
|
SOURCE_DIRS = content data resources static
|
||||||
|
THEME_DIR ?= themes/hugo-geekdoc
|
||||||
|
BUILD_DEPS = config.toml $(shell find $(wildcard $(SOURCE_DIRS)) -type f)
|
||||||
|
HUGO_OPTS ?= --destination=$(EXPORT_DIR)
|
||||||
|
|
||||||
|
UPLOAD_SSH_HOST = hosting.sao
|
||||||
|
UPLOAD_TARGET_DIRECTORY = /data/webserver/hilfe.systemausfall.org/public
|
||||||
|
|
||||||
|
|
||||||
|
.PHONY: help
|
||||||
|
help:
|
||||||
|
@echo "Mögliche Ziele:"
|
||||||
|
@echo " build - Webseite erzeugen"
|
||||||
|
@echo " build-theme - Theme-Assets erzeugen"
|
||||||
|
@echo " upload - erzeugte Webseite hochladen"
|
||||||
|
@echo
|
||||||
|
|
||||||
|
.PHONY: build
|
||||||
|
build: $(BUILD_STAMP_HUGO)
|
||||||
|
|
||||||
|
$(BUILD_STAMP_HUGO): $(BUILD_DEPS) $(BUILD_STAMP_THEME) Makefile
|
||||||
|
@HUGO_ENV=production hugo $(HUGO_OPTS)
|
||||||
|
@touch "$@"
|
||||||
|
|
||||||
|
.PHONY: build-theme
|
||||||
|
build-theme: $(BUILD_STAMP_THEME)
|
||||||
|
|
||||||
|
$(BUILD_STAMP_THEME):
|
||||||
|
cd "$(THEME_DIR)" \
|
||||||
|
&& npm install \
|
||||||
|
&& npm run build
|
||||||
|
touch "$@"
|
||||||
|
|
||||||
|
.PHONY: upload
|
||||||
|
upload: $(BUILD_STAMP_HUGO)
|
||||||
|
@rsync -ax --delete \
|
||||||
|
"$(EXPORT_DIR)/" \
|
||||||
|
"$(UPLOAD_SSH_HOST):$(UPLOAD_TARGET_DIRECTORY)/"
|
||||||
|
|
||||||
|
.PHONY: clean
|
||||||
|
clean:
|
||||||
|
$(RM) -r "$(BUILD_DIR)"
|
15
README.md
15
README.md
|
@ -15,13 +15,24 @@ Die sind die systemausfall.org-[Hilfeseiten](https://hilfe.systemausfall.org).
|
||||||
|
|
||||||
- Erzeuge einen neuen statischen build mit:
|
- Erzeuge einen neuen statischen build mit:
|
||||||
```Shell
|
```Shell
|
||||||
hugo
|
make build
|
||||||
```
|
```
|
||||||
- Kopiere das `public`-Verzeichnis auf den entsprechenden Webserver:
|
- Kopiere das `public`-Verzeichnis auf den entsprechenden Webserver:
|
||||||
```Shell
|
```Shell
|
||||||
scp -r public/ hosting.sao:/data/webserver/hilfe.systemausfall.org
|
make upload
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
# Build der Theme-Assets erzwingen
|
||||||
|
|
||||||
|
Nachdem die Theme-Assets initial gebaut wurden, werden spätere Änderungen nicht automatisch
|
||||||
|
erkannt.
|
||||||
|
Ein erneutes Erzeugen der Assets kann jedoch erzwungen werden:
|
||||||
|
```shell
|
||||||
|
make build-theme
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
# Theme anpassen
|
# Theme anpassen
|
||||||
|
|
||||||
1. Änderungen im Theme (in `themes/hugo-geekdoc/`) vornehmen, committen und pushen
|
1. Änderungen im Theme (in `themes/hugo-geekdoc/`) vornehmen, committen und pushen
|
||||||
|
|
Loading…
Reference in a new issue