# 更新日志 ## 目录 [TOC] ## v1.x ### v1.5.x #### v1.5.0 **主要更新:** - 新增:编辑器黑色主题 Dark,改进自定义主题功能(即工具栏、编辑区、预览区可分别设置主题样式); - 新增:多行公式支持; - 新增:支持非编辑状态下的 ToC 自定义容器; - 新增:支持设置为单向同步滚动; - 改进:编辑器样式美化,更换了滚动条样式; - 改进:提高同步滚动定位的精确度; - 改进:修复和改进 HTML 标签及属性过滤功能; - 改进:修复在 Bootstrap 下的兼容性问题; - 修复多处 Bug; **具体更新:** - 新增:解析后的代码块自动换行; - 新增:支持多行公式; - 新增:新增语法:\`\`\`math | latex | katex; - 改进:美化 KaTeX 公式,即加大字号等; - 新增:支持设置为单向同步滚动,即只是编辑区单向同步滚动,配置项 `syncScrolling : "single"`; - 新增:配置同步滚动示例文件 `sync-scrolling.html`; - 新增:增加了编辑器样式主题 Dark,即工具栏和预览区各自有一个暗黑色主题; - 变更:自 `v1.5.0` 开始,配置项 `theme` 改为指定 Editor.md 本身的主题; - 新增配置项 `editorTheme` ,用于指定编辑区的主题,即 CodeMirror 的主题; - 新增配置项 `previewTheme` ,用于指定预览区的主题; - 新增方法 `setEditorTheme()`,别名: `setCodeMirror()`; - 新增方法 `setPreviewTheme()`; - 修改了方法 `setTheme()` ; - 更换了滚动条样式,Only Webkit; - 改进全屏状态下的样式显示,去掉 JS 操作的部分,改为通过 CSS 样式类 `.editormd-fullscreen` 控制; - 修改和增加相关的方法、SCSS 文件及示例文件 `themes.html`; - 新增:非编辑状态下 ToC 自定义容器支持; - 新增配置项 `markdownSourceCode`,即解析后是否保留源码,默认为不保留 `false`; - 新增配置项 `tocContainer`,值为自定义 ToC 容器的 ID 选择器 `#xxxxx`,默认为空; - 新增和修改了相关示例文件; - 新增:新增加了 CSS 样式类 `editormd-preview-active`,可以控制全屏HTML预览时的内容层样式; - 修改了 `previewing()` 和 `previewed()` 方法; - 相关 issues [#103](https://github.com/pandao/editor.md/issues/103); - 另外也调整了关闭按钮的位置; - 改进:修复插入 Emoji `:moon:` 无法显示的问题,修改为其是 `:waxing_gibbous_moon:` 的别名 [#94](https://github.com/pandao/editor.md/pull/94); - 改进:修改了 CodeMirror 代码行的左右内间距,使其不会挨着左边的行号层; - 相关 issues [#97](https://github.com/pandao/editor.md/issues/97); - 改进:修改了同步滚动的定位算法,提高精确度; - 修正问题 [#99](https://github.com/pandao/editor.md/issues/99); - 修改了 `bindScrollEvent()` 方法; - 改进:完善 HTML 标签过滤功能,即代码块、`
` 预格式文本和行内代码里的标签及属性不会被过滤;
    - 修复 Bug [#105](https://github.com/pandao/editor.md/issues/105);
- 改进:当不显示行号时 `settings.lineNumbers == false`,CodeMirror 行号层去掉右边框; 
- 改进:根据指针在当前行的位置更合理插入标题和水平线 [#104](https://github.com/pandao/editor.md/pull/104);
- 改进:调整了字体,优先显示 `"YaHei Consolas Hybrid", Consolas`;
- 改进:修复在 Bootstrap 下的兼容性问题,即因为 box-sizing 写错位置导致的弹出层宽度等错位问题 [#107](https://github.com/pandao/editor.md/issues/107);

### v1.4.x

#### v1.4.5

- 规范项目的中英文混排;
- 新增配置项 `name`,用于指定 Markdown textarea 的 `name="xxxx"` 属性;
- 修复 Bug,即无法正确解析公式的 `<` 和 `>` 的问题 [#87](https://github.com/pandao/editor.md/issues/87);
- 修复 Bug,即 `getHTML()` 无效的问题 [#95](https://github.com/pandao/editor.md/issues/95);
- 修复 Bug,即火狐上传图片后无法返回值的问题 [#96](https://github.com/pandao/editor.md/issues/96);
    - 修改了图片上传插件;
    - 修改 PHP 上传类及示例;
- 方法更名:`extends()` 更名为 `extend()`,以兼容 IE8;
- 修复 IE8 下 Emoji 正则表达式字符集越界的问题;
- 更新了 `README.md` 和 `CHANGE.md` 等相关文档文件;

#### v1.4.4

- 修复 Bug [#81](https://github.com/pandao/editor.md/issues/81),即不支持 `:+1:` 的问题;
- 修复 Bug [#85](https://github.com/pandao/editor.md/issues/85),即图片上传返回结果不支持 `Content-Type=application/json` 的问题;
- 修复图片上传无法显示 loading 的问题;

#### v1.4.3

- 改进:可配置是否自动聚焦编辑器 [#74](https://github.com/pandao/editor.md/issues/74);
	- 新增配置项 `autoFocus`,默认值为 `true`; 
- 修复 Bug [#77](https://github.com/pandao/editor.md/issues/77);
- 改进:帮助对话框里的链接改为新窗口打开,避免直接跳转到链接,导致编辑内容丢失的问题 [#79](https://github.com/pandao/editor.md/issues/79);
- 改进和完善编辑器配置项;
	- 新增配置项 `tabSize`、`indentUnit` 和 `lineWrapping`;
	- 新增配置项 `autoCloseBrackets` 和 `showTrailingSpace` ;
	- 新增配置项 `matchBrackets`、`indentWithTabs` 和 `styleSelectedText`;
- 改进:修改 CSS `font-family`,改进跨平台中英文字体显示;
- 修改了 `README.md`;

#### v1.4.2

- 改进和增强自定义工具栏功能,支持图标按钮右对齐 [#69](https://github.com/pandao/editor.md/issues/69);
- 改进和增强 HTML 标签的解析过滤功能,支持过滤指定的属性等 [#70](https://github.com/pandao/editor.md/issues/70);
- 删除分支 `mathjax-version` 和 `v1.1.9`;

#### v1.4.1

- 新增配置项 `syncScrolling`,即是否开启同步滚动预览,默认值为 `false` ; 
- 修复 Bug [#64](https://github.com/pandao/editor.md/issues/64);
    - 更新 `editormd.katexURL` 资源地址的默认值,即更新版本为 `0.3.0` ; 
    - 新增测试用例`tests/katex-tests.html`;
    - 修改示例文件`examples/katex.html`; 
- 修复 Bug [#66](https://github.com/pandao/editor.md/issues/66);
- 修复编辑器工具栏按钮 `:hover` CSS3 transition 无效的问题; 
- 修改了 `README.md`;

#### v1.4.0

**主要更新:**

- 新增延迟解析机制,预览更即时;
- 新增跳转到指定行的功能和对话框;
- 新增 ToC 下拉菜单、自定义 ToC 容器的功能;
- 新增跳转到行、搜索的工具栏按钮;
- 新增支持插入和解析(打印)分页符;
- 改进快捷键功能和自动高度模式等;
- 改进:将锚点链接改名为引用链接;
- 改进编辑器重建和重配置功能;
- 修复多个 Bug;

**具体更新:**

- 新增延迟解析预览的机制,解决输入太多太快出现的 “延迟卡顿” 问题;
    - 新增配置项 `delay` ,默认值为 `300`;
    - 修复当输入速度太快时,解析Flowchart会抛出错误的问题;
- 修改 iPad 等移动终端的浏览器无法上传图片的问题 [#48](https://github.com/pandao/editor.md/issues/48);
- 修复单独引用 `editormd.preview.css` 时无法显示 Font Awesome 和 Editor.md logo 字体的问题;
- 更新和修改 Gulp 构建;
    - 修改了 `Gulpfile.js` ,并且 `gulp-ruby-sass` 升级到最新版本 `1.0.0-alpha.3` ; 
    - 编辑 SCSS 时,不再生成 CSS 的 Source map 文件;
- 执行 jshint 和更正一些 JS 写法的不规范,精简了代码;
- 新增配置项 `appendMarkdown` 和 `appendMarkdown()` 方法,用于(初始化前后)追加 Markdown 到 Textarea ;
- 改进部分预设快捷键功能,包括 F9 (watch)、F10 (preview)、F11 (fullscreen)等;
- 修复自动高度模式下出现的几个问题;
    - 全屏退出时高度不正确的问题:修改了 `fullscreenExit()` 方法的内部实现;
    - 当解析预览后的 HTML 内容高度高于 Markdown 源码编辑器高度时,无法正确预览的问题 [#49](https://github.com/pandao/editor.md/issues/49);
- 修改 `onscroll` 和 `onpreviewscroll` 无法访问 `this` 的问题;
- 修改 `init()` 方法,可以只设置一个参数;
- 新增插入 TeX (KaTeX) 公式的快捷键 `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()` ;
    - 原全屏预览 HTML 按钮的图标改为 `fa-desktop`;
    - 改为默认开启搜索替换功能;
- 更换了关于 Editor.md 的标语( slogan );
- 标题按钮 `h` 改为大写的 `H`;
- `saveToTextareas()` 方法更名为 `save()`;
- 新增 ToC 下拉菜单、自定义 ToC 容器的功能;
    - 新增 Markdown 扩展语法 `[TOCM]` ,自动生成 ToC 下拉菜单;
    - 新增配置项 `tocm` ,默认为 `true`,即可以使用 `[TOCM]` ;
    - 新增配置项 `tocDropdown` 和 `tocTitle` ;
    - 新增方法 `editormd.tocDropdownMenu()` ;
    - 新增配置项 `tocContainer` ,值为 jQuery 选择器,默认为空;
- 修改了配置项 `placeholder` 的默认值;
- 改进对 IE8 的兼容支持;
- 修复 Firefox 下因为 `Object.watch()` 而出现的问题;
- 新增支持插入和解析(打印)分页符;
    - 新增配置项 `pageBreak` ,默认值为 `true`;
    - 新增语法 `[========]` ,即括号内至少 8 个等号;
    - 新增插入分页符的工具栏图标和方法 `pagebreak()` ;
    - 新增插入分页符的快捷键 `Shift + Alt + P`;
- 修复一些 Bug,包括 [#51](https://github.com/pandao/editor.md/issues/51) 等;
- 新增和修改以上更新的相关示例;

### v1.3.x

#### v1.3.0

**主要更新:**

- 预设键盘快捷键处理(粗体等),插入 Markdown 更加方便;
- 更新 CodeMirror 版本为 `5.0` ;
- 更新 Marked 版本为 `0.3.3`;
- 新增自动高度和工具栏固定定位功能;
- 改进表格插入对话框;
- 工具栏新增三个按钮,分别是将所选文本首字母转成大写、转成小写、转成大写;
- 修改使用帮助文档;
- 修复多个 Bug;

**具体更新如下:**

- 新增常用键盘快捷键预设处理;
    - 新增属性 `editormd.keyMaps` ,预设一些常用操作,例如插入粗体等;
    - 新增成员方法 `registerKeyMaps()` ;
    - 退出HTML全屏预览快捷键更改为 `Shift + ESC`;
    - 新增配置项 `disabledKeyMaps` ,用于屏蔽一些快捷键操作;
- 更新 CodeMirror 版本为 `5.0`;
    - 修改无法输入 `/` 的问题;
- 更新 Marked 版本为 `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](https://github.com/pandao/editor.md/issues/39)
- 改进 @link 功能 [#40](https://github.com/pandao/editor.md/issues/40);
    - 新增配置项 `atLink` ,默认为 `true` ; 
- 修复无法输入 `/` 的问题 [#42](https://github.com/pandao/editor.md/issues/42);
- 修改使用帮助说明的错误 [#43](https://github.com/pandao/editor.md/issues/43);
- 新增配置项 `pluginPath`,默认为空时,等于 `settings.path + "../plugins/"` ;

### v1.2.x

#### v1.2.0

**主要更新:**

- 新增代码折叠、搜索替换、自定义样式主题和自定义快捷键等功能;
- 新增 Emoji 表情、@Link 、GFM Task Lists 支持;
- 新增表格插入、Emoji 表情插入、HTML 实体字符插入、使用帮助等对话框;
- 新增插件扩展机制;
- 新增手动加载依赖模块方式;
- 改用 `Prefixes.css` 作 CSS 前缀预处理;
- 改进和增强工具栏自定义功能,完善事件监听和处理方法;
- 部分功能改进(更加方便的预格式文本/代码插入、自动闭合标签等)、新增多个方法、改进 Require.js 支持和修复多个 Bug 等等;

**具体更新如下:**

- 新建 v1.1.x 分支;
    - v1.2 文件结构变动较大;

- 新增代码折叠、自动闭合标签和搜索替换功能;
    - 搜索快捷键 `Ctrl + F / Command + F` ;
    - 替换快捷键 `Ctrl + Shift + F / Command + Option + F` ;
    - 折叠快捷键 `Ctrl + Q / Command + Q` ;

- 新增自定义主题支持;
    - 新增 3 个成员方法 `setTheme()` 、 `setCodeMirrorOption()` 和 `getCodeMirrorOption()` ;

- 新增 @Link 支持;

- 新增 GFM Task Lists 支持;

- 新增 Emoji 表情支持;
    - 支持 Github 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()` ;

- 改进插入预格式文本和代码对话框;
    - 将 `