【2023年】これからブログを始める人へおすすめの書籍

Kissy

StackEdit5でもくじ(TOC)を挿入する方法!

作成: 更新:

Stackedit

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]がすべて目次に置き換わるので注意が必要です。

簡単でしたが、以上が目次の挿入方法でした。

最後まで読んでくれてありがとうございます。
また読んでくださいませ。
そんじゃーね。

関連記事

SPONSORED LINK
SPONSORED LINK