diff options
Diffstat (limited to 'NOTES_70')
-rw-r--r-- | NOTES_70 | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/NOTES_70 b/NOTES_70 new file mode 100644 index 0000000..9ddbab8 --- /dev/null +++ b/NOTES_70 @@ -0,0 +1,35 @@ +## 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. |