2008/01/31


vim.orgを物色してたら
Vimpress : Manage wordpress blog posts from Vim
というvimからWordPressに記事投稿出来るスクリプトを発見。まぁ、だいたい中身も想像出来ましたが物は試しと随分前にアカウントを取ってて全然使ってないWordPress.comのサイトにポストしてみました。 で、予定通りマルチバイトで文字化けしたので、改造してみました。
基本的な修正は文字コード周りですが、カテゴリの取得方法をMTからmetaWeblogに変えて、BXR: Blosxom XML-RPC Interfaceにも対応してみました。
ただここへのポストはまだ試してないです。苦笑
オリジナルがGPL2ライセンスでしたので、今回はpatchで配布します。
ダウンロード:
どうぞ、楽しいWordPress(+vim)ライフをお楽しみ下さい。

追記
使い方はblog.vimの中で宣言しているblog_usernameとblog_passwordを設定し、blog_urlにXMLRPCのエンドポイントを設定します。
あとは :BlogList でリスト取得(ENTERで開く) :BlogNew で新規ブログ、その状態から :BlogSend で投稿です。(リストからENTERで開いた場合は更新です)
Posted at by




まきこみ計画のcozymaxさんに、「blosxom bookmarks plugin」を紹介頂きました。
【Blosxom】bookmarksプラグインを導入

いやぁ我ながら「適当クオリティ」とは恐いものです。コラ
どんどん修正して良い物にしてあげてください。
そしてフィードバックだけはお忘れなく。コラ

御指摘は、ありがたく頂き、速攻でbookmarksプラグインを修正致します。
普段もコマンドプロンプトで生きている程un*x生活が浸透してしまっているので、GUIなftpツールでダウンロードして、修正してアップして...なんて事しませんよ。
vimmerならば、リモート直編集っす。

:e ftp://user@server/path/to/file/file.txt
Enter Password:

ちなみにvim、ftp以外にもscp、http、webdav、rsync、sftp等が使えます。ファイルへのパスが仮想でない分、webdav(URLはdav://)なんか、かなり便利です。
工夫すればsmbclient使って「smb://」にも対応出来るんじゃないですかね。

しかしながら最近、vimのオフィシャルへは一つもパッチを送っていないというありさま。 かろうじてチュートリアルの翻訳を進めているくらいです。
:help mbyte
で出てくるメアドも既に使えません。

シャキっとします。シャキっと。はい。
Posted at by




意外と便利なvimscript、なんとなく今日は底に眠ってそうで実は便利なスクリプトをご紹介。
vimで翻訳出来たら便利かな?なんて思ったりしませんか?
出来ます。

香り屋testdirというフォルダに、excitetranslate.vimというファイルがあります。
これを取ってきて、pluginsディレクトリに放り込むだけ。
ただし作られてから結構古く、exciteのURLも変更されていますので、以下のパッチを当てる必要があります。

*** excitetranslate.vim.orig    Mon Jul 23 16:30:34 2007
--- excitetranslate.vim Mon Jul 23 16:28:52 2007
***************
*** 4,16 ****
  "
  " Maintainer: MURAOKA Taro <koron@tka.att.ne.jp>
  " Author: Yasuhiro Matsumoto <mattn_jp@hotmail.com>
! " Last Change:25-Dec-2021.
  
  if !exists('g:excitetranslate_options')
    let g:excitetranslate_options = 'register,buffer'
  endif
  
! let s:excite_web = 'http://www.excite.co.jp/world/text/'
  
  function! s:CheckEorJ(word)
    let all = strlen(a:word)
--- 4,16 ----
  "
  " Maintainer: MURAOKA Taro <koron@tka.att.ne.jp>
  " Author: Yasuhiro Matsumoto <mattn_jp@hotmail.com>
! " Last Change:25-Dec-2021.
  
  if !exists('g:excitetranslate_options')
    let g:excitetranslate_options = 'register,buffer'
  endif
  
! let s:excite_web = 'http://www.excite.co.jp/world/english/'
  
  function! s:CheckEorJ(word)
    let all = strlen(a:word)
***************
*** 38,43 ****
--- 38,44 ----
    silent! %v/^<textarea /d _
    silent! %v/name="after"/d _
    silent! %s/<[^>]*>//g
+   silent! %s/\r//g
    let line = getline(1)
    silent bw!
    " Remove temporary files
注意)本プラグインを動作させる為には、「Chalice」に含まれる「aliceライブラリ」が必要です。「aliceライブラリ」の最新版は、svnリポジトリから取得出来ます。

あとは、vimのバッファで「This is a pen!」と70年代生まれ小学校1年生レベルの英語を打ち込み :ExciteTranslate とすれば これはペンです! と70年代生まれ小学校2年生レベルの答えが返ってきます。
またexcitetranslate.vimは、内部が英語ぽいか日本語ぽいかで逆の動作もしますので「魔女の宅急便」を訳すと Kiki's Delivery Service と戸田奈津子並みの答えが返ってきます。
Posted at by