标签: wmd

我应该使用哪种Stack Overflow-style Markdown(WMD)JavaScript编辑器?

背景

我正在开发一个需要用户输入内容的应用程序,我决定使用Stack Overflow风格的Markdown编辑器.在研究了这个主题的最后几天之后,我意识到基本WMD编辑器有很多分叉,一些有一些基本的增强功能,有些与Stack Overflow有很大不同.

由于这将是应用程序的核心,我想从最好的代码库开始.如果有人能够推荐哪种解决方案最适合我的需求,我会很高兴.

以下是要求,以及我已经设法找到的内容.我希望这个问题可以帮助我决定使用哪个版本,也许可以帮助我发现一个更符合我需求的端口.


我的项目的要求

  • 实时预览
  • 同一页面上的多个编辑器(我不知道提前多少,因为用户可以动态添加另一个编辑框).
  • 能够使用额外的按钮进行扩展(我想要一个按钮来上传图片,而不是仅仅添加一个imgURL).
  • 能够动态显示/隐藏编辑框(并且只能看到预览框).
  • 不是绝对必须,但我更喜欢坚持Stack Overflow的外观和感觉,因为它是众所周知的.
  • 不知道这是否重要,但后端是用Django编写的.

编辑我看过了

以下是我看过的一些代码库,有了想法.显然,我可能会错过另一种解决方案.

  • derobins版本.据我所知,这是官方Stack Overflow版本.好像它不支持一页上的多个编辑器.
  • jQuery.MarkEdit.看起来非常好,但与Stack Overflow版本完全不同.
  • MooWMD.看起来像现在的赢家,但我有点担心,因为它看起来不像MarkEdit那么活跃/可攻击.
  • 大规模杀伤性武器的新版本.不确定,看起来像一个没有太大用处的旧代码库.
  • SocialSite分支.似乎它不适合公众使用.

javascript django markdown editor wmd

62
推荐指数
3
解决办法
7905
查看次数

Javascript中的简单HTML清理程序

我正在寻找一个用JavaScript编写的简单HTML清理程序.它不需要100%XSS安全.

我正在我的网站上实现Markdown和WMD Markdown编辑器(来自github的SO主分支).问题是,实时预览中显示的HTML不会被过滤,就像在SO上一样.我正在寻找一个用JavaScript编写的简单/快速HTML清理程序,以便我可以过滤预览窗口的内容.

无需具有完整XSS保护的完整解析器.我不是将输出发送回服务器.在将结果存储到数据库之前,我将Markdown发送到我使用正确的完整HTML清理程序的服务器.

谷歌对我来说绝对没用.我只收到数百条(通常是不正确的)文章,介绍如何从各种服务器端语言的用户生成的HTML中过滤掉javascript.

UPDATE

我会更好地解释为什么我需要这个.我的网站有一个非常类似于StackOverflow上的编辑器.有一个文本区域可以输入MarkDown语法,下面有一个预览窗口,可以显示提交后它的样子.

当用户提交某些内容时,它将以MarkDown格式发送到服务器.服务器将其转换为HTML,然后在其上运行HTML清理程序以清理HTML.MarkDown允许任意HTML,所以我需要清理它.例如,用户输入如下内容:

<script>alert('Boo!');</script>
Run Code Online (Sandbox Code Playgroud)

MarkDown转换器不会触及它,因为它是HTML.HTML清理程序将删除它,以便脚本元素消失.

但这不是预览窗口中发生的情况.预览窗口仅将MarkDown转换为HTML,但不会对其进行清理.因此,预览窗口将具有脚本元素.这意味着预览窗口与服务器上的实际呈现不同.

我想解决这个问题,所以我需要一个快速而又脏的JavaScript HTML清理程序.使用基本元素/属性黑名单和白名单的简单方法就可以了.它不需要是XSS安全的,因为XSS保护是由服务器端的HTML清理程序完成的.

这只是为了确保预览窗口在99.99%的时间内与实际渲染相匹配,这对我来说已经足够了.

你能帮我吗?提前致谢!

html javascript wmd html-sanitizing

28
推荐指数
4
解决办法
7万
查看次数

将HTML转换回Markdown以便在wmd中进行编辑

我很想做你在这个网站上编辑帖子时会发生什么.

我正在使用wmd作为我的markdown编辑器,当然当我转到编辑时,我得到它生成的HTML而不是像stackoverflow那样的降价.现在,有没有办法存储两者?或者它是否足够可靠,只需将HTML转换回markdown即可在wmd编辑器中显示?

谢谢!

markdown wmd

18
推荐指数
2
解决办法
8011
查看次数

使用类似StackOverflow的编辑工具托管维基?

我们正在为我们的一个项目启动开发人员文档,我想将其设置为托管维基.

会有很多代码示例,StackOverflow上使用的WMD/Prettify组合是我看到输入结构化文本(带标题等)与自动格式化代码块相结合的最简单方法.

有没有人知道使用这个编辑工具集的现有托管维基服务,所以我们不必编写自己的(至少不是马上)?

谢谢

markdown wiki wmd

11
推荐指数
1
解决办法
846
查看次数

如何让WMD-Editor将Markdown发布到服务器而不是HTML?

似乎WMD-Editor正在将HTML发布到服务器而不是降价.我怎么能让它发送Markdown?

javascript markdown wmd

11
推荐指数
1
解决办法
635
查看次数

我为什么需要Markdown?

为什么我需要像WMD这样的前编辑编辑器使用Markdown?降价对WMD编辑器发送的内容有何作用? Markdown如何将内容存储在后端?它是否与其他格式一样?为什么我不能只做一个html编码
*bold*

对不起,如果我听起来很天真.

html markdown wmd

11
推荐指数
2
解决办法
902
查看次数

将自定义按钮添加到WMD(堆栈溢出)编辑器

如何在WMD编辑器中添加一个新按钮,如code按钮?如果我点击按钮<info></info>标签将添加所选文本,如代码按钮.

editor wmd

11
推荐指数
1
解决办法
1618
查看次数

如何在ASP.NET中使用WMD存储降价?

我已经实现了Stack Overflow在我的项目中使用的WMD控件,它几乎就像一个魅力,但当我将更改保存到数据库时,它保存的是HTML版本,而不是Markdown版本.

所以我在我的文本框中有这个:

**boldtext**
Run Code Online (Sandbox Code Playgroud)

这真的是在拯救这个:

<b>boldtext</b>
Run Code Online (Sandbox Code Playgroud)

如何保存Markdown版本?

asp.net markdown wmd

10
推荐指数
1
解决办法
1169
查看次数

Django管理员中的WMD?

我知道如何使用widget =在常规django表单中使用WMD和其他此类javascript编辑器.但是,如何在Django管理员的文本字段中使用WMD?最重要的是,如何将它用于admin中contrib.flatpages的内容字段?

另外,我想我可能想使用WMD的StackOverflow分支,所以如果需要的话,我想要任何特殊说明.

我知道如何在模板中使用降价滤镜,因此该部分是可以的.我只需要让编辑器显示并在管理界面中工作.

django admin wmd

10
推荐指数
1
解决办法
2163
查看次数

我应该清理降价吗?

对于我的post实体,我将HTML和MARKDOWN存储在数据库中(HTML从MARKDOWN转换).HTML用于在页面上呈现,而MARKDOWN用于编辑功能(使用WMD).我在存储到db之前清理HTML.问题是:我是否应该对降价进行消毒?或者它是xss安全的,如果我只传递给wmd编辑器?

html validation markdown wmd

10
推荐指数
1
解决办法
2760
查看次数

标签 统计

wmd ×10

markdown ×7

html ×3

javascript ×3

django ×2

editor ×2

admin ×1

asp.net ×1

html-sanitizing ×1

validation ×1

wiki ×1