From 70423ce723b89271f937d483a3001e4e08abb1d4 Mon Sep 17 00:00:00 2001 From: Nicholas Ward Date: Sat, 5 Jul 2025 15:36:34 +0000 Subject: [PATCH] Clean history, git LFS --- .gitattributes | 7 + .gitea/workflows/containerize.yaml | 50 ++ .gitignore | 21 + .gitmodules | 3 + README.md | 42 ++ container/Dockerfile | 7 + container/site/archetypes/default.md | 5 + container/site/content/about/index.md | 13 + .../posts/2024-04-car-maintenance/index.md | 104 +++ .../2024-christmas-eve-appetizers/index.md | 57 ++ .../2024-garden/herb-garden-gallery.yaml | 18 + .../site/content/posts/2024-garden/index.md | 37 ++ .../2024-garden/vegetable-garden-gallery.yaml | 22 + .../posts/2025-03-car-maintenance/index.md | 21 + .../2025-garden/herb-garden-gallery.yaml | 3 + .../site/content/posts/2025-garden/index.md | 29 + .../posts/2025-garden/seed-gallery.yaml | 16 + .../posts/2025-garden/seedling-gallery.yaml | 10 + .../2025-garden/vegetable-garden-gallery.yaml | 0 container/site/content/posts/about.md | 15 + .../american-pizza-gallery.yaml | 16 + .../content/posts/american-pizza/index.md | 17 + .../posts/baltimore/baltimore-gallery.yaml | 76 +++ .../site/content/posts/baltimore/index.md | 31 + .../banoffee-pie/banoffee-pie-gallery.yaml | 28 + .../site/content/posts/banoffee-pie/index.md | 24 + .../posts/bicycle-brakes-replacement/index.md | 134 ++++ .../posts/bicycle-pump-sprayer/index.md | 85 +++ container/site/content/posts/burrito/index.md | 64 ++ .../posts/car-maintenance-brakes/index.md | 30 + .../site/content/posts/dc-nyc/dcnyc.yaml | 103 +++ container/site/content/posts/dc-nyc/index.md | 16 + .../posts/dominos-garlic-oil-blend/index.md | 22 + .../posts/dynamic-dns/images/architecture.png | 3 + .../images/aws-cloudshell-newrecord.py.jpg | 3 + .../dynamic-dns/images/aws-cloudshell.jpg | 3 + .../site/content/posts/dynamic-dns/index.md | 71 ++ .../earl-grey-cake/earl-grey-gallery.yaml | 34 + .../content/posts/earl-grey-cake/index.md | 14 + .../site/content/posts/egg-replacer/index.md | 97 +++ .../site/content/posts/email-alerts/index.md | 306 +++++++++ .../posts/estes-park/estes-park-gallery.yaml | 46 ++ .../site/content/posts/estes-park/index.md | 22 + .../posts/fooddata-central-ingest/index.md | 207 ++++++ .../posts/formulation-web-app-I/index.md | 96 +++ .../posts/formulation-web-app-II/index.md | 110 ++++ .../site/content/posts/gitea-actions/index.md | 558 ++++++++++++++++ .../site/content/posts/grow-lights/index.md | 58 ++ .../site/content/posts/hot-fudge/index.md | 124 ++++ .../posts/infrastructure-overhaul/index.md | 245 +++++++ .../content/posts/ipcam-timelapse/index.md | 204 ++++++ .../posts/jenkins-deploy-web-log/index.md | 319 +++++++++ .../posts/jenkins-deploy-website/index.md | 191 ++++++ container/site/content/posts/jenkins/index.md | 198 ++++++ .../site/content/posts/key-west/index.md | 13 + .../posts/key-west/key-west-gallery.yaml | 100 +++ .../content/posts/local-llm-setup/index.md | 111 ++++ .../content/posts/meat-emulsions/index.md | 63 ++ .../content/posts/mixed-berry-muffin/index.md | 18 + .../mixed-berry-muffin-gallery.yaml | 46 ++ .../content/posts/mod-pizza-crust/index.md | 113 ++++ .../content/posts/mssql-db-config/index.md | 176 +++++ .../content/posts/nas-build-pt-i/index.md | 157 +++++ .../content/posts/nas-build-pt-ii/index.md | 26 + .../nas-build-pt-ii/nas-build-gallery.yaml | 13 + .../pacific-northwest/images/DSC_7705.JPG | 3 + .../pacific-northwest/images/DSC_7707.JPG | 3 + .../pacific-northwest/images/DSC_7709.JPG | 3 + .../pacific-northwest/images/DSC_7710.JPG | 3 + .../pacific-northwest/images/DSC_7725.JPG | 3 + .../pacific-northwest/images/DSC_7729.JPG | 3 + .../pacific-northwest/images/DSC_7730.JPG | 3 + .../pacific-northwest/images/DSC_7805.JPG | 3 + .../pacific-northwest/images/DSC_7813.JPG | 3 + .../pacific-northwest/images/DSC_7825.JPG | 3 + .../pacific-northwest/images/DSC_7886.JPG | 3 + .../pacific-northwest/images/DSC_7930.JPG | 3 + .../pacific-northwest/images/DSC_7954.JPG | 3 + .../pacific-northwest/images/DSC_7972.JPG | 3 + .../pacific-northwest/images/DSC_7986.JPG | 3 + .../pacific-northwest/images/DSC_8008.JPG | 3 + .../pacific-northwest/images/DSC_8009.JPG | 3 + .../pacific-northwest/images/DSC_8019.JPG | 3 + .../pacific-northwest/images/DSC_8044.JPG | 3 + .../images/PXL_20230503_125714405.jpg | 3 + .../images/PXL_20230503_132730963.jpg | 3 + .../images/PXL_20230503_133030961.jpg | 3 + .../images/PXL_20230503_223551382.jpg | 3 + .../images/PXL_20230503_223823824.jpg | 3 + .../images/PXL_20230504_202149667.jpg | 3 + .../images/PXL_20230505_162634712.jpg | 3 + .../images/PXL_20230505_224507143.jpg | 3 + .../images/PXL_20230505_225612504.jpg | 3 + .../images/PXL_20230505_232206434.jpg | 3 + .../images/PXL_20230506_030136974.jpg | 3 + .../images/PXL_20230507_190044473.jpg | 3 + .../images/PXL_20230507_195504996.jpg | 3 + .../images/PXL_20230507_232645677.jpg | 3 + .../images/PXL_20230509_024655993.jpg | 3 + .../content/posts/pacific-northwest/index.md | 26 + .../posts/pacific-northwest/pnw-gallery.yaml | 0 .../posts/papa-johns-garlic-butter/index.md | 94 +++ .../site/content/posts/pc-build/index.md | 55 ++ .../content/posts/photogrammetry/index.md | 158 +++++ .../pistachio-shortbread-cookie/index.md | 26 + .../pistachio-shortbread-cookie-gallery.yaml | 25 + container/site/content/posts/pita/index.md | 61 ++ .../site/content/posts/pita/pita-gallery.yaml | 28 + .../content/posts/pretzel-nuggets/index.md | 137 ++++ .../proxmox/images/clonezilla_restore.PNG | 3 + .../posts/proxmox/images/clonezilla_usb.PNG | 3 + .../posts/proxmox/images/gparted_shrink.PNG | 3 + container/site/content/posts/proxmox/index.md | 78 +++ .../site/content/posts/queso-blanco/index.md | 77 +++ .../posts/react-app-resurrection/index.md | 239 +++++++ .../site/content/posts/refried-beans/index.md | 139 ++++ .../content/posts/server-monitor/index.md | 281 ++++++++ .../site/content/posts/server-rack/index.md | 52 ++ .../server-rack/server-rack-gallery.yaml | 20 + .../content/posts/solar-generator/index.md | 145 ++++ .../site/content/posts/sourdough/index.md | 46 ++ .../posts/spice-storage-label/index.md | 72 ++ .../posts/spring-rest-api-pt-i/index.md | 179 +++++ .../posts/spring-rest-api-pt-ii/index.md | 340 ++++++++++ .../site/content/posts/whiteboard/index.md | 74 +++ .../posts/whiteboard/whiteboard-gallery.yaml | 24 + .../content/posts/wildlife-stream/index.md | 342 ++++++++++ container/site/hugo.toml | 620 ++++++++++++++++++ .../site/layouts/shortcodes/gallerynew.html | 22 + container/site/layouts/shortcodes/image.html | 16 + .../site/layouts/shortcodes/modelviewer.html | 20 + container/site/layouts/shortcodes/video.html | 50 ++ container/site/static/W.svg | 19 + container/site/static/apple-touch-icon.png | 3 + container/site/static/favicon-96x96.png | 3 + container/site/static/favicon.ico | Bin 0 -> 15086 bytes container/site/static/favicon.svg | 3 + container/site/static/site.webmanifest | 21 + .../site/static/web-app-manifest-192x192.png | 3 + .../site/static/web-app-manifest-512x512.png | 3 + container/site/themes/LoveIt | 1 + 141 files changed, 8484 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitea/workflows/containerize.yaml create mode 100644 .gitignore create mode 100644 .gitmodules create mode 100644 README.md create mode 100644 container/Dockerfile create mode 100644 container/site/archetypes/default.md create mode 100644 container/site/content/about/index.md create mode 100644 container/site/content/posts/2024-04-car-maintenance/index.md create mode 100644 container/site/content/posts/2024-christmas-eve-appetizers/index.md create mode 100644 container/site/content/posts/2024-garden/herb-garden-gallery.yaml create mode 100644 container/site/content/posts/2024-garden/index.md create mode 100644 container/site/content/posts/2024-garden/vegetable-garden-gallery.yaml create mode 100644 container/site/content/posts/2025-03-car-maintenance/index.md create mode 100644 container/site/content/posts/2025-garden/herb-garden-gallery.yaml create mode 100644 container/site/content/posts/2025-garden/index.md create mode 100644 container/site/content/posts/2025-garden/seed-gallery.yaml create mode 100644 container/site/content/posts/2025-garden/seedling-gallery.yaml create mode 100644 container/site/content/posts/2025-garden/vegetable-garden-gallery.yaml create mode 100644 container/site/content/posts/about.md create mode 100644 container/site/content/posts/american-pizza/american-pizza-gallery.yaml create mode 100644 container/site/content/posts/american-pizza/index.md create mode 100644 container/site/content/posts/baltimore/baltimore-gallery.yaml create mode 100644 container/site/content/posts/baltimore/index.md create mode 100644 container/site/content/posts/banoffee-pie/banoffee-pie-gallery.yaml create mode 100644 container/site/content/posts/banoffee-pie/index.md create mode 100644 container/site/content/posts/bicycle-brakes-replacement/index.md create mode 100644 container/site/content/posts/bicycle-pump-sprayer/index.md create mode 100644 container/site/content/posts/burrito/index.md create mode 100644 container/site/content/posts/car-maintenance-brakes/index.md create mode 100644 container/site/content/posts/dc-nyc/dcnyc.yaml create mode 100644 container/site/content/posts/dc-nyc/index.md create mode 100644 container/site/content/posts/dominos-garlic-oil-blend/index.md create mode 100644 container/site/content/posts/dynamic-dns/images/architecture.png create mode 100644 container/site/content/posts/dynamic-dns/images/aws-cloudshell-newrecord.py.jpg create mode 100644 container/site/content/posts/dynamic-dns/images/aws-cloudshell.jpg create mode 100644 container/site/content/posts/dynamic-dns/index.md create mode 100644 container/site/content/posts/earl-grey-cake/earl-grey-gallery.yaml create mode 100644 container/site/content/posts/earl-grey-cake/index.md create mode 100644 container/site/content/posts/egg-replacer/index.md create mode 100644 container/site/content/posts/email-alerts/index.md create mode 100644 container/site/content/posts/estes-park/estes-park-gallery.yaml create mode 100644 container/site/content/posts/estes-park/index.md create mode 100644 container/site/content/posts/fooddata-central-ingest/index.md create mode 100644 container/site/content/posts/formulation-web-app-I/index.md create mode 100644 container/site/content/posts/formulation-web-app-II/index.md create mode 100644 container/site/content/posts/gitea-actions/index.md create mode 100644 container/site/content/posts/grow-lights/index.md create mode 100644 container/site/content/posts/hot-fudge/index.md create mode 100644 container/site/content/posts/infrastructure-overhaul/index.md create mode 100644 container/site/content/posts/ipcam-timelapse/index.md create mode 100644 container/site/content/posts/jenkins-deploy-web-log/index.md create mode 100644 container/site/content/posts/jenkins-deploy-website/index.md create mode 100644 container/site/content/posts/jenkins/index.md create mode 100644 container/site/content/posts/key-west/index.md create mode 100644 container/site/content/posts/key-west/key-west-gallery.yaml create mode 100644 container/site/content/posts/local-llm-setup/index.md create mode 100644 container/site/content/posts/meat-emulsions/index.md create mode 100644 container/site/content/posts/mixed-berry-muffin/index.md create mode 100644 container/site/content/posts/mixed-berry-muffin/mixed-berry-muffin-gallery.yaml create mode 100644 container/site/content/posts/mod-pizza-crust/index.md create mode 100644 container/site/content/posts/mssql-db-config/index.md create mode 100644 container/site/content/posts/nas-build-pt-i/index.md create mode 100644 container/site/content/posts/nas-build-pt-ii/index.md create mode 100644 container/site/content/posts/nas-build-pt-ii/nas-build-gallery.yaml create mode 100644 container/site/content/posts/pacific-northwest/images/DSC_7705.JPG create mode 100644 container/site/content/posts/pacific-northwest/images/DSC_7707.JPG create mode 100644 container/site/content/posts/pacific-northwest/images/DSC_7709.JPG create mode 100644 container/site/content/posts/pacific-northwest/images/DSC_7710.JPG create mode 100644 container/site/content/posts/pacific-northwest/images/DSC_7725.JPG create mode 100644 container/site/content/posts/pacific-northwest/images/DSC_7729.JPG create mode 100644 container/site/content/posts/pacific-northwest/images/DSC_7730.JPG create mode 100644 container/site/content/posts/pacific-northwest/images/DSC_7805.JPG create mode 100644 container/site/content/posts/pacific-northwest/images/DSC_7813.JPG create mode 100644 container/site/content/posts/pacific-northwest/images/DSC_7825.JPG create mode 100644 container/site/content/posts/pacific-northwest/images/DSC_7886.JPG create mode 100644 container/site/content/posts/pacific-northwest/images/DSC_7930.JPG create mode 100644 container/site/content/posts/pacific-northwest/images/DSC_7954.JPG create mode 100644 container/site/content/posts/pacific-northwest/images/DSC_7972.JPG create mode 100644 container/site/content/posts/pacific-northwest/images/DSC_7986.JPG create mode 100644 container/site/content/posts/pacific-northwest/images/DSC_8008.JPG create mode 100644 container/site/content/posts/pacific-northwest/images/DSC_8009.JPG create mode 100644 container/site/content/posts/pacific-northwest/images/DSC_8019.JPG create mode 100644 container/site/content/posts/pacific-northwest/images/DSC_8044.JPG create mode 100644 container/site/content/posts/pacific-northwest/images/PXL_20230503_125714405.jpg create mode 100644 container/site/content/posts/pacific-northwest/images/PXL_20230503_132730963.jpg create mode 100644 container/site/content/posts/pacific-northwest/images/PXL_20230503_133030961.jpg create mode 100644 container/site/content/posts/pacific-northwest/images/PXL_20230503_223551382.jpg create mode 100644 container/site/content/posts/pacific-northwest/images/PXL_20230503_223823824.jpg create mode 100644 container/site/content/posts/pacific-northwest/images/PXL_20230504_202149667.jpg create mode 100644 container/site/content/posts/pacific-northwest/images/PXL_20230505_162634712.jpg create mode 100644 container/site/content/posts/pacific-northwest/images/PXL_20230505_224507143.jpg create mode 100644 container/site/content/posts/pacific-northwest/images/PXL_20230505_225612504.jpg create mode 100644 container/site/content/posts/pacific-northwest/images/PXL_20230505_232206434.jpg create mode 100644 container/site/content/posts/pacific-northwest/images/PXL_20230506_030136974.jpg create mode 100644 container/site/content/posts/pacific-northwest/images/PXL_20230507_190044473.jpg create mode 100644 container/site/content/posts/pacific-northwest/images/PXL_20230507_195504996.jpg create mode 100644 container/site/content/posts/pacific-northwest/images/PXL_20230507_232645677.jpg create mode 100644 container/site/content/posts/pacific-northwest/images/PXL_20230509_024655993.jpg create mode 100644 container/site/content/posts/pacific-northwest/index.md create mode 100644 container/site/content/posts/pacific-northwest/pnw-gallery.yaml create mode 100644 container/site/content/posts/papa-johns-garlic-butter/index.md create mode 100644 container/site/content/posts/pc-build/index.md create mode 100644 container/site/content/posts/photogrammetry/index.md create mode 100644 container/site/content/posts/pistachio-shortbread-cookie/index.md create mode 100644 container/site/content/posts/pistachio-shortbread-cookie/pistachio-shortbread-cookie-gallery.yaml create mode 100644 container/site/content/posts/pita/index.md create mode 100644 container/site/content/posts/pita/pita-gallery.yaml create mode 100644 container/site/content/posts/pretzel-nuggets/index.md create mode 100644 container/site/content/posts/proxmox/images/clonezilla_restore.PNG create mode 100644 container/site/content/posts/proxmox/images/clonezilla_usb.PNG create mode 100644 container/site/content/posts/proxmox/images/gparted_shrink.PNG create mode 100644 container/site/content/posts/proxmox/index.md create mode 100644 container/site/content/posts/queso-blanco/index.md create mode 100644 container/site/content/posts/react-app-resurrection/index.md create mode 100644 container/site/content/posts/refried-beans/index.md create mode 100644 container/site/content/posts/server-monitor/index.md create mode 100644 container/site/content/posts/server-rack/index.md create mode 100644 container/site/content/posts/server-rack/server-rack-gallery.yaml create mode 100644 container/site/content/posts/solar-generator/index.md create mode 100644 container/site/content/posts/sourdough/index.md create mode 100644 container/site/content/posts/spice-storage-label/index.md create mode 100644 container/site/content/posts/spring-rest-api-pt-i/index.md create mode 100644 container/site/content/posts/spring-rest-api-pt-ii/index.md create mode 100644 container/site/content/posts/whiteboard/index.md create mode 100644 container/site/content/posts/whiteboard/whiteboard-gallery.yaml create mode 100644 container/site/content/posts/wildlife-stream/index.md create mode 100644 container/site/hugo.toml create mode 100644 container/site/layouts/shortcodes/gallerynew.html create mode 100644 container/site/layouts/shortcodes/image.html create mode 100644 container/site/layouts/shortcodes/modelviewer.html create mode 100644 container/site/layouts/shortcodes/video.html create mode 100644 container/site/static/W.svg create mode 100644 container/site/static/apple-touch-icon.png create mode 100644 container/site/static/favicon-96x96.png create mode 100644 container/site/static/favicon.ico create mode 100644 container/site/static/favicon.svg create mode 100644 container/site/static/site.webmanifest create mode 100644 container/site/static/web-app-manifest-192x192.png create mode 100644 container/site/static/web-app-manifest-512x512.png create mode 160000 container/site/themes/LoveIt diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..88e52dc --- /dev/null +++ b/.gitattributes @@ -0,0 +1,7 @@ +*.png filter=lfs diff=lfs merge=lfs -text +*.PNG filter=lfs diff=lfs merge=lfs -text +*.jpg filter=lfs diff=lfs merge=lfs -text +*.JPG filter=lfs diff=lfs merge=lfs -text +*.mp4 filter=lfs diff=lfs merge=lfs -text +*.MP4 filter=lfs diff=lfs merge=lfs -text +*.webm filter=lfs diff=lfs merge=lfs -text diff --git a/.gitea/workflows/containerize.yaml b/.gitea/workflows/containerize.yaml new file mode 100644 index 0000000..37a84a5 --- /dev/null +++ b/.gitea/workflows/containerize.yaml @@ -0,0 +1,50 @@ +name: Build & Push Hugo Site Image + +on: + push: + branches: + - master + - feature/external-media + workflow_dispatch: + +jobs: + containerize: + name: 'containerize' + env: + REGISTRY_USERNAME: nicholas + IMAGE_REGISTRY: git.uuard.com + IMAGE_NAME: nicholas/web-log + IMAGE_TAG: ${{ github.sha }} + runs-on: ubuntu-latest + steps: + - name: โฌ‡๏ธ Checkout repo + uses: actions/checkout@v4 + with: + submodules: recursive + + - name: โš™๏ธ Setup Hugo + uses: peaceiris/actions-hugo@v3 + with: + hugo-version: '0.147.9' + extended: true + + - name: ๐Ÿ—๏ธ Build Hugo site + working-directory: container/site + run: hugo --minify + + - name: ๐Ÿ” Gitea Registry Login + uses: docker/login-action@v3 + with: + registry: ${{ env.IMAGE_REGISTRY }} + username: ${{ env.REGISTRY_USERNAME }} + password: ${{ secrets.REPO_PKG_TOKEN }} + + - name: ๐Ÿ‹ Build Docker image + run: docker build -t $IMAGE_REGISTRY/$IMAGE_NAME:$IMAGE_TAG ./container + + - name: ๐Ÿš€ Push Docker image + run: docker push $IMAGE_REGISTRY/$IMAGE_NAME:$IMAGE_TAG + + - name: ๐Ÿงน Prune images + if: always() + run: docker image prune -f diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..40d0ce7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,21 @@ +# Created by https://www.toptal.com/developers/gitignore/api/hugo +# Edit at https://www.toptal.com/developers/gitignore?templates=hugo + +### Hugo ### +# Generated files by hugo +container/site/public/ +container/site/resources/_gen/ +container/site/assets/jsconfig.json +container/site/hugo_stats.json + +# Executable may be added to repository +hugo.exe +hugo.darwin +hugo.linux + +# Temporary lock file while building +container/site/.hugo_build.lock + +# End of https://www.toptal.com/developers/gitignore/api/hugo + +/.vscode/ diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..418914f --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "container/site/themes/LoveIt"] + path = container/site/themes/LoveIt + url = https://github.com/sulrich/LoveIt.git diff --git a/README.md b/README.md new file mode 100644 index 0000000..be453f8 --- /dev/null +++ b/README.md @@ -0,0 +1,42 @@ +# web log +This is my personal blog. + +## Tech Stack +- [Hugo](https://gohugo.io/) +- [Markdown](https://daringfireball.net/projects/markdown/) +- Submodules: + - [LoveIt theme](https://github.com/dillonzq/LoveIt) + +### clone repository +To clone the repo and its submodules in one step: + ```shell +git clone --recurse-submodules https://git.uuard.com/nicholas/web-log.git +``` +or + +```shell +git clone https://git.uuard.com/nicholas/web-log.git +cd web-log/themes +git submodule update --init --recursive +``` + +### update submodules +```shell +git submodule update --remote --merge` +``` + +### development server +```shell +hugo server +``` + +### production +I have configured the Hugo site to serve media assets (images, videos) from an external host. To enable this, I have: + +- Defined a base URL for file server in my `hugo.toml`: + + `filesBase = "https://files.web-log.uuard.com"` +- Created custom shortcodes (gallery, video, image) that: + - Accept a relative path (e.g. `"videos/fells-point-path.webm"`) + - Resolve the full asset URL using the `filesBase` parameter + - Use the full URL in (e.g. `