Git@OSC 推荐 | 基于 Mdjs 的 Markdown 编辑器_html/css_WEB-ITnose
Mdjs.editor
一款基于 Mdjs 写的在线Markdown编辑器
2016年01月11日
编辑器版本 0.1 Dev Mdjs 版本: ( 0.4 Dev )
演示页面: http://hangxingliu.github.io/mdjs.editor
欢迎大家参考学习,也望大家能够对本解析器中的不足或错误进行指正批评.
开发者: 刘越(HangxingLiu) @航行刘
[TOC]
开源声明
Mdjs遵循Apache Licence 2.0
允许使用在商业应用中,允许通过修改来满足实际需求(但需要在被修改的文件中说明).
页面截图
代码文件结构
- src 编辑器源代码( 建议用于研究学习 )
- dist 压缩优化过的编辑器源代码
src下文件结构
- lib 编辑器所以来的脚本库
- css 编辑器所依赖的样式表
-
img 编辑器内所需要的图片
-
三个页面
- index.html 编辑器主页面
- settings.html 编辑器设置子页面
- settings.css
- settings.js
- help.html 编辑器帮助与关于子页面
-
Toast消息显示组件(类似Android的显示一会儿的Toast组件)
- toast.css
- toast.js
-
Dialog对话框组件
- dialog.css
- dialog.js
-
本地文件读写库(用于编辑器读写用户本地的Markdown文件)
- localio.js
-
LocalStorage内容配置读写脚本
- h5storage.js
-
将Markdown生成的HTML转换为完整的HTML的导出脚本
- export.js
-
编辑器输入框的历史记录功能脚本(撤销,重做)
- history.jq.js
-
编辑器相关组件
- editor.css
- editor.js
-
Markdown解析成的HTML的样式表
- mdcss.css
dist下文件结构变动
- lib下面与编辑器页面相关的脚本(除了 jquery.min.js 外)均合并到 editor.all.js
- lib下的 h5storage.js 在合并到了 editor.all.js 内仍保留一份以便于 settings.html 页面引用
- css下的编辑器相关的样式表均合并到 editor.all.css
扩展开发可能涉及到的变量和函数
- window.nowFile 目前正在编辑的Markdown内容的HTML5原生File对象
- window.shortcutMap 可以通过 shortcutMap[keyCode]=CallbackFunction 给编辑器绑上**Ctrl+_x_**类型的快捷键
- onMenu_ new / open / save / export / help / settings 分别对应了菜单栏的六个按钮的响应事件
- preview() 这个方法可以马上预览编辑器输入框内的Markdown内容,并且将内容保存到LocalStorage如果没有禁用的话
- fileStatusChange(fileOrFileName) 这个方法用于通知编辑器,当前正在编辑的Markdown文件有变化了,编辑器会同步文件名和 nowFile
- showIframeDlg(title,url) 显示一个大对话框,内置网页为**url**,标题为**title**
- LIOEvent.onDone = onReadMdDone ; LIOEvent.onError = onReadMdError ; LIOEvent.onAbort = onReadMdAbort ;这三个接口和实现的方法分别为当加载本地Markdown文件成功,失败,被中断.
- onDone(markdownContent)
- onError(errInfo)
- onAbort()
- 一些编辑器元素的JQuery对象
- filedlg : 用于选择本地文件的 input[type=file]
- editorView : 包裹编辑器输入框和预览区的 div
- editorView.undo() : 撤销
- editorView.redo() : 重做
- inputView : 编辑器输入框 textarea
- outputView : 编辑器预览区域 div
- 显示Toast消息:
- Toast.text(text,[showTime]) 普通消息
- Toast.warn(warnInfo,[showTime]) 警告消息
- Toast.err(errInfo,[showTime]) 错误消息
- Dialog对话框,HTML代码如下**示例代码_Dialog**
- 读写存在LocalStorage内的内容标题和配置可使用 H5S 对象
- H5S.content
- H5S.title
- H5S.settings
- H5S.getValue(settingKey)
示例代码:
示例代码_Dialog
<div class="dialog_bg" style="/*display: none;*/"> <div class="dialog" id="newdlg" style="display: none;"> <div class="dialog_tt">对话框标题</div> <div class="dialog_bd"> 对话框消息<br/> <span class="dialog_warn"> 警告/出错消息 </span> <input type="text" class="dialog_input" placeholder="输入框"/> </div> <div class="dialog_ft"> <button class="dialog_ok" onclick="showNewFileDlg();">确定</button> <button class="dialog_cancel" onclick="hideDialog();">取消</button> </div></div>

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

公众号网页更新缓存,这玩意儿,说简单也简单,说复杂也够你喝一壶的。你辛辛苦苦更新了公众号文章,结果用户打开还是老版本,这滋味,谁受得了?这篇文章,咱就来扒一扒这背后的弯弯绕绕,以及如何优雅地解决这个问题。读完之后,你就能轻松应对各种缓存难题,让你的用户始终体验到最新鲜的内容。先说点基础的。网页缓存,说白了就是浏览器或者服务器为了提高访问速度,把一些静态资源(比如图片、CSS、JS)或者页面内容存储起来。下次访问时,直接从缓存里取,不用再重新下载,速度自然快。但这玩意儿,也是个双刃剑。新版本上线,

本文讨论了使用HTML5表单验证属性,例如必需的,图案,最小,最大和长度限制,以直接在浏览器中验证用户输入。

本文展示了使用CSS为网页中添加有效的PNG边框。 它认为,与JavaScript或库相比,CSS提供了出色的性能,详细介绍了如何调整边界宽度,样式和颜色以获得微妙或突出的效果

本文讨论了html&lt; datalist&gt;元素,通过提供自动完整建议,改善用户体验并减少错误来增强表格。Character计数:159

本文解释了HTML5&lt; time&gt;语义日期/时间表示的元素。 它强调了DateTime属性对机器可读性(ISO 8601格式)的重要性,并在人类可读文本旁边,增强Accessibilit

本文讨论了HTML&lt; Progress&gt;元素,其目的,样式和与&lt; meter&gt;元素。主要重点是使用&lt; progress&gt;为了完成任务和LT;仪表&gt;对于stati

本文讨论了HTML&lt; meter&gt;元素,用于在一个范围内显示标量或分数值及其在Web开发中的常见应用。它区分了&lt; meter&gt;从&lt; progress&gt;和前
