hanlogy/markdown_viewer
Flutter용 마크다운 뷰어 위젯입니다. 마크다운 문자열을 풍부한 텍스트 출력으로 렌더링합니다.
- 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'];
}