2009-08-13 70 views

回答

37

看看Prettify JavaScript库。这是通常人们所使用的一个(它在这里被使用在这样一个,例如。)

你会使用这样的:

在你<head>元素:

<link href="prettify.css" type="text/css" rel="stylesheet" /> 
<script type="text/javascript" src="prettify.js"></script> 

在你<body>元素:

<body onload="prettyPrint()"> 
    <!-- any HTML you like here... --> 
    <pre class="prettyprint"> 
def say_hi(): 
    print("Hello World!") 
    </pre> 
    <!-- any HTML you like here... --> 
</body> 

ŧ帽子的简单使用图书馆。如果您在页面上使用其他JavaScript,我会推荐其他方法来启用美化库(即,不要使用<body>元素的onload属性)。例如,如果您使用的是jQuery,我写了这个jQuery插件,我通常使用到的语法突出某些元素:

// Extend jQuery functionality to support prettify as a prettify() method. 
jQuery.fn.prettify = function() { this.html(prettyPrintOne(this.html())); }; 

像这样来使用:

$('#my-code-element').prettify(); 
+2

现货!很棒!谢谢。 – 2009-08-13 07:26:55

6

这是一个老问题,但它在谷歌来到了第一对我来说,我认为我会d增加另一个选项。虽然美感仍然是一种可用的选择,但它显示了它的年龄。我遇到的一个新图书馆是Prism,它似乎工作得很好。它更加语义化,并对如何格式化代码提供了更好的控制。它还支持插件,并且它的主题看起来比Prettify更好。

+2

如果在我的代码中添加任何称为棱镜的东西,我会感到非常不安...:p – 2013-12-27 21:00:50

+0

OMYGOSH SO GOOD!感谢那!!! – Adam 2018-01-09 20:26:04

1

我认为一个更简单和功能强大的解决方案是highlight.js。它目前支持169种语言和77种代码风格(如Solarized dark and light)。一些更多:

  • 自动语言检测
  • 多语言的代码高亮
  • 可用于node.js的
  • 作品与任何标记
  • 任何JS框架

快速兼容设置:

1 - 在HTML头:

<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.9.0/styles/default.min.css"> 
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.9.0/highlight.min.js"></script> 
<script>hljs.initHighlightingOnLoad();</script> 

2 - 在你的HTML内容

<pre> 
    <code class="html"> 
     <p>This is your HMTL sample</p> 
     <p>You can use classes like "html", "php", "css", "javascript" too..</p> 
    </code> 
</pre> 

您可以检查语言和风格here