hugo

Fork of github.com/gohugoio/hugo with reverse pagination support

git clone git://git.shimmy1996.com/hugo.git

menus.md (4051B)

    1 ---
    2 title: Menu Entry Properties
    3 linktitle: Menu Entry Properties
    4 description: A menu entry in a menu-template has specific variables and functions to make menu management easier.
    5 date: 2017-03-12
    6 publishdate: 2017-03-12
    7 lastmod: 2017-03-12
    8 categories: [variables and params]
    9 keywords: [menus]
   10 draft: false
   11 menu:
   12   docs:
   13     title: "variables defined by a menu entry"
   14     parent: "variables"
   15     weight: 50
   16 weight: 50
   17 sections_weight: 50
   18 aliases: [/variables/menu/]
   19 toc: false
   20 ---
   21 
   22 A **menu entry** has the following properties available that can be used in a
   23 [menu template][menu-template].
   24 
   25 ## Menu Entry Variables
   26 
   27 .Menu
   28 : _string_ <br />
   29 Name of the **menu** that contains this **menu entry**.
   30 
   31 .URL
   32 : _string_ <br />
   33 URL that the menu entry points to. The `url` key, if set for the menu entry,
   34 sets this value. If that key is not set, and if the menu entry is set in a page
   35 front-matter, this value defaults to the page's `.RelPermalink`.
   36 
   37 .Page
   38 : _\*Page_ <br />
   39 Reference to the [page object][page-object] associated with the menu entry. This
   40 will be non-nil if the menu entry is set via a page's front-matter and not via
   41 the site config.
   42 
   43 .PageRef {{< new-in "0.86.0" >}}
   44 : _string_ <br /> Can be set if defined in site config and the menu entry refers to a Page. [site.GetPage](/functions/getpage/) will be used to do the page lookup. If this is set, you don't need to set the `URL`.
   45 
   46 .Name
   47 : _string_ <br />
   48 Name of the menu entry. The `name` key, if set for the menu entry, sets
   49 this value. If that key is not set, and if the menu entry is set in a page
   50 front-matter, this value defaults to the page's `.LinkTitle`.
   51 
   52 .Identifier
   53 : _string_ <br />
   54 Value of the `identifier` key if set for the menu entry. This value must be
   55 unique for each menu entry. **It is necessary to set a unique identifier
   56 manually if two or more menu entries have the same `.Name`.**
   57 
   58 .Pre
   59 : _template.HTML_ <br />
   60 Value of the `pre` key if set for the menu entry. This value typically contains
   61 a string representing HTML.
   62 
   63 .Post
   64 : _template.HTML_ <br />
   65 Value of the `post` key if set for the menu entry. This value typically contains
   66 a string representing HTML.
   67 
   68 .Weight
   69 : _int_ <br />
   70 Value of the `weight` key if set for the menu entry. By default the entries in 
   71 a menu are sorted ascending by their `weight`. If that key is not set, and if 
   72 the menu entry is set in a page front-matter, this value defaults to the page's 
   73 `.Weight`.
   74 
   75 .Parent
   76 : _string_ <br />
   77 Name (or Identifier if present) of this menu entry's parent **menu entry**. The
   78 `parent` key, if set for the menu entry, sets this value. If this key is set,
   79 this menu entry nests under that parent entry, else it nests directly under the
   80 `.Menu`.
   81 
   82 .Children
   83 : _Menu_ <br />
   84 This value is auto-populated by Hugo. It is a collection of children menu
   85 entries, if any, under the current menu entry.
   86 
   87 ## Menu Entry Functions
   88 
   89 Menus also have the following functions available:
   90 
   91 .HasChildren
   92 : _boolean_ <br />
   93 Returns `true` if `.Children` is non-nil.
   94 
   95 .KeyName
   96 : _string_ <br />
   97 Returns the `.Identifier` if present, else returns the `.Name`.
   98 
   99 .IsEqual
  100 : _boolean_ <br />
  101 Returns `true` if the two compared menu entries represent the same menu entry.
  102 
  103 .IsSameResource
  104 : _boolean_ <br />
  105 Returns `true` if the two compared menu entries have the same `.URL`.
  106 
  107 .Title
  108 : _string_ <br />
  109 Link title, meant to be used in the `title` attribute of a menu entry's
  110 `<a>`-tags.  Returns the menu entry's `title` key if set. Else, if the menu
  111 entry was created through a page's front-matter, it returns the page's
  112 `.LinkTitle`. Else, it just returns an empty string.
  113 
  114 ## Other Menu-related Functions
  115 
  116 Additionally, here are some relevant methods available to menus on a page:
  117 
  118 .IsMenuCurrent
  119 : _(menu string, menuEntry *MenuEntry ) boolean_ <br />
  120 See [`.IsMenuCurrent` method](/functions/ismenucurrent/).
  121 
  122 .HasMenuCurrent
  123 : _(menu string, menuEntry *MenuEntry) boolean_ <br />
  124 See [`.HasMenuCurrent` method](/functions/hasmenucurrent/).
  125 
  126 
  127 [menu-template]: /templates/menu-templates/
  128 [page-object]: /variables/page/