summaryrefslogtreecommitdiff
path: root/NOTES_70
diff options
context:
space:
mode:
Diffstat (limited to 'NOTES_70')
-rw-r--r--NOTES_7041
1 files changed, 41 insertions, 0 deletions
diff --git a/NOTES_70 b/NOTES_70
new file mode 100644
index 0000000..8202bbc
--- /dev/null
+++ b/NOTES_70
@@ -0,0 +1,41 @@
+## cgit-gopher
+
+The plan is to equip cgit with a Gopher (RFC 1436) front-end. This would
+be possible by replacing the functions in ui-*.c with appropriate
+functions to generate Gopher contents. In practice, all the html-related
+stuff should be replaced by simple text, and the output simplified (we
+can't have more than one link per line in Gopher).
+
+It seems that ui-tree.c is a good place to start for a proof-of-concept.
+
+(20180724-16:19)
+
+ The PoC works. Now we should produce proper selectors for the stuff in
+ the tree page. In particular:
+
+ - Distinguish between files and directories/links
+ - construct an appropriate selector path (see cgit_tree_link in
+ ui-shared.c)
+
+ N.B.: We don't need to support all the stuff in cgit. In particular,
+ the 'virtual-root' variable might be a bit cumbersome to implement,
+ since we need an explicit way to signal the Gopher server that we
+ need the script (i.e., the presence of a '?' after the name of the CGI
+ script).
+
+(20180725 - 9:30)
+
+ The easiest way to inject a Gopher interface seems to be through
+ cmd.c, since the functions to be called for each action are defined in
+ there. It should be sufficient to provide a gopher-cmd.c and to
+ replace all the ui-*.c files with the corresponding ui70-*.c
+ counterparts which implement the Gopher interface.
+
+ Again, we should start from ui-repolist.c and ui-tree.c, which are the
+ two necessary bits for a viable proof-of-concept.
+
+(20180729 - 6:20)
+
+ The PoC is complete. The cgit-70 cgi script implements all the basic
+ functionalities of cgit. I am sure more is to be done, but the result
+ is not bad at all.