migrate to decoupled Blowfish layout, fix TOC scrollspy, and update docs

- Theme Decoupling & Cleanup:
      - Fully decoupled and vendored the Blowfish theme directly into root directories (layouts/,
  assets/, static/, data/, i18n/).
      - De-registered and cleaned up legacy Git submodules (themes/blowfish, themes/hugo-admonitions)
  from the Git index to protect the build from upstream breakages.
      - Configured .gitignore to ignore development preview symlinks (content, static,
  config/_default/menus.en.toml), build folders (public/, resources/), and locks.

    - TOC & Layout Fixes:
      - Replaced the custom layouts/_default/single.html template with the Blowfish default to restore
  native container widths and the side-by-side flex layout.
      - Restored TOC to float on the right sidebar on desktop viewports and render inline on mobile
  viewports.
      - Fixed a parameter resolution bug in layouts/partials/toc.html by checking both .Site.Params.
  smartTOC and .Site.Params.article.smartTOC (where it is defined in params.toml).
      - Upgraded the TOC scrollspy JavaScript to target all '#TableOfContents' containers on the page,
  enabling highlight tracking on both desktop and mobile layouts.

    - Documentation Updates (README.md):
      - Restored YAML front matter metadata block at the top.
      - Added detailed notes on the CI/CD build process and Gitea runner deployment targets
  (/srv/www/docs-public and /srv/www/docs-private).
      - Added a categorized and sorted "Shortcodes Quick Reference" table at the top of the shortcodes
  section (ordered by Custom, Hugo Default, and Blowfish).
      - Documented custom shortcodes (Include, Screenshot, Raw HTML) and missing Hugo default
  shortcodes (Highlight, Instagram, Param, Ref, Relref, Twitter, Vimeo, Youtube).
      - Restructured headings to ensure all sub-shortcodes are H3, removed block break tags (<br/>),
  and appended horizontal separators (---) after H2 sections.
This commit is contained in:
2026-06-06 19:26:33 +00:00
Unverified
parent d329fe9dfb
commit 835b118d1a
443 changed files with 33405 additions and 1220 deletions

View File

@@ -1,17 +1,28 @@
# -- Site Configuration --
# Refer to the theme docs for more details about each of these parameters.
# https://blowfish.page/docs/getting-started/
theme = ["hugo-admonitions", "blowfish"]
baseURL = "https://wiki.wompmacho.com/"
# theme = "blowfish"
baseURL = "https://dev.wompmacho.com/"
defaultContentLanguage = "en"
relativeURLs = true
# pluralizeListTitles = "true" # hugo function useful for non-english languages, find out more in https://gohugo.io/getting-started/configuration/#pluralizelisttitles
enableRobotsTXT = true
summaryLength = 5
summaryLength = 0
buildDrafts = false
buildFuture = false
buildDrafts = true
buildFuture = true
enableEmoji = true
enableGitInfo = true
# googleAnalytics = "G-XXXXXXXXX"
[pagination]
pagerSize = 100
[imaging]
anchor = 'Center'
[taxonomies]
tag = "tags"
@@ -20,21 +31,42 @@ enableGitInfo = true
series = "series"
[sitemap]
changefreq = "daily"
filename = "sitemap.xml"
changefreq = 'daily'
filename = 'sitemap.xml'
priority = 0.5
[outputs]
home = ["HTML", "RSS", "JSON"]
[frontmatter]
# Order of priority for the .Lastmod date
lastmod = [":git", ":fileModTime", "lastmod", "date", "publishDate"]
[related]
threshold = 0
toLower = false
[markup.tableOfContents]
endLevel = 3
ordered = false
startLevel = 2
[[related.indices]]
name = "tags"
weight = 100
[[related.indices]]
name = "categories"
weight = 100
[[related.indices]]
name = "series"
weight = 50
[[related.indices]]
name = "authors"
weight = 20
[[related.indices]]
name = "date"
weight = 10
[[related.indices]]
applyFilter = false
name = 'fragmentrefs'
type = 'fragments'
weight = 10
[module]
[[module.mounts]]
@@ -53,14 +85,14 @@ enableGitInfo = true
source = "/srv/configs"
target = "assets/configs"
[[module.mounts]]
source = "/srv/dev/hugo/wiki"
target = "assets/dev/hugo/wiki"
source = "/srv/dev/hugo/website"
target = "assets/dev/hugo/website"
[security]
[security.funcs]
readFile = [".*"]
"os.Stat" = [".*"]
"os.ReadDir" = [".*"]
[security.exec]
# Hugo must be allowed to run the asciidoctor binary
allow = ['^git$', '^go$', '^npx$', '^postcss$', '^asciidoctor$']

View File

@@ -0,0 +1,98 @@
# -- Site Configuration --
# Refer to the theme docs for more details about each of these parameters.
# https://blowfish.page/docs/getting-started/
# theme = "blowfish"
baseURL = "https://dev.wompmacho.com/"
defaultContentLanguage = "en"
# pluralizeListTitles = "true" # hugo function useful for non-english languages, find out more in https://gohugo.io/getting-started/configuration/#pluralizelisttitles
enableRobotsTXT = true
summaryLength = 0
buildDrafts = false
buildFuture = false
enableEmoji = true
# googleAnalytics = "G-XXXXXXXXX"
[pagination]
pagerSize = 100
[imaging]
anchor = 'Center'
[taxonomies]
tag = "tags"
category = "categories"
author = "authors"
series = "series"
[sitemap]
changefreq = 'daily'
filename = 'sitemap.xml'
priority = 0.5
[outputs]
home = ["HTML", "RSS", "JSON"]
[related]
threshold = 0
toLower = false
[[related.indices]]
name = "tags"
weight = 100
[[related.indices]]
name = "categories"
weight = 100
[[related.indices]]
name = "series"
weight = 50
[[related.indices]]
name = "authors"
weight = 20
[[related.indices]]
name = "date"
weight = 10
[[related.indices]]
applyFilter = false
name = 'fragmentrefs'
type = 'fragments'
weight = 10
[module]
[[module.mounts]]
source = "content"
target = "content"
[[module.mounts]]
source = "/srv/docs/private"
target = "content/private"
[[module.mounts]]
source = "/srv/docs/public/projects/hugo"
target = "content/public/projects/hugo"
[[module.mounts]]
source = "assets"
target = "assets"
[[module.mounts]]
source = "/srv/configs"
target = "assets/configs"
[[module.mounts]]
source = "/srv/dev/hugo/website"
target = "assets/dev/hugo/website"
[security]
[security.funcs]
readFile = [".*"]
"os.Stat" = [".*"]
"os.ReadDir" = [".*"]
[security.exec]
allow = ['^git$', '^go$', '^npx$', '^postcss$', '^asciidoctor$']

View File

@@ -0,0 +1,27 @@
languageCode = "en"
languageName = "English"
weight = 1
title = "wiki.wompmacho.com"
[params]
displayName = "EN"
isoCode = "en"
rtl = false
description = "my personal wiki"
dateFormat = "2 January 2006"
[params.author]
name = "Michael"
image = "me/wampyDance.gif"
headline = "aka `Mitch` / aka `WompMacho`"
bio = "some dude that works on datacenters, plays guitar, streams, has a lot of side projects and unhealthy addiction to ow"
[params.author.social]
gitlab = "https://git.wompmacho.com/wompmacho"
email = "michael@wompmacho.com"
streamelements = "https://streamelements.com/wompmacho/tip"
discord = "https://discord.com/invite/P5aZU7jHbD"
twitch = "https://www.twitch.tv/wompmacho"
youtube = "https://www.youtube.com/wompmacho?sub_confirmation=1"

View File

@@ -0,0 +1,19 @@
# -- Markup --
# These settings are required for the theme to function.
[goldmark]
[goldmark.renderer]
unsafe = true
[markup]
[markup.tableOfContents]
startLevel = 2
endLevel = 4
ordered = false
[highlight]
noClasses = false
[markup.goldmark.parser.attribute]
block = true
title = true

View File

@@ -0,0 +1,3 @@
[hugoVersion]
extended = false
min = "0.87.0"

View File

@@ -0,0 +1,113 @@
# -- Theme Options --
# These options control how the theme functions and allow you to
# customise the display of your website.
#
# Refer to the theme docs for more details about each of these parameters.
# https://nunocoracao.github.io/blowfish/docs/configuration/#theme-parameters
colorScheme = "github"
defaultAppearance = "dark" # valid options: light or dark
autoSwitchAppearance = true
enableSearch = true
enableCodeCopy = true
customCSS = true
# mainSections = ["section1", "section2"]
# robots = ""
[header]
layout = "fixed" # valid options: basic, fixed
[footer]
# showMenu = true
showCopyright = true
showThemeAttribution = true
showAppearanceSwitcher = true
showScrollToTop = true
[homepage]
layout = "background" # valid options: page, profile, hero, card, background, custom
homepageImage = "me/me_stream_doom.PNG" # used in: hero, and card
showRecent = false
showRecentItems = 5
showMoreLink = false
showMoreLinkDest = "/posts"
cardView = false
cardViewScreenWidth = false
layoutBackgroundBlur = false # only used when layout equals background
[search]
enable = true
type = "fuse"
showPercent = true
showWidth = true
[article] # https://blowfish.page/docs/configuration/
showDate = true
showViews = false
showLikes = false
showDateUpdated = true
showHero = true
heroStyle = "basic" # valid options: basic, big, background
showBreadcrumbs = true
showDraftLabel = true
seriesOpened = true
showHeadingAnchors = true
showPagination = true
invertPagination = false
showReadingTime = true
showTableOfContents = true
showTaxonomies = true
showWordCount = true
showSummary = true
sharingLinks = [ "linkedin", "twitter", "whatsapp", "pinterest", "reddit", "facebook", "email"]
showAuthor = true
showAuthorsBadges = true # This helps style the author profile
showEdit = true
showEditURL = true
editAppendPath = true
showZenMode = false
smartTOC = true
[list]
showBreadcrumbs = true
showSummary = true
showTableOfContents = true
showCards = true
groupByYear = true
cardView = true
cardViewScreenWidth = false
columnCount = 3
showReadMore = true
[sitemap]
excludedKinds = []
[taxonomy]
showTermCount = true
[firebase]
# apiKey = "XXXXXX"
# authDomain = "XXXXXX"
# projectId = "XXXXXX"
# storageBucket = "XXXXXX"
# messagingSenderId = "XXXXXX"
# appId = "XXXXXX"
# measurementId = "XXXXXX"
[fathomAnalytics]
# site = "ABC12345"
# domain = "llama.yoursite.com"
[verification]
# google = ""
# bing = ""
# pinterest = ""
# yandex = ""
[app]
# Some versions of Blowfish look for 'mainIcon' or 'themeIcon'
# Try both if one fails.
mainIcon = "icons/icon.svg"
themeIcon = "icons/icon.svg"