A fast, secure Markdown processor for Go with common extensions and paranoid input handling.
Blackfriday is a Markdown processor written in Go that converts Markdown text to HTML. It solves the problem of safely and efficiently processing user-generated Markdown content in Go applications, with particular attention to security when handling untrusted input.
Go developers building web applications, documentation tools, or content management systems that need to process Markdown input from users or external sources.
Developers choose Blackfriday for its combination of safety features, performance, and comprehensive Markdown extension support, all while maintaining minimal dependencies and thread safety for concurrent processing.
Blackfriday: a markdown processor for Go
Designed to handle untrusted user input without crashing, with stress tests ensuring runtime safety for malicious data.
Optimized for speed, suitable for on-demand rendering in web apps, and thread-safe for multiple goroutines running parsers concurrently.
Includes popular Markdown extensions like tables, fenced code blocks, autolinks, and Smartypants punctuation out of the box.
Relies only on standard Go libraries, making it easy to integrate into projects without managing external package dependencies.
Lacks protection against JavaScript injection; requires an external sanitizer like Bluemonday, adding complexity and potential security oversights.
v2 is about 15% slower than v1, and bug fixes are trailing behind, with issue #348 tracking forward-ports, impacting reliability.
Admits incomplete Unicode support in the TODO, potentially failing on word boundaries in some international text, as per the README.
TOML parser for Golang with reflection.
:trophy: A markdown parser written in Go. Easy to extend, standard(CommonMark) compliant, well structured.
⚙️ Convert HTML to Markdown. Even works with entire websites and can be extended through rules.
Go library for the TOML file format
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.