mlisting

Mailing list service

git clone git://git.lin.moe/go/mlisting.git

 1<!DOCTYPE html>
 2<html>
 3  <head>
 4    <meta charset="UTF-8">
 5    <meta http-equiv="X-UA-Compatible" content="IE=edge">
 6    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 7    <link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>📧</text></svg>">
 8    <link rel="stylesheet" type="text/css" href="{{"/css/grid.min.css" | realurl }}">
 9    <title>{{ .Subject}} - {{ .List.Address }} - mlisting</title>
10  </head>
11  <body>
12    <header  class="container-fluid">
13      <div class="row">
14        {{ if .Parent }}
15        <a class="col-auto" href="../{{.Parent.Header.MessageID}}#{{.Header.MessageID}}">up [{{.Parent.Subject}}]</a>
16        {{ end }}
17      </div>
18      <span class="row" style="align-items: baseline">
19        <h1 class="col-auto">{{ .Subject}}</h1>
20        <a class="col-auto" href="../">{{.List.Name}} &lt;{{.List.Address}}&gt;</a>
21      </span>
22      <div class="row">
23        <address class="col-auto">{{ .Header.Get "From" }} </address>
24        <span class="col"></span>
25        <span class="col-auto">
26          <time datetime="{{.CreateAt}}" title="{{.CreateAt}}" >{{.CreateAt | timediff}}</time> · 
27          <a href="./mbox/">mbox</a> · 
28          <a href="mailto:{{.List.Address}}?In-Reply-To=%3C{{.Header.MessageID | urlquery}}%3E&CC={{or (.Header.Get "Delivered-To") (.Header.Get "From") | urlquery}}&Subject=Re:+{{.Subject | urlquery}}">reply </a>
29        </span>
30      </div>
31    </header>
32    <details>
33      <summary>
34        <small>Headers</small>
35      </summary>
36      <pre>{{ range $k, $_ := .Header.Map }}
37{{ $k }}: {{ $.Header.Get $k }}{{ end }}</pre>
38    </details>
39    <main>
40      <pre>{{ .Text }}</pre>
41      <details>
42        <summary><h3 style="display: inline-block">Replies: </h3></summary>
43        <ul>
44          {{ range $msg := .SubMessages }}
45          <li class="row">
46            <a class="col" href="#{{$msg.Header.MessageID}}">{{.Header.Get "From"}}</a>
47            <span class="col-auto"> at {{.CreateAt | timediff}}</span>
48          </li>
49          {{end}}
50        </ul>
51      </details>
52
53      {{ range $msg := .SubMessages }}
54      <section class="container">
55        <div class="row" style="align-items: baseline">
56          <h4 id="{{$msg.Header.MessageID}}" class="col">{{.Header.Get "From"}}</h4>
57          <span class="col-auto">
58            <a href="../{{$msg.Header.MessageID}}/">thread</a> · 
59            <a title="{{.CreateAt}}"  href="#{{$msg.Header.MessageID}}">{{.CreateAt | timediff}}</a>  ·
60            <a href="mailto:{{$.List.Address}}?In-Reply-To=%3C{{$msg.Header.MessageID | urlquery}}%3E&CC={{or ($msg.Header.Get "Delivered-To") ($msg.Header.Get "From") | urlquery}}&Subject=Re:+{{$.Subject | urlquery}}">reply</a>
61          </span>
62        </div>
63        <div class="row"><details class="col">
64          <summary><small>Headers</small></summary>
65          <pre>{{ range $k, $_ := $msg.Header.Map }}
66{{ $k }}: {{ $msg.Header.Get $k }}{{ end }}</pre>
67        </details></div>
68        <div class="row"><div class="col"><pre >{{ $msg.Text }}</pre></div></div>
69      </section>
70      {{end}}
71    </main>
72  </body>
73</html>