2009-08-13 73 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