|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
<title>The Screenless Office - Main Menu</title>
|
|
|
|
<style type="text/css">
|
|
|
|
body {
|
|
|
|
font-family: Junicode;
|
|
|
|
font-size: 12pt;
|
|
|
|
}
|
|
|
|
h1, h3 {
|
|
|
|
font-family: "TeX Gyre Adventor";
|
|
|
|
}
|
|
|
|
.bureau {
|
|
|
|
clear: both;
|
|
|
|
width: 100%;
|
|
|
|
page-break-inside: avoid;
|
|
|
|
}
|
|
|
|
.bureau h3 {
|
|
|
|
border-bottom: 1px solid black;
|
|
|
|
}
|
|
|
|
.cmd {
|
|
|
|
clear: both;
|
|
|
|
width: 100%;
|
|
|
|
}
|
|
|
|
.cmdcol{
|
|
|
|
width: 30%;
|
|
|
|
float: left;
|
|
|
|
padding-right: 3%;
|
|
|
|
padding-bottom: 0.5em;
|
|
|
|
}
|
|
|
|
.cmdcol svg {
|
|
|
|
width: 100%;
|
|
|
|
}
|
|
|
|
.cmddesc {
|
|
|
|
margin-top: 0;
|
|
|
|
}
|
|
|
|
.cmdname {
|
|
|
|
font-weight: bold;
|
|
|
|
font-family: "TeX Gyre Adventor";
|
|
|
|
}
|
|
|
|
</style>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<div "main">
|
|
|
|
<h1 id="title">The Screenless Office</h1>
|
|
|
|
<em>Directory of Services</em>
|
|
|
|
%for prefix, buro in menu.items():
|
|
|
|
<div class="bureau">
|
|
|
|
<h3>${buro["name"]}</h3>
|
|
|
|
<div class="prefix">Prefix: ${prefix}</div>
|
|
|
|
<p class="description">${buro["desc"]}</p>
|
|
|
|
<div class="commands">
|
|
|
|
%for cmdtxt, cmd in buro["commands"].items():
|
|
|
|
% if cmdtxt != "test":
|
|
|
|
<div class="cmd">
|
|
|
|
<div class="cmdcol">
|
|
|
|
<div class="cmdname">${cmd["name"]}</div>
|
|
|
|
<div class="cmdtxt">command: <kbd>${cmdtxt}</kbd></div>
|
|
|
|
</div>
|
|
|
|
<div class="cmdcol">
|
|
|
|
<p class="cmddesc">${cmd["desc"]}</p>
|
|
|
|
</div>
|
|
|
|
<div class="cmdcol">${cmd["barcode"]}</div>
|
|
|
|
</div>
|
|
|
|
% endif
|
|
|
|
%endfor
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
%endfor
|
|
|
|
</div>
|
|
|
|
</body>
|
|
|
|
</html>
|