Working with data as text (dictionary)

if it’s acceptable to switch to Pandoc for the dictionary Shortcode you could

dictionary.yaml
word:
  - id: word1
    definition: |
      Multi-line text with possible emphasis and items

      1. item **one**: **add words enough to fill the line then keep adding to cause the line to wrap. The itemized list that follows will also be wrapped.**
        a. hello
        b. world
      2. item **two**
        - bullet
        - lucky luke

      that must be kept.
  - id: word2
    definition: |
      More text.
Add pandoc to Security Config
# Default + pandoc
[security]
   enableInlineShortcodes = false

   [security.exec]
      allow = [...'^postcss$', 'pandoc', '^tailwindcss$']
      osEnv = [
         '(?i)^((HTTPS?|NO)_PROXY|PATH(EXT)?|APPDATA|TE?MP|TERM|GO\w+|(XDG_CONFIG_)?HOME|USERPROFILE|SSH_AUTH_SOCK|DISPLAY|LANG|SYSTEMDRIVE)$',
      ]

   [security.funcs]
      getenv = ['^HUGO_', '^CI$']

   [security.http]
      methods = ['(?i)GET|POST']
      urls    = ['.*']

Change Shortcode
  {{ if $value }}
     {{ $opts := dict "display" "block" "markup" "pandoc" }}
     {{ index $value 0 "definition" | .Page.RenderString $opts }}
  {{ else }}
which looks good to me
<p>Multi-line text with possible emphasis and items</p>
<ol type="1">
<li>item <strong>one</strong>: <strong>add words enough to fill the line
then keep adding to cause the line to wrap. The itemized list that
follows will also be wrapped.</strong>
<ol type="a">
<li>hello</li>
<li>world</li>
</ol></li>
<li>item <strong>two</strong>
<ul>
<li>bullet</li>
<li>lucky luke</li>
</ul></li>
</ol>
<p>that must be kept.</p>
1 Like