自从接触了markdown就迷上了它,就希望连word文档都可以使用markdown来编写。看一两遍markdown的语法说明(中文版)基本就能上手了,简单快捷

paperen想将自己博客的编辑器也改造成markdown的,于是乎利用工作休息与空闲的时间在git上找了个php markdown解析引擎,然后再补充一下代码就完成了一个简单的markdown editor

演示地址 http://paperen.com/demo/markdowneditor/

git地址 https://github.com/paperen/markdowneditor

markdowneditor

一个简单的markdown编辑器

@author paperen

@url http://paperen.com/post/markdowneditor/

关于markdown

Markdown 的目标是实现「易读易写」。 可读性,无论如何,都是最重要的。一份使用 Markdown 格式撰写的文件应该可以直接以纯文本发布,并且看起来不会像是由许多标签或是格式指令所构成。Markdown 语法受到一些既有 text-to-HTML 格式的影响,包括 Setext、atx、Textile、reStructuredText、Grutatext 和 EtText,而最大灵感来源其实是纯文本电子邮件的格式。 总之, Markdown 的语法全由一些符号所组成,这些符号经过精挑细选,其作用一目了然。比如:在文字两旁加上星号,看起来就像强调。Markdown 的列表看起来,嗯,就是列表。Markdown 的区块引用看起来就真的像是引用一段文字,就像你曾在电子邮件中见过的那样。

以上摘自http://wowubuntu.com/markdown/#philosophy

支持的热键列表

  • alt+shift+a 插入链接
  • alt+shift+p 预览
  • alt+shift+u 上传文件

配置项

  • editor_relpath markdown编辑器相对路径 (默认值./markdowneditor/)
  • id 编辑器ID (默认值content)
  • name 编辑器名称 (默认值content)
  • value 编辑器默认内容 (默认值 )
  • preview 是否开启预览 (默认值 true)
  • upload 是否开启上传文件 (默认值 true)
  • upload_path 文件上传保存目录 (默认值 ./upload/)
  • upload_handler 文件上传处理脚本文件 (默认值 ./upload/upload.php)

你可以通过MarkdownEditor::render时覆盖默认的配置参数

<?php
$config = array(
    'upload_handler' => './upload.php',
    'upload_path' => './upload/',
    'value' => '#markdowneditor#',
);
MarkdownEditor::render( $config );
?> 

API

  • MDE_insertLink 插入链接
  • MDE_preview 预览
  • MDE_upload 执行上传
  • MDE_parse 转换markdown
  • MDE_insertAtCursor( text ) 往编辑板光标所在位置插入text
  • MDE_insertFile( filename ) 往编辑板光标所在位置插入filename

注意

  • 关于上传,在此处上传是没有效果的,始终都是test.png,当然 paperen不可能会让你真的上传文件到我的空间来…要试的话自己下载下来修改upload.php文件,将第7行的

    define( 'UPLOAD_DISABLED', TRUE ); 

    UPLOAD_DISABLED常量改为FALSE,当然你也可以根据自己的需求重写upload.php的代码

  • 重写了tab键 在编辑器中按下tab回变成一个制表符

  • 兼容HTML

欢迎大家fork与改进 希望你喜欢这个markdown编辑器