aboutsummaryrefslogtreecommitdiff
path: root/content/blog/hugo/adding-custom-shortcode-age.md
diff options
context:
space:
mode:
authorJulien Dessaux2021-03-22 22:58:22 +0100
committerJulien Dessaux2021-03-22 22:58:22 +0100
commite0fd5578d2e9b435019a662a78085b00f5177e45 (patch)
treea2bbde0d209a0b68286b3fa65b3b2bdfa955e3ee /content/blog/hugo/adding-custom-shortcode-age.md
parentAdded a hugo markdown shortcode to automatically calculate my age (diff)
downloadwww-e0fd5578d2e9b435019a662a78085b00f5177e45.tar.gz
www-e0fd5578d2e9b435019a662a78085b00f5177e45.tar.bz2
www-e0fd5578d2e9b435019a662a78085b00f5177e45.zip
Reworked some docs _index and added an article on hugo shortcodes
Diffstat (limited to 'content/blog/hugo/adding-custom-shortcode-age.md')
-rw-r--r--content/blog/hugo/adding-custom-shortcode-age.md36
1 files changed, 36 insertions, 0 deletions
diff --git a/content/blog/hugo/adding-custom-shortcode-age.md b/content/blog/hugo/adding-custom-shortcode-age.md
new file mode 100644
index 0000000..d694813
--- /dev/null
+++ b/content/blog/hugo/adding-custom-shortcode-age.md
@@ -0,0 +1,36 @@
+---
+title: "Adding a custom hugo markdown shortcode to calculate an age"
+date: 2021-03-22
+description: An example of custom hugo shortcode
+tags:
+ - hugo
+---
+
+## Introduction
+
+On the [about-me]({{< relref "/docs/about-me/_index.md" >}}) page I had hardcoded my age. I wanted a way to calculate it automatically when building the site, here is how to do this.
+
+## Adding the shortcode
+
+Added a custom markdown shortcode in hugo in as simple as creating a `layouts/shortcodes/` directory. Each html file created inside will define a shortcode from the filename. In my example I want to calculate my age so I named the shortcode `age.html` and added the following simple template code :
+
+{{< highlight html >}}
+{{ div (sub now.Unix 493473600 ) 31556926 }}
+{{< / highlight >}}
+
+The first number is the timestamp of my birthday, the second represents how many seconds there are in a year.
+
+## Using the shortcode
+
+With this `layouts/shortcodes/age.html` file I can just add the following in a page to add my age :
+
+{{< highlight html >}}
+{{< print "{{% age %}}" >}}
+{{< / highlight >}}
+
+And if you are wondering how I am able to display a shortcode code inside this page without having it render, it is because I defined another shortcode that does exactly that [here](https://git.adyxax.org/adyxax/www/src/branch/master/layouts/shortcodes/print.html)! Hugo really is a powerful static website generator, it is amazing.
+
+## References
+
+ * https://gohugo.io/content-management/shortcodes/
+ * https://github.com/gohugoio/hugo/issues/7561