Há dias eu tenho buscado uma solução para exportar códigos ou trechos deles para HTML. O objetivo é mostrar posteriormente dicas com o código colorido, para melhor identificar os elementos. Existem alguns javascripts que transformam o código através de varredura por uma marcação com determinada classe, porém este é extremamente lento.
Foi então que vi que com editores como o Vim, conforme mostra o Eustáquio Rangel em seu blog. Desde então fiquei entusiasmado para utilizar o mesmo recurso no emacs, que com certeza não iria perder para o vim neste recurso.
Descobri que existe uma função lisp do emacs que faz isto, é a htmlize, que permite exportar um arquivo inteiro, um trecho do arquivo, vários arquivos entre outros. Para utilizar este recurso é simples: M-x htmlize (ALT + X e digite htmlize) aperte tab para ver todos os recursos disponíveis e selecione o recurso que deseja.
Um exemplo de trecho código de um controller do Ruby on Rails exportado com o tema Gray30 do emacs:
# PUT /comments/1 # PUT /comments/1.xml def update @comment = Comment.find(params[:id]) respond_to do |format| if @comment.update_attributes(params[:comment]) flash[:notice] = 'Comment was successfully updated.' format.html { redirect_to comment_url(@comment) } format.xml { headk } else format.html { render :action => "edit" } format.xml { render
ml => @comment.errors.to_xml } end end end
Esse código acima é um trecho de um controller gerado com o scaffold resource. Em breve vou dar dicas que estava guardando há dias para publicar aqui.