From 49f92cb14418b8f993fc176bb3e966fe03c8b77c Mon Sep 17 00:00:00 2001 From: L3D Date: Sat, 29 Apr 2023 15:23:23 +0200 Subject: [PATCH] Improve deployment info --- .gitignore | 1 + Makefile | 83 +++++++++++++++++++++++++++++++++++------------------- README.md | 7 +++-- 3 files changed, 60 insertions(+), 31 deletions(-) diff --git a/.gitignore b/.gitignore index 1b217b3..fd111c9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ # lektor packages/ +lektor/ # ---> Vim # swap diff --git a/Makefile b/Makefile index 87aea83..05538c5 100644 --- a/Makefile +++ b/Makefile @@ -3,55 +3,80 @@ LEKTOR_SERVER_FLAGS=-h 127.0.0.1 LEKTOR_PLUGIN_FLAGS=-f scss -f pretifyhtml LEKTOR_DEPLOY_FLAGS= +.PHONY: all install venv build server deploy pull push + all: build -.ONESHELL: install: - if hash apt-get 2>/dev/null; then - sudo apt-get update -qq >/dev/null && sudo apt-get install -qq apt-utils imagemagick python3-pip python3-setuptools gcc git-lfs - elif hash pacman 2>/dev/null; then - sudo pacman -Syu imagemagick python-pip glibc lib32-glibc gcc git-lfs --noconfirm - elif hash dnf 2>/dev/null; then - sudo dnf install -y ImageMagick python3-pip gcc git-lfs - else - echo -e "Please install Imagemagick, python3-pip git-lfs and gcc" + 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 rsync dos2unix; \ + elif hash pacman 2>/dev/null; then \ + pacman -Syu imagemagick python-pip glibc lib32-glibc gcc git-lfs python3-venv rsync dos2unix --noconfirm; \ + elif hash dnf 2>/dev/null; then \ + dnf install -y ImageMagick python3-pip gcc git-lfs rsync dos2unix; \ + else \ + echo -e "Please install Imagemagick, python3-pip git-lfs, python3-venv, rsync, gcc and dos2unix"; \ + fi + +venv: + if [ -z "${VIRTUAL_ENV}" ]; then \ + printf "Run '\033[0;33mpython3 -m venv lektor\033[0;37m' to create venv.\nRun '\033[0;33msource lektor/bin/activate\033[0;37m' to activate venv.\n"; \ + printf "Run '\033[0;33mpip3 install wheel --upgrade\033[0;37m' next.\nRun '\033[0;33mpip3 install lektor --upgrade\033[0;37m' to install lektor\n"; \ fi - sudo pip3 install wheel --upgrade - sudo pip3 install lektor --upgrade - echo -e "Pleas make sure you have unix2dos available!" build: - if python3 -m lektor --version 2>/dev/null; then - python3 -m lektor build $(LEKTOR_PLUGIN_FLAGS) - else - lektor build $(LEKTOR_PLUGIN_FLAGS) + 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 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) + 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 + deploy: - lektor clean --yes - lektor plugin flush-cache - lektor build $(LEKTOR_PLUGIN_FLAGS) $(LEKTOR_DEPLOY_FLAGS) - unix2dos temp/builds/c3woc.de/waffeln.ics - lektor deploy $(LEKTOR_PLUGIN_FLAGS) $(LEKTOR_DEPLOY_FLAGS) + if [ -z "${VIRTUAL_ENV}" ]; then \ + printf "Run 'source lektor/bin/activate' to enable venv. Or 'make install' to create venv"; \ + else \ + lektor plugin flush-cache; \ + lektor clean --yes; \ + rm assets/svg/*; \ + if python3 -m lektor --version 2>/dev/null; then \ + python3 -m lektor build $(LEKTOR_PLUGIN_FLAGS) $(LEKTOR_DEPLOY_FLAGS); \ + unix2dos temp/builds/c3woc.de/waffeln.ics + python3 -m lektor deploy $(LEKTOR_PLUGIN_FLAGS) $(LEKTOR_DEPLOY_FLAGS); \ + else \ + lektor build $(LEKTOR_PLUGIN_FLAGS) $(LEKTOR_DEPLOY_FLAGS); \ + unix2dos temp/builds/c3woc.de/waffeln.ics + lektor deploy $(LEKTOR_PLUGIN_FLAGS) $(LEKTOR_DEPLOY_FLAGS); \ + fi; \ + fi + pull: if git config remote.github.url > /dev/null; then git pull github main else - git remote add github git@github.com:c3woc/c3woc-website.git + git remote add github https://github.com/c3woc/c3woc-website.git git pull github main fi if git config remote.backwesen.url > /dev/null; then git pull backwesen main else - git remote add backwesen gitea@backwesen.de:c3woc/webseite.git + git remote add backwesen https://backwesen.de/c3woc/webseite.git git pull backwesen main fi git pull origin main @@ -60,12 +85,12 @@ push: if git config remote.github.url > /dev/null; then git push github main else - git remote add github git@github.com:c3woc/c3woc-website.git + git remote add github https://github.com/c3woc/c3woc-website.git git push github main fi if git config remote.backwesen.url > /dev/null; then git push backwesen main else - git remote add backwesen gitea@backwesen.de:l3d/webseite.git + git remote add backwesen https://backwesen.de/l3d/webseite.git git push github main fi diff --git a/README.md b/README.md index a116cb4..02b30d1 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ Dieses ruft ihr so auf: sudo apt install git-lfs # clont das git (hier von gitea) -git clone https://gitea.see-base.de/C3WOC/c3woc-webseite.git +git clone https://backwesen.de/c3woc/webseite.git # installiere make um das Makefile auszuführen sudo apt install make @@ -43,8 +43,11 @@ sudo apt install make # betrete das geklonte repo: cd c3woc-webseite -# installiere lektor + abhängigkeiten +# installiere abhängigkeiten make install + +# Insturctions how to create venv +make venv ``` Zur C3WOC Webseite etwas beitragen: