Vim script で html2slim のラッパー

さて、html ファイルから slim ファイルへ変換したい場合、gem の html2slim が利用できます。

$ gem install html2slim
$ html2slim input.html output.slim


こんな感じで変換元の html ファイルと変換後の slim ファイルを指定します。

[Vim script でテキストを直接変換させる]

Vim script で扱う場合、ファイルを指定する方式だとちょっと使いづらいので、簡単なラッパーを書いてみた。

" Html2Slim({slim})
" => {html}
function! Html2Slim(html)
    if !executable("html2slim")
        return ""
    endif
    let input  = tempname()
    call writefile(split(a:html, "\n"), input)
    let output = tempname()
    call system(printf("html2slim %s %s", input, output)
    return join(readfile(output), "\n")
endfunction


これで生テキストを扱いやすくなった。