markdown规范教程
参考资料Markdown 官方教程https://ld246.com/article/1579414663700)
标题标题为在段落开头添加#标记,在跟一个空格后添加标题内容,映射成html后,会转为h标签包裹的元素,最多支持到6级标题。
123456= markdown =# 一级标题## 二级标题= html =<h1>一级标题</h1><h2>二级标题</h2>
段落段落在html中是被<p></p>标签包裹的内容,在markdown中,使用一个空行分隔开两段文本会生成这种段落结构(也就是需要敲两次回车)。
1234567= markdown =这是第一个自然段这是第二个自然段= html =<p>这是第一个自然段</p><p>这是第二个自然段</p>
换行对应html中的<br />标签,标准的换行语法是在需要换行的地方添加两个空格然后再加一个回车,不清楚为什么不能直接回车,typora官方的建议是,尽量少用换行结构或者不用,如果需要用的话,建 ...
md编辑器相关技术记录
参考资料从零开始写一个富文本编辑器(一) - 掘金 (juejin.cn)
十分钟实现自己的Typora - 掘金 (juejin.cn)
Selection - Web API | MDN (mozilla.org)
Vditor 实现 Markdown 所见即所得 - 链滴 (ld246.com)
关于所见即所得 Markdown 编辑器的讨论 - 链滴 (ld246.com)
剪贴板操作 Clipboard API 教程 - 阮一峰的网络日志 (ruanyifeng.com)
SelectionSelection中存储用户选择的文本范围或者插入符号的位置,获取方式:window.getSelection()
在不可编辑元素中,插入点位置和选区范围必须通过鼠标的点击或者拖拽产生,在可编辑元素中,插入点位置和选取范围也可以通过键盘方向键变化。
可通过window.getSelection().toString()获取被选中的文字
Range可通过selection.getRangeAt获取
Range.commonAncestorContainer返回完整包含所选内容的最深一层的节 ...