func genericPageBuilder(cp *ContentPage) *onthefly.Page { // TODO: Record the time from one step out, because content may be generated and inserted into this generated conten startTime := time.Now() page := onthefly.NewHTML5Page(cp.Title + " " + cp.Subtitle) page.LinkToCSS(cp.GeneratedCSSurl) for _, cssurl := range cp.ExtraCSSurls { page.LinkToCSS(cssurl) } page.LinkToJS(cp.JqueryJSurl) page.LinkToFavicon(cp.Faviconurl) onthefly.AddHeader(page, cp.HeaderJS) onthefly.AddGoogleFonts(page, cp.GoogleFonts) onthefly.AddBodyStyle(page, cp.BgImageURL, cp.StretchBackground) AddTopBox(page, cp.Title, cp.Subtitle, cp.SearchURL, cp.SearchButtonText, cp.BackgroundTextureURL, cp.RoundedLook, cp.ColorScheme, cp.SearchBox) // TODO: Move the menubox into the TopBox AddMenuBox(page, cp.DarkBackgroundTextureURL, cp.CustomSansSerif) AddContent(page, cp.ContentTitle, cp.ContentHTML+onthefly.DocumentReadyJS(cp.ContentJS)) elapsed := time.Since(startTime) AddFooter(page, cp.FooterText, cp.FooterTextColor, cp.FooterColor, elapsed) return page }
// Generate a new onthefly Page (HTML5 and CSS combined) func indexPage(svgurl string) *onthefly.Page { // Create a new HTML5 page, with CSS included page := onthefly.NewHTML5Page("Demonstration") // Add some text page.AddContent(fmt.Sprintf("onthefly %.1f", onthefly.Version)) // Change the margin (em is default) page.SetMargin(4) // Change the font family page.SetFontFamily("serif") // or: sans-serif // Change the color scheme page.SetColor("black", "#d0d0d0") // Include the generated SVG image on the page body, err := page.GetTag("body") if err == nil { // CSS attributes for the body tag body.AddStyle("font-size", "2em") // Paragraph p := body.AddNewTag("p") // CSS style p.AddStyle("margin-top", "2em") // Image tag img := p.AddNewTag("img") // HTML attributes img.AddAttrib("src", svgurl) img.AddAttrib("alt", "Three circles") // CSS style img.AddStyle("width", "60%") img.AddStyle("border", "4px solid white") } return page }
// Generate a new onthefly Page (HTML5 and CSS) func indexPage(cssurl string) *onthefly.Page { page := onthefly.NewHTML5Page("Demonstration") // Link the page to the css file generated from this page page.LinkToCSS(cssurl) // Add some text page.AddContent(fmt.Sprintf("onthefly %.1f", onthefly.Version)) // Change the margin (em is default) page.SetMargin(7) // Change the font family // Change the color scheme page.SetColor("#f02020", "#101010") // Include the generated SVG image on the page body, err := page.GetTag("body") if err == nil { // CSS attributes for the body tag body.AddStyle("font-size", "2em") // Paragraph p := body.AddNewTag("p") // CSS style p.AddStyle("margin-top", "2em") // Image tag img := p.AddNewTag("img") // HTML attributes img.AddAttrib("src", "/circles.svg") img.AddAttrib("alt", "Three circles") // CSS style img.AddStyle("width", "60%") } return page }