2008-09-19 4 views
3

Я ищу открытый исходный код, кросс-платформу (Windows Linux, как минимум), инструмент командной строки, чтобы взять некоторый код (C++, но несколько языков были бы милы) и вывести действительное представление XHTML этого кода, с подсветка синтаксиса включена.синтаксис синтаксиса с открытым исходным кодом?

В идеале XHTML должен просто обернуть код <span> и <div> тегами с разными классами, чтобы я мог предоставить код CSS и изменить цвет, но это необязательно.

Кто-нибудь знает о таком приложении?

ответ

8

Я могу порекомендовать Pygments. Легко работать и поддерживать множество языков. Он делает то, что вы хотите, то есть, он оборачивает код в <span> теги:

from pygments import highlight 
from pygments.lexers import PythonLexer 
from pygments.formatters import HtmlFormatter 

code = 'print "Hello World"' 
print highlight(code, PythonLexer(), HtmlFormatter()) 

дает

<div class="highlight"> 
<pre><span class="k">print</span> <span class="s">&quot;Hello World&quot;</span></pre> 
</div> 

, а затем вы можете использовать один из поставляемых листов стилевых сделать свой собственный.

Вы также можете позвонить ему через его скрипт pygmentize. Сценарий может форматировать вывод по-разному: вывод HTML, LaTeX, ANSI.

4

Vim может сохранить любой код, который он выделяет для «цветного» HTML (он работает на нескольких платформах). Также есть GNU hightlight. И тонны других.

+0

вы можете привести пример, как это сделать в vim? – Ilya 2008-09-19 08:38:07

+2

открыть файл в gvim затем : syn on : TOhtml vim screen split, один буфер для html, один для вашего исходного файла. Затем вы сохраняете файл html rendered, и все готово. – 2008-09-19 13:18:23

0

Не уверен, насколько это полезно, но моя команда использует doxygen для создания документации, которая, как представляется, обеспечивает подсветку синтаксиса цвета на наших представлениях кода, а также бонус-бонус. Никогда не нуждался в этом, но он это делает.

3

Существует очень хороший один, движимый XML, быстро и OpenSource: http://sourceforge.net/projects/colorer/

+1

Будучи управляемым XML, это всего лишь функция в мире Java ... :-) – 2009-05-23 15:32:26

2

Я не помню, если GeSHi есть программа командной строки, но даже если это не так, это не должно быть трудно взбить один. Он отлично справляется с принятием кода и созданием красивого, цветного HTML/XHTML, даже с номерами строк (или любыми номерами строк X, даже) и другими полезными функциями.

0

Если у вас все в порядке с использованием рубина, вы хотите coderay.

1

Enscript выглядит то, что вы просите:

  1. вертел HTML (или PS, или RTF) от ASCII файлов
  2. Он включает в себя функцию для `довольно-печати» (язык чувствительной подсветки коды) на нескольких языках программирования.
0

Я добавлю my own one to the list, это цвет C#, но может быть адаптирован для C, C++ и Java. Он создает встроенные стили по умолчанию и предварительный тег.

Источник находится на C#, вам нужно захватить моно/монодебель и скомпилировать его как консольное приложение, поэтому оно не будет сжато в этом отношении.