hanlogy/markdown_viewer
Flutter用のMarkdownビューアーウィジェット。Markdown文字列をリッチテキスト出力にレンダリングします。
- Stars
- 18
- Forks
- 21
- 最終プッシュ(UTC)
- 2024/06/02
- プロジェクト状態
- 公開中
言語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'];
}