|
@@ -6,9 +6,13 @@ import (
|
|
|
)
|
|
|
|
|
|
type (
|
|
|
+ entryItem struct {
|
|
|
+ Label Element
|
|
|
+ Content Element
|
|
|
+ }
|
|
|
Entry struct {
|
|
|
Title Element
|
|
|
- Items map[string]Element
|
|
|
+ Items []entryItem
|
|
|
Outro Element
|
|
|
}
|
|
|
)
|
|
@@ -24,13 +28,13 @@ func (element *Entry) String() string {
|
|
|
if element.Title != nil {
|
|
|
br.WriteString(element.Title.Html())
|
|
|
}
|
|
|
- for k, v := range element.Items {
|
|
|
+ for _, v := range element.Items {
|
|
|
br.WriteString(beginTag(atom.Div.String(), Attrs{"class": "row"}))
|
|
|
br.WriteString(beginTag(atom.Div.String(), Attrs{"class": "preview-label"}))
|
|
|
- br.WriteString(k)
|
|
|
+ br.WriteString(v.Label.Html())
|
|
|
br.WriteString(endTag(atom.Div.String()))
|
|
|
br.WriteString(beginTag(atom.Div.String(), Attrs{"class": "preview-value"}))
|
|
|
- br.WriteString(v.Html())
|
|
|
+ br.WriteString(v.Content.Html())
|
|
|
br.WriteString(endTag(atom.Div.String()))
|
|
|
br.WriteString(endTag(atom.Div.String()))
|
|
|
}
|
|
@@ -41,17 +45,24 @@ func (element *Entry) String() string {
|
|
|
return br.String()
|
|
|
}
|
|
|
|
|
|
-func (element *Entry) AddItem(label string, e Element) *Entry {
|
|
|
+func (element *Entry) PushItem(label Element, content Element) *Entry {
|
|
|
if element.Items == nil {
|
|
|
- element.Items = make(map[string]Element)
|
|
|
+ element.Items = make([]entryItem, 0)
|
|
|
}
|
|
|
- element.Items[label] = e
|
|
|
+ element.Items = append(element.Items, entryItem{
|
|
|
+ Label: label,
|
|
|
+ Content: content,
|
|
|
+ })
|
|
|
return element
|
|
|
}
|
|
|
|
|
|
+func (element *Entry) AddItem(label string, e Element) *Entry {
|
|
|
+ return element.PushItem(NewText(label), e)
|
|
|
+}
|
|
|
+
|
|
|
func NewEntry(element Element) *Entry {
|
|
|
return &Entry{
|
|
|
Title: element,
|
|
|
- Items: make(map[string]Element),
|
|
|
+ Items: make([]entryItem, 0),
|
|
|
}
|
|
|
}
|