【VimRepress】Markdownで書いてWordpress投稿したい!(MacVim)

最近、MacでVim(MacVim)を使い始めた者です。
WordPressのブログをVimで書きたいなあと思い調べていたところ、VimRepressというプラグインがあったので使ってみることにしました。

特徴

  • 投稿済みのブロクの過去記事の閲覧ができる
  • Vimから直接投稿できる(下書きも)
  • Markdownで書ける
  • プレビューができる

インストール

私はNeoBundleでVimプラグインの管理をしているので、.vimrcに下記の様に書いて、:NeoBundleInstallをしてインストールしました。

NeoBundle 'pentie/VimRepress'

あとWordPressのログインなどの設定は、ホームディレクトリに.vimpressrcを書くとできるようなんですが、私の環境ではうまく読み込めなかったので、.vimrcVIMPRESSを設定しました。

let VIMPRESS = [{'username':'xxxxxxxx', 
        \'password':'xxxxxxxxxx', 
        \'blog_url':'http://xxxxxxxxxx/wordpress/xmlrpc.php'
        \}] 

試してみた!

EdittypeでMarkdownHtmlの選択ができるのですが、まずはデフォルトのMarkdownで実行してみると、

  • :BlogList(投稿済みのブログのリストを取得する) :OK
  • :BlogNew(新規ブログ作成) :OK

でしたが、

  • :BlogPreview(プレビュー) :NG
  • :BlogSave(投稿) :NG

と、プレビューと投稿ができませんでした。EditTypeをMarkdown→Htmlに変えて試してみると

  • :BlogPreview :OK
  • :BlogSave :OK

どうやら、Markdown関連がダメなようです…

Markdownへの変換はPythonを使っている

VimRepressがMarkdown→HTML変換するパーサは、Pythonのを使っているようです。
ネットで調べると、markdownmarkdown2と2種類あるようなのですが、vimrepress.pyを見ると、はじめにmarkdownをimportしにいって、見つからなかったらmarkdown2をmarkdownとしてimportするので、どちらを使ってもいいみたいです。
私はpipを使って、インストールしました。

$ pip install markdown

pipでインストールしたものは、

$ pip freeze
Markdown==2.3.1
fontforge==1.0
markdown2==2.1.0
wsgiref==0.1.2 

で確認できます。私はうまくいかない時に試行錯誤して、markdownとmarkdown2の両方入っちゃってますね…

これでうまくいくかなと、再度EditTypeをMarkdownにして、:BlogPreviewと:BlogSaveを試してみましたが、うまく動きません…

python-markdownが入ってないみたいですよと言われる…

いやいや、$ pip freezeでちゃんと入ってるの確認しましたけど、どういうことなんです?
あれやこれやと調べてみたところ、MacVimがMarkdown(もしくMarkdown2)のある場所が分からなかったからでした。
こちらを参考にしました

コマンドラインモードで以下のようにすると、VimPythonのパスを教えることができます。 こちらを参考にしました

:python sys.path.append('/usr/local/lib/python2.7/site-packages')  
:python import markdown  

とすることで、Markdownでも:BlogPreview:BlogSaveができました(^^)

どうやら、Vimのコンパイル時にこのパスが決まってしまうようです。使用するpythonを指定して再コンパイルすれば良さそうなのですが、パスを指定するためにバイナリを変えるのも正しくないような気がするので、.vimrcに以下を追記して設定することにしました。

python sys.path.append('/usr/local/lib/python2.7/site-packages')  
python import markdown  

これでようやくVimWordPressする環境が整いました!
ただ、.vimrcにWordPressのログイン情報が書かれてるのはしっくりこないので、どうにかしたいんだけどなあ…