暇人じゃない

Middleman の Frontmatter を生成する 1Writer アクションを作った

Backspace.fm に影響されて、最近 1Writer でブログの下書きをしていたりする。 1Writer は JavaScript でアクションを書くことでエディタを拡張できる。色々と便利なアクションが Action Directory に用意されている。

Middleman のブログ機能で使用する Frontmatter を生成するアクションを書いた。

アクションを実行すると、以下のような Frontmatter が生成されて、ファイルの先頭に挿入される。

---
title: こんにちは.md
date: 2015-10-30
tags:
---

以下がスクリプト:

var fileName = editor.getFileName();
var text     = editor.getText();

var now  = new Date();
var yyyy = now.getFullYear();
var mm   = ("0" + (now.getMonth() + 1)).slice(-2);
var dd   = ("0" + now.getDate()).slice(-2);

var meta = "---\n";
meta += "title: " + fileName + "\n";
meta += "date: "  + yyyy + "-" + mm + "-" + dd + "\n";
meta += "tags: \n";
meta += "---\n";

editor.setText(meta + text);

見ての通りタイトルにファイル名がそのまま入っている。

本来であればファイル名をパースして、日付があれば取り出して、拡張子を削除できると良いな、と 思っていたのだが、昼休みなのでとりあえずリリースということで。気が向いたら作りこんでいこうと思う。

1Writer の JavaScript ドキュメントが用意されているので参照した。 HTTP リクエストを送ったりできるので夢が広がりそう。