📃 Markdown renderer. 18 Commits
2024-04-02 20:31:09 +02:00
testdata Improved performance 2024-04-02 10:44:47 +02:00
.gitignore Initial commit 2024-03-31 21:01:47 +02:00
benchmarks_test.go Improved benchmark 2024-04-02 20:24:31 +02:00
go.mod Initial commit 2024-03-31 21:01:47 +02:00
go.sum Initial commit 2024-03-31 21:01:47 +02:00
README.md Improved performance 2024-04-02 20:14:07 +02:00
Render_test.go Implemented text formatting 2024-04-02 19:48:35 +02:00
Render.go Simplified switch statement 2024-04-02 20:31:09 +02:00

markdown

A markdown renderer that supports only a subset of the CommonMark spec in order to make the rendering more efficient and the syntax more consistent.

Features

  • Code blocks
  • Formatting (bold, italic, monospace)
  • Links
  • Lists
  • Headers
  • Paragraphs
  • Quotes
  • Separators
  • Tables

Installation

go get git.akyoto.dev/go/markdown

Usage

html := markdown.Render("# Header")

Tests

PASS: TestEmpty
PASS: TestParagraph
PASS: TestHeader
PASS: TestItalic
PASS: TestBold
PASS: TestLink
PASS: TestList
PASS: TestTables
PASS: TestCode
PASS: TestQuote
PASS: TestSeparator
PASS: TestCombined
PASS: TestSecurity
coverage: 100.0% of statements

Benchmarks

BenchmarkSmall-12        5986922               187.5 ns/op            32 B/op          1 allocs/op
BenchmarkMedium-12       1000000              1077 ns/op             512 B/op          1 allocs/op
BenchmarkLarge-12         255178              4055 ns/op            2560 B/op          2 allocs/op

License

Please see the license documentation.

© 2024 Eduard Urbach