diff options
-rw-r--r-- | README.md | 4 | ||||
-rw-r--r-- | layouts/_default/_markup/render-codeblock.html | 6 | ||||
-rw-r--r-- | layouts/_default/baseof.html | 6 | ||||
-rw-r--r-- | layouts/shortcodes/highlight.html | 5 |
4 files changed, 19 insertions, 2 deletions
@@ -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. diff --git a/layouts/_default/_markup/render-codeblock.html b/layouts/_default/_markup/render-codeblock.html new file mode 100644 index 0000000..6e1a075 --- /dev/null +++ b/layouts/_default/_markup/render-codeblock.html @@ -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 }}
\ No newline at end of file diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html index bddfe68..e5c4f01 100644 --- a/layouts/_default/baseof.html +++ b/layouts/_default/baseof.html @@ -14,8 +14,10 @@ {{ $style := resources.Get "herman.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 }} diff --git a/layouts/shortcodes/highlight.html b/layouts/shortcodes/highlight.html new file mode 100644 index 0000000..6c86ca8 --- /dev/null +++ b/layouts/shortcodes/highlight.html @@ -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 }}
\ No newline at end of file |