2009/08/05

ViでTextmate風のsnippet入力を可能にするsnippetsEmu

Teximateにはif TABと入力するだけでif分の雛形が複数行に渡って入力されるsnippetとよばれる仕掛けがあるんだけど,snippetsEmuはそれをviで可能にしたもの.

snippetsEmu

インストール

1. ~/.vim/after/ftplugin を作る.
2. snippy_plugin.vba と snippy_bundles.vba をダウンロード.
3. vimball (.vba)をvimで開いて,それぞれ :source % を実行.
4. ~/.vimrc に filetype plugin on

使い方

トリガーとなるキーワードの続けてTABでsnippetが展開される.何が展開されるかはafter/ftpluginのファイルを参照.

Cの場合は,inc, Inc, namespace, once, main, class, struct, template, if, for, do, beginend, readfile, printf, vector, mapが定義されている.

whileないね.などというときはftpluginにc_snippet_my.vimなどのファイルを作って追加すればいい.そもそも,snippetがBSD styleなので手をいれないと.

2009/06/23

First Look: Object Oriented CSS

First Look: Object Oriented CSS

Object Oriented CSSを提案.

location-based selectorを使わず,あくまでattributeとしてstyleを指定することで,どの部分を取り出して,他のところに持っていっても同じレンダリング結果が得られる.(カプセル化)

body.onsale .sidebar {
background-color: #FFA500;
}

とするのではなく,
.onsalesidebar {
/* extends .sidebar */
background-color: #FFA500;
}


あるスタイルを元にするときは新たなスタイルを作るのではなく,extendsして再利用.もちろん,実際にextendsがあるわけではないので,HTMLの中で親から順に指定する必要がある.(継承)

メリットとしては,パフォーマンスの向上があるということ.CSSは小さくなり,HTMLは大きくなるが,CSSのロードが終わらないとレンダリングができないのに対して,HTMLはincrementallyにレンダリングが可能なことと(レイテンシーの向上),CSSセレクターの負担が小さくなりレンダリング速度が向上する(スループットの向上).

また,デザインとHTMLの構造が分離されているため,チームでの作業に向いている.

2009/06/19

Hello world!

#include <stdio.h>

int main(void){
printf("Hello world!\n");
return 0;
}