|
| |||
|
|
Генерация цветовой подсветки синтаксиса для LJ ..как известно, vim умеет генерить HTML-код для цветовой подсветки синтаксиса таким образом, что на итоговой страничке он выглядит так же, как в окне редактора. Всё бы хорошо, да вот незадача -- цвет фона и дефолтный цвет шрифа забиваются в атрибуты тэга <body>, и при копировании данного куска кода в LJ-пост эти цвета пропадают, что приводит порой к довольно неудобоваримым последствиям, если цвет фона редактора и цвет фона журнала не совпадают. Предлагаю небольшую функцию, которая решает данную проблему.
Теперь выделяете нужный кусок кода, и набираете :MyToHtml Ну, если ничего не выделить, то сгенерится страничка для всего буфера, само собой ;-/ ..а вот тот же кусок кода, сгенерённый TOhtml без всякой дополнительной обработки, для сравнения:
fun! MyToHtml(line1, line2)
exec a:line1.','.a:line2.'TOhtml'
%g/<body/normal k$dgg
%s/<body\s*\(bgcolor="\#[a-f0-9]\{6\}"\)\s*text=\("\#[a-f0-9]\{6\}"\)\s*>/<table><tr><td \1><font color=\2>/
%s#</body>\(.\|\n\)*</html>#</font></td></tr></table>#i
endf
command -range=% MyToHtml :call MyToHtml(<line1>,<line2>)
я думаю, разница налицо ;-/ |
|||||||||||||||