集成降价所见即所得的文本编辑器

在为Markdown代码寻找一个简单的WYSIWYG编辑器时,我并没有find比CkEditor,TinyMCE等更好的UI。

具体而言,经常推荐的Markdown“WYSIWYG”编辑器(比如像这样的post)并不是纯粹的所见即所得编辑器,因为用户仍然在编写原始Markdown( MarkItUp ),或者进入另一个没有内联编辑的极端标准控件( Hallo )。

我需要中间的东西。

我正在寻找一个Markdown编辑器,它的外观和function类似于一个精简的CkEditor文本框,并接受并输出Markdown。 应该有一个带有最less一组格式化选项(B,I,U,列表等)的工具栏,文本input区应显示转换的Markdown,而不是原始代码。 应该有一个Sourcebutton,允许用户编辑原始Markdown,但即使这样也是可选的。 例如:

在这里输入图像说明

我得到Markdown / wiki等的原因 – 它提供的安全性。 我不介意在SE上input这里的原始代码,但是我的用户并不是极客,也不觉得这很愉快。 他们不想看到* * _ ___和与他们的文本混合的空格。 他们习惯于“Word”风格的编辑,在这种环境下工作效率最高。

那么 – Markdown有一个真正的集成所见即所得的编辑器吗? 我正在写一个PHP,所以我可以调用一个类的东西是完美的。


2015年9月23日更新

CKEditor现在有一个Markdown的 插件 ,做这个确切的事情。 插件项目托pipe在github上 。

截图:

降低所见即所得

降价来源


2015年4月13日更新
有人自称开发CKEditor说, CommonMark的外观是一个游戏改变者,我们可能会看到CKEditor的一个适当的标记界面 (阅读全文)。


2015年2月6日更新

CKEditor现在有一个插件,输出(并接受作为input)BBCode。

演示: http : //ckeditor.com/demo#bbcode

我前几天正在研究这个主题,而且我还没有发现有Markdown输出的任何像样的WYSIWYG编辑器。 实际上,首先你必须创build一个所见即所得的Markdown编辑器,就是所见即所得的HTML编辑器,而且其中只有less数可以在市场上使用。

有一个机会,你将能够创buildCKEditor的数据dataProcessor ,将HTML编辑器更改为Markdown编辑器。 我们有一个BBCode插件,可以这样工作(查看http://nightly-v4.ckeditor.com/3737/samples/bbcode.html )。

你所要做的就是实现这个接口http://nightly-v4.ckeditor.com/ckeditor_api/#!/api/CKEDITOR.dataProcessor 。 如果你检查BBCode插件的代码,你会看到一些黑客和技巧,因为不幸的是,目前的CKEditor架构还没有准备好(还)创build这样一个数据处理器。 不过,我相信如果你只想提供几个样式选项,你应该能够很快地实现Markdown支持。

SimpleMDE ,一个新人,可能是答案。 我一直在寻找这样一个月的东西。 我很惊讶,这并没有显示出更高的search结果。 我不得不通过一个关于lepture / editor的通知来find这个。

在这里输入图像说明

是一个新的(截至2014年活跃)所见即所得编辑器, 输出Markdown
这并不完美 – 我在那里粘贴HTML的问题,但它的工作原理。

编辑:对不起! 它不输出Markdown。 Walery Strauch在评论中指出,我看到的Markdown格式标志实际上是CSS伪元素规则:

不过,我会把它留在这里作为一个选项,因为有人提出这个答案,这可能是有用的人。

编辑2015年9月23日

CKEditor现在有一个Markdown的 插件 ,做这个确切的事情。 插件项目托pipe在github上 。

截图:

降低所见即所得

降价来源


正如我在2015年2月6日更新中所发布的, CKEditor现在包含允许BBCodeinput和输出的插件。

演示可在这里find: http : //ckeditor.com/demo#bbcode

编辑2015年4月13日:
有人自称开发CKEditor说, CommonMark的外观是一个游戏改变者,我们可能会看到CKEditor的一个适当的标记界面 (阅读全文)。

我也在寻找这个线程顶部描述的降价编辑器

你见过“减价工具”: http : //md-wysiwyg.sourceforge.net/

演示: http : //md-wysiwyg.sourceforge.net/cgi-bin/cgi_wysiwyg_test.py/

这看起来与我们正在寻找的东西非常接近,它将您的所见即所得的丰富文本和输出降价做一个合理的工作。 但是,当我从谷歌文档中粘贴一些富文本时,编码exception失败。

我实现了一个非常简单的编辑器,它允许包含Markdown的<textarea>的内容以所见即所得的方式进行编辑。

我使用了Hallo 。 我不认为它的网站显而易见,它本身不是一个Markdown所见即所得的编辑器,但演示确实锻造了一条path。

Hallo允许在<div>中对HTML进行WYSIWYG编辑。 我用javascript来隐藏任何具有特定wysiwyg CSS类的<textarea>块,用<div>replace它,并将<textarea>的内容复制到<div> 。 复制运行通过从Markdown产生HTML的摊牌 。

每当<div>内容发生变化时,另一个Javascript例程就会作出反应。 它将内容复制回(现在隐藏的) <textarea> 。 内容运行到降价从HTML转换到Markdown。

如果<textarea><form >中的一个字段,那么编辑的Markdown将在提交表单时发送给服务器。

灵感来自于Hallo Markdown示例 ,具体来说就是editor.js文件。 我用它作为我自己的脚本以及hallo.js , showdown.js和to-markdown.js的基础 。

我的脚本wysiwyg.js是Hallo Markdown示例的editor.js的衍生物。 有些要注意的地方:

  • 我在Rails应用程序中使用它(不是那么重要)
  • 它运行在ready page:load ,后者因为Rails使用Turbolinks
  • 它在ajaxComplete运行,因为我使用Ajax来处理表单错误报告
  • 还有其他的依赖: JQueryUI和Rangy (Rails用户可以利用gemjquery-ui-rails和rangy-rails )。
  • Font Awesome也用于工具栏图标。 演示中使用的hallo.js版本已经过时(它使用的是旧版本的Font Awesome ) – 使用GitHub中的hallo.js代替。

你只需要添加CSS class='wysiwyg'到任何<textarea>来启用WYSIWYG就可以了。 <textarea>应该包含Markdown格式的文本。

我希望wysiwyg.js可以很容易地适应使用另一个编辑器,如果你不喜欢Hallo ,只要它在一个<div>的HTML中工作。 有很多select,但不是所有的都像Hallo一样轻巧。

我发现的一件好工作是markdown-html-form 。 它使用相同的摊牌和降价 。

你有没有试过这个: http : //mrcoles.com/demo/markdown-css/似乎是最好的,有3种方式,即HTML-Markdown-Preview

所见即所得,还有一样东西缺失了。

Interesting Posts