Jekyll and Gemini

// 2023-06-20, 1 min read, #jekyll #gemini #programming

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:

Gemini protocol

jekyll-gemini

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, so I know it can be done!

gemini://tilde.cafe/~chrono/

STRIKEOUT: ~~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]

Agate

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.

gemini://station.martinrue.com/

gemini://bbs.geminispace.org/

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 🤷‍♀️

---

View this page on web