SMOLNET PORTAL home about changes

Converting Gemtext to HTML with Elixir


April 29, 2023

I spent a few hours this Saturday afternoon writing and releasing gemtext_to_html v0.1.0. I'd like to spend more time browsing and developing for Gemini space, and this is the first step towards making something Elixir-y to that end.

It ships with basic HTML components, but of course you can define your own components using regular old Phoenix Components and HEEx templates.

Hex package (https://hex.pm)
Documentation (https://hexdocs.pm)
Source (https://github.com)


Example


defmodule MyApp.MyComponents do
  @behaviour GemtextToHTML.Components
  import Phoenix.Component

  def h1(assigns) do
    ~H"""
    <h1 class="text-lg font-bold"><%= @text %></h1>
    """
  end

  # ...and so on...
end

gemtext = """
# Hello, world

* this is a list
* indeed

pretty neat
"""

GemtextToHTML.render_to_string(gemtext, components: MyApp.MyComponents)
# => "<h1 class="text-lg font-bold">Hello, world</h1>" <> ...



Home
Posts
Pursuits
About


View on the web (https://www.schrockwell.com)
Response: 20 (Success), text/gemini
Original URLgemini://gmi.schrockwell.com/posts/2023-04-29-gemtext-to-html.gmi
Status Code20 (Success)
Content-Typetext/gemini; charset=utf-8