Conditional CSS

This commit is contained in:
Caio Lente 2023-10-27 19:30:53 -03:00
parent 95746b151d
commit a3f09559e4
No known key found for this signature in database
GPG Key ID: E66D381776EFC03A
4 changed files with 19 additions and 2 deletions

View File

@ -119,6 +119,10 @@ already implemented:
writing the CSS you need in `assets/{custom_css}.css` and then including
`style: "{custom_css}.css"` in the [front
matter](https://gohugo.io/content-management/front-matter/) of said page.
- Conditional CSS (EXPERIMENTAL): since **Bear Cub** does syntax highlighting
without inline styles (see `config.toml` for more information), it only load
its `syntax.css` if, and only if, a code block is actually present in the
current page.
- Dynamic social card generation (EXPERIMENTAL): if you don't add preview images
to a post, this template will generate one based on the title. You can see an
example below.

View File

@ -0,0 +1,6 @@
<!-- https://github.com/jmooring/hugo-testing/blob/hugo-forum-topic-40998/layouts/_default/_markup/render-codeblock-katex.html -->
{{ .Page.Store.Set "hasCodeBlock" true }}
<!-- https://www.veriphor.com/articles/code-block-render-hooks/ -->
{{ $result := transform.HighlightCodeBlock . }}
{{ $result.Wrapped }}

View File

@ -14,8 +14,10 @@
{{ $style := resources.Get "style.css" | minify }}
<link href="{{ $style.RelPermalink }}" rel="stylesheet">
{{ $syntax := resources.Get "syntax.css" | minify }}
<link href="{{ $syntax.RelPermalink }}" rel="stylesheet">
{{ if (.Page.Store.Get "hasCodeBlock") }}
{{ $syntax := resources.Get "syntax.css" | minify }}
<link href="{{ $syntax.RelPermalink }}" rel="stylesheet">
{{ end }}
{{ with .Params.style }}
{{ $extra := resources.Get . | minify }}

View File

@ -0,0 +1,5 @@
<!-- https://github.com/jmooring/hugo-testing/blob/hugo-forum-topic-40998/layouts/_default/_markup/render-codeblock-katex.html -->
{{ .Page.Store.Set "hasCodeBlock" true }}
<!-- https://github.com/gohugoio/hugo/blob/master/tpl/tplimpl/embedded/templates/shortcodes/highlight.html -->
{{ if len .Params | eq 2 }}{{ highlight (trim .InnerDeindent "\n\r") (.Get 0) (.Get 1) }}{{ else }}{{ highlight (trim .InnerDeindent "\n\r") (.Get 0) "" }}{{ end }}