aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md4
-rw-r--r--layouts/_default/_markup/render-codeblock.html6
-rw-r--r--layouts/_default/baseof.html6
-rw-r--r--layouts/shortcodes/highlight.html5
4 files changed, 19 insertions, 2 deletions
diff --git a/README.md b/README.md
index d6d242c..3b73cd4 100644
--- a/README.md
+++ b/README.md
@@ -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 fdfa47c..475d6f9 100644
--- a/layouts/_default/baseof.html
+++ b/layouts/_default/baseof.html
@@ -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 }}
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