## 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.