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

105
i18n/en.yaml Normal file
View File

@@ -0,0 +1,105 @@
global:
language: "EN"
article:
anchor_label: "Anchor"
date: "{{ .Date }}"
date_updated: "Updated: {{ .Date }}"
draft: "Draft"
edit_title: "Edit content"
reading_time:
one: "{{ .Count }} min"
other: "{{ .Count }} mins"
reading_time_title: "Reading time"
table_of_contents: "Table of Contents"
word_count:
one: "{{ .Count }} word"
other: "{{ .Count }} words"
views:
one: "{{ .Count }} view"
other: "{{ .Count }} views"
likes:
one: "{{ .Count }} like"
other: "{{ .Count }} likes"
part_of_series: "This article is part of a series."
part: "Part"
this_article: "This Article"
related_articles: "Related"
reply_by_email: "Reply by Email"
reply_to: "Reply to {{ .Title }}"
zen_mode_title:
enable: "Enable zen mode"
disable: "Disable zen mode"
a11y:
title: "Accessibility settings"
disable_blur: "Disable blur"
disable_images: "Disable background image"
show_link_underline: "Show link underline"
font_size: "Font size"
author:
byline_title: "Author"
code:
copy: "Copy"
copied: "Copied"
error:
404_title: "Page Not Found :confused:"
404_error: "Error 404"
404_description: "It seems that the page you've requested does not exist."
footer:
dark_appearance: "Switch to dark appearance"
light_appearance: "Switch to light appearance"
powered_by: "Powered by {{ .Hugo }} &amp; {{ .Theme }}"
list:
externalurl_title: "Link to external site"
no_articles: "There are no articles to list here yet."
nav:
scroll_to_top_title: "Scroll to top"
skip_to_main: "Skip to main content"
search:
open_button_title: "Search (/)"
close_button_title: "Close (Esc)"
input_placeholder: "Search"
sharing:
email: "Send via email"
facebook: "Share on Facebook"
line: "Share on LINE"
linkedin: "Share on LinkedIn"
pinterest: "Pin on Pinterest"
reddit: "Submit to Reddit"
twitter: "Tweet on Twitter"
bluesky: "Post on Bluesky"
whatsapp: "Share via WhatsApp"
telegram: "Share via Telegram"
mastodon: "Share via Mastodon"
shortcode:
recent_articles: "Recent"
recent:
show_more: "Show More"
admonition:
abstract: "Abstract"
bug: "Bug"
caution: "Caution"
danger: "Danger"
example: "Example"
failure: "Failure"
important: "Important"
info: "Info"
note: "Note"
question: "Question"
quote: "Quote"
success: "Success"
tip: "Tip"
todo: "Todo"
warning: "Warning"