1
0
mirror of https://github.com/lxsang/antd-web-apps synced 2024-12-28 02:08:22 +01:00

Merge pull request #36 from lxsang/master

update
This commit is contained in:
Xuan Sang LE 2020-12-25 22:42:20 +01:00 committed by GitHub
commit dd0f7bc860
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 212 additions and 167 deletions

Binary file not shown.

View File

@ -1,10 +1,23 @@
BaseController:subclass("IndexController") BaseController:subclass("IndexController")
function IndexController:index(...) function IndexController:index(...)
local file = io.open("/home/mrsang/doc/library.md", "r")
if file then
local content = ""
local md = require("md")
local callback = function(s) content = content .. s end
md.to_html(file:read("*a"), callback)
file.close()
self.template:set("data", content)
end
return true return true
end end
function IndexController:actionnotfound(...) function IndexController:actionnotfound(...)
self.template:setView("index") self.template:setView("book")
return self:index(table.unpack({...})) return self:book(table.unpack({...}))
end
function IndexController:book(...)
return true
end end

View File

@ -171,7 +171,7 @@ function DocController:index(...)
content, has_3d = post_process_md(content, self) content, has_3d = post_process_md(content, self)
-- replace some display plugins -- replace some display plugins
self.template:setView("index", "index") self.template:setView("book", "index")
self.template:set("data", content) self.template:set("data", content)
self.template:set("has_3d", has_3d) self.template:set("has_3d", has_3d)
else else

View File

@ -0,0 +1,121 @@
<?lua
local get_next
get_next = function(toc, cpath)
if toc.path == cpath then
if toc.entries and #toc.entries > 0 then return toc.entries[1] end
if toc.parent and toc.parent.entries and #toc.parent.entries > 0 then
local entries = toc.parent.entries
if toc.id == #entries then
local p = toc.parent
while p and p.parent and p.parent.entries and #p.parent.entries > 0 do
entries = p.parent.entries
if p.id ~= #entries then
return entries[p.id + 1]
end
p = p.parent
end
return nil
else
return entries[toc.id + 1]
end
else
return nil
end
else
if toc.entries then
for i,v in pairs(toc.entries) do
local ret = get_next(v, cpath)
if ret then return ret end
end
return nil
else
return nil
end
end
end
local get_prev
get_prev = function(toc, cpath)
if toc.path == cpath then
if toc.id == 1 then
return toc.parent
end
if toc.parent and toc.parent.entries and #toc.parent.entries > 0 then
local entries = toc.parent.entries
local c = entries[toc.id - 1]
while c and c.entries and #c.entries > 0 do
if c.entries then
c = c.entries[#c.entries]
end
end
return c
else
return nil
end
else
if toc.entries then
for i,v in pairs(toc.entries) do
local ret = get_prev(v, cpath)
if ret then return ret end
end
return nil
else
return nil
end
end
end
local prev_entry = nil
local next_entry = nil
if toc then
prev_entry = get_prev(toc.data, toc.cpath)
next_entry = get_next(toc.data, toc.cpath)
end
?>
<div class = "pagenav">
<?lua
if prev_entry then
echo("<a class = 'go_prev' href="..HTTP_ROOT..'/'..toc.controller..'/'..std.b64encode(prev_entry.path):gsub("=","")..'/'..prev_entry.name:gsub(" ", "_")..".md".." >")
echo(prev_entry.name)
echo("</a>")
end
if next_entry then
echo("<a class = 'go_next' href="..HTTP_ROOT..'/'..toc.controller..'/'..std.b64encode(next_entry.path):gsub("=","")..'/'..next_entry.name:gsub(" ", "_")..".md".." >")
echo(next_entry.name)
echo("</a>")
end
?>
</div>
<div class = "md-content" id = "renderer">
<?lua
echo(data)
?>
</div>
<?lua
if url then
?>
<div class = "commentsec">
<h3 class = "comment-header">Comments</h1>
<div>
The comment editor supports <b>Markdown</b> syntax. Your email is necessary to notify you of further updates on the discussion. It will be hidden from the public.
</div>
<div id="quick_talk_comment_thread"></div>
</div>
<?lua
end
?>
<div class = "pagenav">
<?lua
if prev_entry then
echo("<a class = 'go_prev' href="..HTTP_ROOT..'/'..toc.controller..'/'..std.b64encode(prev_entry.path):gsub("=","")..'/'..prev_entry.name:gsub(" ", "_")..".md".." >")
echo(prev_entry.name)
echo("</a>")
end
if next_entry then
echo("<a class = 'go_next' href="..HTTP_ROOT..'/'..toc.controller..'/'..std.b64encode(next_entry.path):gsub("=","")..'/'..next_entry.name:gsub(" ", "_")..".md".." >")
echo(next_entry.name)
echo("</a>")
end
?>
</div>

View File

@ -1,121 +1,7 @@
<?lua <?lua
local get_next if data then
get_next = function(toc, cpath)
if toc.path == cpath then
if toc.entries and #toc.entries > 0 then return toc.entries[1] end
if toc.parent and toc.parent.entries and #toc.parent.entries > 0 then
local entries = toc.parent.entries
if toc.id == #entries then
local p = toc.parent
while p and p.parent and p.parent.entries and #p.parent.entries > 0 do
entries = p.parent.entries
if p.id ~= #entries then
return entries[p.id + 1]
end
p = p.parent
end
return nil
else
return entries[toc.id + 1]
end
else
return nil
end
else
if toc.entries then
for i,v in pairs(toc.entries) do
local ret = get_next(v, cpath)
if ret then return ret end
end
return nil
else
return nil
end
end
end
local get_prev
get_prev = function(toc, cpath)
if toc.path == cpath then
if toc.id == 1 then
return toc.parent
end
if toc.parent and toc.parent.entries and #toc.parent.entries > 0 then
local entries = toc.parent.entries
local c = entries[toc.id - 1]
while c and c.entries and #c.entries > 0 do
if c.entries then
c = c.entries[#c.entries]
end
end
return c
else
return nil
end
else
if toc.entries then
for i,v in pairs(toc.entries) do
local ret = get_prev(v, cpath)
if ret then return ret end
end
return nil
else
return nil
end
end
end
local prev_entry = nil
local next_entry = nil
if toc then
prev_entry = get_prev(toc.data, toc.cpath)
next_entry = get_next(toc.data, toc.cpath)
end
?>
<div class = "pagenav">
<?lua
if prev_entry then
echo("<a class = 'go_prev' href="..HTTP_ROOT..'/'..toc.controller..'/'..std.b64encode(prev_entry.path):gsub("=","")..'/'..prev_entry.name:gsub(" ", "_")..".md".." >")
echo(prev_entry.name)
echo("</a>")
end
if next_entry then
echo("<a class = 'go_next' href="..HTTP_ROOT..'/'..toc.controller..'/'..std.b64encode(next_entry.path):gsub("=","")..'/'..next_entry.name:gsub(" ", "_")..".md".." >")
echo(next_entry.name)
echo("</a>")
end
?>
</div>
<div class = "md-content" id = "renderer">
<?lua
echo(data) echo(data)
?> else
</div> echo("404 Not found")
<?lua
if url then
?>
<div class = "commentsec">
<h3 class = "comment-header">Comments</h1>
<div>
The comment editor supports <b>Markdown</b> syntax. Your email is necessary to notify you of further updates on the discussion. It will be hidden from the public.
</div>
<div id="quick_talk_comment_thread"></div>
</div>
<?lua
end end
?> ?>
<div class = "pagenav">
<?lua
if prev_entry then
echo("<a class = 'go_prev' href="..HTTP_ROOT..'/'..toc.controller..'/'..std.b64encode(prev_entry.path):gsub("=","")..'/'..prev_entry.name:gsub(" ", "_")..".md".." >")
echo(prev_entry.name)
echo("</a>")
end
if next_entry then
echo("<a class = 'go_next' href="..HTTP_ROOT..'/'..toc.controller..'/'..std.b64encode(next_entry.path):gsub("=","")..'/'..next_entry.name:gsub(" ", "_")..".md".." >")
echo(next_entry.name)
echo("</a>")
end
?>
</div>

View File

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

View File

@ -70,7 +70,7 @@ local url = __main__:get("url")
if tocdata then if tocdata then
echo(tocdata.data.name) echo(tocdata.data.name)
else else
echo("Untitled") echo("Documentation Hub")
end end
?> ?>
</title> </title>
@ -95,31 +95,48 @@ local url = __main__:get("url")
<?lua <?lua
end end
end end
if tocdata then
?> ?>
<form id = "search_form" action="<?=HTTP_ROOT..'/'..tocdata.controller..'/search/'?>" method="get" class="search-form"> <form id = "search_form" action="<?=HTTP_ROOT..'/'..tocdata.controller..'/search/'?>" method="get" class="search-form">
<input id = "search_box" name="q" type = "text" class = "search-box"></input> <input id = "search_box" name="q" type = "text" class = "search-box"></input>
</form> </form>
<div class= "search-icon"></div> <div class= "search-icon"></div>
<?lua
end
?>
</div> </div>
</div> </div>
<div id = "cover"> <div id = "cover">
<div id = "book"> <div id = "book">
<div class = "doc-toc"> <?lua
<?lua if tocdata then
if toc then ?>
toc:set("data", tocdata) <div class = "doc-toc">
toc:render() <?lua
end if toc then
?> toc:set("data", tocdata)
</div> toc:render()
end
<div class="doc-content markdown-body"> ?>
<?lua </div>
if __main__ then <div class="doc-content markdown-body">
__main__:render() <?lua
end if __main__ then
?> __main__:render()
end
?>
</div>
<?lua
else
?>
<div class="markdown-body">
<?lua
if __main__ then
__main__:render()
end
?>
</div> </div>
<?lua end ?>
</div> </div>
</div> </div>
@ -139,12 +156,15 @@ local url = __main__:get("url")
} }
var input = document.getElementById("search_box"); var input = document.getElementById("search_box");
var form = document.getElementById("search_form"); var form = document.getElementById("search_form");
form.onsubmit = function() if(form)
{ {
var val = input.value.trim(); form.onsubmit = function()
console.log(val); {
if( val === "" || val == "\n") return false; var val = input.value.trim();
return true; console.log(val);
if( val === "" || val == "\n") return false;
return true;
}
} }
<?lua <?lua
if url then if url then

View File

@ -0,0 +1,3 @@
<h1>
404 Not found: no book found
</h1>

View File

@ -1,28 +1,30 @@
#! /bin/bash #! /bin/bash
set -e set -e
# base server
wget -O- https://get.bitdojo.dev/antd | bash -s "1.0.6b"
# base plugin
wget -O- https://get.bitdojo.dev/antd_plugin | bash -s "lua-0.5.2b"
wget -O- https://get.bitdojo.dev/antd_plugin | bash -s "wterm-1.0.0b"
wget -O- https://get.bitdojo.dev/antd_plugin | bash -s "tunnel-0.1.0b"
# install antos
[ -d /tmp/apub ] && rm -r /tmp/apub
mkdir -p /tmp/apub
cd /tmp/apub
wget --no-check-certificate "https://github.com/lxsang/antd-tunnel-publishers/raw/master/dist/antd-publishers-0.1.0a.tar.gz"
tar xvzf antd-publishers-0.1.0a.tar.gz
cd antd-publishers-0.1.0a
./configure --prefix=/opt/www && make && make install
mkdir -p /opt/www/htdocs mkdir -p /opt/www/htdocs
cd /opt/www if [ "$1" = "full" ]; then
# base server
wget -O- https://get.bitdojo.dev/antd | bash -s "1.0.6b"
# base plugin
wget -O- https://get.bitdojo.dev/antd_plugin | bash -s "lua-0.5.2b"
wget -O- https://get.bitdojo.dev/antd_plugin | bash -s "wterm-1.0.0b"
wget -O- https://get.bitdojo.dev/antd_plugin | bash -s "tunnel-0.1.0b"
# install antos
# create the configuration file [ -d /tmp/apub ] && rm -r /tmp/apub
cat << EOF > config.ini mkdir -p /tmp/apub
cd /tmp/apub
wget --no-check-certificate "https://github.com/lxsang/antd-tunnel-publishers/raw/master/dist/antd-publishers-0.1.0a.tar.gz"
tar xvzf antd-publishers-0.1.0a.tar.gz
cd antd-publishers-0.1.0a
./configure --prefix=/opt/www && make && make install
cd /opt/www
# create the configuration file
cat << EOF > config.ini
[SERVER] [SERVER]
plugins=/opt/www/lib/ plugins=/opt/www/lib/
plugins_ext=.so plugins_ext=.so
@ -81,11 +83,12 @@ audio/mpeg=mp3,mpeg
ls = lua ls = lua
lua = lua lua = lua
EOF EOF
# generate cert # generate cert
openssl genrsa -des3 -passout pass:1234 -out keypair.key 2048 openssl genrsa -des3 -passout pass:1234 -out keypair.key 2048
openssl rsa -passin pass:1234 -in keypair.key -out server.key openssl rsa -passin pass:1234 -in keypair.key -out server.key
openssl req -new -subj '/C=FR' -key server.key -out server.csr openssl req -new -subj '/C=FR' -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
fi
cd /opt/www/htdocs cd /opt/www/htdocs