1
0
mirror of https://github.com/lxsang/antd-web-apps synced 2025-07-26 02:29:47 +02:00

Add Booklet front end

This commit is contained in:
lxsang
2020-06-22 22:14:52 +02:00
parent 16801d947d
commit 44f50f3a52
15 changed files with 486 additions and 4 deletions

View File

@ -0,0 +1,4 @@
<?lua
echo(data)
?>

View File

@ -0,0 +1 @@
404 not found

View File

@ -0,0 +1,93 @@
<?lua
local tocdata = __main__:get("toc")
?>
<!DOCTYPE html>
<html>
<head>
<script
type="text/javascript"
src="<?=HTTP_ROOT?>/rst/gscripts/showdown.min.js"
></script>
<link
rel="stylesheet"
type="text/css"
href="<?=HTTP_ROOT?>/assets/style.css" />
<link
rel="stylesheet"
type="text/css"
href="<?=HTTP_ROOT?>/rst/font-awesome.css" />
<link
rel="stylesheet"
type="text/css"
href="<?=HTTP_ROOT?>/rst/ubuntu-regular.css" />
<title>
<?lua
if tocdata then
echo(tocdata.data.name)
else
echo("Untitled")
end
?>
</title>
</head>
<body>
<div id = "top">
<div id = "navbar">
<div class = "doc-name">
<?lua if tocdata then ?>
<a href ="<?=HTTP_ROOT..'/'..tocdata.controller..'/'?>">
<?=tocdata.data.name?>
</a>
<?lua end ?>
</div>
<input type = "text" class = "search-box"></input>
<div class= "search-icon"></div>
</div>
</div>
<div id = "cover">
<div id = "book">
<div class = "doc-toc">
<?lua
if toc then
toc:set("data", tocdata)
toc:render()
end
?>
</div>
<div class="doc-content">
<?lua
if __main__ then
__main__:render()
end
?>
</div>
</div>
</div>
<div id = "bottom">
Powered by antd server, (c) 2019 - <?=os.date("*t").year?> Xuan Sang LE
</div>
<script>
window.onload = function () {
var els = document.getElementsByClassName("doc-content");
var converter = new showdown.Converter();
for (var i in els) {
var text = els[i].innerHTML;
var html = converter.makeHtml(text);
els[i].innerHTML = html;
}
// tree view events
var toggler = document.getElementsByClassName("caret");
var i;
for (i = 0; i < toggler.length; i++) {
toggler[i].addEventListener("click", function() {
this.parentElement.querySelector(".nested").classList.toggle("active");
this.classList.toggle("caret-down");
});
}
// TODO math display
};
</script>
</body>
</html>

View File

@ -0,0 +1,31 @@
<?lua
gentree = function(data, controller)
if not data then
return ""
end
local caret = ''
if data.entries then
caret = '<span class = "caret"></span>'
end
local markup = '<li>'..caret..'<a href="'..HTTP_ROOT..'/'..controller..'/'..std.b64encode(data.path):gsub("=","")..'/'..data.name:gsub(" ", "_")..'.md">'..data.name.."</a>"
if data.entries then
markup = markup.."<ul class='nested'>"
for k,v in pairs(data.entries) do
markup = markup..gentree(v, controller)
end
markup = markup.."</ul>"
end
markup = markup.."</li>"
return markup
end
?>
<ul id = "toc">
<?lua
if data.error then
return echo("Unable to read toc")
end
for k,v in pairs(data.data.entries) do
echo(gentree(v, data.controller))
end
?>
</ul>