HUGO
Menu
GitHub 90265 stars Mastodon

Post

Returns the post property of the given menu entry.
Syntax
MENUENTRY.Post
Returns
template.HTML

In this project configuration we enable rendering of emoji shortcodes, and add emoji shortcodes before (pre) and after (post) each menu entry:

enableEmoji: true
menus:
  main:
  - name: About
    pageRef: /about
    post: ':point_left:'
    pre: ':point_right:'
    weight: 10
  - name: Contact
    pageRef: /contact
    post: ':arrow_left:'
    pre: ':arrow_right:'
    weight: 20
enableEmoji = true
[menus]
  [[menus.main]]
    name = 'About'
    pageRef = '/about'
    post = ':point_left:'
    pre = ':point_right:'
    weight = 10
  [[menus.main]]
    name = 'Contact'
    pageRef = '/contact'
    post = ':arrow_left:'
    pre = ':arrow_right:'
    weight = 20
{
   "enableEmoji": true,
   "menus": {
      "main": [
         {
            "name": "About",
            "pageRef": "/about",
            "post": ":point_left:",
            "pre": ":point_right:",
            "weight": 10
         },
         {
            "name": "Contact",
            "pageRef": "/contact",
            "post": ":arrow_left:",
            "pre": ":arrow_right:",
            "weight": 20
         }
      ]
   }
}

To render the menu:

<ul>
  {{ range .Site.Menus.main }}
    <li>
      {{ .Pre | markdownify }}
      <a href="{{ .URL }}">{{ .Name }}</a>
      {{ .Post | markdownify }}
    </li>
  {{ end }}
</ul>

The pre and post values of menu entries defined in front matter are HTML escaped unless text/html is allowed in the allowContent security policy. Menu entries defined in your project configuration are not escaped.