2022-02-26 19:16:31 (UTC-03:00)
Marcel Rodrigues <marcelgmr@gmail.com>
add basic app with group views
diff --git a/app.lua b/app.lua new file mode 100644 index 0000000..1e78608 --- /dev/null +++ b/app.lua @@ -0,0 +1,31 @@ +local git = require "git" +local scan = require "scan" + +local lud = require "ludweb" + +git.init() + +local path = "/tmp/cogit" +local groups = scan.scanrepos(path) + +local routes = { + {"GET", "/", function (req) + local gnames = {} + for gname in pairs(groups) do + table.insert(gnames, gname) + end + return lud.template.render_file("view/home.html", {gnames=gnames}) + end}, + {"GET", "/group/(%w+)", function (req, gname) + local rnames = {} + for rname in pairs(groups[gname]) do + table.insert(rnames, rname) + end + return lud.template.render_file("view/group.html", {gname=gname, rnames=rnames}) + end}, +} + +local app = lud.app.new_app(routes) +app:run(8080) + +git.shutdown() diff --git a/view/group.html b/view/group.html new file mode 100644 index 0000000..aba9bc3 --- /dev/null +++ b/view/group.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset="utf-8"> + <title>cogit - {{$gname}}</title> +</head> +<body> + <ul> + % for rname in $rnames do + <li><a href="/group/{{$gname}}/repo/{{$rname}}">{{$rname}}</a></li> + % end + </ul> +</body> +</html> diff --git a/view/home.html b/view/home.html new file mode 100644 index 0000000..22a09b4 --- /dev/null +++ b/view/home.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset="utf-8"> + <title>cogit</title> +</head> +<body> + <ul> + % for gname in $gnames do + <li><a href="/group/{{$gname}}">{{$gname}}</a></li> + % end + </ul> +</body> +</html>