FLUTTER ECOSYSTEM

hanlogy/markdown_viewer

Flutter용 마크다운 뷰어 위젯입니다. 마크다운 문자열을 풍부한 텍스트 출력으로 렌더링합니다.

markdown_viewer 프로젝트 이미지
Stars
18
Forks
21
최근 푸시(UTC)
2024. 6. 2.
프로젝트 상태
활성
Hanlogy GitHub avatar
GITHUB Organization

Hanlogy ↗

Research & Experimentation

언어DartC++CMakeHTMLCSwiftKotlinShellObjective-C

사용 중인 의존성

의존성 목록 4 개
  • flutter{"sdk":"flutter"}
  • dart_markdown^3.1.7
  • flutter_test개발 의존성{"sdk":"flutter"}
  • flutter_lints개발 의존성^2.0.0

원본 README

아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.

README 펼치기 / 접기

Flutter CI

Markdown Viewer

A Markdown viewer widget for Flutter. It renders Markdown string to rich text output.

example

Check 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'];
}