💾 Archived View for nytpu.com › gemlog › 2022-11-23.gmi captured on 2023-01-29 at 15:58:52. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-01-29)

➡️ Next capture (2023-03-20)

-=-=-=-=-=-=-

↩ go back to index

First Release of the Gemroff Markup Language

November 23, 2022

The second new program I've been working on for a while and finished this month, I'm announcing the release of the Gemroff markup language!

https://git.sr.ht/~nytpu/gemroff

It's both an Ada[1] library and a CLI utility for parsing and rendering Gemroff markup to a variety of formats, currently:

Per the name, its heavily inspired by both Gemtext and Roff. The markup language itself is line-based like Gemtext, but supports inline markup as well as some additional block markup. Much of the inline markup takes inspiration from the Mandoc[2] flavor of Roff. It handily delineates block markup from inline markup by having block markup be Gemtext-style symbols and inline markup be “dotted” like Roff macros (e.g. `.Em` is for emphasis).

The design is a mash-up of the sheer simplicity of line-based Gemtext, and my favorite parts of writing Roff[3] and Mandoc. Notably, it has markup for enclosures such as quotations and parentheses; and like Mandoc has what I've termed “abutting punctuation”, which allows you to flexibly add punctuation next to, but not inside, inline markup elements. It also has several trigraphs[4] so I can write my most-used pieces of Unicode punctuation on ASCII-only retro computers—where I often write Gemlog posts.

It's actually pretty weird to describe it as “new”, because I've been using it for almost a year and generally improving it as I came across issues or things I didn't like. However, this is the first public announcement of it (although the repo's been publicly available for those looking); and I *have* just finished rewriting it in Ada. The new implementation is much improved over the original poorly-written C implementation.

Related fun fact, all Gemlog posts I've written in 2022 have been written in Gemroff, and you can view the Gemroff source by changing the `.gmi` extension to `.gr`. For instance, here's the source for this post:

2022-11-23.gr

[1]: Ada

[2]: Mandoc

[3]: writing Roff

[4]: trigraphs

Even if you don't care about Gemroff and won't ever use it (perfectly reasonable and understandable), here's a little bonus: I converted the Gemtext portion of the Gemini Specification to a man page!

gemtext(5)

↩ go back to index

add a comment!

view likes and comments

contact: alex [at] nytpu.com

backlinks

-- Copyright © 2022 nytpu - CC BY-SA 4.0