FLUTTER ECOSYSTEM

playmoweb/markdown-editable-textinput

MarkdownEditableTextInput 是一个 TextField 小部件,可让您轻松地将 TextField 中的内容转换为 Markdown。

markdown-可编辑文本输入 项目封面
Stars
75
Forks
54
最近推送(UTC)
2024年5月25日
项目状态
未归档
Playmoweb GitHub avatar
GITHUB Organization

Playmoweb ↗

mobile app design & development company

Angers, France官方网站 ↗
语言DartHTMLKotlinSwiftShellObjective-C

技术话题

此仓库发布的插件

使用的依赖

依赖清单 4 项
  • flutter{"sdk":"flutter"}
  • effective_dart^1.3.2
  • expandable^5.0.1
  • flutter_test开发依赖{"sdk":"flutter"}

原始 README

以下为英文项目原文快照,最新内容请访问 GitHub。

展开 / 收起项目 README

Build Status pub package codecov

markdown_editable_textinput

MarkdownEditableTextInput is a TextField Widget that allow you to convert easily what's in the TextField to Markdown.

Features

  • [x] Convert to Bold, Italic, Strikethrough
  • [x] Convert to Code, Quote, Links
  • [x] Convert to Heading (H1, H2, H3, H4, H5, H6) and Links
  • [x] Support text direction
  • [x] Dialog mode to enter link and picture
  • [x] Possibility to add custom buttons to the action bar

Demo

https://raw.githubusercontent.com/playmoweb/markdown-editable-textinput/HEAD/pictures/test_edition.gif

Link by Dialog demo

https://raw.githubusercontent.com/playmoweb/markdown-editable-textinput/HEAD/pictures/link_demo.gif

Usage

The color of the MarkdownTextInput is defined by the color set in your Theme :

  • primaryColor: Cursor's color
  • colorScheme.secondary: MarkdownTextInput's borders
  • cardColor: Background color of MarkdownTextInput
Attributes
Attributes Example Value Description
Function onTextChanged Callback used to retrieve the text in parent's Widget
String initialValue "Lorem Ipsum" Display an initial value in MarkdownTextInput's field
Function validators Add validators to the MarkdownTextInput
String label "Description" Display a label in MarkdownTextInput
TextDirection textDirection TextDirection.rtl Change text direction
int maxLines 3 The maximum of lines that can be display in the input
List actions [MarkdownType.bold, MarkdownType.italic] Actions the editor will handle
TextEditingController controller TextEditingController() Pass your own controller. Can be used to clear the input for example
TextStyle textStyle Theme.of(context).textTheme.bodyText2 Overrides input text style
bool insertLinksByDialog; true Choose to use dialog or not to insert link
bool insertImageByDialog; true Choose to use dialog or not to insert an image
bool insertImageByDialog; true Choose to use dialog or not to insert an image
bool customCancelDialogText; String? Text used by dialog for close dialog action
bool customSubmitDialogText; String? Text used by dialog for validate dialog action
Example

You can see an example of how to use this package here