diff --git a/Makefile b/Makefile index c1dc3a3..e3e4894 100755 --- a/Makefile +++ b/Makefile @@ -1,11 +1,15 @@ -.PHONY: all clean norm author help +.PHONY: all clean norm author author-stop author-restart help VENV := .venv PY := $(VENV)/bin/python PIP := $(VENV)/bin/pip PERM_DIR := /home/zaine/master-folder/projects/scripts/bash-scripts -all: set-perms clean-output build search clean-venv author +AUTHOR_PORT := 8765 +AUTHOR_PID := /home/zaine/logs/authoring-server.pid +AUTHOR_LOG := /home/zaine/logs/authoring-server.log + +all: set-perms clean-output build search clean-venv author-restart build: @echo "Building project..." @@ -37,18 +41,49 @@ norm: find . -path ./backups -prune -o -type f -name '*~' -exec mv {} backups/ \; author: - @echo "Starting local authoring UI..." + @echo "Starting local authoring UI in foreground..." python3 authoring_server.py -# Show help message +author-stop: + @echo "Stopping existing authoring UI if running..." + @mkdir -p /home/zaine/logs + @if [ -f "$(AUTHOR_PID)" ]; then \ + PID=$$(cat "$(AUTHOR_PID)"); \ + if kill -0 $$PID 2>/dev/null; then \ + echo "Killing PID $$PID"; \ + kill $$PID || true; \ + sleep 1; \ + fi; \ + rm -f "$(AUTHOR_PID)"; \ + fi + @fuser -k $(AUTHOR_PORT)/tcp 2>/dev/null || true + +author-restart: author-stop + @echo "Starting authoring UI on port $(AUTHOR_PORT)..." + @mkdir -p /home/zaine/logs + @nohup python3 authoring_server.py > "$(AUTHOR_LOG)" 2>&1 & echo $$! > "$(AUTHOR_PID)" + @echo "Waiting for authoring UI to respond..." + @for i in 1 2 3 4 5 6 7 8 9 10; do \ + if curl -fsS http://127.0.0.1:$(AUTHOR_PORT)/ >/dev/null; then \ + echo "Authoring UI is running on http://127.0.0.1:$(AUTHOR_PORT)/"; \ + exit 0; \ + fi; \ + sleep 1; \ + done; \ + echo "Authoring UI failed to start. Last logs:"; \ + tail -n 40 "$(AUTHOR_LOG)" || true; \ + exit 1 + help: @echo "Available targets:" - @echo " make - Full rebuild" - @echo " make build - Rebuild the output directory" - @echo " make set-perms - Set permissions for output directory" - @echo " make clean-output - Remove output directory" - @echo " make clean-venv - Remove venv directory" - @echo " make norm - Move all files that end with ~ to the backup folder" - @echo " make author - Start the local authoring UI" - @echo " make search - creates the search index" - @echo " make help - Show this help message!" + @echo " make - Full rebuild and restart authoring UI" + @echo " make build - Rebuild the output directory" + @echo " make set-perms - Set permissions for output directory" + @echo " make clean-output - Remove output directory" + @echo " make clean-venv - Remove venv directory" + @echo " make norm - Move backup files" + @echo " make author - Start the local authoring UI in foreground" + @echo " make author-stop - Stop the authoring UI" + @echo " make author-restart - Restart the authoring UI in background" + @echo " make search - Create the search index" + @echo " make help - Show this help message" diff --git a/posts/posts-list.org b/posts/posts-list.org index e96dbc7..fdba436 100755 --- a/posts/posts-list.org +++ b/posts/posts-list.org @@ -4,7 +4,7 @@ See the categories: @@html:Categories@@ * Posts: -- [[file:career/career-list.org][Career List]] @@html:07-05-2026 14:21@@ +- [[file:career/career-list.org][Career List]] @@html:07-05-2026 14:34@@ - [[file:posts-list.sync-conflict-20260417-233432-VT6366A.org][Posts List]] @@html:14-04-2026 16:36@@ - [[file:career/ha-dr.org][High Availability, Disaster Recovery and Business Continuity]] @@html:11-03-2026 17:18@@ @@html:learning@@ @@html:notes@@ - [[file:career/javascript.org][Understands the Javascript language]] @@html:11-03-2026 16:52@@ @@html:learning@@ @@html:notes@@ diff --git a/sitemap.org b/sitemap.org index edd6256..46aa752 100755 --- a/sitemap.org +++ b/sitemap.org @@ -12,12 +12,12 @@ - [[file:tags/notes.org][Tag: notes]] - [[file:tags/review.org][Tag: review]] - [[file:tags/website.org][Tag: website]] - - [[file:tags/life.org][Tag: life]] - [[file:tags/update.org][Tag: update]] - - [[file:tags/insights.org][Tag: insights]] - - [[file:tags/emacs.org][Tag: emacs]] + - [[file:tags/life.org][Tag: life]] - [[file:tags/education.org][Tag: education]] + - [[file:tags/insights.org][Tag: insights]] - [[file:tags/reading.org][Tag: reading]] + - [[file:tags/emacs.org][Tag: emacs]] - [[file:tags/maths.org][Tag: maths]] - home - [[file:home/countdown.org][Countdown]]