StackEdit5でもくじ(TOC)を挿入する方法!
StackEdit4では、記事中に[TOC]
と入力することで目次を挿入することができました。
StackEdit5では、この機能は標準ではサポートされなくなりました。自分でテンプレートとヘルパーを設定する必要があります。
ここでは、StackEdit5でもくじを挿入するための方法を紹介します。
テンプレートとヘルパーの設定
[# MENU]-[More…]-[Templates]を選択します。すると、上のようなダイアログが出るので、図のアイコンをクリックして新規テンプレートを作成します。
[Template]に新規に作成するテンプレート名を入力し、[Add helpers]をクリックしてヘルパーを追加します。
[Value]と[Helpers]にそれぞれ以下のソースコードを入力し、OKをクリックします。
Value
{{#transformToc files.0.content.toc}}{{{files.0.content.html}}}{{/transformToc}}
Helpers
Handlebars.registerHelper('transformToc', function (toc, options) {
var result = options.fn(this);
var toc = '<div class="toc">' + Handlebars.helpers.tocToHtml.call(this, toc) + '</div>';
return new Handlebars.SafeString(
result.replace(/\[toc\]/gi, toc)
);
});
デフォルトでは、H1~H6までをTOCにしますが、H1~H3のにTOCにしたい場合があります。その場合は上記HelperのHandlebars.helpers.tocToHtml.call(this, toc)
の部分をHandlebars.helpers.tocToHtml.call(this, toc, 3)
のようにすれば可能です。
これで準備完了です。
テンプレートを指定して投稿する
あとは、記事中に[TOC]
と入力して記事を投稿する際に、今作成したテンプレートを選択して投稿するだけです。
[# MENU]-[Publish]-[Publish to Blogger]を選択すると、上のダイアログが表示されます。ここで、[Template]に作成したテンプレートを選択して投稿します。これで、目次が自動的に挿入されます!
注意する点
[TOC]がすべて目次に置き換わるので注意が必要です。
簡単でしたが、以上が目次の挿入方法でした。
最後まで読んでくれてありがとうございます。
また読んでくださいませ。
そんじゃーね。