我是Google Code Prettify的维护者。

标记作者可以为源代码指定语言,但不能为标记作者指定语言。
SO管理员是否对以下方式感兴趣?是这样做的吗?

如果是这样,下面的方法是否可以工作?后跟一个或多个单词字符,然后使第一行不可见(使用CSS hidden:visible)并将这些单词字符用作文件扩展名。
否则,请使用当前方案。

因此,

#!css
tag.class#id { color: red }


将被识别为CSS。

在markdown中,任何行号指示符都应在markdown中幸免于复制粘贴吗? />
是否需要做任何类似的方案来处理降价中的响应引用?内联响应者拆分代码段是否常见?

用户是否还想对行编号(http://google-code-prettify.googlecode.com/svn/trunk/README.html#linenums ),以便其他人可以参考特定行进行响应?

评论

遗憾的是,带有解释器名称的shebang不能算作有关该语言的提示。 (一个示例-如果考虑到shebang行,可以相应地突出显示一个bash脚本:stackoverflow.com/questions/6748083/…。)我习惯于Emacs这样做...

@imz:是的,考虑到pretify的方式应该能够在简单的情况下猜测语言,您会认为这是一个很好的提示...

@Mike,能否请您指出一些有关如何为Prettify贡献新语言的文档?我是pascal迷,真的很想看看pascal语法在这里和那里突出显示。谢谢。 :)

#1 楼

使用“代码修饰”突出显示语法
现在已实现。请参阅Stack Overflow关于语法突出显示的帮助。方法:
<!-- language: «lang-or-tag-here» -->

    «code goes here»

«more text»

<!-- language: «lang-or-tag-here» -->

    «code goes here»

您可以使用标签或美化语言代码。无论标签正巧设置为哪种语言,美化语言代码都可以保证正常工作。已被合并并移至以下常见问题解答:
什么是语法突出显示及其工作原理?


评论


@kevin,因为没有用于“ none”和“ default”的标签:仍以某种方式支持那些标签吗? (我还将您的编辑内容复制到了Jeff的其他帖子中。)

– Arjan
2011年3月7日19:54



推荐的“ make”或“ makefile”语言标记是什么?我猜“ lang-sh”是一个合理的近似值。

–乔纳森·莱弗勒(Jonathan Leffler)
2011年5月16日在22:26

@Jeff,我想我的问题是,我是否需要使用美化语言代码lang-vb来打扰我的vba问题,还是应该让我的vba标签来处理它。然后,如果标签确实处理了它,那么如果我使用整理代码,它的功能会更好(或更流畅)吗?

–兰斯·罗伯茨(Lance Roberts)
2011年5月26日下午6:14

@lance让标签尽可能随身携带,这要简单得多(当标签尽可能“正常”工作时,它会针对“所有人”进行修复)。使用Google Chrome检查器查看呈现的
上的CSS类,以了解帖子中最终实际发生的情况。那就是我要做的。


–杰夫·阿特伍德
2011年5月26日下午6:18

我不明白c和lang-c有什么区别。

–用户未知
2012年3月26日在9:02

@ User,c是标签; lang-c是Prettify语言代码。将问题标记为c时,问题中的任何代码都会自动以lang-c语言代码突出显示,因为该标签已配置(在某处)与该语言代码相关联。区别对于没有特定语言的标签很重要。例如,pascal标签配置了lang-default;没有lang-pas语言代码。手动将代码标记为lang-pas将使其不突出显示,但是将其标记为pascal将调用默认的突出显示规则。

–罗伯·肯尼迪
2012年5月25日21:53

@RobKennedy:在Code-Golf中,几乎所有问题都与语言无关。因此,我在这里标记了我的Scala解决方案<-语言:lang-scala->。这将一直有效,因为存在用于scala的美化标签。在以lang-xml结尾的项目符号列表下方,有更多标签,“ bsh”,“ c”,“ cc”,...-上面列出了其中一些,而没有列出。我仍然没有区别。

–用户未知
2012年5月25日在22:13

是的,@ User。有些Stack Overflow标签没有相应的Prettify语言代码。我提到帕斯卡。如果我用lang-pas标记Pascal代码,它将不会突出显示。 Prettify目前不支持该语言。如果我用pascal标记它,它将突出显示。堆栈溢出当前将lang-default代码与该标签关联。它没有很好地突出显示,但是至少有一些东西。当Prettify最终支持Pascal时,我们将将该标签与lang-pas重新关联,所有现有的Pascal代码将正确突出显示。

–罗伯·肯尼迪
2012年5月26日下午4:01

根据我的经验,需要突出显示的部分需要格式化为代码,否则不会突出显示。如果是这样,应该在此处说明。

– 00小时
2012年7月3日在8:53

现在,最新版本的prettify寻找形式为<?prettify lang = ...>的注释/处理指令,以更好地与产生诸如markdown之类的HTML的翻译程序进行互操作。 (HTML5指定<?...?>等效于<!-?...?->)。

–迈克·塞缪尔(Mike Samuel)
13年2月25日在18:50

好的,@ MikeSamuel,我将确保开发人员知道! (我不再在Stack Exchange上)

–杰夫·阿特伍德
13年2月25日在22:42

是否有可能添加语法突出显示以显示更多语言,例如批处理文件的Windows命令行或Windows PowerShell?

–扎里菲斯
13年7月18日在20:51

为什么YAML没有标签?在Google Prettify中...

– ComaToast
13年7月22日在3:36

C#的专用语言代码是lang-csharp,但不是lang-cs。使用lang-cs会导致默认突出显示,并且不会突出显示正在使用的名称空间和虚拟关键字。

–斯里·哈莎·奇拉卡帕蒂(Sri Harsha Chilakapati)
13年7月22日在4:29

我已经创建了标签tag-syntax-association,用于请求在标签及其相应的语言名称之间建立关联(只有主持人才能做到)

–埃里克
13年8月16日在10:53