0

我需要以下功能:

  1. 硬包装文本
  2. 自动链接(将网址制作成可点击的链接)
  3. @name 应该变成指向用户/显示操作的链接(我应该能够编写这个辅助方法)
  4. 防止代码注入

据我所知,redcarpet 似乎不能正常工作,我发现redcloth是一种选择。但它似乎有点过时了,而且它没有提供 filter_html 或 autolink 选项。我可以安装 gems sanitizeautolink以与 redcloth 一起使用,但我相信会有更好的方法。

谁能给我建议?

4

1 回答 1

2

我建议查看html-pipeline gem。它有过滤器可以做很多你想做的事情,包括:

  • MentionFilter- 用链接替换@user提及
  • AutolinkFilter- HTML 中的自动链接网址
  • CamoFilter- 用伪装的https 版本替换 http 图像 url
  • EmailReplyFilter- 用于处理电子邮件的实用过滤器
  • EmojiFilter- 每个人都喜欢表情符号
  • HttpsFilter- 用于将 http github url 替换为 https 版本的 HTML 过滤器。
  • ImageMaxWidthFilter- 链接到大图像的全尺寸图像
  • MarkdownFilter- 将 Markdown 转换为 html
  • PlainTextInputFilter- html 转义文本并将结果包装在 div 中
  • SanitizationFilter- 白名单清理用户标记
  • SyntaxHighlightFilter- 带有语言学家的代码语法荧光笔
  • TextileFilter- 将纺织品转换为 html
  • TableOfContentsFilter- 具有名称属性的锚标题
于 2012-12-07T13:08:37.437 回答