Vimで楽にBlogを書く

このブログはMarkdownGithubにpushすることで公開になる。
流れとしては

  • terminal開く
  • cd $HOME/Github/blog
  • vim開く
  • e strftime("md/%Y%m%d%H%M.md")
  • ブログヘッダーをyamlでtitle,date,categoryを書く
  • 中身書く
  • 保存してvim閉じる
  • git add && git commit && git push

この一連をVimrcにまとめたのが以下。楽になりました。

" Blog 
command! BlogNew call BlogNew()
augroup Blog
  autocmd!
  autocmd BufWritePost $HOME/Github/blog/md/*.md call BlogUpload()
augroup END

function BlogNew()
  let l:dir = $HOME . "\\Github\\blog"
  let l:file = strftime("md\\%Y_%m_%d_%H_%M.md")
  let l:header = "---\ndate: " . strftime("%Y/%m/%d %H:%M") . "\ntitle: \ncategory: \n---\n"
  execute "cd " . l:dir
  execute "e " . l:file
  execute ":normal i" . l:header
endfunction

function BlogUpload()
  let l:cmd = "git add md/*.md && git commit -m 'new md' && git push"
  echo system(l:cmd)
endfunction