2008-04-12

code2html — публикация кода или гармония содержания и формы

Публиковать листинги скриптов на bash'е легко и просто. Скопировал — вставил, и готово. А ведь хочется чего-то большего, подсветки синтаксиса, например. Или, предположим, javascript показать читателям. Тут уже дедовские "copy-past'ы" не пройдут. Тэги браузер будет жевать втихаря, что крайне нежелательно. Вот и выходит, кина не будет. Но не все так плохо, если есть в кармане code2html...

Узрев цветовые преображения в блоге Дмитрия, поинтересовался, какая программа разукрасила скрипты. Ответ был вскоре получен:
sudo aptitude install code2html

и применен на практике (еще раз спасибо Дмитрию).

Сфера применения этого консольного конвертера понятна из названия. code2html умеет разговаривать по C, C++, HTML, Java, JavaScript, Pascal, Perl, Pytho, sh, SQL, ruby etc. Полиглот, стало быть.

Использование
Имеется файл A, который необходимо превратить в html-странцу B. Для простейших bash-скриптов не понадобится даже указание языка:
code2html change.sh output.html

С java и javascript лучше не шутить. Указываем язык через параметр -l:
code2html -l javascript script.txt output.html

Полученные html-страницы я открываю в gedit'е и копирую часть кода между тэгами pre. Затем помещаю в тело будущего сообщения, используя свой pre шаблон.
Примеры обработки скриптов:
Накопительный вклад в «прокачку» системы
Заливаем музыку на плеер

9 комментариев:

  1. Так вот как эта штука работает, я уже голову сломал как это сделать в автоматическом режиме без использования JS.

    ОтветитьУдалить
  2. Ага, все гениальное просто. Я думал уже скрипт присобачивать, но обошлось :)

    ОтветитьУдалить
  3. Анонимный13.04.2008, 11:36

    Жаль что оно php не знает =\, а так - полезняшка =)

    ОтветитьУдалить
  4. Анонимный15.04.2008, 19:52

    gVim умеет сохранять файлики как HTML. Причём, цвета зависят от текущей цветовой схемы вима. Проще говоря, как видишь в gVim, такой же результат получаешь в HTML.

    А ещё есть прикольный JavaScriptик: http://softwaremaniacs.org/soft/highlight/

    ОтветитьУдалить
  5. 2DeXPeriX
    Спасибо за дополнение

    ОтветитьУдалить
  6. Большое спасибо за наводку - а то я уже замучался править тексты скриптов при постинге :-)

    ОтветитьУдалить
  7. >> Полученные html-страницы я открываю в gedit'е и копирую часть кода между тэгами pre

    Тогда почему бы не воспользоваться соответствующим плагином для gedit ;)
    Экспортируемая разметка окрашивается в соответствии с текущей темой. Языков он знает больше + можно научить новым без проблем.
    Список сторонних плагинов есть на страничке gedit.

    ОтветитьУдалить
  8. Недавно как-то копался в поисках плагинов для gedit, но ничего стоящего не попалось.
    Упустил, стало быть. Благодарю. Засмотрим :)

    ОтветитьУдалить
  9. Всегда в таких решениях что-то не устраивало, обычно полнота покрытия синтаксических конструкций и гибкость шаблонизатора. И, как уже тут подавали идею, лучше всех с этим справляется любимый текстовый редактор (у меня - gvim). Для него пишется плагин. По мере набора кода можно постить ;)
    Минус (по сравнению со сторонними обработчиками кода) - скорость.

    ОтветитьУдалить