【问题标题】:Drupal with Texy and GeSHiDrupal 与 Texy 和 GeSHi
【发布时间】:2009-08-10 12:28:47
【问题描述】:

我的 Drupal 安装设置为使用 Texy 进行标记(手写 HTML 很快就会变得乏味)和 GeSHi 用于语法高亮(这是我当时为 Drupal 找到的唯一语法高亮器) .

现在的问题是,自从上次对 Texy 的更新以来,似乎没有什么真正起作用了。不久前,我花了很长时间试图说服他们两个一起工作,但这是一个非常不稳定的设置。根据两个过滤器的评估顺序,我要么没有语法高亮,要么全部,转义的 HTML 输出,换行符消失,或者有时它确实可以工作。

我现在几乎可以再次工作,但有例外。理想情况下,GeSHi 会处理代码,而 Texy 处理其余部分,但事实并非如此。漂亮的正则表达式

[1–9][0–9]*[WDwd][1–9][0–9]*(\+[1–9][0–9]*)?

将前两个星号之间的部分用斜体表示,因为 Texy 也在该部分上运行。这是不幸的,因为它改变了正则表达式的含义。

了解如何在 Drupal 中为输入设置多个过滤器以及如何同时处理非 HTML 标记 语法突出显示的任何人。由于我目前必须检查每篇包含我编写的代码的帖子(几乎所有),因此完全重做网站上的每个页面以寻找更好的设置可能不会少很多工作。至于语法高亮,我非常需要常用的通用语言,如 C#、Java 等,但也需要更深奥的语言,如 Windows 批处理文件或 Powershell。简单地转储未突出显示的代码不是很漂亮。

所以,其实我这里有两个问题:

  1. 如何说服多个输入过滤器在不相互干扰的情况下工作,特别是 Texy 和 GeSHI?
  2. 还有哪些其他选项可以满足我对易于编写的非 HTML 标记的要求1即使对于较少使用的语言也能突出显示语法 2?

1 通常我只需要强调和强调,有时是标题,通常是图片,有时还有表格。哦,通常是代码:-)

2 类似于 Stack Overflow 的语法高亮猜测对于大多数代码来说效果不佳,它只是足够好有点令人愉悦。

【问题讨论】:

  • 是否属于stack over flow?
  • 呃,为什么 thi 属于 SO?哎呀,我不想编写 Drupal 模块,我只想让它们工作找到对其他人有用的解决方案。这(理想情况下)不应该涉及任何编程。如果在任何地方我会将其迁移到 serverfault,但话又说回来,这不完全是服务器管理问题。

标签: drupal module


【解决方案1】:

回答2.我用markdown和GeSHI都取得了不错的成绩。我没有使用 Texy 的经验。

您必须非常注意的是过滤器格式设置、过滤器格式排序、过滤器格式权限的组合。对于您的问题,我建议使用以下输入格式。

  • 基本 HTML(默认)。用于cmets等。
  • Markdown(对于编辑,按照你的描述做)
  • 原始 HTML(无过滤根本对网站管理员等有用)

然后按如下顺序配置它们:

  • 基本 HTML:

    • 网址过滤器
    • HTML 过滤器。只允许内联样式em、strong、a。也许还有一些,但不是 br、p 等。
    • 换行过滤器。
  • 降价

    • HTML 过滤器:去除 所有 标记,GESHI 的“代码”标记除外。
    • Markdown 过滤器。
    • 格氏过滤器。

这意味着markdown没有限制:例如,人们可以使用markdown来创建H1标签。如果您想限制 Markdown 中的功能,则必须将 HTML 过滤器放置在 Markdown 过滤器之后。在该设置中,markdown 将转换为完整的 HTML,然后 HTML 过滤器将去除不允许的过滤器。 由于 GeSHI 需要非标准的code 标签,因此您会希望让它们陷入低谷。由于 GeSHI 添加了大量跨度、div 和颜色编码的样式元素,因此您总是需要将此过滤器放在 HTML 过滤器之后,以避免再次删除这些跨度等 p>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多