JavaScriptを有効にしてください

1Writerでfrontmatterを挿入する方法

[[Obsidian]]や[[Hugo]]をiPhoneで書く際に[[1Writer]]を利用しているのだか、front matterまで書くのはめんどうなので、テンプレートを使用したい。

とはいえ1Writerにテンプレート機能はない。

ではどうするか。

ノートの複製

まず考えられる方法として挙げられるのは、front matterのテンプレート用のノートを作成しておいて、そのノートを複製する方法だ。

この方法は一番かんたんだ。

ObsidianのフォルダをDropboxやiCloudで同期していれば1WriterでiPhoneとも同期できるので、Obsidianで指定したテンプレートフォルダに保存してあるノートを複製して1Writerで描き始めればいい。

ノートメニューで複製する際に誤って削除してしまいがちなのと、関数を多用している際にその編集がめんどうなこと以外はこの方法がかんたんだろう。

1Writerアクションを利用する

次に考えられる方法としては1Writerアクションを利用する方法だ。
1WriterアクションはJavaScriptでかかれたプログラム。

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 += "description: "
meta += "date: " + yyyy + "-" + mm + "-" + dd + "\n"
meta += "tags: \n- \n"
meta += "---\n"

editor.setText(meta + text)

このコードをJavaScriptアクションとして登録して実行すればいい。
追記したり編集したりしてお好みのものに修正して使える。
もちろん内容を変えればfront matter以外にも、ほかのテンプレートとしても応用が効く。

注意

タイトルにファイル名を挿入するようにしているのだが、現状拡張子を含めて挿入されるので拡張子を除外したい。

共有

目次