# markdown_widget **Repository Path**: oldBen/markdown_widget ## Basic Information - **Project Name**: markdown_widget - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2020-04-10 - **Last Updated**: 2024-10-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Language:[简体中文](https://github.com/asjqkkkk/markdown_widget/blob/master/README_ZH.md)|[English](https://github.com/asjqkkkk/markdown_widget/blob/master/README.md) # 📖markdown_widget [![support](https://img.shields.io/badge/platform-flutter%7Cdart%20vm-ff69b4.svg?style=flat-square)](https://github.com/asjqkkkk/markdown_widget) [![Flutter Web](https://github.com/asjqkkkk/markdown_widget/actions/workflows/build_web.yml/badge.svg)](https://github.com/asjqkkkk/markdown_widget/actions) [![pub package](https://img.shields.io/pub/v/markdown_widget.svg)](https://pub.dartlang.org/packages/markdown_widget) [![demo](https://img.shields.io/badge/demo-online-brightgreen)](http://oldben.gitee.io/markdown_widget) 完全由flutter创建,一个简单好用,支持mobile与flutter web的markdown插件 - 支持TOC功能 - 支持html格式的 `img` 和 `video` 标签 - 支持代码高亮 ## 🚀开始 在开始之前,你可以先体验一下在线 demo [点击体验](http://oldben.gitee.io/markdown_widget) ### 🔑简单使用 ``` import 'package:flutter/material.dart'; import 'package:markdown_widget/markdown_widget.dart'; class MarkdownPage extends StatelessWidget { final String data; MarkdownPage(this.data); @override Widget build(BuildContext context) { return Scaffold( body: Container( margin: EdgeInsets.all(10), child: buildMarkdown(), ), ); } Widget buildMarkdown() => MarkdownWidget(data: data); } ``` 如果你想使用自己的 Column 或者其他列表 Widget, 你可以使用 `MarkdownGenerator` ``` Widget buildMarkdown() => Column(children: MarkdownGenerator(data: data).widgets,); ``` ## 🌠夜间模式 `markdown_widget` 默认支持夜间模式,你只需要对 `StyleConfig` 的 `markdownTheme` 属性进行配置即可 ``` Widget buildMarkdown() => MarkdownWidget( data: data, controller: controller, styleConfig: StyleConfig( markdownTheme: MarkdownTheme.lightTheme ), ); ``` 这里你也可以自定义 `markdownTheme` ## 🏞图片和视频 如果你想要自定义 **img** 和 **video** 这两个标签的 Widget ``` Widget buildMarkdown() => MarkdownWidget( data: data, styleConfig: StyleConfig( imgBuilder: (String url,attributes) { return Image.network(url); }, videoBuilder: (String url,attributes) { return YourVideoWidget(); } ), ); ``` 图片与视频标签支持的markdown格式 ```