-- Leo's gemini proxy

-- Connecting to zaibatsu.circumlunar.space:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

Extensive Molly Brown updates


I have greatly enjoyed making quite a lot of updates to my Gemini server, Molly Brown, over the past month or so, and most intensively over the past week or so. If you are running an older build of Molly, or decided against using Molly based on a first impression made over a month ago, I strongly encourage you to either update or take a second look, respectively. Amongst the recent changes are a very extensive overhaul of the README.md file, so there should now be a lot less guess work and frustration involved in getting Molly up and running.


The Unsinkable Molly Brown


A lot of changes have been made, but there are two things that I'm particularly excited about.


One is the introduction of `.molly` files. These work very much like Apache's `.httpaccess` files, i.e. they are a way for users without access to the main config file (as is typical in commercial shared-hosting setups or, closer to my mind, pubnix/tilde servers) to nevertheless be able to make some limited changes to the server configuration which are limited in scope to the parts of the server's document store that they have write access to. This is particularly relevant to anybody taking advantage of the free hosting offered at gemini.circumlunar.space, which runs Molly Brown. You can now upload `.molly` files to do the following:


Change the file extension used for text/gemini files in your capsule

Change the setting of the `lang` parameter served with text/gemini files

Override the MIME type served for any files in your capsule (in case you have files without extensions, or if the MIME type that Molly Brown guesses from the extension is incorrect or could be made more precise - e.g. you can serve Atom feed as `application/atom+xml` instead of `application/xml`)

Setup temporary and permanent redirects for URLs within your capsule

Restrict access to parts of your capsule to clients providing certificates with fingerprints in a pre-authorised list


The other exciting thing is more extensive control over automatically generated directory listings (and this control can naturally be exercised via `.molly` files!). It is now possible to specify whether the entries in directory listings should be sorted alphabetically by filename, according to modification time, or according to file size, in both ascending or descending order in all cases. It is also possible to specify that text/gemini files which contain a first level heading (i.e. a line beginning with "# ") should be listed using the text of the first such heading rather than their filename. Finally, if a world-readable file named `.mollyhead` exists in a directory, the contents of that file will be prepended to the automatically generated listing. None of this sounds very exciting in isolation, but taken together these features can greatly simplify the process of maintaining a simple gemlog. Instead of having to manually maintain an `index.gmi` file full of links to your posts in order chronological order and with human-friendly labels, you can just upload the post files and have them be automatically displayed in most-to-least-recent order, with their titles instead of filenames, and with whatever title and introductory text you'd like for the gemlog as a whole pulled in from `.mollyhead`. Not only is this less work for you, your users get extra information like last-modified timestamps and filesizes which you may not have manually inserted in an `index.gmi` anyway.


Of course, there's still plenty more work to be done. Support for virtual hosting is long overdue, for example. But Molly Brown has come a long way in a short time recently and I'm feeling pretty happy about it.

-- Response ended

-- Page fetched on Fri Apr 19 09:15:28 2024