電気羊の執務室

魔法を作る仕事をしています。

VimSketchUpをリリースしました

VimでSketchUpのRubyスクリプトを書きたい方に朗報です。 VimでSketchUpRubyを実行できるプラグインをリリースしました。

動作のイメージ

例えば、スクリプトで三角形を描いてみます。 初めに、SketchUpを起動します。 これが初期画面。ちなみに、女の子の名前はサンちゃんです。

SketchUpの初期画面

何もないところに、Rubyスクリプトで三角形を描きます。 まず、VimでSketchUp用のスクリプトを書きます。

VimでRubyスクリプトを書いたところ

そして、”¥sur”とキーボードで入力すると、 SketchUpの画面に変化が起きます。

三角形が出たところ

三角形が描けました。

GitHubに登録しました

このスクリプトを、GitHubに登録しました。 リポジトリはここです

これから

インストールの仕方、初期設定など、 使い方に関する記事を書きます。

VimでSketchUpRubyが書けるようになったからには、 補完の支援を受けたり、SketchUpAPIのヘルプをローカルで 見たりできるようになりたいです。

Rubyの補完は弱いので限界はあるのですが、 現在はdictファイルを使って、補完に挑戦しています。

感想

前々から作りたいと言っていたプラグインです。 やっと完成を見ることができました。 長かったです。

相変わらず、VimScriptもSketchUpAPIも手探りですが、 困るのに慣れてきました。

MacでSketchUpのRubyスクリプトを自動実行

以前に書いていた、GoogleSketchUpのコードをVimから書けるプラグインを書いています。

Windowsでは、Bridgeという神アプリで、Eclipse上から SketchUpを操作する事ができますが、macには対応しません。

AppleScriptでなんとかしてみた

そこで、macで実行中のSketchUpでRubyコードを実行できる AppleScriptを書きました。

これをVimから実行することで、Vimで書いているRubyスクリプトを、 SketchUp上で実行する事ができるはずです。

Bridgeと比べると格段にしょぼい作りですが、 今までの面倒に比べれば天と地の差です。

現状

とりあえず、SketchUpが最前面に出て、Rubyコンソールが開き、 クリップボードの文字列をペーストするだけです。

Vim側はまだありません。

次のアクション

Vim側で、バッファの全文字列を取得する処理+ このAppleScriptを呼び出す処理を書けば、 うまくいくかも知れません。

SketchUpスクリプトファイルのフォルダは込み入ったパスにあるので、 新規作成機能も欲しいです。

glidenoteさんのOctoEditorをForkして作ってみようかな・・・ と考えています。

ソース

Three.jsを試してみた

krayさんのサイトを丸写しで、Three.jsを試してみました。 うまくいったので、お礼かたがた書いてみます。

うまくいったこと

いくつか、これは助かったなぁと思う事を書いてみます。

Three.jsの扱い

まずソースをCloneして、さてどう使うんだろうと考えちゃいました。 そうだReadMeを見よう、という事で見てみると、minimize版をHTMLヘッダーで参照すればいいとのこと。

![3Dの立方体がぐりぐり動く][sampleImage]

なるほど。 チュートリアルやwikiも充実してるようなので、しばらく入り浸ってみたいです。

FireFoxのいいところ

とくに他のブラウザと比較しての話ではないです。 cmd-uでソースの表示。そこからリンクを辿ってスクリプトなど見れるので、追いかけやすいなぁと。 強いて言えば、ソースにシンタックスハイライトしてくれれば最高です。

あと、3DでDOMツリーが見れるのが面白いです。

うまくいかなかったこと

逆に、これはまだよくわかってないぞ、という部分について。

javascriptの補完

neocomplcacheがないVimは使いません。というくらい、オイラは補完が好きです。 補完がないとコードが書きたくないです。 で、javascriptのシンタックスや、Three.js内のメソッド名など、持ってきてほしいものがいくつかありました。

あとでneocomplcacheのヘルプをよく読んでみます。

SketchUpとThree.jsの連携

SketchUpでモデリングして、Webサイトに載せてぐりぐり動かす、とかできると最高です。

SketchUpはWindows版だとBridgeというライブラリでEclipseからスクリプトが実行できるのですが、いかんせんmacではBridgeが通用せず。 まだレベルが足りなくて、Bridgeを移植しようにも、どう手をつけていいのかわかりません。

VimからSketchUpのRubyコンソールのウィンドウハンドルを取って、文字を入力してExecuteScriptコマンドを流せばいいはずです。

でもどうすればそれができるか分かりません。 ざんねん。 いつかは!

(2012/12/24 追記) できました。 次の記事を参照してください。

http://blog.satrex.jp/blog/2012/06/04/vimsketchup/

はてブが表示されないなぁ

T.I.Dさんの記事を見ながら、
このブログにはてブボタンを設置しようとしています。

ブックマークされる事は書けないかも知れませんが、何事も勉強です。

どううまく行かないか

はてブボタンの領域は確保してありそうなのですが、表示がうまくいっていないようです。

はてブボタンがある??

やったこと

記事をもとに、あれこれとテンプレートを変更しました。 本当は一部始終を書かないといけないのですが、面倒で書けません。

Sharing.htmlの中身

後でじっくりやります。 いまは嫁にホットケーキを焼いてあげないと・・・

参考資料

Octopressにはてブボタンを設置する - T.I.D.

Test

she aaaaaep2

Bitbucketへ引っ越してみた

ブログのリポジトリを、githubからbitbucketへ移してみました。 だんだんGitの使い方に習熟してきたので、楽になってきました。

下書きモード

octopressの取り扱いに慣れるため、published=falseの下書きモードを使ってみています。 記事のヘッダーのpublished:をfalseに設定することで、その記事は下書きとなります。 ローカルでプレビューすることができるのはpublish:trueの時と同じですが、リポジトリにpushしても非公開になっているところが違います。

使い道について考えてみた

ローカルのプレビューができれば、下書きモードのpushはあまり恩恵がないような気がしますが・・・ どんな時に便利なんでしょうか。

タイマーで予約投稿ができれば便利な気がします。

その後

結局、bitbucketは記事のソースだけを管理することにし、 記事はgithub pagesを使う事にしました。

理由は、bitbucketはCNAMEが有料オプションだからです。 画像はSkitchに置くことにし、Skitchから効率よくMarkdownに書けるように 工夫します。

Customized

layout: post title: “ちょっと変更” published: false date: 2012-05-07 21:29 comments: true tags:

categories:

試しに非公開設定でPushしてみる

昨日から、Github から BitBucketにリポジトリを移しました。 これから、ブログのSourceやらMacの/etcやらを、非公開リポジトリとして使ってゆく予定です。

これからやりたいこと

ブログのデザインが終わったので、これからやりたいことを整理します。 まず、[前回のTODOリスト][prev_todo]を確認します。

  1. ブログのデザインを変更する

    • トップページの画像を作る → 完了
    • スタイル(sass)を設定する → 完了
    • はてブとか入れる → 未完
  2. Skitchの画像管理を楽にする

    • Skitchで編集した画像が、Octopress配下にコピーされる仕組みを構築する → やめた
  3. LokkaでCSSとjavascriptの勉強をする → 未着手

    • よくColissとかに載ってるサンプルを、実際に書いてみたい

ふりかえり

ブログのデザイン

整理してみたら、ブログのデザインは終わってなかった事が分かりました。 僕は阿呆ですね。

はてブボタンやら、ブックマーク数が表示される仕組みを入れるつもりでした。

Skitchの画像管理について

まず、Octopressフォルダ内で画像を管理するのを一旦やめ、Skitchのサイトにアップロードしてます。
GitHubの無料アカウント容量が300MBしかないので、画像の管理に向きません。

GitHubからBitBucketにリポジトリを変える事を検討します。 最終的には、最速でブログが書ける環境になれればいいです。

いま考えていること

画像管理の方法

Octopressフォルダ内のsource/images配下で画像が管理できれば、次のような事ができるのかも知れません。

  • 新しい記事を生成する時、当日のimagesフォルダの中身を、記事の末尾に自動記述する。

これを実現するのには、OctoEditorをカスタマイズする必要がありそうです。

Skitchから画像を保存する手順を高速化する必要があります。画像をローカルで管理する場合、検討したいのは、次のような作戦です。

  • Skitchから最速でエクスポートできるよう、当日の画像フォルダは自動的に作る。
  • 前日までの画像フォルダで、空のものは自動的に削除する。

画像をローカルで管理するには、無料で容量無制限のBitBucketが必須です。 いまは二の足を踏んでますが、BitBucketをちょっと使ってみます。

Gistを使ってみる

よく見かける、行番号の入ったかっこいいコード、あれはGistで実現するのだという事は、知識として知っています。

これからは、自分もGistを使ってコードをかっこよく載せたいものです。

新しいTODO

  1. ブログのデザインを変更する

    • はてブとか入れる
  2. Skitchの画像管理を楽にする

    • BitBucketを使ってみる
    • 当日の画像フォルダ自動生成
    • 当日の画像を記事に自動挿入
  3. LokkaでCSSとjavascriptの勉強をする → 当面保留

    • よくColissとかに載ってるサンプルを、実際に書いてみたい

デザイン変えてみた

連休のまとまった時間を利用して、Octopressの勉強がてら、スタイルの設定をがっつりやってみました。 デフォルトのClassicテーマから、GlideNote風のデザインへ。

たぶん、細かい書式を使うとレイアウトが崩れると思うので、これから少しずつブラッシュアップしていければよいでしょう。

感謝を込めて

かなりの部分を参考にさせて頂いたGlideNoteさんに、感謝の意を表します。好き過ぎてパクっちゃいました★

そもそもOctopress、zshなど、GlideNoteさんの記事を読んでは、もろもろパクり倒してます。 本当にありがとうございます。

Vimの設定見直し中

vimの設定を見直しています。 最近zshを使うようになって、gvimのコマンドラインに不便を感じるので、 コマンドラインから起動するモードでも便利にやれたらいいなぁと思っています。

今の設定で行くと、いろいろと超えないといけない壁がある感じです。

NeoComplCacheが使えない

最大の問題は、NeoComplCacheがコマンドラインからは使えないこと。
rbファイルやHTMLファイルを編集しようとすると、 ファイルを開いた時か保存した時のどちらかに、猛烈な勢いでエラーを吐きまくります(詳細は画像参照)。

もう一点重大な問題として、日本語入力などの設定が、コマンドラインからのVimでは不便すぎます。

  • IMEが全ての入力に優先している。
    Vimのモード切替などは、日本語入力中でも、半角で受け付けてくれないと不便です。
  • Insertモードにすると、カーソルキーでカーソルが移動できない(A〜Dの入力で代替される)。 set nocompatibleと, imap ^[OA を試した結果、改善されないので諦めました。

基本はGvimを立ち上げるが吉、で当面やってみようかと思います。 むしろGvimのコマンドラインがzshになってくれたら文句ないんですが、 Vimのコマンドでlessを使うたびに、『ターミナルの全機能が使えるなんて思うなよ』と言われてしまうので、 半ば諦めています。おわり。

エラーメッセージの画像

tmux-114×44
tmux-114×44-1-3
tmux-114×44-3