VoteIT

  • News
  • Documentation
  • Themes
  • Showcase
  • Community
  • GitHub
Star
VARIABLES AND PARAMS

Menu Entry Properties

A menu entry in a menu-template has specific variables and functions to make menu management easier.

A menu entry has the following properties available that can be used in a menu template.

Menu Entry Variables

.Menu
string
Name of the menu that contains this menu entry.
.URL
string
URL that the menu entry points to. The url key, if set for the menu entry, sets this value. If that key is not set, and if the menu entry is set in a page front-matter, this value defaults to the page’s .RelPermalink.
.Page
*Page
Reference to the page object associated with the menu entry. This will be non-nil if the menu entry is set via a page’s front-matter and not via the site config.
.Name
string
Name of the menu entry. The name key, if set for the menu entry, sets this value. If that key is not set, and if the menu entry is set in a page front-matter, this value defaults to the page’s .LinkTitle.
.Identifier
string
Value of the identifier key if set for the menu entry. This value must be unique for each menu entry. It is necessary to set a unique identifier manually if two or more menu entries have the same .Name.
.Pre
template.HTML
Value of the pre key if set for the menu entry. This value typically contains a string representing HTML.
.Post
template.HTML
Value of the post key if set for the menu entry. This value typically contains a string representing HTML.
.Weight
int
Value of the weight key if set for the menu entry. If that key is not set, and if the menu entry is set in a page front-matter, this value defaults to the page’s .Weight.
.Parent
string
Name (or Identifier if present) of this menu entry’s parent menu entry. The parent key, if set for the menu entry, sets this value. If this key is set, this menu entry nests under that parent entry, else it nests directly under the .Menu.
.Children
Menu
This value is auto-populated by Hugo. It is a collection of children menu entries, if any, under the current menu entry.

Menu Entry Functions

Menus also have the following functions available:

.HasChildren
boolean
Returns true if .Children is non-nil.
.KeyName
string
Returns the .Identifier if present, else returns the .Name.
.IsEqual
boolean
Returns true if the two compared menu entries represent the same menu entry.
.IsSameResource
boolean
Returns true if the two compared menu entries have the same .URL.
.Title
string
Link title, meant to be used in the title attribute of a menu entry’s <a>-tags. Returns the menu entry’s title key if set. Else, if the menu entry was created through a page’s front-matter, it returns the page’s .LinkTitle. Else, it just returns an empty string.

Other Menu-related Functions

Additionally, here are some relevant methods available to menus on a page:

.IsMenuCurrent
(menu string, menuEntry *MenuEntry ) boolean
See .IsMenuCurrent method.
.HasMenuCurrent
(menu string, menuEntry *MenuEntry) boolean
See .HasMenuCurrent method.

See Also

  • .HasMenuCurrent
  • .IsMenuCurrent
  • Menu Templates
  • Menus
  • About VoteIT
    • Overview
    • Hugo and GDPR
    • What is Hugo
    • Hugo Features
    • The Benefits of Static
    • License
  • Getting Started
    • Get Started Overview
    • Quick Start
    • Install Hugo
    • Basic Usage
    • Directory Structure
    • Configuration
  • VoteIT Modules
    • Hugo Modules Overview
    • Configure Modules
    • Use Hugo Modules
    • Theme Components
  • Content Management
    • Content Management Overview
    • Organization
    • Page Bundles
    • Supported Content Formats
    • Front Matter
    • Page Resources
    • Image Processing
    • Shortcodes
    • Related Content
    • Sections
    • Types
    • Archetypes
    • Taxonomies
    • Summaries
    • Links and Cross References
    • URL Management
    • Menus
    • Static Files
    • Table of Contents
    • Comments
    • Multilingual and i18n
    • Syntax Highlighting
  • Templates
    • Templates Overview
    • Introduction
    • Template Lookup Order
    • Custom Output Formats
    • Base Templates and Blocks
    • List Page Templates
    • Homepage Template
    • Section Templates
    • Taxonomy Templates
    • Single Page Templates
    • Content View Templates
    • Data Templates
    • Partial Templates
    • Shortcode Templates
    • Local File Templates
    • 404 Page
    • Menu Templates
    • Pagination
    • RSS Templates
    • Sitemap Template
    • Robots.txt
    • Internal Templates
    • Alternative Templating
    • Template Debugging
  • Functions
    • Functions Quick Reference
    • .AddDate
    • .Format
    • .Get
    • .GetPage
    • .HasMenuCurrent
    • .IsMenuCurrent
    • .Param
    • .Render
    • .Scratch
    • .Unix
    • absLangURL
    • absURL
    • after
    • anchorize
    • append
    • apply
    • base64
    • chomp
    • complement
    • cond
    • countrunes
    • countwords
    • dateFormat
    • default
    • delimit
    • dict
    • echoParam
    • emojify
    • eq
    • errorf
    • fileExists
    • findRE
    • first
    • float
    • ge
    • getenv
    • group
    • gt
    • hasPrefix
    • highlight
    • htmlEscape
    • htmlUnescape
    • humanize
    • i18n
    • Image Functions
    • in
    • index
    • int
    • intersect
    • isset
    • jsonify
    • lang.Merge
    • lang.NumFmt
    • last
    • le
    • lower
    • lt
    • markdownify
    • Math
    • md5
    • merge
    • ne
    • now
    • os.Stat
    • partialCached
    • path.Base
    • path.Dir
    • path.Ext
    • path.Join
    • path.Split
    • plainify
    • pluralize
    • print
    • printf
    • println
    • querify
    • range
    • readDir
    • readFile
    • ref
    • reflect.IsMap
    • reflect.IsSlice
    • relLangURL
    • relref
    • relURL
    • replace
    • replaceRE
    • safeCSS
    • safeHTML
    • safeHTMLAttr
    • safeJS
    • safeURL
    • seq
    • sha
    • shuffle
    • singularize
    • slice
    • slicestr
    • sort
    • split
    • string
    • strings.HasSuffix
    • strings.Repeat
    • strings.RuneCount
    • strings.TrimLeft
    • strings.TrimPrefix
    • strings.TrimRight
    • strings.TrimSuffix
    • substr
    • symdiff
    • templates.Exists
    • time
    • title
    • transform.Unmarshal
    • trim
    • truncate
    • union
    • uniq
    • upper
    • urlize
    • urls.Parse
    • where
    • with
  • Variables
    • Variables Overview
    • Site Variables
    • Page Variables
    • Shortcode Variables
    • Pages Methods
    • Taxonomy Variables
    • File Variables
    • Menu Entry Properties
    • Hugo Variables
    • Git Variables
    • Sitemap Variables
  • Hugo Pipes
    • Hugo Pipes Overview
    • Hugo Pipes Introduction
    • SASS / SCSS
    • PostCSS
    • Asset minification
    • Asset bundling
    • Fingerprinting and SRI
    • Resource from Template
    • Resource from String
  • CLI
  • Troubleshooting
    • Troubleshoot
    • Frågor och Svar
  • Tools
    • Developer Tools Overview
    • Migrations
    • Starter Kits
    • Frontends
    • Editor Plug-ins
    • Search
    • Other Projects
  • Hosting & Deployment
    • Hosting & Deployment Overview
    • Hugo Deploy
    • Host-Agnostic Deploys with Nanobox
    • Host on AWS Amplify
    • Host on Netlify
    • Host on Render
    • Host on Firebase
    • Host on GitHub
    • Host on GitLab
    • Hosting on KeyCDN
    • Host on Bitbucket
    • Deployment with Wercker
    • Deployment with Rsync
  • Contribute
    • Contribute to Hugo
    • Development
    • Documentation
    • Themes
  • Maintenance
“Menu Entry Properties” was last updated: October 24, 2019: remake. (28623dd)
Improve this page
By the VoteIT Authors
VoteIT Logo
  • File an Issue
  • Get Help
  • Discuss Source Code
  • @VoteIT
  • @robin_betahaus
  • @andershultman
 
 

VoteIT Sponsors

Logo for VoteIT
Logo for Betahaus
Logo for Datatrion AB
 

The VoteIT logos are copyright © VoteIT 2011–2019.

  • News
  • Documentation
  • Themes
  • Showcase
  • Community
  • GitHub
  • About VoteIT
  • Getting Started
  • VoteIT Modules
  • Content Management
  • Templates
  • Functions
  • Variables
  • Hugo Pipes
  • CLI
  • Troubleshooting
  • Tools
  • Hosting & Deployment
  • Contribute
  • Maintenance