LEKTOR_SERVER_FLAGS=-h 127.0.0.1 # minify javascript assets, compile scss assets LEKTOR_PLUGIN_FLAGS=-f scss -f pretifyhtml LEKTOR_DEPLOY_FLAGS= .PHONY: all install venv build server dev deploy all: build install: if hash apt-get 2>/dev/null; then \ apt-get update -qq >/dev/null && apt-get install -qq apt-utils imagemagick python3-pip python3-setuptools gcc git-lfs python3-venv; \ elif hash pacman 2>/dev/null; then \ pacman -Syu imagemagick python-pip glibc lib32-glibc gcc git-lfs python3-venv --noconfirm; \ elif hash dnf 2>/dev/null; then \ dnf install -y ImageMagick python3-pip gcc git-lfs; \ else \ echo -e "Please install Imagemagick, python3-pip git-lfs, python3-venv and gcc"; \ fi venv: if [ -z "${VIRTUAL_ENV}" ]; then \ printf "Run 'python3 -m venv lektor' to create venv.\nRun 'source lektor/bin/activate' to activate venv.\n"; \ printf "Run 'pip3 install wheel --upgrade' next.\nRun 'pip3 install lektor --upgrade' to install lektor"; \ fi build: if [ -z "${VIRTUAL_ENV}" ]; then \ printf "Run 'source lektor/bin/activate' to enable venv. Or 'make install' to create venv"; \ else \ if python3 -m lektor --version 2>/dev/null; then \ python3 -m lektor build $(LEKTOR_PLUGIN_FLAGS); \ else \ lektor build $(LEKTOR_PLUGIN_FLAGS); \ fi; \ fi server: if [ -z "${VIRTUAL_ENV}" ]; then \ printf "Run 'source lektor/bin/activate' to enable venv. Or 'make install' to create venv"; \ else \ if python3 -m lektor --version 2>/dev/null; then \ python3 -m lektor server $(LEKTOR_SERVER_FLAGS) $(LEKTOR_PLUGIN_FLAGS); \ else \ lektor server $(LEKTOR_SERVER_FLAGS) $(LEKTOR_PLUGIN_FLAGS); \ fi; \ fi dev: if [ -z "${VIRTUAL_ENV}" ]; then \ printf "Run 'source lektor/bin/activate' to enable venv. Or 'make install' and 'make venv' to create venv"; \ else \ lektor plugin flush-cache; \ lektor clean --yes ; \ if python3 -m lektor --version 2>/dev/null; then \ python3 -m lektor server $(LEKTOR_SERVER_FLAGS) $(LEKTOR_PLUGIN_FLAGS); \ else \ lektor server $(LEKTOR_SERVER_FLAGS) $(LEKTOR_PLUGIN_FLAGS); \ fi; \ fi deploy: if [ -z "${VIRTUAL_ENV}" ]; then \ printf "Run 'source lektor/bin/activate' to enable venv. Or 'make install' and 'make venv' to create venv"; \ else lektor clean --yes; \ lektor plugin flush-cache; \ lektor build $(LEKTOR_PLUGIN_FLAGS) $(LEKTOR_DEPLOY_FLAGS); \ lektor deploy $(LEKTOR_PLUGIN_FLAGS) $(LEKTOR_DEPLOY_FLAGS); \ fi