Structured output.

This commit is contained in:
Dominik Pantůček 2023-06-19 19:37:00 +02:00
parent 3e5251608d
commit 51121d315d

View file

@ -58,33 +58,48 @@
(print "<html>")
(print "<head>")
(print "<meta charset=\"utf-8\">")
(print "<title>Brmlab member "
(print "<title>Brmlab Member: "
(brmember-nick mr)
"</title>")
(print "<style>")
(print "body{padding:0px;margin:0px}")
(print "h1{padding:0px;margin:0px;text-indent:10px}")
(print "h1:after{display:block;border-top:1px solid #8cacbb;border-bottom:1px solid #8cacbb;padding:10px;content:\"\";background:#dee7ec;height:10px;padding:0px}")
(print "table{border-collapse:collapse;border:1px solid grey}")
(print "td,th{border:1px solid grey}")
(print "h1{padding:0px;margin:0px;text-indent:16px}")
(print "h1:after{display:block;border-top:1px solid #8cacbb;border-bottom:1px solid #8cacbb;padding:10px;content:\"\";background:#dee7ec;height:16px;padding:0px}")
(print "tbody td{border-top:1px solid #8cacbb}")
(print "th+th,td+td{border-left:1px solid #8cacbb}")
(print "table{border-collapse:collapse;width:100%}")
(print ".r{text-align:right}")
(print ".gc{display:grid}")
(print ".gl{grid-column:1}")
(print ".gr{grid-column:2}")
(print "footer{background:#dee7ec;border-top:1px solid #8cacbb;padding:10px}")
(print ".gc{display:grid;grid-auto-columns:50%}")
(print ".gl{grid-column:1 / 2}")
(print ".gr{grid-column:2 / 3}")
(print ".bi{margin:32px;border:1px solid #8cacbb}")
(print "h2{margin:0px;padding:0px;text-indent:16px;border-bottom:1px solid #8cacbb}")
(print "h3{margin:0px;padding:0px;text-indent:16px;border-bottom:1px solid #8cacbb;border-top:1px solid #8cacbb}")
(print "pre{margin-left: 32px}")
(print "dl{margin-left: 32px;margin-right:32px;display:grid;grid-column-gap:0px}")
(print "dt{grid-column:1/2;text-align:right}")
(print "dd+dt,dd+dt+dd{border-top:1px solid #8cacbb}")
(print "dd{grid-column:2/3;font-weight:bold;margin:0px;padding-left:16px}}")
(print "footer{background:#dee7ec;border-top:1px solid #8cacbb;padding:16px}")
(print "</style>")
(print "</head>")
(print "<body>")
(print "<h1>Brmlab member " (brmember-nick mr) "</h1>")
(print "<h1>Brmlab Member: " (brmember-nick mr) "</h1>")
(print "<div class=\"gc\">")
(print "<div class=\"gl\">")
(print "<div class=\"bi\">")
;;(print "<h2>Basic Information</h2>")
(print "<dl>")
(print "<dt>Nick:</dt><dd>" (brmember-nick mr) "</dd>")
(print "<dt>Id:</dt><dd>" (brmember-id mr) "</dd>")
(print "<dt>Balance:</dt><dd>" (caar (reverse bhs)) "</dd>")
(print "<dt>Nickname/Username<br>(Přezdívka/Uživatelské jméno)</dt><dd>"
(brmember-nick mr) "</dd>")
(print "<dt>Member ID, Variable Symbol for Payments<br>(Členské číslo, variabilní symbol plateb)</dt><dd>"
(brmember-id mr) "</dd>")
(print "<dt>Balance in CZK<br>(Zůstatek v Kč)</dt><dd>" (caar (reverse bhs)) "</dd>")
(print "<dt>Account for Payments<br>(Účet pro platbu příspěvků)</dt><dd>2500079551/2010</dd>")
(print "</dl>")
(print "<hr>")
(print "<h2>Payments history</h2>")
(print "</div>")
(print "<div class=\"bi\">")
(print "<h2>Payments History</h2>")
(print "<table>")
(print "<thead><tr><th>Date</th><th>Type</th><th>Comment</th><th>Amount</th><th>Currency</th><th>Amount [CZK]</th><th>Balance</th></tr></thead>")
(print "<tbody>")
@ -100,7 +115,7 @@
"</td><td>"
(list-ref hr 3)
"</td><td class=\"r\">"
(list-ref hr 5)
(exact->inexact (list-ref hr 5))
"</td><td class=\"r\">"
(exact->inexact (car hr))
"</td></tr>"
@ -109,15 +124,15 @@
(print "</tbody>")
(print "</table>")
(print "</div>")
(print "</div>")
(print "<div class=\"gr\">")
(print "<hr>")
(print "<div class=\"bi\">")
(print "<h2>Member file</h2>")
(print "<pre>")
(print (sanitize-html
(string-intersperse (brmember-source mr) "\n")))
(print "</pre>")
(print "<hr>")
(print "<h2>Member File Git Log</h2>")
(print "<h3>Changes History</h3>")
(print "<pre>")
(for-each (lambda (l)
(print (sanitize-html l)))
@ -127,6 +142,7 @@
(print "</pre>")
(print "</div>")
(print "</div>")
(print "</div>")
(print "<footer>Generated by " banner-line "</footer>")
(print "</body>")
(print "</html>")))