Пример #1
0
// 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
}