- {{- range $i, $p := $sr.Sent.Persons -}}
+
+
+
+
{{ $model.Letter }}
+
+
{{ $model.Earliest.Text -}}
+ {{- range $sr := $model.SendReceivedPairs -}}
+
- {{- if $i -}}
- ,
- {{ end -}}
- {{- $person := Person $p.Reference -}}
- {{- $person.Name -}}
+ {{- range $i, $p := $sr.Sent.Persons -}}
+
+ {{- if $i -}}
+ ,
+ {{ end -}}
+ {{- $person := Person $p.Reference -}}
+ {{- $person.Name -}}
+
+ {{- end -}}
- {{- end -}}
-
-
an
- {{- if $sr.Received -}}
-
- {{- range $i, $p := $sr.Received.Persons -}}
+
+ {{- if $sr.Received -}}
- {{- if $i -}}
- ,
- {{ end -}}
- {{- $person := Person $p.Reference -}}
- {{- $person.Name -}}
+ {{- range $i, $p := $sr.Received.Persons -}}
+
+ {{- if $i -}}
+ ,
+ {{ end -}}
+ {{- $person := Person $p.Reference -}}
+ {{- $person.Name -}}
+
+ {{- end -}}
+ {{- else -}}
+
Unbekannt
{{- end -}}
- {{- else -}}
-
Unbekannt
{{- end -}}
-{{- end -}}
+
diff --git a/views/routes/components/_letterlist.gohtml b/views/routes/components/_letterlist.gohtml
new file mode 100644
index 0000000..fa42c57
--- /dev/null
+++ b/views/routes/components/_letterlist.gohtml
@@ -0,0 +1,7 @@
+{{- $letters := . }}
+
+{{ range $l := $letters -}}
+
+ {{- template "_letterhead" $l -}}
+
+{{- end -}}
diff --git a/views/transform/site.css b/views/transform/site.css
index 77af31c..d3a3335 100644
--- a/views/transform/site.css
+++ b/views/transform/site.css
@@ -74,4 +74,106 @@
nav a[aria-current="page"] {
@apply font-bold text-red-500;
}
+
+ .text {
+ @apply font-serif max-w-[80ch] relative;
+ overflow: auto;
+ }
+
+ .text .page,
+ .text .line,
+ .text .aq,
+ .text .ul,
+ .text .dul,
+ .text .it,
+ .text .pe,
+ .text .gr,
+ .text .hb,
+ .text .nr,
+ .text .align,
+ .text .insertion,
+ .text .del,
+ .text .fn,
+ .text .anchor {
+ @apply inline-block;
+ }
+
+ .text .aq {
+ @apply font-sans;
+ }
+
+ .text .line {
+ @apply w-0;
+ font-size: 0 !important;
+ }
+
+ .text .line.tab-1 {
+ @apply w-4;
+ }
+
+ .text br.index-1 {
+ @apply hidden;
+ }
+
+ .text .page {
+ @apply font-sans text-sm text-gray-500;
+ }
+
+ .text .page.index-1 {
+ @apply hidden;
+ }
+
+ .text .ul {
+ @apply underline;
+ }
+
+ .text .dul {
+ @apply underline decoration-double;
+ }
+
+ .text .it {
+ @apply italic;
+ }
+
+ .text .align.pos-right {
+ @apply text-right;
+ float: right;
+ }
+
+ .text .align.pos-center {
+ width: max-content;
+ position: relative;
+ left: 50%;
+ transform: translateX(-50%);
+ }
+
+ .text .insertion::before {
+ content: "⌞";
+ }
+
+ .text .insertion::after {
+ content: "⌟";
+ }
+
+ .text .nr::before {
+ content: "⸰";
+ }
+
+ .text .nr::after {
+ content: "⸰";
+ }
+
+ .text .pe {
+ @apply text-stone-600;
+ }
+
+ .text .del {
+ @apply line-through;
+ }
+
+ .text .del .del::before {
+ content: "";
+ @apply absolute inset-x-0 top-1/2 h-px bg-black;
+ top: 55%;
+ }
}
diff --git a/xmlmodels/common.go b/xmlmodels/common.go
index bfb2832..b096a48 100644
--- a/xmlmodels/common.go
+++ b/xmlmodels/common.go
@@ -22,18 +22,22 @@ func (d *Date) Sort() *xmlparsing.XSDDate {
if d.NotBefore.Validate() {
return &d.NotBefore
}
- if d.From.Validate() {
- return &d.From
- }
- if d.When.Validate() {
- return &d.When
- }
- if d.To.Validate() {
- return &d.To
- }
+
if d.NotAfter.Validate() {
return &d.NotAfter
}
+ if d.To.Validate() {
+ return &d.To
+ }
+
+ if d.When.Validate() {
+ return &d.When
+ }
+
+ if d.From.Validate() {
+ return &d.From
+ }
+
return nil
}