テーブルタグ一式をすばやく・ラクに入力するためのスニペットサンプル

テーブルタグの入力を高速でできるようにしたいと思い、アイデアを整理してまとめてみました。
Visual Studio CodeなどのコードエディタであればEmmetが使えますが、Emmet非対応のテキストエディタやブラウザ上でのことを考えると、やはりスニペットになります。
スニペットに関する考え方は過去に記事にしているのでそちらをご覧ください。
今回の記事では、スニペットアプリはDashを使うことを想定しています。
前提の考え方
ルールを決めて、全てのパターンを片っ端からスニペットに登録していくのは面倒ですし、1度も使わないスニペットが量産されてしまいます。
そこで、ルールはかなりしっかり決めますが、すべて登録はせずに使うタイミングになって「あ、まだこれ登録してないんだ」となったら登録します。
これを繰り返していくことで徐々によく使うテーブルタグの入力がラクになっていきます。
テーブルタグのルール
まず最初にテーブルタグであると分かるためにt(tableの頭文字)を接頭辞として入力するようにします。
そのあと、列数 → 行数の順に数字をx(エックス)区切りで入力します。これは乗算記号に見えるのと、キーボードの位置的にも押しやすいからです。
そして最後に接尾辞(自分の場合はセミコロン2つ;;)を入力します。
例として「t3x2;;」とすると下記のテーブルタグが入力されます。
<table>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</table>ExcelやGoogle Spreadsheetが、列(横の数)を選んでから行(縦の数)を選ぶので、同じように「列数×行数」に揃えました。
thに対応させる
このままだと<td>タグだけになってしまうので、<th>にも対応させたくなってきます。
数字を<th>の数と<td>の数でハイフン区切りにします。
例として「t1-2×2;;」の場合は列の方が最初の1つが<th>で2つ<td>となります。
<table>
<tr>
<th></th>
<td></td>
<td></td>
</tr>
<tr>
<th></th>
<td></td>
<td></td>
</tr>
</table>全部<th>にしたい場合は「3-0」のようにします。
theadとtbodyとtfootに対応させる
今度はtheadとtbodyにも対応させたくなりました。
括弧内にそれぞれ頭文字の「h(thead)」「b(tbody)」「f(tfoot)」を入力して区別できるようにします。
例として「t(h3-0x1)(b1-2×2)(f3x1)」とした場合は下記のようになります。
<table>
<thead>
<tr>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<th></th>
<td></td>
<td></td>
</tr>
<tr>
<th></th>
<td></td>
<td></td>
</tr>
</tbody>
<tfoot>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</tfoot>
</table>少し複雑になってきましたが、文字列を見てどんなテーブルが展開されるかはある程度分かります。
最初にも説明した通り、あらゆるパターンを作るというよりも、ルールだけきちんと整理しておいて、あとはそれに従ってよく使うものを登録して使います。
また、このレベルのテーブルであれば、入力して展開するよりもDashで検索して展開する方がラクです。
Dashで検索するときに、ルールに従って絞り込むと効率よく展開ができます。



1Passwordを便利に使うための小技や整理術!
Keyboard MaestroでGoogle Chromeのタブグループ化にショートカットキーを割り当てておく
Dropboxのスマートシンク機能でハードディスクの容量を消費せずにファイルの管理を行う
外部マウスを自由にカスタマイズできるステアーマウスで、マウスの細かい設定を行う
Googleカレンダーを便利に活用するための小技集(祝日だけを表示・月末の繰り返しイベントを追加)
Hazelで「ゴミ箱」の中身を空にする作業を自動化してしまう
Dashの環境設定やスニペットのバックアップ・同期方法
Keyboard Maestroでブックマークレットにショートカットキーを割り当てる方法
Path Finderでファイルのコピー・移動時に「._」から始まる不可視ファイルを一緒にコピーしないようにする
Macで快適なFTPクライアントを探しているなら「Transmit 5」がオススメ
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
mac環境にnodebrew経由でNode.jsをインストールしてバージョンを管理する方法
Backlogをショートカットキーで操作する方法
IllustratorとPhotoshopとXDのツール系のショートカットキーを統一させる
Apple WatchでiPhoneやMacのロック解除を行う方法
Visual Studio CodeでSVGをプレビューする拡張機能「SVG Preview」
Googleアナリティクスのタグが二重で設定されていないか見分ける方法
UlyssesでシートをDropboxやGoogle Driveなどの外部フォルダ上で管理する
HyperSwitchをインストールしておくと「隠す(command + M)」で隠したウインドウもすぐ開けるようになる
Facebookでシェアした記事の画像反映ができていない時の修正方法
Sketchのレイヤー周りの基本操作|グループ化やマスク、オブジェクトのロックや表示切り替えなどのレイヤーでできること