【发布时间】: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。简单地转储未突出显示的代码不是很漂亮。
所以,其实我这里有两个问题:
- 如何说服多个输入过滤器在不相互干扰的情况下工作,特别是 Texy 和 GeSHI?
- 还有哪些其他选项可以满足我对易于编写的非 HTML 标记的要求1和即使对于较少使用的语言也能突出显示语法 2?
1 通常我只需要强调和强调,有时是标题,通常是图片,有时还有表格。哦,通常是代码:-)
2 类似于 Stack Overflow 的语法高亮猜测对于大多数代码来说效果不佳,它只是足够好有点令人愉悦。
【问题讨论】:
-
是否属于stack over flow?
-
呃,为什么 thi 属于 SO?哎呀,我不想编写 Drupal 模块,我只想让它们工作或找到对其他人有用的解决方案。这(理想情况下)不应该涉及任何编程。如果在任何地方我会将其迁移到 serverfault,但话又说回来,这不完全是服务器管理问题。