mudasobwa

mudasobwa

Creator of Cure

Md, a library to parse markdown and markdown-like syntaxes, has been released.

Fully-customizable syntax, blazingly fast (5× compared to earmark,) opinionated. It does not fully support Commonmark (and it’ll never do,) but it covers the needs of the average user + allows the introduction of custom markdown-like syntax with ease.

▸ Parser for Markdown Family

Showing Posts 1 to 10

derek-zhou

derek-zhou

Nice. Does it generate a AST that is compatible with either earmark or floki?

mudasobwa

mudasobwa OP

Creator of Cure

It uses xml_builder for generation, hence it differs from earmark AST (I believe floki leverages the latter.)

OTOH, the traversing/mapping the result to earmark AST should be trivial.

derek-zhou

derek-zhou

I am using Earmark to parse user input then do a sanitizing run on the resulting AST to remove unwanted artifacts. It seems like with this library I may be able to define the subset that I allow precisely and get rid of the sanitizing run.

mudasobwa

mudasobwa OP

Creator of Cure

Yes, you might explicitly allow whatever you want to be parsed as markdown, including but not limited to the markdown syntax itself. E. g. magnet allows to declare a syntax for @handles and/or #hashtags.

derek-zhou

derek-zhou

I am reading your code, it is very impressive. It is basically a framework to build ad-hoc parsers for any syntax. For example, you can have a syntax highlighter for any program languages. A server side rendering, elixir based syntax highlighter will be very sweet. I long for the day when I could remove prismjs from my js bundle. Keep it up!

mudasobwa

mudasobwa OP

Creator of Cure

Thanks, but nope. For that, one should nimble_parsec or any other parser combinator.

I am after another usage: custom simple markup parsers, easily covering needs like Slack in-place markup, user-defined markup, etc.

Using this as a language grammar parser is like parsing HTML with regular expressions :slight_smile:

derek-zhou

derek-zhou

prismjs is built on regular expressions, and it is good enough for syntax highlighting. Emacs’s syntax highlighters are also basically regular expressions.

derek-zhou

derek-zhou

The problem is that with makeup I need to write some serious code to support a new language. While in prismjs or emacs, I only need to write one file, with ~50 lines, in one hour to get a passable highlighter for a language.

knoebber

knoebber

Looks awesome! I enjoyed your blog post too :slight_smile:

Where Next? Top

Trending in Announcing Top

achempion
Hi, I would like to tell about my initiative to further maintain and develop Waffle project which is the fork of Arc library. The progre...
New
mudasobwa
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
kip
Localize is the next generation localisation library for Elixir. Think of it as ex_cldr version 3.0. The first version will be released ...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
danschultzer
I’ve moved the strategies out of PowAssent and created a multi-provider framework for Elixir. This way the strategies can be used in any ...
New
gtcode
Aloha gang, There’s a new class of AI model out from TypeSafe. Jev is their flagship model. You can learn about it here: ...
New

Other Trending Topics Top

dominicletz
Hey there, I haven’t seen a list of useful Elixir specific skills for the popular AI tools yet so I’m starting one here with my first. ...
New
raa-ziq
Hi everyone :waving_hand: I wanted to share something I’ve been building — NowBlind, a random chat app designed to help people discover ...
New
KristerV
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
OndrejValenta
(I just needed to vent somewhere and LinkedIn is full of hope, or hype, I’m not sure which exactly) AI dream has many faces, but general...
New
webofbits
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself. My main conc...
#ai
New
AstonJ
With advancements in AI gathering pace and set to increasingly accelerate, perhaps it’s worth having an annual thread on the topic - feel...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews