harden Hugo build and remove unused CMS
Build Hugo / build (push) Successful in 2m20s
Build Hugo / deploy (push) Successful in 29s

This commit is contained in:
2026-08-23 18:15:52 +00:00
parent 00ba36191f
commit 40c58e8d9b
10 changed files with 32 additions and 107 deletions
+18
View File
@@ -0,0 +1,18 @@
# Send only files required by the Hugo build and SWS runtime stages.
*
!Dockerfile
!go.mod
!go.sum
!sws.toml
!assets/
!assets/**
!config/
!config/**
!content/
!content/**
!layouts/
!layouts/**
!static/
!static/**
-2
View File
@@ -43,8 +43,6 @@ jobs:
context: . context: .
platforms: linux/arm64, linux/amd64 platforms: linux/arm64, linux/amd64
push: true push: true
build-args: |
BUILDKIT_CONTEXT_KEEP_GIT_DIR=true
tags: | tags: |
${{ env.REGISTRY }}/${{ gitea.repository_owner }}/blog-ahmza-com:latest ${{ env.REGISTRY }}/${{ gitea.repository_owner }}/blog-ahmza-com:latest
${{ env.REGISTRY }}/${{ gitea.repository_owner }}/blog-ahmza-com:${{ gitea.event.head_commit.id }} ${{ env.REGISTRY }}/${{ gitea.repository_owner }}/blog-ahmza-com:${{ gitea.event.head_commit.id }}
-1
View File
@@ -5,5 +5,4 @@ styles/
node_modules node_modules
public/ public/
resources/ resources/
go.sum
themes/ themes/
+8 -11
View File
@@ -3,20 +3,17 @@
# under QEMU emulation). Hugo output is static HTML — identical across arches — # under QEMU emulation). Hugo output is static HTML — identical across arches —
# so there's no reason to run it per target arch. The runtime stage below stays # so there's no reason to run it per target arch. The runtime stage below stays
# on TARGETPLATFORM, so multi-arch (amd64 + arm64) runtime images are preserved. # on TARGETPLATFORM, so multi-arch (amd64 + arm64) runtime images are preserved.
FROM --platform=$BUILDPLATFORM ghcr.io/hugomods/hugo:0.157.0 AS build FROM --platform=$BUILDPLATFORM ghcr.io/hugomods/hugo:0.165.0 AS build
WORKDIR /tmp/hugo WORKDIR /tmp/hugo
#COPY go.mod ./ COPY go.mod go.sum ./
#RUN hugo mod get COPY config ./config
# RUN hugo mod graph
#COPY archetypes ./archetypes
#COPY assets ./assets
#COPY content ./content
#COPY static ./static
#COPY themes ./themes
#COPY hugo.* ./
COPY . . COPY assets ./assets
COPY content ./content
COPY layouts ./layouts
COPY static ./static
RUN hugo --gc --minify RUN hugo --gc --minify
FROM ghcr.io/static-web-server/static-web-server:2 FROM ghcr.io/static-web-server/static-web-server:2
+2 -2
View File
@@ -1,5 +1,5 @@
languageCode = "en" locale = "en"
languageName = "English" label = "English"
weight = 1 weight = 1
title = "ahmza's ramblings" title = "ahmza's ramblings"
+1 -1
View File
@@ -1,3 +1,3 @@
[[imports]] [[imports]]
disable = false disable = false
path = "github.com/nunocoracao/blowfish/v2" path = "github.com/nunocoracao/blowfish/v3"
+1 -1
View File
@@ -2,4 +2,4 @@ module github.com/ahmzaa/blog-ahmza-com
go 1.24.3 go 1.24.3
require github.com/nunocoracao/blowfish/v2 v2.86.0 // indirect require github.com/nunocoracao/blowfish/v3 v3.4.0
+2
View File
@@ -0,0 +1,2 @@
github.com/nunocoracao/blowfish/v3 v3.4.0 h1:Fv7mS97lagllTGzHA2V1H6+N5fuQd3DuWmOQlFFV4Aw=
github.com/nunocoracao/blowfish/v3 v3.4.0/go.mod h1:8lJwR95VgcyWDhjKvUJMdOQXogrmhYSxkWh4ogSJfCg=
-69
View File
@@ -1,69 +0,0 @@
## Commit messages
backend:
name: github
repo: ahmzaa/blog-ahmza-com
branch: main
squash_merges: true
base_url: https://sveltia-cms-auth.hamzaahmed12328.workers.dev
use_graphql: true
commit_messages:
create: Create {{collection}} "{{slug}}"
update: Update {{collection}} "{{slug}}"
delete: Delete {{collection}} "{{slug}}"
uploadMedia: Upload "{{path}}"
deleteMedia: Delete "{{path}}"
openAuthoring: '{{message}}'
## Publish mode
publish_mode: editorial_workflow # Allowed Values: simple, editorial_workflow
## Media and Public folders
#Media
media_folder: "assets/uploaded/img"
public_folder: "/uploaded/img"
## SiteTitle
site_url: https://blog.ahmza.com
display_url: blog.ahmza.com
logo_url: https://blog.ahmza.com/logo.webp
## Collections
collections:
- name: posts
identifier_field: name
label: posts
label_singular: post
icon: article
description: sites main content, blog posts
folder: "content/posts"
path: "{{slug}}/index"
media_folder: ""
public_folder: ""
create: true
slug: '{{slug}}'
fields:
- {label: "Title", name: "title", widget: "string"}
- {label: "Featured Image", name: "featureimage", widget: "image"}
- {label: "Featured Image Caption", name: "featureimagecaption", widget: "string"}
- {label: "Publish Date", name: "date", widget: "datetime", default: "{{now}}", date_format: "YYYY-MM-DD"}
- {label: "Last Modified", name: "lastmod", widget: "datetime", default: "{{now}}", date_format: "YYYY-MM-DD"}
- {label: "Author", name: "author", widget: "string", default: "ahmza"}
- {label: "Draft", name: "draft", widget: "boolean", default: "false"}
- {label: "Tags", name: "tags", widget: "list"}
- {label: "Description", name: "description", widget: "string"}
- {label: "Body", name: "body", widget: "markdown"}
extension: md
sortable_fields: ['title', 'date', 'lastmod', 'tags']
view_filters:
- label: "ahmza's posts"
field: author
pattern: 'ahmza'
- label: Drafts
field: draft
pattern: true
view_groups:
- label: Year
field: date
pattern: \d{4}
- label: Drafts
field: draft
-20
View File
@@ -1,20 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="robots" content="noindex" />
<title>Content Manager</title>
<!-- Include the script that enables Netlify Identity on this page. -->
</head>
<body>
<!-- Sveltia CMS, pinned to a specific version with Subresource Integrity.
Bump the version + regenerate the integrity hash when upgrading:
curl -sS https://cdn.jsdelivr.net/npm/@sveltia/cms@<ver>/dist/sveltia-cms.js \
| openssl dgst -sha384 -binary | openssl base64 -A -->
<script
src="https://cdn.jsdelivr.net/npm/@sveltia/cms@0.172.4/dist/sveltia-cms.js"
integrity="sha384-Sj4Mfbg9OjjwG2ZE/YeUYu7xbZRTXGFg/wa/nszj3KzItKuRLEmGqSpV5C9YI2Ge"
crossorigin="anonymous"></script>
</body>
</html>