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:
98
config/_default_original/hugo.toml
Normal file
98
config/_default_original/hugo.toml
Normal 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$']
|
||||
|
||||
27
config/_default_original/languages.en.toml
Normal file
27
config/_default_original/languages.en.toml
Normal 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"
|
||||
|
||||
|
||||
19
config/_default_original/markup.toml
Normal file
19
config/_default_original/markup.toml
Normal 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
|
||||
57
config/_default_original/menus.en.toml
Normal file
57
config/_default_original/menus.en.toml
Normal file
@@ -0,0 +1,57 @@
|
||||
# -- Main Menu --
|
||||
# The main menu is displayed in the header at the top of the page.
|
||||
# Acceptable parameters are name, pageRef, page, url, title, weight.
|
||||
#
|
||||
# The simplest menu configuration is to provide:
|
||||
# name = The name to be displayed for this menu link
|
||||
# pageRef = The identifier of the page or section to link to
|
||||
#
|
||||
# By default the menu is ordered alphabetically. This can be
|
||||
# overridden by providing a weight value. The menu will then be
|
||||
# ordered by weight from lowest to highest.
|
||||
|
||||
[[main]]
|
||||
name = "projects"
|
||||
pageRef = "projects"
|
||||
weight = 10
|
||||
|
||||
[[main]]
|
||||
name = "posts"
|
||||
pageRef = "posts"
|
||||
weight = 20
|
||||
|
||||
[[main]]
|
||||
name = "stream"
|
||||
pageRef = "stream"
|
||||
weight = 30
|
||||
|
||||
[[subnavigation]]
|
||||
name = "lab"
|
||||
pageRef = "lab_setup"
|
||||
weight = 10
|
||||
|
||||
[[subnavigation]]
|
||||
name = "resume"
|
||||
pageRef = "resume"
|
||||
weight = 20
|
||||
|
||||
# [[subnavigation]]
|
||||
# name = "My Awesome Category"
|
||||
# pageRef = "categories/awesome"
|
||||
# weight = 20
|
||||
|
||||
# -- Footer Menu --
|
||||
# The footer menu is displayed at the bottom of the page, just before
|
||||
# the copyright notice. Configure as per the main menu above.
|
||||
|
||||
# config/_default/menus.toml
|
||||
|
||||
# [[footer]]
|
||||
# name = "Tags"
|
||||
# pageRef = "tags"
|
||||
# weight = 10
|
||||
|
||||
# [[footer]]
|
||||
# name = "Categories"
|
||||
# pageRef = "categories"
|
||||
# weight = 20
|
||||
3
config/_default_original/module.toml
Normal file
3
config/_default_original/module.toml
Normal file
@@ -0,0 +1,3 @@
|
||||
[hugoVersion]
|
||||
extended = false
|
||||
min = "0.87.0"
|
||||
113
config/_default_original/params.toml
Normal file
113
config/_default_original/params.toml
Normal 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"
|
||||
Reference in New Issue
Block a user