login

<     >

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>