Spaces:
Sleeping
Sleeping
| author : ['Author Name'] | |
| title: "Configure Menu" | |
| description: "How to configure the menu in Hugo Brewm theme" | |
| date: 2025-01-26 | |
| lastmod: 2025-02-04 | |
| type: post | |
| draft: false | |
| translationKey: menus | |
| coffee: 1 | |
| tags: ['configuration', 'menu'] | |
| categories: ['configuration'] | |
| Learn how to configure menus in the Hugo Brewm theme using either `config.toml` or `menus[.lang].toml` files. | |
| ## Menu Parameters | |
| - `identifier`: Unique identifier for each menu item | |
| - `name`: Text shown in the menu | |
| - `url`: External link destination | |
| - `pageRef`: Link to internal pages | |
| - `weight`: Menu item ordering (smaller numbers first) | |
| - `pre`: Icon placement | |
| - `post`: Description for the link | |
| - `parent`: Parent menu item reference | |
| ## Adding Icons | |
| Add icons to your menu items with the `pre` parameter. | |
| ```toml | |
| [[menu.main]] | |
| identifier = "github" | |
| name = "GitHub" | |
| url = "https://github.com/" | |
| pre = "github" | |
| ``` | |
| Here are all the supported list icons and their corresponding names that can be used when configuring your menu items: | |
| <ul class="column pin" role="presentation"> | |
| <li><i class="icon email"></i> email </li> | |
| <li><i class="icon rss"></i> rss </li> | |
| <li><i class="icon behance"></i> behance </li> | |
| <li><i class="icon bigcartel"></i> bigcartel </li> | |
| <li><i class="icon bitbucket"></i> bitbucket </li> | |
| <li><i class="icon blogger"></i> blogger </li> | |
| <li><i class="icon bluesky"></i> bluesky </li> | |
| <li><i class="icon bukalapak"></i> bukalapak </li> | |
| <li><i class="icon buymeacoffee"></i> buymeacoffee </li> | |
| <li><i class="icon clubhouse"></i> clubhouse </li> | |
| <li><i class="icon codepen"></i> codepen </li> | |
| <li><i class="icon creativefabrica"></i> creativefabrica </li> | |
| <li><i class="icon dailymotion"></i> dailymotion </li> | |
| <li><i class="icon dev"></i> dev </li> | |
| <li><i class="icon deviantart"></i> deviantart </li> | |
| <li><i class="icon digg"></i> digg </li> | |
| <li><i class="icon dribbble"></i> dribbble </li> | |
| <li><i class="icon ebay"></i> ebay </li> | |
| <li><i class="icon etsy"></i> etsy </li> | |
| <li><i class="icon facebook"></i> facebook </li> | |
| <li><i class="icon figma"></i> figma </li> | |
| <li><i class="icon flickr"></i> flickr </li> | |
| <li><i class="icon flipkart"></i> flipkart </li> | |
| <li><i class="icon github"></i> github </li> | |
| <li><i class="icon githubsponsors"></i> githubsponsors </li> | |
| <li><i class="icon gitlab"></i> gitlab </li> | |
| <li><i class="icon gnusocial"></i> gnusocial </li> | |
| <li><i class="icon goodreads"></i> goodreads </li> | |
| <li><i class="icon googlescholar"></i> googlescholar </li> | |
| <li><i class="icon gumroad"></i> gumroad </li> | |
| <li><i class="icon hackernews"></i> hackernews </li> | |
| <li><i class="icon hashnode"></i> hashnode </li> | |
| <li><i class="icon icon--500px"></i> icon–500px </li> | |
| <li><i class="icon instagram"></i> instagram </li> | |
| <li><i class="icon jsfiddle"></i> jsfiddle </li> | |
| <li><i class="icon karyakarsa"></i> karyakarsa </li> | |
| <li><i class="icon keybase"></i> keybase </li> | |
| <li><i class="icon keycdn"></i> keycdn </li> | |
| <li><i class="icon kickstarter"></i> kickstarter </li> | |
| <li><i class="icon kofi"></i> kofi </li> | |
| <li><i class="icon lazada"></i> lazada </li> | |
| <li><i class="icon liberapay"></i> liberapay </li> | |
| <li><i class="icon linkedin"></i> linkedin </li> | |
| <li><i class="icon mastodon"></i> mastodon </li> | |
| <li><i class="icon medium"></i> medium </li> | |
| <li><i class="icon olx"></i> olx </li> | |
| <li><i class="icon opencollective"></i> opencollective </li> | |
| <li><i class="icon openid"></i> openid </li> | |
| <li><i class="icon orcid"></i> orcid </li> | |
| <li><i class="icon patreon"></i> patreon </li> | |
| <li><i class="icon paypal"></i> paypal </li> | |
| <li><i class="icon peertube"></i> peertube </li> | |
| <li><i class="icon pinterest"></i> pinterest </li> | |
| <li><i class="icon pleroma"></i> pleroma </li> | |
| <li><i class="icon publons"></i> publons </li> | |
| <li><i class="icon quora"></i> quora </li> | |
| <li><i class="icon reddit"></i> reddit </li> | |
| <li><i class="icon researchgate"></i> researchgate </li> | |
| <li><i class="icon saweria"></i> saweria </li> | |
| <li><i class="icon sellfy"></i> sellfy </li> | |
| <li><i class="icon shopee"></i> shopee </li> | |
| <li><i class="icon shopify"></i> shopify </li> | |
| <li><i class="icon signal"></i> signal </li> | |
| <li><i class="icon snapchat"></i> snapchat </li> | |
| <li><i class="icon soundcloud"></i> soundcloud </li> | |
| <li><i class="icon stackexchange"></i> stackexchange </li> | |
| <li><i class="icon stackoverflow"></i> stackoverflow </li> | |
| <li><i class="icon stripe"></i> stripe </li> | |
| <li><i class="icon substack"></i> substack </li> | |
| <li><i class="icon telegram"></i> telegram </li> | |
| <li><i class="icon threads"></i> threads </li> | |
| <li><i class="icon tiktok"></i> tiktok </li> | |
| <li><i class="icon tokopedia"></i> tokopedia </li> | |
| <li><i class="icon tumblr"></i> tumblr </li> | |
| <li><i class="icon twitch"></i> twitch </li> | |
| <li><i class="icon twitter"></i> twitter </li> | |
| <li><i class="icon vimeo"></i> vimeo </li> | |
| <li><i class="icon vine"></i> vine </li> | |
| <li><i class="icon vk"></i> vk </li> | |
| <li><i class="icon wattpad"></i> wattpad </li> | |
| <li><i class="icon weibo"></i> weibo </li> | |
| <li><i class="icon whatsapp"></i> whatsapp </li> | |
| <li><i class="icon wikipedia"></i> wikipedia </li> | |
| <li><i class="icon wordpress"></i> wordpress </li> | |
| <li><i class="icon write-dot-as"></i> write-dot-as </li> | |
| <li><i class="icon x"></i> x </li> | |
| <li><i class="icon xing"></i> xing </li> | |
| <li><i class="icon xmpp"></i> xmpp </li> | |
| <li><i class="icon youtube"></i> youtube </li> | |
| </ul> | |
| ## Creating Nested Menus | |
| Create dropdown menus by using the `parent` parameter: | |
| ```toml | |
| [[menu.main]] | |
| identifier = "about" | |
| name = "About" | |
| pageRef = "/about" | |
| [[menu.main]] | |
| identifier = "about-author" | |
| name = "Author" | |
| pageRef = "/about/author" | |
| parent = "about" | |
| ``` | |
| ## Language Support | |
| There are four ways to add multi-language support to your menus: | |
| ### 1. Using `menu.[menuID].params.lang` | |
| In `config.toml`: | |
| ```toml | |
| [[menu.main]] | |
| identifier = "about" | |
| name = "About" | |
| url = "/about/" | |
| [menu.main.params] | |
| lang = "en" | |
| [[menu.id.main]] | |
| identifier = "about" | |
| name = "Tentang" | |
| url = "/tentang/" | |
| [menu.main.params] | |
| lang = "id" | |
| ``` | |
| ### 2. Using `menu.[lang].[menuID]` | |
| In `config.toml`: | |
| ```toml | |
| [[menu.en.main]] | |
| identifier = "about" | |
| name = "About" | |
| url = "/about/" | |
| [[menu.en.main]] | |
| identifier = "about-author" | |
| name = "Author" | |
| pageRef = "/about/author" | |
| parent = "about" | |
| [[menu.id.main]] | |
| identifier = "about" | |
| name = "Tentang" | |
| url = "/tentang/" | |
| [[menu.id.main]] | |
| identifier = "about-author" | |
| name = "Tentang Penyusun" | |
| pageRef = "/tentang/penyusun" | |
| parent = "about" | |
| ``` | |
| ### 3. Using Separate Menu Files | |
| In `menus.en.toml`: | |
| ```toml | |
| [[main]] | |
| identifier = "about" | |
| name = "About" | |
| url = "/about/" | |
| [[main]] | |
| identifier = "about-author" | |
| name = "Author" | |
| pageRef = "/about/author" | |
| parent = "about" | |
| ``` | |
| In `menus.id.toml`: | |
| ```toml | |
| [[main]] | |
| identifier = "about" | |
| name = "Tentang" | |
| url = "/tentang/" | |
| [[menu.id.main]] | |
| identifier = "about-author" | |
| name = "Tentang Penyusun" | |
| pageRef = "/tentang/penyusun" | |
| parent = "about" | |
| ``` | |
| ### 4. Using Front Matter in Markdown Files | |
| in `index[.lang].md` `_index[.lang].md` or `filename[.lang].md` | |
| ```toml | |
| --- | |
| title: "About Author" | |
| menus: | |
| main: | |
| indetifier: about-author | |
| parent: about | |
| --- | |
| ``` |