In a previous post, I explained how [slugify this blog's headings]({{< relref "slugifying-this-blog-s-headings" >}}). Now, I'm going demonstrate how I do to insert front matter descriptions.
Currently, there are two ways to make ox-hugo insert a description
attribute in a post's front matter. The first method leverages the
property EXPORT_HUGO_CUSTOM_FRONT_MATTER
:
* Your cool title
:PROPERTIES:
# other props...
:EXPORT_HUGO_CUSTOM_FRONT_MATTER: :description Your cool description
:END:
Now, the one I use is made with the help of Org Mode's Blocks.
* Your cool title
:PROPERTIES:
# other props...
:END:
#+begin_description
Your cool description
#+end_description
By default, the easiest way to insert one is to run the press C-c C-, TAB description
. However, this is keybinding sequence is quite long.
In comparison, inserting a source block only requires C-c C-, s
. So,
why not have d
as an option to select description
? Here is how I
did it.
I started by running C-h k
(describe-key) and then C-c C-,
to find
out which command was associated with this keybinding. It turns out
that it runs org-insert-structure-template
, that selects a block
from the variable org-structure-template-alist
. Running C-c v
(describe-variable) showed me the default value for this variable:
(("a" . "export ascii")
("c" . "center")
("C" . "comment")
("e" . "example")
("E" . "export")
("h" . "export html")
("l" . "export latex")
("q" . "quote")
("s" . "src")
("v" . "verse"))
Well, now it's simply a matter of adding the ("d" . "description")
value to the list and we should be good to go:
(add-to-list 'org-structure-template-alist '("d" . "description"))