#️ Ⓜ️ Gleam library convert markdown to lustre elements
Convert markdown content into lustre elements.
This accecpt metadata into markdown, format:
---
title: Gleam programming
description: Gleam first programming lines
date: 2025-09-15
slug: gleam-programming
tags: [gleam, programming, beginner]
---
# Header 01
Content **here**!
- List
- [ ] List 1
- [ ] List 2
- [ ] List 3
🌄 Roadmap
- Unit tests
- More docs
-
GH workflow
- test & build
- changelog & issue to doc
-
auto publishmanual publish-
gleam publish -
npm publish
-
- Create id or class to each lustre element render.
-
How make metada dynamic from user ( now is hardcode )
- Parse metadata content like yaml or json
- How make stream parsing markdown contents
- Create metadata by json_schema
Run
gleam add gbr_md_lustre@1
import gbr/md
pub fn main() -> Nil {
let raw =
"---
title: Programação Deflacionária
date: 2025-09-15
slug: programming-deflation
tags: [ai, economy]
---
# Introdução
O código está ficando mais barato."
let result =
raw
|> md.new()
|> md.metadata(md.Frontmatter)
result |> should.be_ok
let assert Ok(md.Markdown(metadata:, ..)) = result
metadata |> should.be_some
let assert Some(metadata) = metadata
let result = {
use #(key, _) <- list.find(metadata)
key == "title"
}
result |> should.be_ok
let assert Ok(#(_, value)) = result
value |> should.equal("Programação Deflacionária")
let result = {
use #(key, _) <- list.find(metadata)
key == "slug"
}
result |> should.be_ok
let assert Ok(#(_, value)) = result
value |> should.equal("programming-deflation")
}
Development
gleam run # Run the project
gleam test # Run the tests