aboutsummaryrefslogtreecommitdiff
path: root/page/misc.go
blob: e603458914cc3e37dabbc855ed89817a99064117 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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)
}