Browse Source

add new element

fancl 2 years ago
parent
commit
c3b70178fd
3 changed files with 35 additions and 2 deletions
  1. 31 0
      element/alternative.go
  2. 1 1
      element/timeline.go
  3. 3 1
      theme/default.go

+ 31 - 0
element/alternative.go

@@ -0,0 +1,31 @@
+package element
+
+import (
+	"git.nspix.com/golang/pgenr/internal/pool"
+	"golang.org/x/net/html/atom"
+)
+
+type Alternative struct {
+	Elements []Element
+}
+
+func (element *Alternative) String() string {
+	br := pool.Get()
+	defer pool.Put(br)
+	br.WriteString(beginTag(atom.Div.String(), Attrs{"class": "alternative-wrapper"}))
+	for _, ele := range element.Elements {
+		br.WriteString(ele.Html())
+	}
+	br.WriteString(endTag(atom.Div.String()))
+	return br.String()
+}
+
+func (element *Alternative) Html() string {
+	return element.String()
+}
+
+func NewAlternative() *Alternative {
+	return &Alternative{
+		Elements: make([]Element, 0),
+	}
+}

+ 1 - 1
element/timeline.go

@@ -42,7 +42,7 @@ func (element *Timeline) String() string {
 		br.WriteString(renderTag(atom.Div.String(), Attrs{"class": "timeline-item-tail"}, ""))
 		br.WriteString(renderTag(atom.Div.String(), Attrs{"class": "timeline-item-node"}, ""))
 		br.WriteString(beginTag(atom.Div.String(), Attrs{"class": "timeline-item-wrapper"}))
-		br.WriteString(renderTag(atom.Div.String(), Attrs{"class": "timeline-item-timestamp"}, item.Datetime.Format("2006-01-02")))
+		br.WriteString(renderTag(atom.Div.String(), Attrs{"class": "timeline-item-timestamp"}, item.Datetime.Format(element.Layout)))
 		br.WriteString(renderTag(atom.Div.String(), Attrs{"class": "timeline-item-content"}, item.Content.Html()))
 		br.WriteString(endTag(atom.Div.String()))
 		br.WriteString(endTag(atom.Li.String()))

+ 3 - 1
theme/default.go

@@ -120,6 +120,7 @@ func (theme *Default) Template() string {
 	.timeline {
 		margin: 0;
 		list-style: none;
+		padding-left: 1rem;
 	}
 
 	.timeline-item {
@@ -158,7 +159,8 @@ func (theme *Default) Template() string {
 	}
 
 	.timeline-item-timestamp{
-		font-size: .89rem;
+		font-size: .86rem;
+		color: #64686E;
 	}
 
 	.timeline-item-content{