package core import ( "fmt" ) // PreviewRender render HTML for the preview func (page *Page) PreviewRender(request *Request) (string, error) { warnings := []string{} doc, warnings, err := page.Build(&BuildOption{ SSR: true, AssetRoot: request.AssetRoot, }) data, _, err := page.Data(request) if err != nil { warnings = append(warnings, err.Error()) } // Add Frame Height if request.Referer != "" { doc.Selection.Find("body").AppendHtml(` `) } // Add Warning if len(warnings) > 0 { warningHTML := "
" for _, warning := range warnings { warningHTML += fmt.Sprintf("
%s
", warning) } warningHTML += "
" doc.Selection.Find("body").AppendHtml(warningHTML) } html, err := doc.Html() if err != nil { return "", err } html, err = page.Render(html, data, warnings) if err != nil { warnings = append(warnings, err.Error()) } return doc.Html() }