Leandro Pereira's Avatar

Leandro Pereira

@leandrocp.bsky.social

Elixir, Rust, Open Source. https://leandro.io https://mdelixir.dev https://autumnus.dev

133 Followers  |  139 Following  |  46 Posts  |  Joined: 03.08.2023
Posts Following

Posts by Leandro Pereira (@leandrocp.bsky.social)

Also some fixes in the syntax highlighter and the streaming parser to recognize more patterns and make it more reliable.

Fixes by Andrew Stewart and Neil Berkman.

25.02.2026 14:52 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Codefence Renderers โ€” MDEx v0.11.6

Added a new option `:codefence_renderers` by Neil Berkman to customize codefences (those blocks afer ```) which enables a whole new world for plugins!

Check it out -> hexdocs.pm/mdex/codefen...

25.02.2026 14:52 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
Release v0.11.6 ยท leandrocp/mdex 0.11.6 - 2026-02-24 Added [Option] Add :codefence_renderers to customize code fence rendering (@neilberkman) Fixed [Syntax Highlighter] Do not wrap plaintext code in <span> tags (@stewart) [Str...

MDEx v0.11.6 is out! github.com/leandrocp/md...

Added a new `:codefence_renderers` option and also some important fixes.

#MyElixirStatus

25.02.2026 14:52 โ€” ๐Ÿ‘ 12    ๐Ÿ” 3    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
Release v0.11.1 ยท leandrocp/mdex 0.11.1 - 2026-01-19 Changed Add use MDEx macro to set up MDEx in a module (optional) [HEEx] Add to_heex/2 and to_heex!/2 macros to convert Markdown, MDEx.Document, or HTML to HEEx with Phoenix com...

MDEx v0.11.1 is out ๐Ÿ”ฅ

- Sigil docs fix by Ievgen Pyrogov
- Optional rustler dep by @halostatue.ca
- Accept :plugins opt by Sonny Scroggin
- HEEx guide hexdocs.pm/mdex/heex.html
- New to_heex/2 function
And more: github.com/leandrocp/md...

Thanks to all contributors!

#MyElixirStatus

19.01.2026 18:17 โ€” ๐Ÿ‘ 10    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
GitHub - leandrocp/mdex: Fast and Extensible Markdown for Elixir. Compliant with CommonMark spec. Formats to HTML, JSON, and XML. Built on top of comrak, ammonia, and autumnus. Fast and Extensible Markdown for Elixir. Compliant with CommonMark spec. Formats to HTML, JSON, and XML. Built on top of comrak, ammonia, and autumnus. - leandrocp/mdex

I'm introducing a Sponsors section (github.com/leandrocp/md...) so if you or your company has been using MDEx, please consider sponsoring the project to help me ship new features, that would be MUCH appreciated ๐Ÿ˜€

12.01.2026 17:07 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

2) Syntax Highlighter with Light/Dark themes

hexdocs.pm/mdex/light_d...

12.01.2026 17:07 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

) Initial support for Phoenix Components

Yep, LiveView and Markdown working together.

hexdocs.pm/mdex/phoenix...

12.01.2026 17:07 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
MDEx - Fast Markdown for Elixir Fast and Extensible Markdown for Elixir with native Phoenix LiveView HEEx integration.

MDEx v0.11 is out celebrating 500k downloads with a new website mdelixir.dev - thanks y'all for the support!

Some exciting new features in this version. See below ๐Ÿ‘€

#MyElixirStatus

12.01.2026 17:07 โ€” ๐Ÿ‘ 12    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Spread the word! Btw working on that feature to release in the next few days ๐Ÿ‘€

07.01.2026 19:04 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Hey Brian, attribution was present until v0.6.x (May/June I believe). I only removed it because I wasn't sure about using DockYard trademarks, but I'd gladly add it back again with your approval.

27.11.2025 19:04 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image Post image

Soon in MDEx โžก๏ธ Phoenix Components!

Yes, MDEx will support embedding HEEx templates inside Markdown. Components and Elixir empressions.

hex.pm/packages/mdex

#MyElixirStatus

26.11.2025 14:14 โ€” ๐Ÿ‘ 28    ๐Ÿ” 5    ๐Ÿ’ฌ 3    ๐Ÿ“Œ 2

I'm glad it's useful. Enjoy!

04.10.2025 21:43 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
crates.io: Rust Package Registry

All the MDEx.Document handling is done in Elixir including buffering and completing markdown chunks (using nimble_parsec). On the Rust side it "only" does parsing and rendering via crates.io/crates/comrak (an amazing project btw).

04.10.2025 21:39 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
mdex/examples/streaming.exs at main ยท leandrocp/mdex Fast and Extensible Markdown for Elixir. Compliant with CommonMark spec. Formats to HTML, JSON, and XML. Built on top of comrak, ammonia, and autumnus. - leandrocp/mdex

Exactly, it's not event based. MDEx doesn't care how or how often you push chunks into the Document. So you can keep a Document in a LiveView and keep pushing into it and render when needed. There's an example here github.com/leandrocp/md...

04.10.2025 21:36 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

It can afford to re-render as many times as needed because it's very efficient, although I'm expecting to gather some feedback and adjust if needed. One of the reasons this is considered experimental yet.

04.10.2025 19:33 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
Streamdown A drop-in replacement for react-markdown, designed for AI-powered streaming.

This approach is similar to streamdown.ai but using nimble_parsec. A more optimized approach would require rewriting the parser from scratch like github.com/thetarnav/st... is doing but that's not on my plans.

04.10.2025 19:31 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Fragments are buffered until a render or parser is requested (when `MDEx.to_html` or `Document.run` or others are called). At this moment the buffer tail is completed if needed (**text -> **text**) then appended to the rest of the document and re-rendered (that's where Rustler is called). 1/n

04.10.2025 19:31 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Changelog โ€” MDEx v0.9.3

And more detailed in the CHANGELOG at hexdocs.pm/mdex/changel...

04.10.2025 13:06 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

4. `MDEx.Pipe` is gone. Now all operations are centralized into `MDEx.Document`. Yes that's a **breaking** change but it's worth it.

Pipelines are as simple as adding steps into the document:

04.10.2025 13:06 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

3. The Document struct is now displayed in a tree format for better visualization with each node indexed:

04.10.2025 13:06 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Video thumbnail

Here's a short demo of Markdown streaming in MDEx ๐Ÿ‘€

Note it's still experimental and disabled by default.

04.10.2025 13:06 โ€” ๐Ÿ‘ 7    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

2. Streaming! Now it does complete and render incomplete chunks of Markdown for you:

hexdocs.pm/mdex/MDEx.Do...

04.10.2025 13:06 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

Thanks to @jskalc.bsky.social we now support converting Markdown to quilljs.com/docs/delta

04.10.2025 13:06 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

New MDEx (Markdown for Elixir) version is ๐Ÿ”ฅ

๐Ÿ‘‡

04.10.2025 13:06 โ€” ๐Ÿ‘ 33    ๐Ÿ” 8    ๐Ÿ’ฌ 4    ๐Ÿ“Œ 0

Hi Bsky hivemind, is anyone looking for seasoned #ElixirLang developer? EMEA-based, fully remote.

Either consulting or full-time.

28.08.2025 16:32 โ€” ๐Ÿ‘ 17    ๐Ÿ” 15    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 2

Hello friends, I am back on the job market and looking for Elixir opportunities..if your company is hiring or you come accross opportunities please DM me.

Retweets appreciated ๐Ÿ™

#elixirlang #elixir

04.08.2025 20:00 โ€” ๐Ÿ‘ 6    ๐Ÿ” 10    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Hey @thinkingelixir.com thanks for covering MDEx updates (again)!

Here's the updated link to code block decorators guide hexdocs.pm/mdex/code_bl... - and there's more coming soon!

05.08.2025 16:25 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

The difference between `Keyword.get(opts, :foo, :default)` and `opts[:foo] || :default` when opts[:foo] is nil. Not a big deal but easy to miss.

05.08.2025 16:07 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Phoenix LiveView 1.1 released! - Phoenix Blog LiveView 1.1 brings quality of life improvements and some big new features like Colocated Hooks and keyed comprehensions.

Phoenix #LiveView 1.1 is out now! (Actually already yesterday, but we were only able to release the blog post now) #MyElixirStatus

phoenixframework.org/blog/phoenix...

31.07.2025 12:07 โ€” ๐Ÿ‘ 60    ๐Ÿ” 15    ๐Ÿ’ฌ 4    ๐Ÿ“Œ 0

Forgot to post here so... Hello network! It's time for me to move on and I'm kicking off the search for my next role. Let me know if you're looking for someone who obsessively ships, takes on whatever work has the highest impact, and consistently gets feedback like "you're too impatient".

29.07.2025 19:42 โ€” ๐Ÿ‘ 13    ๐Ÿ” 13    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0