Jekyll and Gemini

I recently started playing around with the Gemini protocol and I’ve been tryin to figure out how to get my blog here published in Gemini space as well. I found the jekyll-gemini , but it looks pretty unmaintained and broken. I’m able to install the plugin with error, but running bundle exec jekyll gemini --trace yields the following error:

Configuration file: $MASKED_DIR/_config.yml
            Source: $MASKED_DIR
       Destination: $MASKED_DIR/_capsule
 Incremental build: disabled. Enable with --incremental
      Generating...
C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/jekyll-4.3.1/lib/jekyll/renderer.rb:228:in `assign_highlighter_options!': undefined method `highlighter_prefix' for nil:NilClass (NoMethodError)

      payload["highlighter_prefix"] = converters.first.highlighter_prefix
                                                      ^^^^^^^^^^^^^^^^^^^
        from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/jekyll-4.3.1/lib/jekyll/renderer.rb:57:in `run'
        from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/jekyll-4.3.1/lib/jekyll/site.rb:578:in `render_regenerated'
        from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/jekyll-4.3.1/lib/jekyll/site.rb:563:in `block (2 levels) in render_docs'
        from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/jekyll-4.3.1/lib/jekyll/site.rb:562:in `each'
        from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/jekyll-4.3.1/lib/jekyll/site.rb:562:in `block in render_docs'
        from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/jekyll-4.3.1/lib/jekyll/site.rb:561:in `each_value'
        from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/jekyll-4.3.1/lib/jekyll/site.rb:561:in `render_docs'
        from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/jekyll-4.3.1/lib/jekyll/site.rb:210:in `render'
        from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/jekyll-4.3.1/lib/jekyll/site.rb:80:in `process'
        from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/jekyll-4.3.1/lib/jekyll/command.rb:28:in `process_site'
        from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/jekyll-gemini-0.1.0/lib/jekyll_gemini/command.rb:44:in `build'
        from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/jekyll-gemini-0.1.0/lib/jekyll_gemini/command.rb:30:in `process'
        from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/jekyll-4.3.1/lib/jekyll/command.rb:91:in `block in process_with_graceful_fail'
        from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/jekyll-4.3.1/lib/jekyll/command.rb:91:in `each'
        from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/jekyll-4.3.1/lib/jekyll/command.rb:91:in `process_with_graceful_fail'
        from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/jekyll-gemini-0.1.0/lib/jekyll_gemini/command.rb:15:in `block (2 levels) in init_with_program'
        from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `block in execute'
        from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `each'
        from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `execute'
        from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/mercenary-0.4.0/lib/mercenary/program.rb:44:in `go'
        from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/mercenary-0.4.0/lib/mercenary.rb:21:in `program'
        from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/jekyll-4.3.1/exe/jekyll:15:in `<top (required)>'
        from C:/Ruby31-x64/bin/jekyll:25:in `load'
        from C:/Ruby31-x64/bin/jekyll:25:in `<main>'

I don’t now enough about Jekyll or Ruby to troubleshoot this properly to submit a patch, and I don’t know if I have the energy to figure this out.

I have found a gemini capsule that appears to be built using Jekyll: gemini://tilde.cafe/~chrono/, so I know it can be done!

Once I get this problem solved, I just have to find a Gemini host (this website is on Dreamhost shared hosting, so I cannot run my own Gemini host) to hold everything.

Update: I set up a free tier instance with Oracle’s cloud service and use the Agate server to host my capsule. You can find it at gemini://gem.lizsugar.me

So far I’ve had lot of fun exploring Gemini, and really like the small social communities at gemini://station.martinrue.com/ and gemini://bbs.geminispace.org/. I think it would be super fun to spend more time in these communities. Gemini gives me a lot of the same feel as the early web and some BBSs from way back, which I was also hoping to recapture by making this blog.

I think I’m mostly putting this post here as some kind of documentation that I am running into this. Who knows, maybe I’ll figure this out and document my solution 🤷‍♀️