summaryrefslogtreecommitdiffstats
path: root/docs/content/en/methods/page/HasShortcode.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/content/en/methods/page/HasShortcode.md')
-rw-r--r--docs/content/en/methods/page/HasShortcode.md50
1 files changed, 50 insertions, 0 deletions
diff --git a/docs/content/en/methods/page/HasShortcode.md b/docs/content/en/methods/page/HasShortcode.md
new file mode 100644
index 000000000..2846e9535
--- /dev/null
+++ b/docs/content/en/methods/page/HasShortcode.md
@@ -0,0 +1,50 @@
+---
+title: HasShortcode
+description: Reports whether the given shortcode is called by the given page.
+categories: []
+keywords: []
+action:
+ related: []
+ returnType: bool
+ signatures: [PAGE.HasShortcode NAME]
+---
+
+By example, let's use [Plotly] to render a chart:
+
+[Plotly]: https://plotly.com/javascript/
+
+{{< code file=contents/example.md lang=markdown >}}
+{{</* plotly */>}}
+{
+ "data": [
+ {
+ "x": ["giraffes", "orangutans", "monkeys"],
+ "y": [20, 14, 23],
+ "type": "bar"
+ }
+ ],
+}
+{{</* /plotly */>}}
+{{< /code >}}
+
+The shortcode is simple:
+
+{{< code file=layouts/shortcodes/plotly.html >}}
+{{ $id := printf "plotly-%02d" .Ordinal }}
+<div id="{{ $id }}"></div>
+<script>
+ Plotly.newPlot(document.getElementById({{ $id }}), {{ .Inner | safeJS }});
+</script>
+{{< /code >}}
+
+Now we can selectively load the required JavaScript on pages that call the "plotly" shortcode:
+
+{{< code file=layouts/baseof.html >}}
+<head>
+ ...
+ {{ if .HasShortcode "plotly" }}
+ <script src="https://cdn.plot.ly/plotly-2.28.0.min.js"></script>
+ {{ end }}
+ ...
+</head>
+{{< /code >}}