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 リクエストを送ったりできるので夢が広がりそう。