预览版:基本功能完成;
发布 v1.0.0 正式版。
主要更新:
新建分支 mathjax-version
,但不打算继续对此分支进行开发;
移除 MathJax,改用 KaTeX #2,解析和预览响应速度大幅度提高 #3;
mathjax
配置项;mathjaxURL
属性;setMathJaxConfig()
方法;loadMathJax()
方法;tex
配置项,表示是否开启支持科学公式 TeX ,基于 KaTeX;katexURL
属性;loadKaTeX
方法;setCodeEditor()
方法更名为 setCodeMirror()
;
合并 CodeMirror 使用到的多个 JS 模块文件,大幅减少 HTTP 请求,加快下载速度;
./lib/codemirror/modes.min.js
、./lib/codemirror/addons.min.js
;Gulpfile.js
新增合并 CodeMirror 模块文件的任务方法 codemirror-mode
和 codemirror-addon
;更新 README.md
等相关文档和示例;
解决 Sea.js 环境下 Raphael.js 无法运行导致不支持流程图和时序图的问题,即必须先加载 Raphael.js ,后加载 Sea.js ;
主要更新:
<textarea>
来存放 Markdown 源文档;具体更新如下:
更换 Logo,建立基础 VI;
dist/fonts/editormd-logo.*
;editormd-logo
等;改用 <textarea>
来存放 Markdown 源文档;
<script type="text/markdown"></script>
来存放 Markdown 源文档;<div id="xxxx"></div>
,如果没有添加 class="editormd"
属性会自动添加,另外如果不存在 <textarea>
标签,则也会自动添加 <textarea>
;新增支持智能识别和解析 HTML 标签,增强了 Markdown 语法的扩展性,几乎无限,例如:插入视频等等;
htmlDecode
,表示是否开启 HTML 标签识别和解析,但是为了安全性,默认不开启;新增插入链接、锚点链接、预格式文本和代码块的弹出对话框层;
createDialog()
;editormd.codeLanguages
,用于存放代码语言列表;开始支持图片上传;
开始支持自定义工具栏图标及操作处理;
toolbarIcons
类型由数组更改为函数,返回一个图标按钮列表数组;toolbarHandlers
和 toolbarIconsTexts
,分别用于自定义按钮操作处理和按钮内容文本;getToolbarHandles()
,用于可在外部使用默认的操作方法;activeIcon
,可获取当前或上次点击的工具栏图标的 jQuery 实例对象;
新增表单取值、自定义工具栏、图片上传、多个 Editor.md 并存和动态加载 Editor.md 等多个示例;
新增插入锚点按钮和操作处理;
新增预览 HTML 内容窗口的关闭按钮,之前只能按 ESC 才能退出 HTML 全窗口预览;
新增多语言( l18n )及动态加载语言包支持;
en
和繁体中文 zh-tw
语言包模块;toolbarHandler()
更为 setToolbarHandler()
;setToolbar()
方法包含 setToolbarHandler()
;createInfoDialog()
方法;showInfoDialog()
和 hideInfoDialog()
方法的内部实现等;修改多次 Bug ,并优化触摸事件,改进对 iPad 的支持;
工具栏新增清空按钮和清空方法 clear()
,解决工具栏文本会被选中出现蓝底的问题;
配置项 tocStartLevel
的默认值由 2 改为 1,表示默认从 H1 开始生成 ToC;
解决 IE8 下加载出错的问题;
isIE
和 isIE8
,用于判断 IE8;新增 Zepto.js 的支持;
outerWidth()
、 outerHeight()
、hover()
、is()
等方法;var jQuery = Zepto;
;新增 editormd.$name
属性,修改 editormd.homePage
属性的新地址;
editormd.markdownToHTML()
新增方法返回一个 jQuery 实例对象;
getMarkdown()
方法,用于获取 Markdown 源代码;tocContainer
成员属性,即 ToC 列表的父层的 jQuery 实例对象;新增只读模式;
readOnly
,默认值为 false
,即可编辑模式;新增方法 focus()
、 setCursor()
、 getCursor()
、setSelection()
、getSelection()
、 replaceSelection()
和 insertValue()
方法,并增加对应的示例;
新增配置项 saveHTMLToTextarea
,用于将解析后的 HTML 保存到 Textarea,以供提交到后台程序;
getHTML()
方法必须在 saveHTMLToTextarea == true
的情况下才能使用;getHTML()
方法的别名 getTextareaSavedHTML()
方法;getPreviewedHTML()
,用于获取预览窗口的 HTML ;修复了一些大大小小的 Bugs;
getHTML ()
和 getPreviewedHTML()
方法中的 3 处错误;getToolbarHandles()
和 setToolbarHandler()
方法;editormd.scss
中分离出 editormd.logo.scss
,并生成 editormd.logo.css
,以便单独使用;
Gulpfile.js
的相应任务;
修复 Bug #18;
showInfoDialog()
和 createInfoDialog()
方法;infoDialogPosition()
方法;
修复 Bug #20;
#
号后面都加上了一个空格;修复多处 Bug,具体如下:
修复 Bug #23,即 Headers 的 id 属性的重复及中文问题;
editormd.markedRenderer()
方法;修复 Bug #24;
setMarkdown()
、 clear()
和 loadedDisplay()
方法的内部实现;katexRender()
、 flowChartAndSequenceDiagramRender()
、 previewCodeHighlight()
方法;
修复有些情况下无法保存 Markdown 源文档到 textarea 的问题;
setCodeMirror()
、 recreateEditor()
等方法;修改了以上 Bug 及部分相关示例文件;
修复多处 Bug,具体如下:
修复 Bug #25;
loadedDisplay()
方法,将 settings.onload
移动了 CodeMirror.on("change")
事件注册后再触发;修复 Bug #26;
saveToTextareas()
方法;state.loaded
和 state.watching
两个属性;修改了以上 Bug 相关示例文件;
改进功能,具体如下:
改进 #27;
matchWordHighlight
,可选值有: true, false, "onselected"
,默认值为 true
,即开启自动匹配和标示相同单词;改进 #28;
jquery.min.js
、 font-awesome.min.css
、 github-markdown.css
移除(这是一个疏忽,它们不是动态加载的依赖模块或者不需要的,避免不必要的硬盘空间占用);修改了所有相关的示例文件;
修复无法解析 heading link 的 Bug #29;
editormd.markedRenderer()
方法的内部实现;editormd.trim()
,用于清除字符串两边的空格;marked-heading-link-test.html
;
修改了 README.md
,添加了 Shields.io
图标;
v1.2.0 主要更新:
Prefixes.css
作 CSS 前缀预处理;具体更新如下:
新建 v1.1.x 分支;
新增代码折叠、自动闭合标签和搜索替换功能;
Ctrl + F / Command + F
;Ctrl + Shift + F / Command + Option + F
;Ctrl + Q / Command + Q
;新增自定义主题支持;
setTheme()
、 setCodeMirrorOption()
和 getCodeMirrorOption()
;新增 @Link 支持;
新增 GFM Task Lists 支持;
新增 Emoji 表情支持;
:emoji-name:
、FontAwesome icons(:fa-xxx:
)、Twitter emoji (twemoji) ( :tw-xxxx:
)、Editor.md logo icons( :editormd-logo:
)形式的 Emoji;editormd.emoji
、 editormd.twemoji
、 editormd.urls
和 editormd.regex
;
新增 HTML 实体字符插入、插入表格和使用帮助对话框;
createDialog()
等方法;mask
成员属性和锁屏方法 editormd.lockScreen()
、 editormd.fn.lockScreen()
;改进插入预格式文本和代码对话框;
<textarea>
改为 CodeMirror
,输入更加方便和直观;新增自定义键盘快捷键功能;
addKeyMap()
和 removeKayMap()
;改用 Prefixes.css
作CSS前缀预处理;
改进和增强工具栏自定义功能;
toolbarCustomIcons
,用于增加自定义工具栏的功能,可以直接插入 HTML 标签,不使用默认的元素创建图标;editormd.toolbarModes
;toolbarIconHandlers
;完善和新增事件处理方法;
on()
;off()
;onresize
、 onscroll
、onpreviewscroll
、 onpreviewing
、 onpreviewed
、onwatch
和 onunwatch
;新增手动加载依赖模块方式,以便可同步使用成员方法;
autoLoadModules
,默认值为 true
;新增插件及扩展机制;
extends()
、 set()
;新增成员方法和属性:
setValue()
、getValue()
;config()
方法,用于加载后重新配置;cm
,是 codeEditor
的简写, cmElement
是 codeMirror
的别名;成员方法的改进:
showToolbar()
和 hideToolbar()
方法增加一个 callback
函数,用于直接回调操作;previewCodeHighlight()
方法;recreateEditor()
更名为 recreate()
;setMarked()
方法;
新增 HTML 标签解析过滤机制;
settings.htmlDecode = "style,script,iframe"
来实现过滤指定标签的解析;改进 Require.js 支持;
underscore
版本至 1.8.2
;editormd.requirejsInit()
和 editormd.requireModules()
方法;Require.js/AMD
专用版本文件 editormd.amd.js
;amd
;修改和新增以上改进等相关示例;
主要更新:
5.0
;0.3.3
;具体更新如下:
editormd.keyMaps
,预设一些常用操作,例如插入粗体等;registerKeyMaps()
;Shift + ESC
;disabledKeyMaps
,用于屏蔽一些快捷键操作;5.0
;
/
的问题;0.3.3
;settings.autoHeight
;settings.toolbarAutoFixed
;setToolbarAutoFixed(true|false)
;emailLink
,默认为 true
;工具栏新增三个按钮,分别是将所选文本首字母转成大写、转成小写、转成大写;
editormd.ucwords()
,别名 editormd.wordsFirstUpperCase()
;editormd.ucfirst()
,别名 editormd.firstUpperCase()
;getSelections()
和 getSelections()
;修复 Font awesome 图标 emoji 部分无法解析的 Bug,#39
atLink
,默认为 true
;修复无法输入 /
的问题 #42;
修改使用帮助说明的错误 #43;
新增配置项 pluginPath
,默认为空时,等于 settings.path + "../plugins/"
;
主要更新:
具体更新:
delay
,默认值为 300
;editormd.preview.css
时无法显示 Font Awesome 和 Editor.md logo 字体的问题;Gulpfile.js
,并且 gulp-ruby-sass
升级到最新版本 1.0.0-alpha.3
;appendMarkdown
和 appendMarkdown()
方法,用于(初始化前后)追加 Markdown 到 Textarea ;fullscreenExit()
方法的内部实现;onscroll
和 onpreviewscroll
无法访问 this
的问题;init()
方法,可以只设置一个参数;Ctrl + Shift + K
和插入方法 tex()
;anchor
改为 reference-link
;htmlEntities
改名为 html-entities
;loadedDisplay()
方法;config()
和 recreate()
方法;gotoLine()
;goto-line-dialog
;Ctrl + Alt + G
;executePlugin()
方法;help-dialog/help.md
;search()
、searchReplace()
和 searchReplaceAll()
;fa-desktop
;h
改为大写的 H
;saveToTextareas()
方法更名为 save()
;[TOCM]
,自动生成 ToC 下拉菜单;tocm
,默认为 true
,即可以使用 [TOCM]
;tocDropdown
和 tocTitle
;editormd.tocDropdownMenu()
;tocContainer
,值为 jQuery 选择器,默认为空;placeholder
的默认值;Object.watch()
而出现的问题;pageBreak
,默认值为 true
;[========]
,即括号内至少 8 个等号;pagebreak()
;Shift + Alt + P
;syncScrolling
,即是否开启同步滚动预览,默认值为 false
;editormd.katexURL
资源地址的默认值,即更新版本为 0.3.0
;tests/katex-tests.html
;examples/katex.html
;:hover
CSS3 transition 无效的问题;README.md
;autoFocus
,默认值为 true
;tabSize
、indentUnit
和 lineWrapping
;autoCloseBrackets
和 showTrailingSpace
;matchBrackets
、indentWithTabs
和 styleSelectedText
;font-family
,改进跨平台中英文字体显示;README.md
;:+1:
的问题;Content-Type=application/json
的问题;name
,用于指定 Markdown textarea 的 name="xxxx"
属性;<
和 >
的问题 #87;getHTML()
无效的问题 #95;extends()
更名为 extend()
,以兼容 IE8;README.md
和 CHANGE.md
等相关文档文件;主要更新:
具体更新:
新增:解析后的代码块自动换行;
新增:支持多行公式;
新增:支持设置为单向同步滚动,即只是编辑区单向同步滚动,配置项 syncScrolling : "single"
;
sync-scrolling.html
;新增:增加了编辑器样式主题 Dark,即工具栏和预览区各自有一个暗黑色主题;
v1.5.0
开始,配置项 theme
改为指定 Editor.md 本身的主题;editorTheme
,用于指定编辑区的主题,即 CodeMirror 的主题;previewTheme
,用于指定预览区的主题;setEditorTheme()
,别名: setCodeMirror()
;setPreviewTheme()
;setTheme()
;.editormd-fullscreen
控制;themes.html
;新增:非编辑状态下 ToC 自定义容器支持;
markdownSourceCode
,即解析后是否保留源码,默认为不保留 false
;tocContainer
,值为自定义 ToC 容器的 ID 选择器 #xxxxx
,默认为空;新增:新增加了 CSS 样式类 editormd-preview-active
,可以控制全屏HTML预览时的内容层样式;
previewing()
和 previewed()
方法;改进:修复插入 Emoji :moon:
无法显示的问题,修改为其是 :waxing_gibbous_moon:
的别名 #94;
改进:修改了 CodeMirror 代码行的左右内间距,使其不会挨着左边的行号层;
改进:修改了同步滚动的定位算法,提高精确度;
bindScrollEvent()
方法;改进:完善 HTML 标签过滤功能,即代码块、<pre>
预格式文本和行内代码里的标签及属性不会被过滤;
改进:当不显示行号时 settings.lineNumbers == false
,CodeMirror 行号层去掉右边框;
改进:根据指针在当前行的位置更合理插入标题和水平线 #104;
改进:调整了字体,优先显示 "YaHei Consolas Hybrid", Consolas
;
改进:修复在 Bootstrap 下的兼容性问题,即因为 box-sizing 写错位置导致的弹出层宽度等错位问题 #107;