0
|
1 local Luan = require "luan:Luan.luan"
|
|
2 local error = Luan.error
|
1
|
3 local ipairs = Luan.ipairs or error()
|
0
|
4
|
|
5
|
|
6 local Shared = {}
|
|
7
|
|
8 function Shared.head()
|
|
9 %>
|
|
10 <meta name="viewport" content="width=device-width, initial-scale=1">
|
|
11 <style>
|
|
12 @import "/site.css";
|
|
13 </style>
|
|
14 <%
|
|
15 end
|
|
16
|
1
|
17 local function header(crumbs)
|
0
|
18 %>
|
|
19 <div header>
|
31
|
20 <span breadcrumbs>
|
|
21 <a href="/">Reactionary Software</a>
|
1
|
22 <% for _, crumb in ipairs(crumbs or {}) do %>
|
31
|
23 / <%=crumb%>
|
1
|
24 <% end %>
|
31
|
25 </span>
|
34
|
26 <span>by <a href="https://linkmy.style/fschmidt">fschmidt</a></span>
|
0
|
27 </div>
|
|
28 <%
|
|
29 end
|
1
|
30 Shared.header = header
|
|
31
|
|
32 function Shared.existing_header()
|
|
33 header{[[<a href="/existing.html">Existing</a>]]}
|
|
34 end
|
|
35
|
|
36 function Shared.needed_header()
|
|
37 header{[[<a href="/needed.html">Needed</a>]]}
|
|
38 end
|
0
|
39
|
|
40 return Shared
|