11 - 車輪はどうして回るのか
そうやって一口にMacというがね、ボクが好きなのはボクのMacだけなんだ。ひとのMacは大きらいだ。 ―― 筒井康隆こと夏目先生
momentで時刻をファイル名にする
「私はAnninをメモ帳代わりに使おうかなとも思ってたんだけど、保存するときにいちいち名前をつけるのは面倒なので、保存したときの時刻をそのままファイル名にしちゃうことにした」
『何時何分とかがファイル名になるってことですか?』
「そうそう。それで moment を使ったんだけど、このライブラリの何がすごいかというとまずホームページのデザインがすごい。ちょっと見て」
『はい。えーと…時計がありますね』
「momentがどういうものか一瞬でわかるでしょ」
『え?…あ、時計のソフトってことですか?』
「そう。momentは時間に関わるライブラリで、momentを使えばこれが簡単に作れますよっていう無言のアピールができてるわけ。しかもそれで興味持った人が下にスクロールしていくと書式の説明があるんだけど、実はこれもmoment使ってできた時計」
『あ、ほんとだ。数字が動いてます』
「カレンダーもmoment使って全部その場で作ってる。自動で」
『ほんとだ、何年前とか。すごいですねこれ』
「すごいでしょ。そんなわけで、すごいmomentを使ってファイル名を時刻にしました」
import moment from 'moment';
...
methods: {
save: function () {
var blob = new Blob([ this.value ], {'type': 'text/plain'});
let link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
link.download = moment(new Date).format('YYYY-MM-DD ddd HH-mm-ss') + '.md';
link.click();
window.URL.revokeObjectURL(link);
}
},
「これでセーブしたときの時刻がそのままファイル名になる」
『なんかどんどん機能が増えてますね。かっこいい』
「うん。ただちょっと心残りなのは起動時間が1秒を超えちゃったこと」
『え、1秒って十分速い気がしますけど。前はどれくらいだったんですか?』
「0.9秒くらいだったかな?というかmavonEditorが多機能なのにとんでもなく速い。だから『1秒未満で起動するWebエディタ』って宣伝文句にしようとしてたのに。でもできなくなっちゃった」
『うーん、そんなに気にしなくていいと思いますけど…』
「すごく悲しい」
『あ!ほら、お湯が沸きましたよ!ささ!お茶入れましょ!』
他のソフトウェアに助けてもらう
「実はほとんどのオンラインエディタは文字の置き換えができない」
『どういうことですか?』
「文章の単語を置き換えたくてもできない」
『え、えーと、単語を置き換えるとは…何でしょうか』
「たとえば文章でシュミレータって単語を10回使ってたとして、それをシミュレータに修正したかったら1個1個手作業でやらなきゃいけない」
『それ不便じゃないですか。Anninはできるんですか?』
「できません。だから拡張機能で解決します (Find & Replace for Text Editing)」
『これで置き換えができるんですね』
「うん。 Ctrl + Shift + F
で」
「AnninはDropboxとかのクラウドストレージと連携ができない」
『ドロップボックス?』
「ごらんください。これが世間の認識なのです。おお嘆かわしい」
『え?え?あの、すみません、それ、知ってなきゃダメなことなんですか?』
「わからない…けど、ないとしんじゃう人もたくさんいる」
『しんじゃうって、ペースメーカーみたいなものでしょうか…』
「おほー」
『ちょっと、からかわないで教えてくださいよ』
「それじゃあAnninでファイルの保存先をGoogle Driveにしたいんだけどどうすればいいかな?」
『おまかせを!Googleドライブはいろいろなファイルを保存できる便利なサービスで、Chromebookでは標準でファイルアプリに統合されています。まず検索キーを押してください。次に検索フォームに『設定』と入力すると歯車のようなマークが出てきますので、それをクリックして…』
「…」
「Anninをメモ代わりに使ってるとファイルがたくさん溜まってきて管理が面倒になると思う」
『そうですね…』
「でもAnninが出力するのはただのテキストファイルなのでシェルでひとまとめにできます」
$ find *.md | sort -n | while read f; do basename "**** $f" .md | sed '{s/-/:/3}' | rev | cut -c 4- | rev; printf '\n'; cat "$f"; printf '\n\n'; done >> ../annin.org
『…ぅぇ〜』
「たとえばこれは私が使ってる org-capture のテンプレートと互換性を持たせたものなので、そのままEmacsのorgファイルにコピペすれば使える、かもしれない」
『…』
「あといちいちブラウザで起動するのは面倒だから、Chromebookのシェルフにショートカットを登録しちゃおう。やり方を教えてくれる?」
『…。…? …!!はい!おまかせを!ショートカットを登録したいページを開いたら、右上の ⋮
を押して、『その他のツール』→『ショートカットを作成』で作成されますよ。もし、ひとつのアプリケーションとして使いたいなら、『ウィンドウを作成』にチェックを…』
車輪がどうして動くのか、わからないから作ってみる
「私がエディタを作ろうと思った理由なんだけど、ちょっとウザい話していいかな」
『ウザい話…ですか。何でしょう』
「不満ばかり言う私が大嫌いだった」
『そうなんですか…。あの…言っていいですか』
「なに?」
『ぼくも…怖かった、です。怒ってるときのあなた』
「やっぱり…」
『でもAnninを作ってるときのあなたは、怒った顔しててもすごく楽しそうでした』
「でしょー。それはね、自分には力があるって錯覚できるからだよ」
『錯覚ですか。うーん、そんなことはないと思いますけど』
「錯覚。私のエディタなんて、はたからみればただの車輪の再発明だよ」
『そうなんですか』
「でも私は車輪がどうやって動くのか前は知らなくて、今は少しわかって、それで回るときのガタつきを少し自分で直せた。すごくうれしかった。自分には直せる力があるんだって思えた」
『それが楽しかったんですね』
「うん。それに、人は自分が作ったものが好き (イケア効果) だから、足りないところがあっても平気に思える」
『それなら、全部作っちゃいましょう!そうすれば、ずっとあなたがニコニコするのを見られますから』
「うおー、なんか嬉しいこと言ってくれてるけどめちゃくちゃな注文だー」
-- 了 --
(c) 2019 jamcha (jamcha.aa@gmail.com).