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:
37
layouts/shortcodes/timelineItem.html
Normal file
37
layouts/shortcodes/timelineItem.html
Normal file
@@ -0,0 +1,37 @@
|
||||
{{ $icon := .Get "icon" | default "check" }}
|
||||
{{ $md := .Get "md" | default false }}
|
||||
{{ $header := .Get "header" }}
|
||||
{{ $badge := .Get "badge" }}
|
||||
{{ $subheader := .Get "subheader" }}
|
||||
<li>
|
||||
<div class="flex">
|
||||
<div
|
||||
class="bg-primary-500 dark:bg-primary-300 text-neutral-50 dark:text-neutral-700 min-w-[30px] h-8 text-2xl flex items-center justify-center rounded-full ltr:-ml-12 rtl:-mr-[79px] mt-5">
|
||||
{{ partial "icon" $icon }}
|
||||
</div>
|
||||
<div class="block p-6 rounded-lg shadow-2xl flex-1 ms-6 mb-10 break-words">
|
||||
<div class="flex justify-between">
|
||||
{{ if $header }}
|
||||
<h2 class="mt-0">{{ $header }}</h2>
|
||||
{{ end }}
|
||||
{{ if $badge }}
|
||||
<h3 class="">
|
||||
{{ partial "badge" $badge }}
|
||||
</h3>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ if $subheader }}
|
||||
<h4 class="mt-0">
|
||||
{{ $subheader }}
|
||||
</h4>
|
||||
{{ end }}
|
||||
<div class="mb-6">
|
||||
{{ if $md }}
|
||||
{{- .Inner | markdownify -}}
|
||||
{{ else }}
|
||||
{{- .Inner -}}
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
Reference in New Issue
Block a user