From 4299d3bfdba4c8d8f7a0010fb441280437b207c4 Mon Sep 17 00:00:00 2001 From: Jeremy Friesen Date: Thu, 18 Apr 2019 09:37:06 -0700 Subject: [PATCH] Removing dom ID requirement for margin/sidenotes (#10) * Removing dom ID requirement for margin/sidenotes Prior to this commit, when using the `marginnote` or `sidenote` shortcodes, you would need to pass a domId parameter to the shortcode. With this change you no longer need to pass a parameter, and any parameter passed is ignored. The pre-amble creates a unique domID for the shortcodes. * Replacing convoluted Scratch with Ordinal I was leveraging the Scratch function of Hugo, when I could instead rely on `.Ordinal` --- README.md | 32 ++++++++++++++---------------- layouts/shortcodes/marginnote.html | 4 ++-- layouts/shortcodes/sidenote.html | 6 +++--- 3 files changed, 20 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 12d08ac..785bbe8 100644 --- a/README.md +++ b/README.md @@ -13,8 +13,8 @@ Mathjax renders LaTeX written inside of markdown files. LaTeX can be written more or less as normal, but inline and display environments that start with `\` must be escaped. Some examples: -- `This $\LaTeX$ will be rendered inline.` -- `This \\(\LaTeX\\) will be rendered inline.` +- `This $\LaTeX$ will be rendered inline.` +- `This \\(\LaTeX\\) will be rendered inline.` - `A simple displayed equation: $$f(x, y) := e^{x^2 - y^2}.$$` - `A simple displayed equation: \\[f(x, y) := e^{x^2 - y^2}.\\]` @@ -53,7 +53,7 @@ The site specific parameters that this theme recognizes are: true, `hideDate` takes greater precedence. - `hideReadTime` boolean: if true, do not display the page's reading time estimate. When `meta` is set to true, `hideReadTime` takes greater precedence. -- `math` boolean: if true, try to render the page's LaTeX code using MatheJax. +- `math` boolean: if true, try to render the page's LaTeX code using MatheJax. - `meta` boolean: if true, display page metadata such as author, date, categories provided these page parameters exist and are not overridden. Content in the `/post` directory, (i.e., pages of type "post") ignore this parameter. @@ -62,17 +62,17 @@ The site specific parameters that this theme recognizes are: ## Shortcodes This theme provides the following shortcodes in an attempt to completely -support all the features present in the +support all the features present in the [Tufte-css](https://github.com/edwardtufte/tufte-css) project. - `blockquote` - **Description**: Wrap text in a blockquote and insert optional `cite` or `footer` metadata. - **Usage**: Accepts the named parameters `cite` and `footer`. - - **Example**: + - **Example**: ```html {{% blockquote cite="www.shawnohare.com" footer="Shawn" %}} - There is nothing more beautiful than an elegant mathematical proof. + There is nothing more beautiful than an elegant mathematical proof. {{% /blockquote %}}` ``` @@ -84,20 +84,20 @@ support all the features present in the Accepts the style parameters `class` and `id`. If only the positional argument `"end"` is passed, a closing tag will be inserted. - - **Example**: `{{< div class="my-class" >}}` inserts a + - **Example**: `{{< div class="my-class" >}}` inserts a `
` tag, while `{{
}}` inserts the closing `
` tag. - `epigraph` - **Description**: Create an epigraph with the wrapped text. - **Usage**: To include a footer with source attribution, pass in the - optional named parameters `pre`, `cite`, `post`. These parameters + optional named parameters `pre`, `cite`, `post`. These parameters make no styling assumptions, so spacing is important. A more compactly styled epigraph will be used if the `type` parameter is set to `compact`. - **Example**: ``` {{% epigraph pre="Author Writer, " cite="Math is Fun" %}} - This is an example of an epigraph with some math + This is an example of an epigraph with some math \\( \mathbb N \subseteq \mathbb R \\) to start the beginning of a section. {{% /epigraph %}} @@ -105,9 +105,8 @@ support all the features present in the - `marginnote` - **Description**: Wrap text to produce a numberless margin note. - - Usage: Accepts a required positional argument that is the margin note id. - `{{% marginnote """ %}}...{{% /marginnote %}}` - - **Example**: `{{% marginnote "mn-example" %}}Some marginnote{{% /marginnote%}}` + - Usage: `{{% marginnote %}}...{{% /marginnote %}}` + - **Example**: `{{% marginnote %}}Some marginnote{{% /marginnote%}}` - `section` - **Description**: This shortcode is provided as a work-around for wrapping @@ -116,17 +115,16 @@ support all the features present in the - **Usage**: Accepts the style parameters `class` and `id`. If only the positional argument `"end"` is passed, a closing tag will be inserted. - - **Example**: `{{< section class="my-class" >}}` inserts a + - **Example**: `{{< section class="my-class" >}}` inserts a `
` tag, while `{{
}}` inserts the closing `
` tag. - `sidenote` - **Description**: Wrap text to produce an automatically numbered sidenote. - - **Usage**: identical to `marginnote`. - Accepts a required positional argument that is the side note id. - `{{% sidenote """ %}}...{{% /sidenote %}}` - - **Example**: `{{% sidenote "sn-example" %}}Some sidenote{{% /sidenote %}}` + - **Usage**: identical to `marginnote` + `{{% sidenote %}}...{{% /sidenote %}}` + - **Example**: `{{% sidenote %}}Some sidenote{{% /sidenote %}}` ## Templates diff --git a/layouts/shortcodes/marginnote.html b/layouts/shortcodes/marginnote.html index 2f0557d..4efb778 100644 --- a/layouts/shortcodes/marginnote.html +++ b/layouts/shortcodes/marginnote.html @@ -1,3 +1,3 @@ - - +{{ $marginnoteDomIdSuffix := .Ordinal }} + {{ .Inner }} diff --git a/layouts/shortcodes/sidenote.html b/layouts/shortcodes/sidenote.html index b62304e..96c63fc 100644 --- a/layouts/shortcodes/sidenote.html +++ b/layouts/shortcodes/sidenote.html @@ -1,3 +1,3 @@ - - -{{ .Inner }} +{{ $sidenoteDomIdSuffix := .Ordinal }} + +{{ .Inner }}