プログラマ行進曲第二章

主にソフトウェア関連の技術をネタにした記事を執筆するためのブログ

reStructuredTextをプレビューできるST2プラグインRstPreviewの紹介と、それにPull Requestした(人生初)という話し

タイトルでだいたい伝えたいことは言ってるんですけど、一応順を追って紹介します。

この記事で伝えたいことの要約

どうせ長くなるので、結論だけ知りたい人は以下の要約読めばあとは読まなくても大丈夫だと思いますよ。

  • みんな大好き(?)Sublime Text 2のプラグインの中に、reStucturedTextをプレビューできるRstPreviewっていうプラグインを見つけた。
  • d0ugal/RstPreview · GitHub <--- これがそのプラグイン
  • でも使ってみたら組み込みのPython(しかも2.6)にdocutilsを入れないと機能しないプラグインだった。
  • 普段使わないPython2.6に余計なモジュールを入れたくなかったので、他のプラグイン(sublime-text-shebangとかSublimeREPL)をパクって参考にして中身を書き換えて、virtualenvなどに入れたdocutilsでも使えるようにしてみた。
  • どうせならPull Requestして取り込んでもらいたいなー、なんて思ったのでPull Requestしたら採用してもらえた(!!)
  • Pull Requestしたのも初ならば採用されたのも初なので嬉しかった*1
  • 使いたい人は以下のように設定ファイルを"RstPreview.sublime-settings"という名前で作り、site_packages_pathの値をdocutilsが入っている場所の"絶対パス"(←ここ重要)にして、設定ファイルが入っているフォルダ*2に入れれば機能するよ。2013年1月14日現在、まだREADMEにこのことが反映されてないので書きました。
{
    // Where to look for python site-packages directory.
    // Use absolute path, not relative path.
    // For example, "/Users/foo/.virtualenvs/env/lib/python2.x/site-packages".
    "site_packages_path": "/Users/taku/.virtualenvs/site-packages"
}

…コレ書いたらもう後書くことなくなってしまった感がある。

人生で初めてPull Requestしてみた後に思ったこと

RstPreviewの使い方をこれから書こうとか思ってたけど、上の要約とRstPreviewのREADMEを読んでもらえれば用が足りてしまうということに気づいてしまったので、適当な人生初Pull Requestの感想でも書くことにします。

長文書けないからごまかしている、というわけではありません、ええ。

もともとのモジュールがある場所がgithubだったわけで、必然的にgitを使うしか無かったわけですが、そこで以下のような問題が発生したわけです。

  • 普段Mercurialを使っているので、Gitの基本的なコマンドすら知らなかった->まずコマンドと概念の違いを押さえるところから躓いていた。
  • そこを何とかクリアしても次に立ちはだかったのは「どうやってPull Requestを送るのか?」というところ。やり方すら知らなかった。
  • しょうがないから以前偶然買った書籍に載っていたGithub特集を読みながら進めた。

WEB+DB PRESS Vol.69

WEB+DB PRESS Vol.69

  • 作者: 大塚弘記,渡辺修司,堤智代,森田創,中島聡,A-Listers,はまちや2,川添貴生,井上誠一郎,近藤宇智朗,ヒノケン,後藤秀宣,佐藤鉄平,mala,奥野幹也,伊藤智章,WEB+DB PRESS編集部
  • 出版社/メーカー: 技術評論社
  • 発売日: 2012/06/23
  • メディア: 大型本
  • 購入: 12人 クリック: 131回
  • この商品を含むブログ (17件) を見る

これを買ってなかったら今でもPull Request送らずにいたかもしれません。

とはいえ、GitどころかDVCS自体あまり使いこなしていない影響か、Pull Requestを送るようにするために下準備するところから時間がかかってちょっと面倒だったなあ、という感じです。

でも、実際に自分の書いたコードがほぼ採用されていたのは嬉しかったですね。他のプラグインをパクリ参考にしましたけどね。

次も時間を作ってPull Request送ろうかな、と思うようにはなりました。最初の一歩を踏めるかどうかって大きいですね、本当に。

*1:まあ、書いたのはほんの数行だったわけですが。

*2:Macの場合なら"~/Library/Application Support/Sublime Text 2/Packages/User/"にあるはず。他は知らない。