hanlogy/markdown_viewer
一個用於 Flutter 的 Markdown 查看器小組件。它將 Markdown 字符串渲染為富文本輸出。
- Stars
- 18
- Forks
- 21
- 最近推送(UTC)
- 2024年6月2日
- 專案狀態
- 未封存
語言DartC++CMakeHTMLCSwiftKotlinShellObjective-C
使用的依賴
依賴清單 4 項
- flutter
{"sdk":"flutter"} - dart_markdown
^3.1.7 - flutter_test開發依賴
{"sdk":"flutter"} - flutter_lints開發依賴
^2.0.0
原始 README
以下為英文專案原文快照,最新內容請造訪 GitHub。
展開 / 收合專案 README
Markdown Viewer
A Markdown viewer widget for Flutter. It renders Markdown string to rich text output.
exampleCheck the source code of this screenshot here
Usage
MarkdownViewer(
'Hello **Markdown**!',
enableTaskList: true,
enableSuperscript: false,
enableSubscript: false,
enableFootnote: false,
enableImageSize: false,
enableKbd: false,
syntaxExtensions: const [],
elementBuilders: const [],
);
How to create a syntax extension
class ExampleSyntax extends MdInlineSyntax {
ExampleSyntax() : super(RegExp(r'#[^#]+?(?=\s+|$)'));
@override
MdInlineObject? parse(MdInlineParser parser, Match match) {
final markers = [parser.consume()];
final content = parser.consumeBy(match[0]!.length - 1);
return MdInlineElement(
'example',
markers: markers,
children: content.map((e) => MdText.fromSpan(e)).toList(),
);
}
}
How to create a element builder
class ExampleBuilder extends MarkdownElementBuilder {
ExampleBuilder()
: super(
textStyle: const TextStyle(
color: Colors.green,
decoration: TextDecoration.underline,
),
);
@override
bool isBlock(element) => false;
@override
List<String> matchTypes = <String>['example'];
}