Annual Documentation Survey

Do you have 4 minutes to help us improve our documentation? Please take our annual survey!

Skip to end of metadata
Go to start of metadata

This macro isused to embed wiki notation menus and the output from other macros(such as the {children} macro) in to a menu.

Requirements

This macro requires Theme Builder 2.0 or above.

Usage

{wikimenu}
* MyMenu
** My Option
** ----
** Sub menu {children:page=Home}
{wikimenu}

Parameters

This macro has no parameters.

Examples

Basic Wiki Menu

You can define menu items using the wiki notation for an unordered list as shown below:

* [Home]
** [Builder Macros|Macros|Find out more about macros...]
** ----
** [Confluence]

To add this block of links in to a menu, use the wikimenu macro:

{menubar:id=demo1|electric=true}
{wikimenu}
* [Home]
** [Builder Macros|Macros|Find out more about macros...]
** ----
** [Confluence]
{wikimenu}
{menubar}

Mixing with Menu Macros

The primary purpose of the wikimenu macro is to allow much better integration of menu macros and wiki notaiton within menu definitions, as shown in the example below:

{menu}{menulink:home}{menuicon:house} Home{menulink}
{wikimenu}
* [Builder Macros|Macros|Find out more about macros...]
* ----
* [Confluence]
{wikimenu}
{menu}
{viewmenu}
{editmenu}

As you can see, we've replaced the "Home" link from the previous example with some menu macros and then inserted our wiki notation menu beneath it. We've then added the standard view menu and edit menu on to the menu bar, resulting in:

 

The menu macros are generally faster to use, more reliable and strictly adhere to privileges and system settings. So why on earth would you want to use wiki notation menus in the first place? Read on...

Dynamic Menu Creation

Builder has always allowed automated menu creation, however there are some cases when it's a little unreliable. The new wikimenu macro allows you to safely embed other Confluence macros inside menus with far fewer side effects:

{menubar:id=demo3}
 {menu}{menulink:home}Feature Tours{menulink}
  {wikimenu}{children:page=Feature Tours}{wikimenu}
 {menu}
{menubar}

This will result in:

The benefit here is that if the {children} macro (or any other macro you are using) fails, you won't see a nasty error message in your menus.

Reusable Menu Chunks

One much requested feature was the ability to create chunks of menu that could be re-used across multiple spaces. The wikimenu macro makes this possible...

{menubar:id=demo4}
 {wikimenu}{include:Space Menu}{wikimenu}
{menubar}

Which results in:

 

How does this work? Well, we've created a page called Space Menu and then added a chunk of menu to it. The {include} macro is then used to import the menu definition from the Space Menu page.

If you look at the Space Menu page and you'll see that the menu items are simply displayed as a normal unordered list:

 

You can create any number of "menu pages" containing chunks of menu items and then import them this way in to any number of locations around your site.

There's more examples in our tutorial on Adaptavist Website Theme v4.

 

 

 

  • No labels

6 Comments

  1. Anonymous

    {import} is more useful than {include} in {wikimenu}s

  2. Unknown User (scott.leslie@shaw.ca)

    I am wondering - has there been known problems with wikimenu? Yesterday I was looking at this page and the examples did not work. Today they work. I was looking at this page in Firefox 2.0.11 both days, indeed in the same browser session.

    On my themebuilder installation (v. 2.09) I do not seem to be able to get wikimenu to work regardless of what I try. Very strange.

    1. Unknown User (scott.leslie@shaw.ca)

      Even today, if you look at the example given on this page under "Dynamic Menu Creation" it does not work for me, and this is also what I am having trouble getting to work.

      1. Unknown User (david.dembo)

        Hmm, definitely not working in IE - works fine in FF for me though... do you use the IETabs extension by any chance? e.g. is it possible you might've been accidentally rendering the page using IE's engine?

        1. Unknown User (gfraser)

          The home page in this space had no child pages, doh! I've updated the examples above as follows:

          • Dynamic Menu Creation - now uses Feature Tours page as the example
          • Reusable Menu Chunks - now uses the Space Menu page as source (sample menu page did not exist - doh!) and there's more examples to be found in Tutorials.
          1. Unknown User (scott.leslie@shaw.ca)

            Thanks for addressing this Guy, it's good to know I am not (totally) crazy!