Как форматировать код в html / css / js / php

Я ищу способ автоматического форматирования и цветового кода, который я пишу в HTML-документе. Я знаю, что Википедия делает это, например, на странице:http://en.wikipedia.org/wiki/Nested_function

Я уверен, что есть библиотеки, чтобы сделать это, но я не могу, ни за что на свете, найти один. У кого-нибудь есть предложения?

3 ответов


посмотреть Prettify JavaScript библиотека. Это тот, который обычно используется людьми (это тот, который используется здесь на SO, например.)

вы бы использовали его так:

в своем <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 на своей странице, Я бы рекомендовал другие методы для включение библиотеки Prettify (т. е. не используйте на <body> элемент.) Например, если вы используете 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();

Это старый вопрос, но поскольку он появился впервые в Google для меня, я подумал, что добавлю еще один вариант. Хотя Prettify по-прежнему является исправным вариантом, он немного показывает свой возраст. Новая библиотека, с которой я столкнулся, -Присм, и это, кажется, работает довольно хорошо. Это более семантический и дает более тонкий контроль над тем, как форматировать ваш код. Он также поддерживает плагины и темы приятнее смотреть из окна, чем приукрасить это.


Я думаю, что более простым и мощным решением являются выделить.js. В настоящее время он поддерживает 169 языков и 77 стилей кода (например, Solarized dark и light). Еще несколько:

  • автоматическое определение языка
  • многоязыковая подсветка кода
  • доступен для узла.js
  • работает с любой разметкой
  • совместимость с любой JS framework

Быстрые настройки:

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>

Вы можете проверить языки и стили здесь.