Files
hugo-framework/assets/css/custom.css
wompmacho 835b118d1a 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.
2026-06-06 19:26:33 +00:00

57 lines
2.2 KiB
CSS

/* --- 1. Global Prose Rules --- */
.article-content.prose {
width: 100%;
max-width: 85ch;
margin: 0 auto;
}
/* --- 2. Absolute Isolation Layout --- */
.single-post-wrapper {
display: flex;
flex-direction: column; /* On mobile, they stack normally */
width: 100%;
}
/* --- 4. Projects Page (Isolated) --- */
.projects-list {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
gap: 1.5rem;
}
/* --- Base Styles --- */
#resume-table p { padding: .5em }
.iframe-wrapper { position: relative; padding-bottom: 56.25%; padding-top: 25px; height: 0; }
.iframe-wrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
#resume-table { border-collapse: collapse }
#resume-table .statements td { font-style: italic; padding: 1em; text-align: center }
#resume-table .header { padding-top: 1em; padding-left: 1em; font-weight: 700; text-transform: uppercase; text-align: left }
.google-blue { color: #4285f4; font-weight: bolder; }
.google-red { color: #ea4335; font-weight: bolder; }
.google-yellow { color: #fbbc04; font-weight: bolder; }
.google-green { color: #34a853; font-weight: bolder; }
.header-google-blue { border-bottom: 4px solid #4285f4 }
.header-google-red { border-bottom: 4px solid #ea4335 }
.header-google-yellow { border-bottom: 4px solid #fbbc04 }
.header-google-green { border-bottom: 4px solid #34a853 }
#resume-table td, #resume-table tr { border-width: 0 }
#resume-table ul { margin-top: 0; margin-bottom: 0 }
#resume-table .section-header td { padding-top: .66em; font-weight: 700 }
#resume-table .role { padding: .66em; text-align: left }
#resume-table .dates { text-align: right; padding-right: 1em }
#resume-table .quote { text-align: center }
#resume-table .twitter-blue { color: #1da1f2; font-weight: bolder }
.center { text-align: center; padding: .5em }
img[src$='#center']{ display: block; margin: 0.7rem auto; }
img[src$='#floatleft']{ float:left; margin: 0.7rem; }
img[src$='#floatright']{ float:right; margin: 0.7rem; }
.homepage .content { text-align: left; }
/* Hide any TOC link that points to an element with the 'no-toc' class */
.toc-right a.no-toc-link,
.toc-inside a.no-toc-link {
display: none !important;
}