Testing CGI with Gemini
Developing server side CGI applications for Gemini is similar to the web. You need a CGI compatible server and then to write a script using your preferred language.
Hello CGI world
The first CGI application here is a simple Hello world.
Development notes
For those interested, I'm using Rebol as my scripting language, and Molly Brown server
Script overview
The script starts as follows.
#!/usr/local/bin/rebol -cs
REBOL [
title: {a simple Gemini CGI script in REBOL}
date: 4-Jun-2020
]
;---Gemini meta response 20 OK - start sending content to the client
;---terminate header with CRLF
prin "20 text/gemini; charset=utf-8"
prin crlf
;---load a simple CGI params decoding library to get the unescaped data
do %gemini-utils.r
query: get-query-string
Once those preliminaries are out of the way, we can start outputting to the client, based on however we want to handle the passed parameters.
;---now just printing the output and it is sent to the client.
print {# Simple CGI script for Gemini in REBOL}
;--- say hello to the user as a gemtext heading 2
print rejoin [newline {## Hello, [} (title-case name) {]} ]