44 lines
740 B
Plaintext
44 lines
740 B
Plaintext
{% import (
|
|
"golang.org/x/text/language"
|
|
) %}
|
|
|
|
{% code
|
|
type Page struct {
|
|
BaseOf
|
|
language language.Tag
|
|
title string
|
|
content []byte
|
|
}
|
|
|
|
func NewPage(base BaseOf, lang language.Tag, content []byte, title string) Page {
|
|
return Page{
|
|
BaseOf: base,
|
|
language: lang,
|
|
title: title,
|
|
content: content,
|
|
}
|
|
}
|
|
%}
|
|
|
|
{% stripspace %}
|
|
{% func (p Page) Title() %}
|
|
{% if p.title != "" %}
|
|
{%s p.title %}
|
|
{% else %}
|
|
{%= p.BaseOf.Title() %}
|
|
{% endif %}
|
|
{% endfunc %}
|
|
|
|
{% func (p Page) Lang() %}
|
|
{% if p.language != language.Und %}
|
|
{%s p.language.String() %}
|
|
{% else %}
|
|
{%= p.BaseOf.Lang() %}
|
|
{% endif %}
|
|
{% endfunc %}
|
|
|
|
{% func (p Page) Body() %}
|
|
<p>{%z p.content %}</p>
|
|
{% endfunc %}
|
|
{% endstripspace %}
|