package page import ( "encoding/json" "gopkg.in/yaml.v3" ) // EncodeYaml is meant to be used in templating functions to encode // arbitrary information as a yaml string. func (p Page) EncodeYaml(data interface{}) string { if data == nil { data = p } b, err := yaml.Marshal(data) if err != nil { Logger.Println("Encountered error in EncodeYaml: ", err) } return string(b) } // EncodeJSON is meant to be used in templating functions to encode // arbitrary information as a JSON string. func (p Page) EncodeJSON(data interface{}) string { if data == nil { data = p } b, err := json.MarshalIndent(data, "", " ") if err != nil { Logger.Println("Encountered error in EncodeJson: ", err) } return string(b) } // EncodeJSON is meant to be used in templating functions to encode // arbitrary information as a JSON string. func (p Page) EncodeJSONCompact(data interface{}) string { if data == nil { data = p } b, err := json.Marshal(data) if err != nil { Logger.Println("Encountered error in EncodeJSONCompact: ", err) } return string(b) }