玛氪宕·梦魔(Markdown Memo),使用Markdown的云端备忘录,百度IFE的RIA启航班的不合格的作业,才……才没有什么阴谋呢! 源gitee链接https://gitee.com/arathi/MarkdownMemo?_from=gitee_search
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

19 KiB

##更新日志

###v1.0.x

#####v1.0.0 beta

预览版:基本功能完成;

#####v1.0.0 releases

发布v1.0.0正式版。

主要更新:

  • 新建分支 mathjax-version,但不打算继续对此分支进行开发;

  • 移除MathJax,改用KaTeX#2,解析和预览响应速度大幅度提高#3

    • 移除 mathjax 配置项;
    • 移除 mathjaxURL 属性;
    • 移除 setMathJaxConfig() 方法;
    • 移除 loadMathJax() 方法;
    • 移除MathJax的所有示例;
    • 新增 tex 配置项,表示是否开启支持科学公式TeX,基于KaTeX;
    • 新增 katexURL 属性;
    • 新增 loadKaTeX 方法;
    • 新增KaTeX的示例;
  • setCodeEditor()方法更名为setCodeMirror()

  • 合并CodeMirror使用到的多个JS模块文件,大幅减少HTTP请求,加快下载速度;

    • 新增合并后的两个模块文件:./lib/codemirror/modes.min.js./lib/codemirror/addons.min.js
    • Gulpfile.js 新增合并CodeMirror模块文件的任务方法codemirror-modecodemirror-addon
    • 另外在使用Require.js时,因为CodeMirror的严格模块依赖的限制,不能使用上述合并的模块文件,仍然采用动态加载多个模块文件;
  • 更新 README.md 等相关文档和示例;

  • 解决Sea.js环境下Raphael.js无法运行导致不支持流程图和时序图的问题,即必须先加载Raphael.js,后加载Sea.js;

###v1.1.x

#####v1.1.0

主要更新:

  • 设计并更换了Logo;
  • 新增添加图片、链接、锚点链接、代码块、预格式文本等操作弹出对话框层及示例;
  • 新增支持图片(跨域)上传;
  • 改用<textarea>来存放Markdown源文档;
  • 新增支持自定义工具栏;
  • 新增支持多语言;
  • 新增支持Zepto.js;
  • 新增支持多个Editor.md并存和动态加载Editor.md及示例;
  • 新增支持智能识别和解析HTML标签及示例;
  • 新增多个外部操作方法接口及示例;
  • 修复了一些大大小小的Bug;

具体更新如下:

  • 更换Logo,建立基础VI;

    • 创建了全系列WebFont字体dist/fonts/editormd-logo.*
    • 新增样式类editormd-logo等;
  • 改用<textarea>来存放Markdown源文档;

    • 原先使用<script type="text/markdown"></script>来存放Markdown源文档;
    • 创建Editor.md只需要写一个<div id="xxxx"></div>,如果没有添加class="editormd"属性会自动添加,另外如果不存在<textarea>标签,则也会自动添加<textarea>
  • 新增支持智能识别和解析HTML标签,增强了Markdown语法的扩展性,几乎无限,例如:插入视频等等;

    • 新增配置项htmlDecode,表示是否开启HTML标签识别和解析,但是为了安全性,默认不开启;
    • 新增识别和解析HTML标签的示例;
  • 新增插入链接、锚点链接、预格式文本和代码块的弹出对话框层;

    • 弹出层改为使用固定定位;
    • 新增动态创建对话框的方法 createDialog()
    • 新增静态属性editormd.codeLanguages,用于存放代码语言列表;
  • 开始支持图片上传;

    • 新增添加图片(上传)弹出对话框层;
    • 支持基于iframe的跨域上传,并添加相应的示例(PHP版);
  • 开始支持自定义工具栏图标及操作处理;

    • 配置项toolbarIcons类型由数组更改为函数,返回一个图标按钮列表数组;
    • 新增配置项toolbarHandlerstoolbarIconsTexts,分别用于自定义按钮操作处理和按钮内容文本;
    • 新增方法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下加载出错的问题;

    • 新增两个静态成员属性isIEisIE8,用于判断IE8;
    • 由于IE8不支持FlowChart和SequenceDiagram,默认在IE8下不加载这两个组件,无论是否开启;
  • 新增Zepto.js的支持;

    • 为了兼容Zepto,某些元素在操作处理上不再使用outerWidth()outerHeight()hover()is()等方法;
    • 为了避免修改flowChart.js和sequence-diagram.js的源码,所以想支持flowChart或sequenceDiagram得加上这一句: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;

#####v1.1.1

  • 接受一个pull请求,修复了getHTML ()getPreviewedHTML()方法中的3处错误;

#####v1.1.2

#####v1.1.3

#####v1.1.4

  • 修复Bug#17
    • 修改了getToolbarHandles()setToolbarHandler()方法;
  • editormd.scss中分离出editormd.logo.scss,并生成editormd.logo.css,以便单独使用;
    • 同时修改了Gulpfile.js的相应任务;

#####v1.1.5

  • 修复Bug#18

    • 修改了showInfoDialog()createInfoDialog()方法;
    • 新增infoDialogPosition()方法;
  • 修复Bug#20

    • 修改了引用的处理函数;
    • 插入的headers的#号后面都加上了一个空格;

#####v1.1.6

修复多处Bug,具体如下:

  • 修复Bug#23,即Headers的id属性的重复及中文问题;

    • 修改了editormd.markedRenderer()方法;
  • 修复Bug#24

    • 修改了setMarkdown()clear()loadedDisplay()方法的内部实现;
    • 新增了katexRender()flowChartAndSequenceDiagramRender()previewCodeHighlight()方法;
  • 修复有些情况下无法保存Markdown源文档到textarea的问题;

    • 修改了setCodeMirror()recreateEditor()等方法;
  • 修改了以上Bug及部分相关示例文件;

#####v1.1.7

修复多处Bug,具体如下:

  • 修复Bug#25

    • 修改了loadedDisplay()方法,将settings.onload移动了CodeMirror.on("change")事件注册后再触发;
  • 修复Bug#26

    • 修改了saveToTextareas()方法;
    • 新增state.loadedstate.watching两个属性;
  • 修改了以上Bug相关示例文件;

#####v1.1.8

改进功能,具体如下:

  • 改进#27

    • 新增配置项matchWordHighlight,可选值有:true, false, "onselected",默认值为true,即开启自动匹配和标示相同单词;
  • 改进#28

    • jquery.min.jsfont-awesome.min.cssgithub-markdown.css移除(这是一个疏忽,它们不是动态加载的依赖模块或者不需要的,避免不必要的硬盘空间占用);
  • 修改了所有相关的示例文件;

#####v1.1.9

  • 修复无法解析heading link的Bug#29

    • 修改了editormd.markedRenderer()方法的内部实现;
    • 新增了editormd.trim(),用于清除字符串两边的空格;
    • 修改了所有相关的示例文件和测试用例marked-heading-link-test.html
  • 修改了README.md,添加了Shields.io图标;

###v1.2

#####v1.2.0

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.emojieditormd.twemojieditormd.urlseditormd.regex
  • 新增HTML实体字符插入、插入表格和使用帮助对话框;

    • 修改了createDialog()等方法;
    • 新增mask成员属性和锁屏方法editormd.lockScreen()editormd.fn.lockScreen()
  • 改进插入预格式文本和代码对话框;

    • <textarea>改为CodeMirror,输入更加方便和直观;
  • 新增自定义键盘快捷键功能;

    • 新增2个方法:addKeyMap()removeKayMap()
  • 改用Prefixes.css作CSS前缀预处理;

  • 改进和增强工具栏自定义功能;

    • 新增配置项toolbarCustomIcons,用于增加自定义工具栏的功能,可以直接插入HTML标签,不使用默认的元素创建图标;
    • 新增工具栏列表预设值属性editormd.toolbarModes
    • 移除成员属性toolbarIconHandlers
  • 完善和新增事件处理方法;

    • 新增事件回调注册方法on()
    • 新增事件回调移除方法off()
    • 新增事件回调处理配置项:onresizeonscrollonpreviewscrollonpreviewingonpreviewedonwatchonunwatch
  • 新增手动加载依赖模块方式,以便可同步使用成员方法;

    • 新增属性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支持;

    • 修复Require.js下CodeMirror编辑器的代码无法高亮的问题;
    • 更新underscore版本至1.8.2
    • 移除editormd.requirejsInit()editormd.requireModules()方法;
    • 新增Require.js/AMD专用版本文件editormd.amd.js
    • 新建Gulp任务amd
  • 修改和新增以上改进等相关示例;

v1.3

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

  • 改进@link功能#40

    • 新增配置项atLink,默认为true;
  • 修复无法输入/的问题 #42

  • 修改使用帮助说明的错误 #43

  • 新增配置项pluginPath,默认为空时,等于settings.path + "../plugins/"

v1.4

v1.4.0

主要更新:

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

具体更新:

  • 新增延迟解析预览的机制,解决输入太多太快出现的 “延迟卡顿” 问题;
    • 新增配置项delay,默认值为 300
    • 修复当输入速度太快时,解析Flowchart会抛出错误的问题;
  • 修改iPad等移动终端的浏览器无法上传图片的问题#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写法的不规范,精简了代码;
  • 新增配置项appendMarkdownappendMarkdown()方法,用于(初始化前后)追加Markdown到Textarea;
  • 改进部分预设快捷键功能,包括F9(watch)、F10(preview)、F11(fullscreen)等;
  • 修复自动高度模式下出现的几个问题;
    • 全屏退出时高度不正确的问题:修改了fullscreenExit()方法的内部实现;
    • 当解析预览后的HTML内容高度高于Markdown源码编辑器高度时,无法正确预览的问题#49
  • 修改onscrollonpreviewscroll无法访问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]
    • 新增配置项tocDropdowntocTitle
    • 新增方法editormd.tocDropdownMenu()
    • 新增配置项tocContainer,值为jQuery选择器,默认为空;
  • 修改了配置项placeholder的默认值;
  • 改进对IE8的兼容支持;
  • 修复Firefox下因为Object.watch()而出现的问题;
  • 新增支持插入和解析(打印)分页符;
    • 新增配置项pageBreak,默认值为true
    • 新增语法[========],即括号内至少8个等号;
    • 新增插入分页符的工具栏图标和方法pagebreak()
    • 新增插入分页符的快捷键Shift + Alt + P
  • 修复一些Bug,包括#51等;
  • 新增和修改以上更新的相关示例;