๐Ÿ’พ Archived View for bbs.geminispace.org โ€บ u โ€บ jsreed5 โ€บ 19570 captured on 2024-12-17 at 15:34:58. Gemini links have been rewritten to link to archived content

View Raw

More Information

-=-=-=-=-=-=-

Comment by ๐Ÿš€ jsreed5

Re: "geminiprotocol.net: Gemini app developer's guide published..."

In: s/Gemini

Excellent writeup! One thing I learned about CGIs is that user state is very important, and one should consider carefully how to handle it. My chess service used a full database to retain player state across requests. Meanwhile, my todo.txt service manages it with only a user certificate and the contents of flat text files. Sometimes one can get away with storing a state within a query string if the user is not expected to modify the query manually; some examples of this are Minesweeper by @Acidus or my twisty puzzles, where users alter the state by selecting links that contain query strings modified according to the rules of the puzzle.

๐Ÿš€ jsreed5

Sep 10 ยท 3 months ago

3 Later Comments โ†“

โ„ freezr ยท Sep 13 at 22:54:

Thank you guys you're the best! ๐Ÿ‘

๐Ÿ•น๏ธ skyjake [OP/mod...] ยท Sep 15 at 18:07:

Thanks for the feedback so far, everyone! When I find a suitable moment I'll make a few edits and additions to the guide. This will probably be after the Lagrange v1.18 release, though.

๐Ÿš€ jsreed5 ยท Oct 05 at 14:18:

Here's a neat trick for CGIs I forgot to mention. Sometimes you may want to send a value as a query string but only have that value act on a certain location. For example, you may want to edit just the Nth line of a file, or return the Nth page of search results. One way to do this is to build a base CGI file, then create a symlink to the file, with the link name being the location you want to act on. The CGI can then use its own filename as a location parameter, without the user needing to specify a location in the query along with a value. I use this trick in both my todo.txt service and the OEIS mirror.

Original Post

๐ŸŒ’ s/Gemini

โ€” geminiprotocol.net: Gemini app developer's guide published

Thank you @Solderpunk for giving me the chance to contribute some official Gemini documentation in the form of a new developer guide. I look forward to hearing from @Acidus, @mbays, @gritty, @stack and all other Geminauts who have been working on interactive Gemini apps! I'm sure we can keep improving this guide further with your insights and/or comments and corrections.

๐Ÿ’ฌ skyjake [mod...] ยท 9 comments ยท 10 likes ยท Sep 08 ยท 3 months ago