diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml
old mode 100644
new mode 100755
index ecc73ab..dbccb6c
--- a/.gitea/workflows/build.yml
+++ b/.gitea/workflows/build.yml
@@ -13,6 +13,8 @@ on:
jobs:
build:
runs-on: org-web
+ env:
+ SITE_OUTPUT_DIR: /home/zaine/master-folder/org_files/org_web/output
steps:
- name: Check out repo
@@ -21,7 +23,7 @@ jobs:
- name: Build site
run: |
mkdir -p /home/zaine/logs
- make 2>&1 | tee /home/zaine/logs/org-web.log
+ SITE_CLEAN=1 make 2>&1 | tee /home/zaine/logs/org-web.log
- name: Monitor build and notify Discord
if: always()
diff --git a/.gitignore b/.gitignore
old mode 100644
new mode 100755
index 0368fc6..6503753
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,6 @@
.venv/
output/
+.org-timestamps/
backup/
__pycache__/
*~
diff --git a/.packages/archives/elpa/archive-contents b/.packages/archives/elpa/archive-contents
old mode 100644
new mode 100755
diff --git a/.packages/archives/elpa/archive-contents.signed b/.packages/archives/elpa/archive-contents.signed
old mode 100644
new mode 100755
diff --git a/.packages/archives/melpa/archive-contents b/.packages/archives/melpa/archive-contents
old mode 100644
new mode 100755
diff --git a/.packages/htmlize-20250724.1703/htmlize-autoloads.el b/.packages/htmlize-20250724.1703/htmlize-autoloads.el
old mode 100644
new mode 100755
diff --git a/.packages/htmlize-20250724.1703/htmlize-pkg.el b/.packages/htmlize-20250724.1703/htmlize-pkg.el
old mode 100644
new mode 100755
diff --git a/.packages/htmlize-20250724.1703/htmlize.el b/.packages/htmlize-20250724.1703/htmlize.el
old mode 100644
new mode 100755
diff --git a/.packages/htmlize-20250724.1703/htmlize.elc b/.packages/htmlize-20250724.1703/htmlize.elc
old mode 100644
new mode 100755
diff --git a/.projectile b/.projectile
old mode 100644
new mode 100755
diff --git a/.stignore b/.stignore
old mode 100644
new mode 100755
diff --git a/Makefile b/Makefile
old mode 100644
new mode 100755
index 53bb7bc..ff98bb3
--- a/Makefile
+++ b/Makefile
@@ -3,6 +3,7 @@
VENV := .venv
PY := $(VENV)/bin/python
PIP := $(VENV)/bin/pip
+OUTPUT_DIR ?= $(if $(SITE_OUTPUT_DIR),$(SITE_OUTPUT_DIR),output)
PERM_DIR := /home/zaine/master-folder/projects/scripts/bash-scripts
AUTHOR_PORT := 8765
@@ -41,7 +42,7 @@ $(VENV):
clean-output:
@echo "Cleaning output directory..."
- rm -rf output/
+ rm -rf "$(OUTPUT_DIR)"
clean-venv:
@echo "Cleaning virtual environment..."
diff --git a/README.md b/README.md
old mode 100644
new mode 100755
diff --git a/assets/New Document.rnote b/assets/New Document.rnote
old mode 100644
new mode 100755
diff --git a/assets/emacs-calibre.rnote b/assets/emacs-calibre.rnote
old mode 100644
new mode 100755
diff --git a/assets/fonts/NotoSans-Regular.ttf b/assets/fonts/NotoSans-Regular.ttf
old mode 100644
new mode 100755
diff --git a/assets/fonts/Roboto-Regular.ttf b/assets/fonts/Roboto-Regular.ttf
old mode 100644
new mode 100755
diff --git a/assets/fonts/times.ttf b/assets/fonts/times.ttf
old mode 100644
new mode 100755
diff --git a/assets/icons/apple-touch-icon.png b/assets/icons/apple-touch-icon.png
old mode 100644
new mode 100755
diff --git a/assets/icons/icons8-favicon-50.png b/assets/icons/icons8-favicon-50.png
old mode 100644
new mode 100755
diff --git a/assets/icons/icons8-film-tape-100.png b/assets/icons/icons8-film-tape-100.png
old mode 100644
new mode 100755
diff --git a/assets/icons/icons8-z-key-64.png b/assets/icons/icons8-z-key-64.png
old mode 100644
new mode 100755
diff --git a/assets/images/1_to_2.svg b/assets/images/1_to_2.svg
old mode 100644
new mode 100755
diff --git a/assets/images/240226-pr.png b/assets/images/240226-pr.png
old mode 100644
new mode 100755
diff --git a/assets/images/26-02-26-di-errors-2.png b/assets/images/26-02-26-di-errors-2.png
old mode 100644
new mode 100755
diff --git a/assets/images/26-02-26-di-errors.png b/assets/images/26-02-26-di-errors.png
old mode 100644
new mode 100755
diff --git a/assets/images/27-02-26-xserver.png b/assets/images/27-02-26-xserver.png
old mode 100644
new mode 100755
diff --git a/assets/images/blogs/2026-03-12-journeys-branch.png b/assets/images/blogs/2026-03-12-journeys-branch.png
old mode 100644
new mode 100755
diff --git a/assets/images/blogs/2026-03-18-slack-dag-manager.png b/assets/images/blogs/2026-03-18-slack-dag-manager.png
old mode 100644
new mode 100755
diff --git a/assets/images/blogs/2026-03-23-install-emacs.png b/assets/images/blogs/2026-03-23-install-emacs.png
old mode 100644
new mode 100755
diff --git a/assets/images/blogs/2026-03-24-lunch.jpg b/assets/images/blogs/2026-03-24-lunch.jpg
old mode 100644
new mode 100755
diff --git a/assets/images/blogs/2026-03-29-dinner-1.jpg b/assets/images/blogs/2026-03-29-dinner-1.jpg
old mode 100644
new mode 100755
diff --git a/assets/images/blogs/2026-03-29-dinner-2.jpg b/assets/images/blogs/2026-03-29-dinner-2.jpg
old mode 100644
new mode 100755
diff --git a/assets/images/blogs/2026-03-29-dinner-3.jpg b/assets/images/blogs/2026-03-29-dinner-3.jpg
old mode 100644
new mode 100755
diff --git a/assets/images/blogs/2026-04-02-slack.png b/assets/images/blogs/2026-04-02-slack.png
old mode 100644
new mode 100755
diff --git a/assets/images/blogs/2026-05-01-sun.jpg b/assets/images/blogs/2026-05-01-sun.jpg
old mode 100644
new mode 100755
diff --git a/assets/images/blogs/2026-05-08-ai-pubs-history-2.webp b/assets/images/blogs/2026-05-08-ai-pubs-history-2.webp
old mode 100644
new mode 100755
diff --git a/assets/images/blogs/2026-05-08-time-to-100m-pic.webp b/assets/images/blogs/2026-05-08-time-to-100m-pic.webp
old mode 100644
new mode 100755
diff --git a/assets/images/blogs/2026-05-09-authoring-service.png b/assets/images/blogs/2026-05-09-authoring-service.png
old mode 100644
new mode 100755
diff --git a/assets/images/blogs/2026-05-09-discord-alterts-gitea.png b/assets/images/blogs/2026-05-09-discord-alterts-gitea.png
old mode 100644
new mode 100755
diff --git a/assets/images/blogs/2026-05-09-gitea-pipelines.png b/assets/images/blogs/2026-05-09-gitea-pipelines.png
old mode 100644
new mode 100755
diff --git a/assets/images/career/2025-10-10-stress-in-workplace.png b/assets/images/career/2025-10-10-stress-in-workplace.png
old mode 100644
new mode 100755
diff --git a/assets/images/career/2025-10-10-user_stories.jpg b/assets/images/career/2025-10-10-user_stories.jpg
old mode 100644
new mode 100755
diff --git a/assets/images/career/2025-11-05-retrospective_boat_model.png b/assets/images/career/2025-11-05-retrospective_boat_model.png
old mode 100644
new mode 100755
diff --git a/assets/images/career/2025-11-10-Aware-of-the-Benefits-of-Normalisation.png b/assets/images/career/2025-11-10-Aware-of-the-Benefits-of-Normalisation.png
old mode 100644
new mode 100755
diff --git a/assets/images/career/2025-11-15-airflow.png b/assets/images/career/2025-11-15-airflow.png
old mode 100644
new mode 100755
diff --git a/assets/images/career/2025-12-02-retros.jpg b/assets/images/career/2025-12-02-retros.jpg
old mode 100644
new mode 100755
diff --git a/assets/images/career/2026-01-17-airflow-flow.png b/assets/images/career/2026-01-17-airflow-flow.png
old mode 100644
new mode 100755
diff --git a/assets/images/career/2026-01-17-datamart-high-level.png b/assets/images/career/2026-01-17-datamart-high-level.png
old mode 100644
new mode 100755
diff --git a/assets/images/career/2026-01-17-high-level-dora.png b/assets/images/career/2026-01-17-high-level-dora.png
old mode 100644
new mode 100755
diff --git a/assets/images/career/2026-03-05-api-protocols.png b/assets/images/career/2026-03-05-api-protocols.png
old mode 100644
new mode 100755
diff --git a/assets/images/career/owasp/Screenshot 2025-10-16 134403.png b/assets/images/career/owasp/Screenshot 2025-10-16 134403.png
old mode 100644
new mode 100755
diff --git a/assets/images/career/owasp/Screenshot 2025-10-16 134438.png b/assets/images/career/owasp/Screenshot 2025-10-16 134438.png
old mode 100644
new mode 100755
diff --git a/assets/images/career/owasp/Screenshot 2025-10-16 134457.png b/assets/images/career/owasp/Screenshot 2025-10-16 134457.png
old mode 100644
new mode 100755
diff --git a/assets/images/career/owasp/Screenshot 2025-10-16 134512.png b/assets/images/career/owasp/Screenshot 2025-10-16 134512.png
old mode 100644
new mode 100755
diff --git a/assets/images/career/owasp/swappy-20251106-214613.png b/assets/images/career/owasp/swappy-20251106-214613.png
old mode 100644
new mode 100755
diff --git a/assets/images/career/owasp/swappy-20251106-214648.png b/assets/images/career/owasp/swappy-20251106-214648.png
old mode 100644
new mode 100755
diff --git a/assets/images/career/owasp/swappy-20251106-214700.png b/assets/images/career/owasp/swappy-20251106-214700.png
old mode 100644
new mode 100755
diff --git a/assets/images/career/owasp/swappy-20251106-214709.png b/assets/images/career/owasp/swappy-20251106-214709.png
old mode 100644
new mode 100755
diff --git a/assets/images/career/owasp/swappy-20251106-214717.png b/assets/images/career/owasp/swappy-20251106-214717.png
old mode 100644
new mode 100755
diff --git a/assets/images/career/wireframes/Screenshot 2025-10-31 112139.png b/assets/images/career/wireframes/Screenshot 2025-10-31 112139.png
old mode 100644
new mode 100755
diff --git a/assets/images/career/wireframes/Screenshot 2025-10-31 112206.png b/assets/images/career/wireframes/Screenshot 2025-10-31 112206.png
old mode 100644
new mode 100755
diff --git a/assets/images/career/wireframes/Screenshot 2025-10-31 112427.png b/assets/images/career/wireframes/Screenshot 2025-10-31 112427.png
old mode 100644
new mode 100755
diff --git a/assets/images/career/wireframes/Screenshot 2025-10-31 115621.png b/assets/images/career/wireframes/Screenshot 2025-10-31 115621.png
old mode 100644
new mode 100755
diff --git a/assets/images/career/wireframes/Screenshot 2025-10-31 115949.png b/assets/images/career/wireframes/Screenshot 2025-10-31 115949.png
old mode 100644
new mode 100755
diff --git a/assets/images/career/wireframes/Screenshot 2025-10-31 120038.png b/assets/images/career/wireframes/Screenshot 2025-10-31 120038.png
old mode 100644
new mode 100755
diff --git a/assets/images/career/wireframes/Screenshot 2025-10-31 120203.png b/assets/images/career/wireframes/Screenshot 2025-10-31 120203.png
old mode 100644
new mode 100755
diff --git a/assets/images/gr.png b/assets/images/gr.png
old mode 100644
new mode 100755
diff --git a/assets/images/hzone/2026-05-09-screen-shot-2025-11-10-at-18-02-10-fullpage.png b/assets/images/hzone/2026-05-09-screen-shot-2025-11-10-at-18-02-10-fullpage.png
old mode 100644
new mode 100755
diff --git a/assets/images/hzone/patpat.png b/assets/images/hzone/patpat.png
old mode 100644
new mode 100755
diff --git a/assets/images/lima-third-meeting.jpg b/assets/images/lima-third-meeting.jpg
old mode 100644
new mode 100755
diff --git a/assets/images/org-roam-ui-graph.png b/assets/images/org-roam-ui-graph.png
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/02-12-25-retros.jpg b/assets/images/reviews/02-12-25-retros.jpg
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/07-12-25-daily-retros.jpg b/assets/images/reviews/07-12-25-daily-retros.jpg
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/15-11-2025-guac.png b/assets/images/reviews/15-11-2025-guac.png
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/16-11-25-daily-retros.jpg b/assets/images/reviews/16-11-25-daily-retros.jpg
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/23-11-2025-netdata.png b/assets/images/reviews/23-11-2025-netdata.png
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/23-11-2025-reader.png b/assets/images/reviews/23-11-2025-reader.png
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/23-11-2025-vnc.png b/assets/images/reviews/23-11-2025-vnc.png
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/23-11-25-daily-retros.jpg b/assets/images/reviews/23-11-25-daily-retros.jpg
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/30-11-2025-acutal.png b/assets/images/reviews/30-11-2025-acutal.png
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/30-11-25-daily-retros.jpg b/assets/images/reviews/30-11-25-daily-retros.jpg
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/PDT-bruno-vehicle-web-api.png b/assets/images/reviews/PDT-bruno-vehicle-web-api.png
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/c-sharp-vehicle-breakpoints.png b/assets/images/reviews/c-sharp-vehicle-breakpoints.png
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/competencies/competencies-09-11-25.png b/assets/images/reviews/competencies/competencies-09-11-25.png
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/competencies/dev-plan-09-11-25.png b/assets/images/reviews/competencies/dev-plan-09-11-25.png
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/competency-powerbi-report.png b/assets/images/reviews/competency-powerbi-report.png
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/journeys-api-side-by-side-upgrade.png b/assets/images/reviews/journeys-api-side-by-side-upgrade.png
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/probation-objectives/probation-objectives-1.png b/assets/images/reviews/probation-objectives/probation-objectives-1.png
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/probation-objectives/probation-objectives-2.png b/assets/images/reviews/probation-objectives/probation-objectives-2.png
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/probation-objectives/probation-objectives-3.png b/assets/images/reviews/probation-objectives/probation-objectives-3.png
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/probation-objectives/probation-objectives-4.png b/assets/images/reviews/probation-objectives/probation-objectives-4.png
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/probation-objectives/probation-objectives-5.png b/assets/images/reviews/probation-objectives/probation-objectives-5.png
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/probation-objectives/rotation-calendar.png b/assets/images/reviews/probation-objectives/rotation-calendar.png
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/timesheets/2026-03-15-timesheet.png b/assets/images/reviews/timesheets/2026-03-15-timesheet.png
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/timesheets/2026-03-22-timesheet.png b/assets/images/reviews/timesheets/2026-03-22-timesheet.png
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/timesheets/2026-03-29-timesheet.png b/assets/images/reviews/timesheets/2026-03-29-timesheet.png
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/timesheets/2026-04-05-timesheet.png b/assets/images/reviews/timesheets/2026-04-05-timesheet.png
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/timesheets/2026-04-12-timesheet.png b/assets/images/reviews/timesheets/2026-04-12-timesheet.png
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/timesheets/2026-04-19-timesheet.png b/assets/images/reviews/timesheets/2026-04-19-timesheet.png
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/timesheets/2026-04-26-timesheet.png b/assets/images/reviews/timesheets/2026-04-26-timesheet.png
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/timesheets/2026-05-03-timesheet.png b/assets/images/reviews/timesheets/2026-05-03-timesheet.png
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/timesheets/timesheet-01-02.png b/assets/images/reviews/timesheets/timesheet-01-02.png
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/timesheets/timesheet-01-03-26.png b/assets/images/reviews/timesheets/timesheet-01-03-26.png
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/timesheets/timesheet-08-02.png b/assets/images/reviews/timesheets/timesheet-08-02.png
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/timesheets/timesheet-08-03-26.png b/assets/images/reviews/timesheets/timesheet-08-03-26.png
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/timesheets/timesheet-15-02-26.png b/assets/images/reviews/timesheets/timesheet-15-02-26.png
old mode 100644
new mode 100755
diff --git a/assets/images/reviews/timesheets/timesheet-22-02-26.png b/assets/images/reviews/timesheets/timesheet-22-02-26.png
old mode 100644
new mode 100755
diff --git a/assets/images/syntax/assets.png b/assets/images/syntax/assets.png
old mode 100644
new mode 100755
diff --git a/assets/images/syntax/filebrowser.png b/assets/images/syntax/filebrowser.png
old mode 100644
new mode 100755
diff --git a/assets/images/syntax/not_clutter.png b/assets/images/syntax/not_clutter.png
old mode 100644
new mode 100755
diff --git a/assets/rnote/07-12-2025-retrospectives.rnote b/assets/rnote/07-12-2025-retrospectives.rnote
old mode 100644
new mode 100755
diff --git a/assets/rnote/09-11-2025-nginx-architecture.rnote b/assets/rnote/09-11-2025-nginx-architecture.rnote
old mode 100644
new mode 100755
diff --git a/assets/rnote/09-11-2025-retrospectives.rnote b/assets/rnote/09-11-2025-retrospectives.rnote
old mode 100644
new mode 100755
diff --git a/assets/rnote/10-08-2025-weekly-review.rnote b/assets/rnote/10-08-2025-weekly-review.rnote
old mode 100644
new mode 100755
diff --git a/assets/rnote/2025-08-08-emacs.rnote b/assets/rnote/2025-08-08-emacs.rnote
old mode 100644
new mode 100755
diff --git a/assets/rnote/23-11-2025-retrospectives.rnote b/assets/rnote/23-11-2025-retrospectives.rnote
old mode 100644
new mode 100755
diff --git a/assets/rnote/30-11-2025-retrospectives.rnote b/assets/rnote/30-11-2025-retrospectives.rnote
old mode 100644
new mode 100755
diff --git a/assets/rnote/retros-template.rnote b/assets/rnote/retros-template.rnote
old mode 100644
new mode 100755
diff --git a/assets/scripts/bigger-picture.min.js b/assets/scripts/bigger-picture.min.js
old mode 100644
new mode 100755
diff --git a/assets/scripts/comments.js b/assets/scripts/comments.js
old mode 100644
new mode 100755
diff --git a/assets/scripts/competency-status-board.js b/assets/scripts/competency-status-board.js
old mode 100644
new mode 100755
diff --git a/assets/scripts/gallery-init.js b/assets/scripts/gallery-init.js
old mode 100644
new mode 100755
diff --git a/assets/scripts/lunr.js b/assets/scripts/lunr.js
old mode 100644
new mode 100755
diff --git a/assets/scripts/mermaid.min.js b/assets/scripts/mermaid.min.js
old mode 100644
new mode 100755
diff --git a/assets/scripts/notes.js b/assets/scripts/notes.js
old mode 100644
new mode 100755
diff --git a/assets/scripts/script.js b/assets/scripts/script.js
old mode 100644
new mode 100755
diff --git a/assets/scripts/search.js b/assets/scripts/search.js
old mode 100644
new mode 100755
diff --git a/assets/scripts/sitemap-interactive.js b/assets/scripts/sitemap-interactive.js
old mode 100644
new mode 100755
diff --git a/assets/scripts/svg-pan-zoom.min.js b/assets/scripts/svg-pan-zoom.min.js
old mode 100644
new mode 100755
diff --git a/assets/scripts/wird-tracker.js b/assets/scripts/wird-tracker.js
old mode 100644
new mode 100755
diff --git a/assets/scripts/zhd.js b/assets/scripts/zhd.js
old mode 100644
new mode 100755
diff --git a/assets/sketchnotes/07-12-2025-retrospectives.svg b/assets/sketchnotes/07-12-2025-retrospectives.svg
old mode 100644
new mode 100755
diff --git a/assets/sketchnotes/09-11-2025-nginx-architecture.svg b/assets/sketchnotes/09-11-2025-nginx-architecture.svg
old mode 100644
new mode 100755
diff --git a/assets/sketchnotes/09-11-2025-retrospectives.svg b/assets/sketchnotes/09-11-2025-retrospectives.svg
old mode 100644
new mode 100755
diff --git a/assets/sketchnotes/10-08-2025-weekly-review.svg b/assets/sketchnotes/10-08-2025-weekly-review.svg
old mode 100644
new mode 100755
diff --git a/assets/sketchnotes/16-11-2025-retrospectives.svg b/assets/sketchnotes/16-11-2025-retrospectives.svg
old mode 100644
new mode 100755
diff --git a/assets/sketchnotes/18-01-26-retro.png b/assets/sketchnotes/18-01-26-retro.png
old mode 100644
new mode 100755
diff --git a/assets/sketchnotes/2025-08-08-emacs.svg b/assets/sketchnotes/2025-08-08-emacs.svg
old mode 100644
new mode 100755
diff --git a/assets/sketchnotes/23-11-2025-retrospectives.svg b/assets/sketchnotes/23-11-2025-retrospectives.svg
old mode 100644
new mode 100755
diff --git a/assets/sketchnotes/25-01-26-retro.png b/assets/sketchnotes/25-01-26-retro.png
old mode 100644
new mode 100755
diff --git a/assets/sketchnotes/30-11-2025-retrospectives.svg b/assets/sketchnotes/30-11-2025-retrospectives.svg
old mode 100644
new mode 100755
diff --git a/assets/sketchnotes/elt-yed.svg b/assets/sketchnotes/elt-yed.svg
old mode 100644
new mode 100755
diff --git a/assets/styles/bigger-picture.min.css b/assets/styles/bigger-picture.min.css
old mode 100644
new mode 100755
diff --git a/assets/styles/comments.css b/assets/styles/comments.css
old mode 100644
new mode 100755
diff --git a/assets/styles/kanban.css b/assets/styles/kanban.css
old mode 100644
new mode 100755
diff --git a/assets/styles/media.css b/assets/styles/media.css
old mode 100644
new mode 100755
diff --git a/assets/styles/misc.css b/assets/styles/misc.css
old mode 100644
new mode 100755
diff --git a/assets/styles/org-syntax.css b/assets/styles/org-syntax.css
old mode 100644
new mode 100755
diff --git a/assets/styles/style.css b/assets/styles/style.css
old mode 100644
new mode 100755
diff --git a/assets/styles/wird-tracker.css b/assets/styles/wird-tracker.css
old mode 100644
new mode 100755
diff --git a/assets/styles/zhd.css b/assets/styles/zhd.css
old mode 100644
new mode 100755
diff --git a/authoring_server.py b/authoring_server.py
old mode 100644
new mode 100755
diff --git a/backups/02-11-week-review.org~ b/backups/02-11-week-review.org~
old mode 100644
new mode 100755
diff --git a/backups/04-01-week-review.org~ b/backups/04-01-week-review.org~
old mode 100644
new mode 100755
diff --git a/backups/07-12-week-review.org~ b/backups/07-12-week-review.org~
old mode 100644
new mode 100755
diff --git a/backups/09-11-week-review.org~ b/backups/09-11-week-review.org~
old mode 100644
new mode 100755
diff --git a/backups/14-12-week-review.org~ b/backups/14-12-week-review.org~
old mode 100644
new mode 100755
diff --git a/backups/16-11-week-review.org~ b/backups/16-11-week-review.org~
old mode 100644
new mode 100755
diff --git a/backups/23-11-week-review.org~ b/backups/23-11-week-review.org~
old mode 100644
new mode 100755
diff --git a/backups/28-12-week-review.org~ b/backups/28-12-week-review.org~
old mode 100644
new mode 100755
diff --git a/backups/30-11-week-review.org~ b/backups/30-11-week-review.org~
old mode 100644
new mode 100755
diff --git a/backups/Makefile~ b/backups/Makefile~
old mode 100644
new mode 100755
diff --git a/backups/airflow.org~ b/backups/airflow.org~
old mode 100644
new mode 100755
diff --git a/backups/backlog.org~ b/backups/backlog.org~
old mode 100644
new mode 100755
diff --git a/backups/benefits-of-reading.org~ b/backups/benefits-of-reading.org~
old mode 100644
new mode 100755
diff --git a/backups/career-intro.org~ b/backups/career-intro.org~
old mode 100644
new mode 100755
diff --git a/backups/comments.js~ b/backups/comments.js~
old mode 100644
new mode 100755
diff --git a/backups/competency-status-board.js~ b/backups/competency-status-board.js~
old mode 100644
new mode 100755
diff --git a/backups/countdown.org~ b/backups/countdown.org~
old mode 100644
new mode 100755
diff --git a/backups/gallery-init.js~ b/backups/gallery-init.js~
old mode 100644
new mode 100755
diff --git a/backups/hilberts.hotel.org~ b/backups/hilberts.hotel.org~
old mode 100644
new mode 100755
diff --git a/backups/invest-principles.org~ b/backups/invest-principles.org~
old mode 100644
new mode 100755
diff --git a/backups/lean.org~ b/backups/lean.org~
old mode 100644
new mode 100755
diff --git a/backups/management-of-self.org~ b/backups/management-of-self.org~
old mode 100644
new mode 100755
diff --git a/backups/normalisation.org~ b/backups/normalisation.org~
old mode 100644
new mode 100755
diff --git a/backups/notes.js~ b/backups/notes.js~
old mode 100644
new mode 100755
diff --git a/backups/notes.org~ b/backups/notes.org~
old mode 100644
new mode 100755
diff --git a/backups/owasp.org~ b/backups/owasp.org~
old mode 100644
new mode 100755
diff --git a/backups/probation-objectives.org~ b/backups/probation-objectives.org~
old mode 100644
new mode 100755
diff --git a/backups/publish-pages.org~ b/backups/publish-pages.org~
old mode 100644
new mode 100755
diff --git a/backups/requirements-features.org~ b/backups/requirements-features.org~
old mode 100644
new mode 100755
diff --git a/backups/retrospectives.org~ b/backups/retrospectives.org~
old mode 100644
new mode 100755
diff --git a/backups/services.org~ b/backups/services.org~
old mode 100644
new mode 100755
diff --git a/backups/setup.org~ b/backups/setup.org~
old mode 100644
new mode 100755
diff --git a/backups/solid-principles.org~ b/backups/solid-principles.org~
old mode 100644
new mode 100755
diff --git a/backups/spending-the-whole-day-on-this-website.org~ b/backups/spending-the-whole-day-on-this-website.org~
old mode 100644
new mode 100755
diff --git a/backups/status-board.js~ b/backups/status-board.js~
old mode 100644
new mode 100755
diff --git a/backups/status.org~ b/backups/status.org~
old mode 100644
new mode 100755
diff --git a/backups/syntax.org~ b/backups/syntax.org~
old mode 100644
new mode 100755
diff --git a/backups/third-time.org~ b/backups/third-time.org~
old mode 100644
new mode 100755
diff --git a/backups/wacom-with-arch.org~ b/backups/wacom-with-arch.org~
old mode 100644
new mode 100755
diff --git a/backups/what-do-i-want-to-do-with-emacs.org~ b/backups/what-do-i-want-to-do-with-emacs.org~
old mode 100644
new mode 100755
diff --git a/backups/wireframe-designs.org~ b/backups/wireframe-designs.org~
old mode 100644
new mode 100755
diff --git a/backups/zettelkasten.org~ b/backups/zettelkasten.org~
old mode 100644
new mode 100755
diff --git a/blogs/2025/08-august/benefits-of-reading.org b/blogs/2025/08-august/benefits-of-reading.org
old mode 100644
new mode 100755
diff --git a/blogs/2025/08-august/hilberts.hotel.org b/blogs/2025/08-august/hilberts.hotel.org
old mode 100644
new mode 100755
diff --git a/blogs/2025/08-august/spending-the-whole-day-on-this-website.org b/blogs/2025/08-august/spending-the-whole-day-on-this-website.org
old mode 100644
new mode 100755
diff --git a/blogs/2025/08-august/third-time.org b/blogs/2025/08-august/third-time.org
old mode 100644
new mode 100755
diff --git a/blogs/2025/08-august/wacom-with-arch.org b/blogs/2025/08-august/wacom-with-arch.org
old mode 100644
new mode 100755
diff --git a/blogs/2025/08-august/what-do-i-want-to-do-with-emacs.org b/blogs/2025/08-august/what-do-i-want-to-do-with-emacs.org
old mode 100644
new mode 100755
diff --git a/blogs/2025/08-august/zettelkasten.org b/blogs/2025/08-august/zettelkasten.org
old mode 100644
new mode 100755
diff --git a/blogs/2025/11-november/02-11-week-review.org b/blogs/2025/11-november/02-11-week-review.org
old mode 100644
new mode 100755
diff --git a/blogs/2025/11-november/09-11-week-review.org b/blogs/2025/11-november/09-11-week-review.org
old mode 100644
new mode 100755
diff --git a/blogs/2025/11-november/16-11-week-review.org b/blogs/2025/11-november/16-11-week-review.org
old mode 100644
new mode 100755
diff --git a/blogs/2025/11-november/23-11-week-review.org b/blogs/2025/11-november/23-11-week-review.org
old mode 100644
new mode 100755
diff --git a/blogs/2025/11-november/30-11-week-review.org b/blogs/2025/11-november/30-11-week-review.org
old mode 100644
new mode 100755
diff --git a/blogs/2025/12-december/07-12-week-review.org b/blogs/2025/12-december/07-12-week-review.org
old mode 100644
new mode 100755
diff --git a/blogs/2025/12-december/14-12-week-review.org b/blogs/2025/12-december/14-12-week-review.org
old mode 100644
new mode 100755
diff --git a/blogs/2025/12-december/21-12-week-review.org b/blogs/2025/12-december/21-12-week-review.org
old mode 100644
new mode 100755
diff --git a/blogs/2025/12-december/28-12-week-review.org b/blogs/2025/12-december/28-12-week-review.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/01-january/04-01-week-review.org b/blogs/2026/01-january/04-01-week-review.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/01-january/11-01-week-review.org b/blogs/2026/01-january/11-01-week-review.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/01-january/18-01-week-review.org b/blogs/2026/01-january/18-01-week-review.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/01-january/25-01-week-review.org b/blogs/2026/01-january/25-01-week-review.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/02-february/01-02-week-review.org b/blogs/2026/02-february/01-02-week-review.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/02-february/08-02-week-review.org b/blogs/2026/02-february/08-02-week-review.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/02-february/15-02-week-review.org b/blogs/2026/02-february/15-02-week-review.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/02-february/22-02-week-review.org b/blogs/2026/02-february/22-02-week-review.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/02-february/24-02-26.org b/blogs/2026/02-february/24-02-26.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/02-february/26-02-26.org b/blogs/2026/02-february/26-02-26.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/02-february/27-02-26.org b/blogs/2026/02-february/27-02-26.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/02-february/third-meeting.org b/blogs/2026/02-february/third-meeting.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/03-march/01-03-week-review.org b/blogs/2026/03-march/01-03-week-review.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/03-march/08-03-week-review.org b/blogs/2026/03-march/08-03-week-review.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/03-march/15-03-week-review.org b/blogs/2026/03-march/15-03-week-review.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/03-march/22-03-week-review.org b/blogs/2026/03-march/22-03-week-review.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/03-march/29-03-week-review.org b/blogs/2026/03-march/29-03-week-review.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/03-march/cooking-dinner-29-03-26.org b/blogs/2026/03-march/cooking-dinner-29-03-26.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/03-march/feeling-sleepy.org b/blogs/2026/03-march/feeling-sleepy.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/03-march/fixing-the-dag-18-03.org b/blogs/2026/03-march/fixing-the-dag-18-03.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/03-march/installing-emacs-23-03.org b/blogs/2026/03-march/installing-emacs-23-03.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/03-march/intellectually-challenging-myself-30-03-26.org b/blogs/2026/03-march/intellectually-challenging-myself-30-03-26.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/03-march/more-thoughts-regarding-changes-26-03-26.org b/blogs/2026/03-march/more-thoughts-regarding-changes-26-03-26.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/03-march/oversleeping-16-03.org b/blogs/2026/03-march/oversleeping-16-03.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/03-march/quick-lunch-24-03.org b/blogs/2026/03-march/quick-lunch-24-03.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/03-march/setting-a-wird-tracker-19-03.org b/blogs/2026/03-march/setting-a-wird-tracker-19-03.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/03-march/thoughts-on-life-25-03-26.org b/blogs/2026/03-march/thoughts-on-life-25-03-26.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/03-march/training-on-friday-afternoon-27-03-26.org b/blogs/2026/03-march/training-on-friday-afternoon-27-03-26.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/04-april/05-04-week-review.org b/blogs/2026/04-april/05-04-week-review.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/04-april/12-04-week-review.org b/blogs/2026/04-april/12-04-week-review.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/04-april/16-04-26.org b/blogs/2026/04-april/16-04-26.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/04-april/19-04-week-review.org b/blogs/2026/04-april/19-04-week-review.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/04-april/26-04-week-review.org b/blogs/2026/04-april/26-04-week-review.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/04-april/action-plan-07-04-26.org b/blogs/2026/04-april/action-plan-07-04-26.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/04-april/adding-more-wird-22-04-26.org b/blogs/2026/04-april/adding-more-wird-22-04-26.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/04-april/april-almost-over-28-04.org b/blogs/2026/04-april/april-almost-over-28-04.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/04-april/comparison-14-04.org b/blogs/2026/04-april/comparison-14-04.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/04-april/ending-the-week-17-04-26.org b/blogs/2026/04-april/ending-the-week-17-04-26.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/04-april/joining-new-team-meeting-02-04-2026.org b/blogs/2026/04-april/joining-new-team-meeting-02-04-2026.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/04-april/making-notes-through-org-noter-06-05.org b/blogs/2026/04-april/making-notes-through-org-noter-06-05.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/04-april/sitting-outside-in-the-sun-21-04-26.org b/blogs/2026/04-april/sitting-outside-in-the-sun-21-04-26.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/04-april/starting-new-rotation-08-04-26.org b/blogs/2026/04-april/starting-new-rotation-08-04-26.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/04-april/weekly-target-06-04-26.org b/blogs/2026/04-april/weekly-target-06-04-26.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/04-april/wise-words-29-04.org b/blogs/2026/04-april/wise-words-29-04.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/05-may/03-05-week-review.org b/blogs/2026/05-may/03-05-week-review.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/05-may/ai-datacamp-08-05.org b/blogs/2026/05-may/ai-datacamp-08-05.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/05-may/authoring-service-09-05-26.org b/blogs/2026/05-may/authoring-service-09-05-26.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/05-may/sun-soak-01-05.org b/blogs/2026/05-may/sun-soak-01-05.org
old mode 100644
new mode 100755
diff --git a/blogs/2026/05-may/using-codex-07-05-26.org b/blogs/2026/05-may/using-codex-07-05-26.org
old mode 100644
new mode 100755
diff --git a/blogs/blogs-intro.org b/blogs/blogs-intro.org
old mode 100644
new mode 100755
diff --git a/blogs/blogs-list.org b/blogs/blogs-list.org
old mode 100644
new mode 100755
index ebd7fa7..d798b85
--- a/blogs/blogs-list.org
+++ b/blogs/blogs-list.org
@@ -84,7 +84,7 @@ See the categories: @@html:Categories@@
- [[file:2025/08-august/benefits-of-reading.org][Benefits of Reading]] @@html:14-08-2025 23:36@@ @@html:reading@@ @@html:insights@@
- [[file:2025/08-august/hilberts.hotel.org][Hilbert's Hotel]] @@html:11-08-2025 18:39@@ @@html:maths@@ @@html:insights@@
- [[file:2025/08-august/spending-the-whole-day-on-this-website.org][09-08-2025: Website Changes]] @@html:09-08-2025 00:00@@ @@html:emacs@@ @@html:website@@
-- [[file:2025/08-august/what-do-i-want-to-do-with-emacs.org][What Do I Want To Do With Emacs]] @@html:08-08-2025 00:00@@ @@html:emacs@@ @@html:review@@
- [[file:2025/08-august/wacom-with-arch.org][Wacom With Arch]] @@html:08-08-2025 00:00@@ @@html:insights@@
+- [[file:2025/08-august/what-do-i-want-to-do-with-emacs.org][What Do I Want To Do With Emacs]] @@html:08-08-2025 00:00@@ @@html:emacs@@ @@html:review@@
- [[file:2025/08-august/zettelkasten.org][Zettelkasten Method]] @@html:07-08-2025 00:00@@ @@html:education@@
- [[file:blogs-intro.org][Blogs Introduction]] @@html:06-08-2025 00:00@@ @@html:introduction@@
diff --git a/blogs/publish-pages.org b/blogs/publish-pages.org
old mode 100644
new mode 100755
diff --git a/books/books-list.org b/books/books-list.org
old mode 100644
new mode 100755
diff --git a/books/clean-code/clean-code-notes.org b/books/clean-code/clean-code-notes.org
old mode 100644
new mode 100755
diff --git a/build-site-tests.el b/build-site-tests.el
old mode 100644
new mode 100755
diff --git a/build-site.el b/build-site.el
old mode 100644
new mode 100755
index ea7e8ac..e23ee62
--- a/build-site.el
+++ b/build-site.el
@@ -38,6 +38,19 @@ redefine site-root themselves.")
"Expand PATH relative to `z/site-root'."
(expand-file-name path z/site-root))
+(defconst z/output-root
+ (file-name-as-directory
+ (expand-file-name
+ (or (getenv "SITE_OUTPUT_DIR")
+ (site-path "output/"))))
+ "Absolute path to the site output directory.
+Defaults to output/ under `z/site-root', but CI can set SITE_OUTPUT_DIR to
+publish into a stable directory instead of the runner's transient checkout.")
+
+(defun output-path (path)
+ "Expand PATH relative to `z/output-root'."
+ (expand-file-name path z/output-root))
+
(add-to-list 'load-path (site-path "lisp"))
;; ─────────────────────────────────────────────────────────────────────────────
@@ -137,6 +150,8 @@ FMT / ARGS are passed to `format'."
(require 'ox-html)
(require 'ox-md)
+(setq org-publish-timestamp-directory (site-path ".org-timestamps/"))
+
;; ─────────────────────────────────────────────────────────────────────────────
;; 4. Local library requires (after load-path is set)
;; ─────────────────────────────────────────────────────────────────────────────
@@ -489,7 +504,7 @@ Created with %c on Arch \
:recursive t
:base-directory ,(site-path "")
:publishing-function z/z-publish-to-html
- :publishing-directory ,(site-path "output/")
+ :publishing-directory ,(output-path "")
:base-extension "org"
:auto-sitemap t
:sitemap-filename "sitemap.org"
@@ -503,14 +518,14 @@ Created with %c on Arch \
("org-assets"
:base-directory ,(site-path "assets/")
:base-extension "css\\|js\\|png\\|jpg\\|jpeg\\|gif\\|webp\\|svg\\|pdf\\|mp4\\|webm\\|mov\\|woff\\|woff2\\|ttf"
- :publishing-directory ,(site-path "output/assets/")
+ :publishing-directory ,(output-path "assets/")
:recursive t
:publishing-function org-publish-attachment)
("org-categories-sitemap"
:recursive t
:base-directory ,(site-path "home/")
- :publishing-directory ,(site-path "output/home/")
+ :publishing-directory ,(output-path "home/")
:base-extension "org"
:auto-sitemap t
:sitemap-filename "categories.org"
@@ -522,7 +537,7 @@ Created with %c on Arch \
("org-posts"
:base-directory ,(site-path "posts/")
- :publishing-directory ,(site-path "output/posts/")
+ :publishing-directory ,(output-path "posts/")
:recursive t
:base-extension "org"
:publishing-function z/z-publish-to-html
@@ -543,7 +558,7 @@ Created with %c on Arch \
("org-blogs"
:base-directory ,(site-path "blogs/")
- :publishing-directory ,(site-path "output/blogs/")
+ :publishing-directory ,(output-path "blogs/")
:recursive t
:base-extension "org"
:publishing-function z/z-publish-to-html
@@ -562,7 +577,7 @@ Created with %c on Arch \
("org-books"
:base-directory ,(site-path "books/")
- :publishing-directory ,(site-path "output/books/")
+ :publishing-directory ,(output-path "books/")
:recursive t
:base-extension "org"
:publishing-function z/z-publish-to-html
@@ -578,7 +593,7 @@ Created with %c on Arch \
("org-career"
:base-directory ,(site-path "posts/career/")
- :publishing-directory ,(site-path "output/posts/career/")
+ :publishing-directory ,(output-path "posts/career/")
:recursive t
:base-extension "org"
:publishing-function z/z-publish-to-html
@@ -594,7 +609,7 @@ Created with %c on Arch \
("wip-pages"
:base-directory ,(site-path "")
- :publishing-directory ,(site-path "output/")
+ :publishing-directory ,(output-path "")
:recursive t
:base-extension "org"
:publishing-function z/z-publish-to-html
@@ -610,7 +625,7 @@ Created with %c on Arch \
("org-tags"
:base-directory ,(site-path "tags/")
- :publishing-directory ,(site-path "output/tags/")
+ :publishing-directory ,(output-path "tags/")
:recursive t
:base-extension "org"
:publishing-function org-html-publish-to-html
@@ -620,7 +635,7 @@ Created with %c on Arch \
("org-lima"
:base-directory ,(site-path "lima/")
- :publishing-directory ,(site-path "output/lima/")
+ :publishing-directory ,(output-path "lima/")
:recursive t
:base-extension "org\\|md"
:publishing-function z/publish-lima-file
@@ -650,10 +665,12 @@ Created with %c on Arch \
;; Rule: whenever output/ is deleted, .org-timestamps/ must be deleted too.
(z/log-separator "Pre-build")
+(z/log 'info "Site source root : %s" z/site-root)
+(z/log 'info "Site output root : %s" z/output-root)
(defun z/wipe-build-dirs ()
"Delete output/, tags/, and .org-timestamps/ together."
- (dolist (dir (list (site-path "output/")
+ (dolist (dir (list z/output-root
(site-path "tags/")
(site-path ".org-timestamps/")))
(if (file-directory-p dir)
@@ -670,10 +687,10 @@ Created with %c on Arch \
Returns nil (and logs warnings) if assets/ or any top-level HTML is missing.
A nil result means the timestamp cache is stale and we must force-republish."
(let ((missing '()))
- (unless (file-directory-p (site-path "output/assets/"))
+ (unless (file-directory-p (output-path "assets/"))
(push "output/assets/" missing))
- (unless (or (file-exists-p (site-path "output/index.html"))
- (file-exists-p (site-path "output/sitemap.html")))
+ (unless (or (file-exists-p (output-path "index.html"))
+ (file-exists-p (output-path "sitemap.html")))
(push "output/index.html (or sitemap.html)" missing))
(dolist (m missing)
(z/log 'warn "Integrity check: missing %s" m))
@@ -745,14 +762,14 @@ A nil result means the timestamp cache is stale and we must force-republish."
(z/log-separator "Build summary")
(let* ((elapsed (- (float-time) z/build-start-time))
- (out-dir (site-path "output/"))
+ (out-dir z/output-root)
(html-files (when (file-directory-p out-dir)
(length (directory-files-recursively out-dir "\\.html\\'"))))
(css-files (when (file-directory-p out-dir)
(length (directory-files-recursively out-dir "\\.css\\'"))))
(js-files (when (file-directory-p out-dir)
(length (directory-files-recursively out-dir "\\.js\\'"))))
- (tag-files (let ((td (site-path "output/tags/")))
+ (tag-files (let ((td (output-path "tags/")))
(when (file-directory-p td)
(length (directory-files td nil "\\.html\\'"))))))
(z/log 'metric "Total elapsed : %.2fs" elapsed)
diff --git a/gitea-build-monitor.ps1 b/gitea-build-monitor.ps1
old mode 100644
new mode 100755
diff --git a/home/backlog.org b/home/backlog.org
old mode 100644
new mode 100755
diff --git a/home/categories.org b/home/categories.org
old mode 100644
new mode 100755
diff --git a/home/contact.org b/home/contact.org
old mode 100644
new mode 100755
diff --git a/home/countdown.org b/home/countdown.org
old mode 100644
new mode 100755
diff --git a/home/guide/setup.org b/home/guide/setup.org
old mode 100644
new mode 100755
diff --git a/home/guide/wird-tracker-guide.org b/home/guide/wird-tracker-guide.org
old mode 100644
new mode 100755
diff --git a/home/notes.org b/home/notes.org
old mode 100644
new mode 100755
diff --git a/home/services.org b/home/services.org
old mode 100644
new mode 100755
diff --git a/home/status.org b/home/status.org
old mode 100644
new mode 100755
diff --git a/home/wird-tracker.org b/home/wird-tracker.org
old mode 100644
new mode 100755
diff --git a/index.org b/index.org
old mode 100644
new mode 100755
diff --git a/lima/index.md b/lima/index.md
old mode 100644
new mode 100755
diff --git a/lima/lima-list.org b/lima/lima-list.org
old mode 100644
new mode 100755
diff --git a/lisp/recently-updated.el b/lisp/recently-updated.el
old mode 100644
new mode 100755
diff --git a/lisp/sidenotes.el b/lisp/sidenotes.el
old mode 100644
new mode 100755
diff --git a/lisp/sitemaps.el b/lisp/sitemaps.el
old mode 100644
new mode 100755
diff --git a/lisp/tags.el b/lisp/tags.el
old mode 100644
new mode 100755
diff --git a/org-web-build.log b/org-web-build.log
old mode 100644
new mode 100755
diff --git a/posts/career/airflow.org b/posts/career/airflow.org
old mode 100644
new mode 100755
diff --git a/posts/career/career-intro.org b/posts/career/career-intro.org
old mode 100644
new mode 100755
diff --git a/posts/career/career-list.org b/posts/career/career-list.org
old mode 100644
new mode 100755
index 4e470f7..dc34d42
--- a/posts/career/career-list.org
+++ b/posts/career/career-list.org
@@ -13,9 +13,9 @@ See the categories: @@html:Categories@@
- [[file:restful-api.org][Restful API]] @@html:15-02-2026 23:00@@ @@html:learning@@ @@html:notes@@
** January 2026
+- [[file:database-permissions.org][Database Permissions, Roles, and Accounts]] @@html:18-01-2026 23:00@@ @@html:learning@@ @@html:notes@@
- [[file:monitoring-and-logging.org][Monitoring and Logging]] @@html:18-01-2026 23:00@@ @@html:learning@@ @@html:notes@@
- [[file:pipelines.org][Pipelines and how they work (as well as CI/CD)]] @@html:18-01-2026 23:00@@ @@html:learning@@ @@html:notes@@
-- [[file:database-permissions.org][Database Permissions, Roles, and Accounts]] @@html:18-01-2026 23:00@@ @@html:learning@@ @@html:notes@@
** December 2025
- [[file:probation-objectives.org][Probation Objectives:]] @@html:08-12-2025 17:55@@ @@html:review@@ @@html:notes@@
@@ -23,13 +23,13 @@ See the categories: @@html:Categories@@
** November 2025
- [[file:airflow.org][Datamarts, Airflow and DAG's]] @@html:15-11-2025 18:37@@ @@html:learning@@ @@html:notes@@
- [[file:normalisation.org][Benefits of Normalisation]] @@html:10-11-2025 18:04@@ @@html:learning@@ @@html:notes@@
-- [[file:wireframe-designs.org][Wireframe Designs]] @@html:06-11-2025 22:01@@ @@html:learning@@ @@html:notes@@
- [[file:management-of-self.org][Management of self training]] @@html:06-11-2025 22:01@@ @@html:learning@@ @@html:notes@@
+- [[file:wireframe-designs.org][Wireframe Designs]] @@html:06-11-2025 22:01@@ @@html:learning@@ @@html:notes@@
- [[file:requirements-features.org][Requirements, features, user stories, tasks, walking skeletons]] @@html:06-11-2025 22:01@@ @@html:learning@@ @@html:notes@@
- [[file:career-intro.org][Career Introduction]] @@html:06-11-2025 21:29@@ @@html:introduction@@
- [[file:invest-principles.org][Invest Principles]] @@html:06-11-2025 21:08@@ @@html:learning@@ @@html:notes@@
-- [[file:lean.org][Lean]] @@html:05-11-2025 20:46@@ @@html:learning@@ @@html:notes@@
- [[file:retrospectives.org][Retrospectives]] @@html:05-11-2025 20:46@@ @@html:learning@@ @@html:notes@@
+- [[file:lean.org][Lean]] @@html:05-11-2025 20:46@@ @@html:learning@@ @@html:notes@@
** October 2025
- [[file:owasp.org][OWASP Top Ten]] @@html:19-10-2025 13:21@@ @@html:learning@@ @@html:notes@@
diff --git a/posts/career/database-permissions.org b/posts/career/database-permissions.org
old mode 100644
new mode 100755
diff --git a/posts/career/ha-dr.org b/posts/career/ha-dr.org
old mode 100644
new mode 100755
diff --git a/posts/career/invest-principles.org b/posts/career/invest-principles.org
old mode 100644
new mode 100755
diff --git a/posts/career/javascript.org b/posts/career/javascript.org
old mode 100644
new mode 100755
diff --git a/posts/career/lean.org b/posts/career/lean.org
old mode 100644
new mode 100755
diff --git a/posts/career/management-of-self.org b/posts/career/management-of-self.org
old mode 100644
new mode 100755
diff --git a/posts/career/monitoring-and-logging.org b/posts/career/monitoring-and-logging.org
old mode 100644
new mode 100755
diff --git a/posts/career/normalisation.org b/posts/career/normalisation.org
old mode 100644
new mode 100755
diff --git a/posts/career/owasp.org b/posts/career/owasp.org
old mode 100644
new mode 100755
diff --git a/posts/career/pipelines.org b/posts/career/pipelines.org
old mode 100644
new mode 100755
diff --git a/posts/career/probation-objectives.org b/posts/career/probation-objectives.org
old mode 100644
new mode 100755
diff --git a/posts/career/requirements-features.org b/posts/career/requirements-features.org
old mode 100644
new mode 100755
diff --git a/posts/career/restful-api.org b/posts/career/restful-api.org
old mode 100644
new mode 100755
diff --git a/posts/career/retrospectives.org b/posts/career/retrospectives.org
old mode 100644
new mode 100755
diff --git a/posts/career/solid-principles.org b/posts/career/solid-principles.org
old mode 100644
new mode 100755
diff --git a/posts/career/wireframe-designs.org b/posts/career/wireframe-designs.org
old mode 100644
new mode 100755
diff --git a/posts/posts-intro.org b/posts/posts-intro.org
old mode 100644
new mode 100755
diff --git a/posts/posts-list.org b/posts/posts-list.org
old mode 100644
new mode 100755
index d215317..4072c0f
--- a/posts/posts-list.org
+++ b/posts/posts-list.org
@@ -4,23 +4,23 @@
See the categories: @@html:Categories@@
* Posts:
-- [[file:career/career-list.org][Career List]] @@html:09-05-2026 18:12@@
+- [[file:career/career-list.org][Career List]] @@html:09-05-2026 18:33@@
- [[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@@
- [[file:career/restful-api.org][Restful API]] @@html:15-02-2026 23:00@@ @@html:learning@@ @@html:notes@@
+- [[file:career/database-permissions.org][Database Permissions, Roles, and Accounts]] @@html:18-01-2026 23:00@@ @@html:learning@@ @@html:notes@@
- [[file:career/monitoring-and-logging.org][Monitoring and Logging]] @@html:18-01-2026 23:00@@ @@html:learning@@ @@html:notes@@
- [[file:career/pipelines.org][Pipelines and how they work (as well as CI/CD)]] @@html:18-01-2026 23:00@@ @@html:learning@@ @@html:notes@@
-- [[file:career/database-permissions.org][Database Permissions, Roles, and Accounts]] @@html:18-01-2026 23:00@@ @@html:learning@@ @@html:notes@@
- [[file:career/probation-objectives.org][Probation Objectives:]] @@html:08-12-2025 17:55@@ @@html:review@@ @@html:notes@@
- [[file:career/airflow.org][Datamarts, Airflow and DAG's]] @@html:15-11-2025 18:37@@ @@html:learning@@ @@html:notes@@
- [[file:career/normalisation.org][Benefits of Normalisation]] @@html:10-11-2025 18:04@@ @@html:learning@@ @@html:notes@@
-- [[file:career/wireframe-designs.org][Wireframe Designs]] @@html:06-11-2025 22:01@@ @@html:learning@@ @@html:notes@@
- [[file:career/management-of-self.org][Management of self training]] @@html:06-11-2025 22:01@@ @@html:learning@@ @@html:notes@@
+- [[file:career/wireframe-designs.org][Wireframe Designs]] @@html:06-11-2025 22:01@@ @@html:learning@@ @@html:notes@@
- [[file:career/requirements-features.org][Requirements, features, user stories, tasks, walking skeletons]] @@html:06-11-2025 22:01@@ @@html:learning@@ @@html:notes@@
- [[file:career/career-intro.org][Career Introduction]] @@html:06-11-2025 21:29@@ @@html:introduction@@
- [[file:career/invest-principles.org][Invest Principles]] @@html:06-11-2025 21:08@@ @@html:learning@@ @@html:notes@@
-- [[file:career/lean.org][Lean]] @@html:05-11-2025 20:46@@ @@html:learning@@ @@html:notes@@
- [[file:career/retrospectives.org][Retrospectives]] @@html:05-11-2025 20:46@@ @@html:learning@@ @@html:notes@@
+- [[file:career/lean.org][Lean]] @@html:05-11-2025 20:46@@ @@html:learning@@ @@html:notes@@
- [[file:career/owasp.org][OWASP Top Ten]] @@html:19-10-2025 13:21@@ @@html:learning@@ @@html:notes@@
- [[file:career/solid-principles.org][SOLID Principles]] @@html:18-10-2025 19:14@@ @@html:learning@@ @@html:notes@@
- [[file:posts-intro.org][Posts Introduction]] @@html:06-08-2025 00:00@@ @@html:introduction@@
\ No newline at end of file
diff --git a/publish-and-push.sh b/publish-and-push.sh
old mode 100644
new mode 100755
diff --git a/recently-updated.org b/recently-updated.org
old mode 100644
new mode 100755
index 798b146..5049600
--- a/recently-updated.org
+++ b/recently-updated.org
@@ -2,14 +2,14 @@
#+OPTIONS: toc:nil num:nil
* Recently Updated (top 26 files)
+- [[file:home/wird-tracker.org][Wird Tracker]] @@html:2026-05-09 18:19@@
+- [[file:home/status.org][Competency Status Board]] @@html:2026-05-09 18:19@@
+- [[file:home/services.org][Service]] @@html:2026-05-09 18:19@@
+- [[file:home/notes.org][Notes]] @@html:2026-05-09 18:19@@
+- [[file:home/guide/wird-tracker-guide.org][Wird Tracker — Technical Guide]] @@html:2026-05-09 18:19@@
+- [[file:home/guide/setup.org][Setup]] @@html:2026-05-09 18:19@@
+- [[file:home/contact.org][Contact]] @@html:2026-05-09 18:19@@
- [[file:blogs/2026/05-may/authoring-service-09-05-26.org][Authoring Service]] @@html:2026-05-09 17:49@@
-- [[file:home/wird-tracker.org][Wird Tracker]] @@html:2026-05-09 16:45@@
-- [[file:home/status.org][Competency Status Board]] @@html:2026-05-09 16:45@@
-- [[file:home/services.org][Service]] @@html:2026-05-09 16:45@@
-- [[file:home/notes.org][Notes]] @@html:2026-05-09 16:45@@
-- [[file:home/guide/wird-tracker-guide.org][Wird Tracker — Technical Guide]] @@html:2026-05-09 16:45@@
-- [[file:home/contact.org][Contact]] @@html:2026-05-09 16:45@@
-- [[file:home/guide/setup.org][Setup]] @@html:2026-05-09 16:45@@
- [[file:blogs/2026/05-may/ai-datacamp-08-05.org][AI Datacamp]] @@html:2026-05-08 12:49@@
- [[file:blogs/2026/05-may/using-codex-07-05-26.org][Using Codex]] @@html:2026-05-07 16:12@@
- [[file:blogs/2026/05-may/03-05-week-review.org][[03-05-2026] - Weekly Review]] @@html:2026-05-03 12:00@@
diff --git a/requirements.txt b/requirements.txt
old mode 100644
new mode 100755
diff --git a/search-index-json.py b/search-index-json.py
old mode 100644
new mode 100755
index 8359e1b..673f75f
--- a/search-index-json.py
+++ b/search-index-json.py
@@ -2,6 +2,8 @@ import os
import json
from bs4 import BeautifulSoup
+OUTPUT_DIR = os.path.normpath(os.environ.get("SITE_OUTPUT_DIR", "output"))
+
def strip_html_tags(html):
soup = BeautifulSoup(html, "html.parser")
for tag in soup(["script", "style"]):
@@ -25,7 +27,7 @@ def create_folder_structure_json(path):
for entry in os.listdir(path):
entry_path = os.path.join(path, entry)
- base_url = entry_path[6:]
+ base_url = os.path.relpath(entry_path, OUTPUT_DIR)
if os.path.isdir(entry_path):
result['children'].append(
create_folder_structure_json(entry_path)
@@ -52,10 +54,10 @@ def create_folder_structure_json(path):
return result
-folder_path = 'output/'
+folder_path = OUTPUT_DIR
folder_json = create_folder_structure_json(folder_path)
-output_file = 'output/test.json'
+output_file = os.path.join(OUTPUT_DIR, 'test.json')
with open(output_file, 'w', encoding='utf-8') as f:
json.dump(folder_json, f, indent=4, ensure_ascii=False)
diff --git a/sitemap.org b/sitemap.org
old mode 100644
new mode 100755
index 579cdc3..137ae51
--- a/sitemap.org
+++ b/sitemap.org
@@ -7,59 +7,59 @@
- [[file:books/books-list.org][Books List]]
- clean-code
- [[file:books/clean-code/clean-code-notes.org][Clean Code Notes]]
+- blogs
+ - [[file:blogs/blogs-intro.org][Blogs Introduction]]
+ - [[file:blogs/publish-pages.org][How to publish pages using Org Publish]]
+ - [[file:blogs/blogs-list.org][Blogs List]]
+- home
+ - [[file:home/countdown.org][Countdown]]
+ - [[file:home/backlog.org][Backlog]]
+ - [[file:home/contact.org][Contact]]
+ - [[file:home/status.org][Competency Status Board]]
+ - [[file:home/wird-tracker.org][Wird Tracker]]
+ - [[file:home/services.org][Service]]
+ - [[file:home/notes.org][Notes]]
+ - [[file:home/categories.org][Categories]]
+ - guide
+ - [[file:home/guide/setup.org][Setup]]
+ - [[file:home/guide/wird-tracker-guide.org][Wird Tracker — Technical Guide]]
- lima
- [[file:lima/lima-list.org][Lima]]
-- tags
- - [[file:tags/review.sync-conflict-20260328-203248-VT6366A.org][Tag: review]]
- - [[file:tags/life.sync-conflict-20260417-233423-VT6366A.org][Tag: life]]
- - [[file:tags/learning.org][Tag: learning]]
- - [[file:tags/introduction.org][Tag: introduction]]
- - [[file:tags/notes.org][Tag: notes]]
- - [[file:tags/website.org][Tag: website]]
- - [[file:tags/review.org][Tag: review]]
- - [[file:tags/education.org][Tag: education]]
- - [[file:tags/update.org][Tag: update]]
- - [[file:tags/life.org][Tag: life]]
- - [[file:tags/emacs.org][Tag: emacs]]
- - [[file:tags/reading.org][Tag: reading]]
- - [[file:tags/maths.org][Tag: maths]]
- - [[file:tags/insights.org][Tag: insights]]
- posts
- [[file:posts/posts-intro.org][Posts Introduction]]
- [[file:posts/posts-list.org][Posts List]]
- career
- [[file:posts/career/solid-principles.org][SOLID Principles]]
- [[file:posts/career/owasp.org][OWASP Top Ten]]
- - [[file:posts/career/lean.org][Lean]]
- [[file:posts/career/retrospectives.org][Retrospectives]]
+ - [[file:posts/career/lean.org][Lean]]
- [[file:posts/career/invest-principles.org][Invest Principles]]
- [[file:posts/career/career-intro.org][Career Introduction]]
- - [[file:posts/career/wireframe-designs.org][Wireframe Designs]]
- [[file:posts/career/management-of-self.org][Management of self training]]
+ - [[file:posts/career/wireframe-designs.org][Wireframe Designs]]
- [[file:posts/career/requirements-features.org][Requirements, features, user stories, tasks, walking skeletons]]
- [[file:posts/career/normalisation.org][Benefits of Normalisation]]
- [[file:posts/career/airflow.org][Datamarts, Airflow and DAG's]]
- [[file:posts/career/probation-objectives.org][Probation Objectives:]]
+ - [[file:posts/career/database-permissions.org][Database Permissions, Roles, and Accounts]]
- [[file:posts/career/monitoring-and-logging.org][Monitoring and Logging]]
- [[file:posts/career/pipelines.org][Pipelines and how they work (as well as CI/CD)]]
- - [[file:posts/career/database-permissions.org][Database Permissions, Roles, and Accounts]]
- [[file:posts/career/restful-api.org][Restful API]]
- [[file:posts/career/javascript.org][Understands the Javascript language]]
- [[file:posts/career/ha-dr.org][High Availability, Disaster Recovery and Business Continuity]]
- [[file:posts/career/career-list.org][Career List]]
-- home
- - [[file:home/countdown.org][Countdown]]
- - [[file:home/backlog.org][Backlog]]
- - [[file:home/contact.org][Contact]]
- - [[file:home/status.org][Competency Status Board]]
- - [[file:home/services.org][Service]]
- - [[file:home/notes.org][Notes]]
- - [[file:home/wird-tracker.org][Wird Tracker]]
- - [[file:home/categories.org][Categories]]
- - guide
- - [[file:home/guide/setup.org][Setup]]
- - [[file:home/guide/wird-tracker-guide.org][Wird Tracker — Technical Guide]]
-- blogs
- - [[file:blogs/blogs-intro.org][Blogs Introduction]]
- - [[file:blogs/publish-pages.org][How to publish pages using Org Publish]]
- - [[file:blogs/blogs-list.org][Blogs List]]
\ No newline at end of file
+- tags
+ - [[file:tags/review.sync-conflict-20260328-203248-VT6366A.org][Tag: review]]
+ - [[file:tags/life.sync-conflict-20260417-233423-VT6366A.org][Tag: life]]
+ - [[file:tags/introduction.org][Tag: introduction]]
+ - [[file:tags/learning.org][Tag: learning]]
+ - [[file:tags/notes.org][Tag: notes]]
+ - [[file:tags/review.org][Tag: review]]
+ - [[file:tags/website.org][Tag: website]]
+ - [[file:tags/update.org][Tag: update]]
+ - [[file:tags/insights.org][Tag: insights]]
+ - [[file:tags/life.org][Tag: life]]
+ - [[file:tags/education.org][Tag: education]]
+ - [[file:tags/reading.org][Tag: reading]]
+ - [[file:tags/emacs.org][Tag: emacs]]
+ - [[file:tags/maths.org][Tag: maths]]
\ No newline at end of file
diff --git a/systemd/user/org-web-authoring.service b/systemd/user/org-web-authoring.service
old mode 100644
new mode 100755
diff --git a/tags/education.org b/tags/education.org
old mode 100644
new mode 100755
diff --git a/tags/emacs.org b/tags/emacs.org
old mode 100644
new mode 100755
diff --git a/tags/insights.org b/tags/insights.org
old mode 100644
new mode 100755
diff --git a/tags/introduction.org b/tags/introduction.org
old mode 100644
new mode 100755
diff --git a/tags/learning.org b/tags/learning.org
old mode 100644
new mode 100755
index fa15dfe..ef43c84
--- a/tags/learning.org
+++ b/tags/learning.org
@@ -5,16 +5,16 @@
- [[file:../posts/career/ha-dr.org][High Availability, Disaster Recovery and Business Continuity]]
- [[file:../posts/career/javascript.org][Understands the Javascript language]]
- [[file:../posts/career/restful-api.org][Restful API]]
+- [[file:../posts/career/database-permissions.org][Database Permissions, Roles, and Accounts]]
- [[file:../posts/career/monitoring-and-logging.org][Monitoring and Logging]]
- [[file:../posts/career/pipelines.org][Pipelines and how they work (as well as CI/CD)]]
-- [[file:../posts/career/database-permissions.org][Database Permissions, Roles, and Accounts]]
- [[file:../posts/career/airflow.org][Datamarts, Airflow and DAG's]]
- [[file:../posts/career/normalisation.org][Benefits of Normalisation]]
-- [[file:../posts/career/wireframe-designs.org][Wireframe Designs]]
- [[file:../posts/career/management-of-self.org][Management of self training]]
+- [[file:../posts/career/wireframe-designs.org][Wireframe Designs]]
- [[file:../posts/career/requirements-features.org][Requirements, features, user stories, tasks, walking skeletons]]
- [[file:../posts/career/invest-principles.org][Invest Principles]]
-- [[file:../posts/career/lean.org][Lean]]
- [[file:../posts/career/retrospectives.org][Retrospectives]]
+- [[file:../posts/career/lean.org][Lean]]
- [[file:../posts/career/owasp.org][OWASP Top Ten]]
- [[file:../posts/career/solid-principles.org][SOLID Principles]]
diff --git a/tags/life.org b/tags/life.org
old mode 100644
new mode 100755
diff --git a/tags/life.sync-conflict-20260417-233423-VT6366A.org b/tags/life.sync-conflict-20260417-233423-VT6366A.org
old mode 100644
new mode 100755
diff --git a/tags/maths.org b/tags/maths.org
old mode 100644
new mode 100755
diff --git a/tags/notes.org b/tags/notes.org
old mode 100644
new mode 100755
index 3e2f335..6d9fc80
--- a/tags/notes.org
+++ b/tags/notes.org
@@ -5,17 +5,17 @@
- [[file:../posts/career/ha-dr.org][High Availability, Disaster Recovery and Business Continuity]]
- [[file:../posts/career/javascript.org][Understands the Javascript language]]
- [[file:../posts/career/restful-api.org][Restful API]]
+- [[file:../posts/career/database-permissions.org][Database Permissions, Roles, and Accounts]]
- [[file:../posts/career/monitoring-and-logging.org][Monitoring and Logging]]
- [[file:../posts/career/pipelines.org][Pipelines and how they work (as well as CI/CD)]]
-- [[file:../posts/career/database-permissions.org][Database Permissions, Roles, and Accounts]]
- [[file:../posts/career/probation-objectives.org][Probation Objectives:]]
- [[file:../posts/career/airflow.org][Datamarts, Airflow and DAG's]]
- [[file:../posts/career/normalisation.org][Benefits of Normalisation]]
-- [[file:../posts/career/wireframe-designs.org][Wireframe Designs]]
- [[file:../posts/career/management-of-self.org][Management of self training]]
+- [[file:../posts/career/wireframe-designs.org][Wireframe Designs]]
- [[file:../posts/career/requirements-features.org][Requirements, features, user stories, tasks, walking skeletons]]
- [[file:../posts/career/invest-principles.org][Invest Principles]]
-- [[file:../posts/career/lean.org][Lean]]
- [[file:../posts/career/retrospectives.org][Retrospectives]]
+- [[file:../posts/career/lean.org][Lean]]
- [[file:../posts/career/owasp.org][OWASP Top Ten]]
- [[file:../posts/career/solid-principles.org][SOLID Principles]]
diff --git a/tags/reading.org b/tags/reading.org
old mode 100644
new mode 100755
diff --git a/tags/review.org b/tags/review.org
old mode 100644
new mode 100755
diff --git a/tags/review.sync-conflict-20260328-203248-VT6366A.org b/tags/review.sync-conflict-20260328-203248-VT6366A.org
old mode 100644
new mode 100755
diff --git a/tags/update.org b/tags/update.org
old mode 100644
new mode 100755
diff --git a/tags/website.org b/tags/website.org
old mode 100644
new mode 100755
diff --git a/tests/test_authoring_server.py b/tests/test_authoring_server.py
old mode 100644
new mode 100755
diff --git a/watcher.sh b/watcher.sh
old mode 100644
new mode 100755
diff --git a/wip.org b/wip.org
old mode 100644
new mode 100755