Como converter um arquivo de código fonte em HTML?

13

Eu tenho um arquivo de código-fonte escrito em uma linguagem de programação (por exemplo, PHP) e gostaria de convertê-lo em um arquivo HTML, para que eu possa publicá-lo na Web para compartilhar meu código.

Por conversão, quero dizer, por exemplo, converter novas linhas em <br>tags para que o texto mantenha a mesma formatação no editor de texto e no navegador da web. Idealmente, ele também deve preservar o realce da sintaxe para que também possa ser impresso.

Isso é possível no Vim? Se sim, como?

kenorb
fonte
4
O que você quer dizer com conversão? Qual é o resultado esperado?
OrangeTux
A saída esperada seria html (formato compatível com o navegador).
Kenorb
1
Todos os arquivos de texto são 'amigáveis ​​ao navegador'. Mas quando vejo a resposta de Alexander Myshov, acho que entendo o que você quer dizer.
OrangeTux
1
Eu acho que falta um detalhe na pergunta. Deseja produzir um documento HTML completo para cada arquivo de origem ou apenas um fragmento de código HTML que possa ser incorporado em outro documento ou isso não importa?
Toro2k

Respostas:

16

O comando vim a seguir cria uma renderização html do arquivo atual.

:TOhtml

Ele salva o arquivo na mesma pasta (com extensão .html) e inclui estilos, cores de primeiro plano / plano de fundo e destaque de sintaxe , para que o arquivo possa ser publicado na Web e impresso.

Para mais opções (como a adição de números de linha, compability com navegadores antigos, etc.), verifique: :help TOhtml.

Para converter o arquivo de maneira não interativa, tente o seguinte comando:

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

Palavras-chave:

kenorb
fonte
1
Você não precisa do %, pois esse é o padrão. Além disso, note que este é exatamente o mesmo que a outra resposta ( :runtime! syntax/2html.vim), a única diferença é que com TOhtmlvocê pode facilmente adicionar um intervalo (em vez de definir g:html_start_linee g:html_end_linemanualmente.
Martin Tournoij
5

Pelo que entendi, você deseja converter o conteúdo da janela atual em HTML. Tente executar este comando:

:runtime! syntax/2html.vim

mais informações aqui:

:help convert-to-HTML
Alexander Myshov
fonte