saulecabrera

saulecabrera

Markdownif - Fast and Secure Markdown NIFs built with Rustler and pulldown-cmark

Markdownif implements bindings for pulldown-cmark using Rustler.

Why?

Most of the available libraries that I explored didn’t meet my needs in terms of speed with the exception of markdown. I also wanted to try Rustler and this use case is the perfect fit.

Features

  • Fast: check out the benchmarks
  • Safe: Markdownif defers the NIF execution to the dirty schedulers based on the input size and on measurements around the dirty scheduling overhead.
  • Correct: pulldown-cmark complies 100% with the CommonMark spec

Source: GitHub - saulecabrera/markdownif: Safe + Fast Markdown NIFs · GitHub

Most Liked

saulecabrera

saulecabrera

Do you support the cmark flags for additional functionality that go beyond the base spec?

@OvermindDL1 Do you mean support for task lists, tables, strikethrough, and footnotes? If that’s the case, those options are indeed supported, when parsing an input you can specify which of these you need, for example:

Markdownif.to_html(input, %Markdownif.Features{tables: true})
OvermindDL1

OvermindDL1

Yep that’s what I meant, awesome thanks!

valpackett

valpackett

Cool! I’ve been thinking of creating a library like this, but with a bonus feature of directly emitting an html tree instead of a string (to avoid reparsing when postprocessing the markdown with HTML processors). I guess I’ll send a PR to this project instead when I come around to doing this :slight_smile:

Where Next?

Popular in Announcing Top

wmnnd
Hi there, for my project DBLSQD, I needed a file storage solution that is a bit more flexible than Arc. Because I thought others might f...
New
sorentwo
Hello! tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability. After spen...
985 43487 311
New
bluzky
You may know https://ui.shadcn.com/, a UI component library for React. I really love it’s design style and components. I’ve built some co...
384 14136 119
New
kip
ex_cldr provides localisation and internationalisation support based upon the data from the Unicode CLDR project. Unicode released CLDR ...
407 13014 120
New
type1fool
WebAuthnLiveComponent WebAuthnComponents See this post about renaming the package. Passwordless authentication for Phoenix LiveView app...
New
hpopp
After just over two years in development, this latest version of Pigeon is what I finally consider done in regards to my original vision ...
New
zoltanszogyenyi
Hey everyone :waving_hand: Excited to join this forum - I am one of the founders and current project maintainers of a popular and open-s...
New
tfwright
After working on it for a couple of months and using it in production for most of that time, today I’ve released LiveAdmin, a LiveView ba...
New
woylie
Flop is an Elixir library that applies filtering, ordering and pagination parameters to your Ecto queries. offset-based pagination with...
New
New

Other popular topics Top

sorentwo
Hello! tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability. After spen...
985 43487 311
New
electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
johnnyicon
Hi all, I’ve just started learning Elixir and Phoenix Framework, so please pardon my n00bness at this stage. I’m trying to use Postgres...
New
Lily
In templates/appointment/index.html.eex: <%= for appointment <- @appointments do %> <tr> <td><%= appoi...
New
freewebwithme
Using vs code and installed ElixirLS: support and debugger. And I got an error popped up on start up says Failed to run ‘elixir’ comma...
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
shijith.k
I am trying to start a new phoenix project with elixir 1.9, but mix phx.new does not work. It says that ** (Mix) The task "phx.new" could...
New
AstonJ
We’ve put together this wiki for Phoenix LiveView - please feel free to add any info you feel is worth including. What is Phoenix LiveV...
New
openscript
Hello! Sorry for this astonishing simple question, but I’m really stuck. I try to set up the intellij-elixir plugin, but I don’t know ho...
New
AstonJ
Seen any cool LiveView demos, sample apps or examples? Please post them here! :003:
New

Latest on Elixir Forum

Elixir Forum

We're in Beta

About us Mission Statement