// Generate tags for the menu based on a list of "MenuDescription:/menu/url" func MenuSnippet(menuEntries MenuEntries) *onthefly.Page { var a, li, sep *onthefly.Tag page, ul := onthefly.StandaloneTag("ul") ul.AddAttrib("class", "menuList") //ul.AddStyle("list-style-type", "none") //ul.AddStyle("float", "left") //ul.AddStyle("margin", "0") for i, menuEntry := range menuEntries { li = ul.AddNewTag("li") li.AddAttrib("class", "menuEntry") // TODO: Make sure not duplicate ids are added for two menu entries named "Hi there" and "Hi you". Add i to string? menuId := "menu" + menuEntry.id li.AddAttrib("id", menuId) // All menu entries are now hidden by default! //li.AddStyle("display", "none") //li.AddStyle("display", "inline") li.SansSerif() //li.CustomSansSerif("Armata") // For every element, except the first one if i > 0 { // Insert a '|' character in a div sep = li.AddNewTag("div") sep.AddContent("|") sep.AddAttrib("class", "separator") } a = li.AddNewTag("a") a.AddAttrib("class", "menulink") a.AddAttrib("href", menuEntry.url) a.AddContent(menuEntry.text) } return page }