Marktop介绍

marktop是一个轻量级的文本标记语言 , 可以将包含特定标记的纯文本转换为简易的HTML文档排版结构 , 可用于对排版要求不高的博客文章或文档类的写作场景使用.

marktop的所有语法使用#号作为前缀 , 目前有30多个不同功能的标记 , 其标记覆盖有:标题 , 超链接 , 列表 , 表格 , 代码修饰 , 图片 , 视频 , emoji符号 , 文本修饰和颜色 , HTMl原生等等 , marktop的版本更新由作者 Vic 一直在维护 , 如您对marktop有意见或建议 , 可以在 Vic的博客 留言反馈 , marktop不能媲美其他文本标记语言 , 但它足够支撑日常写作需求 , 当前文档讲解即是使用Marktop编写的标记数据转换而来 .

Marktop使用

文件介绍

marktop对象

marktop对象的公共方法

参数名称 参数类型 必选 描述
id string 初始化marktop标记编辑器的div元素的id名称
panelTheme string 编辑器主题,有浅色和深色选择: light和dark,默认:dark.
hideHelpBtn boolean 是否显示帮助按钮,默认不显示
openPreviewKey boolean 是否开启 预览切换快捷键 , 连续按下将在(预览-写作-边写边看)三个模式中切换, Windows: alt键, Mac:option键, 默认无快捷键事件
codeTheme string 代码修饰器主题 ,有浅色和深色选择: light和dark,默认:dark.
imageLocation string 图片标记中图片的位置, 值有 left:靠左, 默认center:中心.
tableLocation string 表格标记中表格的位置, 值有 left:靠左, 默认center:中心.
initData string 使用标记数据初始化.
presetButtons 对象或数组 该对象可在编辑器工具栏 自定义按钮 , 设置自定义按钮的属性在下方表中描述
presetButtons属性 参数类型 描述
value string 按钮的value值
event function 按钮的click事件函数

Marktop标记语法分类

行标记 特点:出现在行头第一个字符起才可识别

内容标记 特点:出现在普通文本中或每行第一个字符起可识别

组合标记 特点: 由开始标记和结束标记组成 , 且成对出现 各独占一行, 结束标记使用 "-"结尾

Marktop解析性能

解析原理

marktop的标记数据的解析由语法对象实时监听编辑器的键盘和鼠标事件 , 依次对编辑器内发生数据改变的行进行校验和转换并实时投放到预览区域呈现 , 这也就意味着随着编辑器内数据的行数不断增大 , 从校验到呈现预览的速度会面临着延时的弊端 , 作者建议使用者在编辑器内的标记数据的行数控制在≤5000行以内体验最佳 , 尽管本编辑器不提供行数的统计显示 , 或许您有其他办法得到解决 .

解析消耗指数

指数表 :

标记数据行数 全文首次解析耗时(平均) 局部解析耗时(平均)
15000行 ≤6s ≤1s
10000行 ≤4s ≤30ms
7000行 ≤2s ≤10ms
5000行 ≤800ms ≤5ms
3000行 ≤400ms ≤3ms
1000行 ≤100ms ≤2ms

指数表描述 :

标记数据行数 距离下一个换行符或回车之前为一行 , 一行内的标记数据数量多与少和解析速度也有关系
全文首次解析耗时 使用init初始化内指定了initData参数 或者 使用setMtData重新设置标记数据 或者 将标记数据直接粘贴到编辑器内 , 以上三种方式为全文首次解析
局部解析耗时 可以理解为正常写作 , 在编辑器内持续通过输入法输入的标记数据并对其单个或一组数据的实时预览耗时
©2020 京ICP备18027176号-2