A portable Dart library for parsing Markdown into HTML on both client and server with CommonMark and GitHub Flavored Markdown support.
Markdown is a Dart library that converts Markdown text to HTML, enabling developers to parse and render Markdown content in both client-side and server-side Dart applications. It solves the need for a consistent, portable Markdown processing tool within the Dart ecosystem, supporting various Markdown flavors and extensions.
Dart developers who need to process Markdown in their applications, whether for web content rendering, documentation generation, or text processing in Flutter, server-side Dart, or command-line tools.
Developers choose this library because it is the official Dart markdown solution, offering portability across platforms, compliance with CommonMark and GitHub Flavored Markdown standards, and extensibility through custom syntaxes, all within a single, well-maintained package.
A Dart markdown library
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Works identically in client and server Dart environments, as the README states it 'can parse Markdown into HTML on both the client and server,' ensuring consistent behavior across platforms.
Includes pre-defined sets for CommonMark, GitHub Flavored, and GitHub Web specifications, plus custom syntax extensions, allowing flexible adaptation to different Markdown flavors.
Automatically generates IDs for headers for intra-document linking, as seen in the gitHubWeb extension set with HeaderWithIdSyntax and SetextHeaderWithIdSyntax.
Provides tools in the `tool` directory for tracking and updating compliance with the CommonMark specification, facilitating adherence to modern standards.
The README explicitly warns: 'This package offers no features in the way of HTML sanitization,' requiring developers to implement additional security measures for safe HTML output.
Updating CommonMark compliance involves complex, manual steps like running scripts and updating files, as detailed under 'Updating the CommonMark test file for a spec update,' which can be error-prone.
As a Dart-specific library, it's unsuitable for projects outside Dart or Flutter, limiting its use in multi-language environments or when integrating with non-Dart tools.