Как преобразовать файл исходного кода в HTML?

13

У меня есть файл исходного кода, написанный на языке программирования (например, PHP), и я хотел бы преобразовать его в файл HTML, чтобы я мог опубликовать его в Интернете, чтобы поделиться своим кодом.

Под преобразованием я имею в виду, например, преобразование новых строк в <br>теги, чтобы текст сохранял одинаковое форматирование как в текстовом редакторе, так и в веб-браузере. В идеале он также должен сохранять подсветку синтаксиса, чтобы его можно было также распечатать.

Это достижимо в Vim? Если так, то как?

kenorb
источник
4
Что вы подразумеваете под преобразованием? Какой ожидаемый результат?
OrangeTux,
Ожидаемый результат будет HTML (дружественный для браузера формат).
Кенорб
1
Все текстовые файлы «дружелюбны к браузеру». Но когда я вижу ответ Александра Мышова, мне кажется, я понимаю, что вы имеете в виду.
OrangeTux,
1
Я думаю, что деталь отсутствует в вопросе. Вы хотите создать полный HTML-документ для каждого исходного файла или просто фрагмент HTML-кода, который вы можете встроить в другой документ, или это не имеет значения?
toro2k

Ответы:

16

Следующая команда vim создаст HTML-рендеринг текущего файла.

:TOhtml

Он сохраняет файл в той же папке (с расширением .html) и включает в себя стили, цвета переднего плана / фона и подсветку синтаксиса , поэтому файл может быть опубликован как в Интернете, так и распечатан.

Для получения дополнительных возможностей (например , добавление номера строк, Compability со старыми браузерами и т.д.), проверьте: :help TOhtml.

Чтобы преобразовать файл не в интерактивном режиме, попробуйте следующую команду:

vim -E -s -c "let g:html_no_progress=1" -c "syntax on" -c "set ft=c" -c "runtime syntax/2html.vim" -cwqa myfile.c

Связанный:

kenorb
источник
1
Вам не нужно %, так как это по умолчанию. Также обратите внимание, что это точно так же, как и другие ответы ( :runtime! syntax/2html.vim), единственная разница в том, что TOhtmlвы можете легко добавить диапазон (вместо установки g:html_start_lineи g:html_end_lineвручную.
Мартин Турной
5

Как я понял, вы хотите конвертировать содержимое текущего окна в HTML. Попробуйте запустить эту команду:

:runtime! syntax/2html.vim

больше информации здесь:

:help convert-to-HTML
Александр Мышов
источник