# Content adapters: create menu entry with properties

**URL:** <https://discourse.gohugo.io/t/content-adapters-create-menu-entry-with-properties/53499>\
**Category:** support\
**Tags:** content-adapters\
**Created:** [February 11, 2025, 10:12pm UTC](https://discourse.gohugo.io/t/content-adapters-create-menu-entry-with-properties/53499 "2025-02-11T22:12:46Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![hazelnym](https://avatars.discourse-cdn.com/v4/letter/h/4bbf92/32.png) [@hazelnym](https://discourse.gohugo.io/u/hazelnym)\
**Post date:** [February 11, 2025, 10:12pm UTC](https://discourse.gohugo.io/t/content-adapters-create-menu-entry-with-properties/53499/1 "2025-02-11T22:12:46Z")

</div>

I’m trying to create [menu entries with properties](https://gohugo.io/content-management/menus/#properties-front-matter) using a content adapter, and I’m not sure if this is currently possible.

I saw that @jmooring opened issue #12507 for menu entry support within content adapters, and this does work for flat menu entries. For example, what would be this in front matter:

```yaml
menus: main

```

Is this within a content adapter:

```auto
{{ .AddPage (dict "menus" "main" [...]) }}

```

And similarly for multiple simple menu entries using a slice of strings instead of a single string.

But I’m trying to create the equivalent of this in front matter within a content adapter:

```yaml
menus:
  main:
    parent: main-page
    identifier: example-id

```

I expected that passing a map would work:

```auto
{{- $mainMenu := dict 
    "parent" "main-page"
    "identifier" "example-id"
-}}
{{- $menus := dict "main" $mainMenu -}}
{{- .AddPage (dict "menus" $menus [...]) -}}

```

But it seems that when menu support was added to content adapters in `245928a` / v0.126.2, menus were [defined as an array of strings](https://github.com/gohugoio/hugo/blob/master/resources/page/pagemeta/page_frontmatter.go#L108).

Is it possible to create menu entries with properties within a content adapter? If so, how? If not, is this by design (maybe I’m missing a conceptual reason why this shouldn’t be possible) or is this a plausible feature to request?

Thank you!

---

<div class="post-metadata">

**Author:** ![jmooring](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/jmooring/32/4214_2.png) [@jmooring](https://discourse.gohugo.io/u/jmooring)\
**Post date:** [February 12, 2025, 3:53am UTC](https://discourse.gohugo.io/t/content-adapters-create-menu-entry-with-properties/53499/2 "2025-02-12T03:53:22Z")

</div>

This is a plausible feature to request.

---

<div class="post-metadata">

**Author:** ![hazelnym](https://avatars.discourse-cdn.com/v4/letter/h/4bbf92/32.png) [@hazelnym](https://discourse.gohugo.io/u/hazelnym)\
**Post date:** [February 12, 2025, 5:26pm UTC](https://discourse.gohugo.io/t/content-adapters-create-menu-entry-with-properties/53499/3 "2025-02-12T17:26:00Z")

</div>

Thank you for your response. I’ve opened [Support creating menu entries with properties within content adapters · Issue #13384 · gohugoio/hugo · GitHub](https://github.com/gohugoio/hugo/issues/13384) accordingly.

Is there any workaround for this currently?

---

<div class="post-metadata">

**Author:** ![jmooring](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/jmooring/32/4214_2.png) [@jmooring](https://discourse.gohugo.io/u/jmooring)\
**Post date:** [February 12, 2025, 5:28pm UTC](https://discourse.gohugo.io/t/content-adapters-create-menu-entry-with-properties/53499/4 "2025-02-12T17:28:09Z")

</div>

> [@hazelnym](#):
>
> Is there any workaround for this currently?

Not that I can think of.
