| {{ $dateRegExp := "^[0-9]{4}-1[0-2]|0[1-9]-(?:3[01]|0[1-9]|[12][0-9])T(?:2[0-3]|[01][0-9]):(?:[0-5][0-9]):(?:60|[0-5][0-9])$" }} |
| {{ $announcementShown := false }} |
| |
| {{ if eq .Site.LanguagePrefix "/en" }} |
| {{ $currentAnnouncements := $.Site.Data.announcements.en }} |
| |
| {{ range $currentAnnouncements }} |
| {{ range .announcements }} |
| {{ if or ( eq .endTime nil ) ( eq .message nil ) }} |
| {{ errorf "Invalid announcement: %#v" . }} |
| {{ end }} |
| {{ if and (ne .startTime nil ) (lt ( len ( findRE $dateRegExp .startTime ) ) 1 ) }} |
| {{ errorf "Invalid announcement start time: %#v" .startTime }} |
| {{ end }} |
| {{ if lt ( len ( findRE $dateRegExp .endTime ) ) 1 }} |
| {{ errorf "Invalid announcement end time: %#v" .endTime }} |
| {{ end }} |
| {{ if or (eq .startTime nil ) (lt ( time .startTime ) now ) }} |
| {{- if or (eq .endTime nil ) (gt ( time .endTime ) now ) -}} |
| {{- if not $announcementShown -}} |
| {{- $announcementShown = true -}} |
| <div lang="en" id="announcement" style="background-color: #3371e3; color: #fff; {{ .style | safeCSS }}"> |
| <aside> |
| <div class="announcement-main" data-nosnippet> |
| {{ if .title }} |
| <h4> |
| {{ .title | markdownify }} |
| </h4> |
| {{ end }} |
| <p>{{ .message | markdownify }}</p> |
| </div> |
| </aside> |
| </div> |
| {{- end -}} |
| {{- end -}} |
| {{- end -}} |
| {{ end }} |
| {{ end }} |
| |
| {{ else }} |
| {{ $currentAnnouncements := $.Site.Data.announcements.zh }} |
| |
| {{ range $currentAnnouncements }} |
| {{ range .announcements }} |
| {{ if or ( eq .endTime nil ) ( eq .message nil ) }} |
| {{ errorf "Invalid announcement: %#v" . }} |
| {{ end }} |
| {{ if and (ne .startTime nil ) (lt ( len ( findRE $dateRegExp .startTime ) ) 1 ) }} |
| {{ errorf "Invalid announcement start time: %#v" .startTime }} |
| {{ end }} |
| {{ if lt ( len ( findRE $dateRegExp .endTime ) ) 1 }} |
| {{ errorf "Invalid announcement end time: %#v" .endTime }} |
| {{ end }} |
| {{ if or (eq .startTime nil ) (lt ( time .startTime ) now ) }} |
| {{- if or (eq .endTime nil ) (gt ( time .endTime ) now ) -}} |
| {{- if not $announcementShown -}} |
| {{- $announcementShown = true -}} |
| <div lang="zh-cn" id="announcement" style="background-color: #3371e3; color: #fff; {{ .style | safeCSS }}"> |
| <aside> |
| <div class="announcement-main" data-nosnippet> |
| {{ if .title }} |
| <h4> |
| {{ .title | markdownify }} |
| </h4> |
| {{ end }} |
| <p>{{ .message | markdownify }}</p> |
| </div> |
| </aside> |
| </div> |
| {{- end -}} |
| {{- end -}} |
| {{- end -}} |
| {{ end }} |
| {{ end }} |
| |
| {{ end }} |