Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 1

Посмотрите на 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 (т.е. Не использовать атрибут onload элемента <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();

Ответ 2

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

Ответ 3

Я думаю, что более простое и мощное решение 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>

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