Table of Contents
各投稿の見出しから目次を作成し、ジャンプリンクを付けます。執筆中に挿入するものはありません。
プラグイン
Table of Contents
各投稿の見出しから目次を作成し、ジャンプリンクを付けます。執筆中に挿入するものはありません。
インストール
2 つのステップ
- EmDash の管理画面で Registry を開き、Table of Contents を検索して Install をクリックします。権限は求められません。
- 左メニューの Table of Contents を開き、Setup タブで表示される短いブロックを、ベースレイアウト(通常は
src/layouts/Base.astro)の head に貼り付けます。サイトを他の人が作った場合は、そのブロックを送ってください。
これで完了です。十分な数の見出しがあるすべての投稿やページに目次が付き、執筆者は何もする必要がありません。Settings タブでは、タイトル、対象とする見出しレベル、リストの位置、最初から折りたたむかどうかを設定できます。
位置を自分で決めるには、投稿テンプレートに “ を置いてください。見出しを除外するには、data-toc-skip を付けます。
よくある質問
このプラグインは何をしますか?
読者のブラウザーで投稿やページの見出しを読み取り、上部にジャンプリンクのリストを表示します。行をクリックするとそのセクションにスクロールし、読んでいる間は現在のセクションに印が付き、アドレスバーにはセクションのリンクが入るので共有できます。執筆者は何も挿入する必要がありません。
どの見出しが使われますか?
選べます。H2 のみ、H2 と H3、または H2 から H4 です。H3 の行は所属する H2 の下に配置されます。H1 は投稿のタイトルなので、使われることはありません。
見出しに id がありません。それでも動作しますか?
はい。見出しに id がない場合、プラグインがそのテキストから id を作成するため、どのテーマでもリンクが機能します。
短い投稿では無効にできますか?
リストは、設定した数(デフォルトは 3 つ)以上の見出しがあるページにのみ表示されます。サイトの特定の領域全体に対しては、/posts のようなアドレスの先頭を指定して Show on を使ってください。
どこに配置されますか?
最初の見出しの前、最初の段落の後、またはコンテンツエリアの先頭です。別の場所に置きたい場合は、テンプレートに data-toc を持つ空の要素を置くと、そこに配置されます。
ジャンプした後、見出しが固定メニューの下に隠れます
Settings の Sticky header height を、メニューバーの高さ(ピクセル単位)に設定してください。
何かを収集しますか?
いいえ。プラグインはコンテンツにアクセスできず、サイトの外へのリクエストも行いません。唯一の呼び出しは、サイトが自身の設定を取得するものです。
サイトが遅くなりますか?
スクリプトは約 5 KB で、ページの準備ができた後に読み込まれ、1 分間キャッシュされます。他のサーバーからは何も読み込まれません。
変更履歴
0.1.0
- 初回リリース。各投稿やページの見出しから作成される目次。ジャンプリンク、スムーズスクロール、現在のセクションの表示に対応。
- 設定:タイトル、対象とする見出しレベル、見出しの最小数、位置、番号付け、最初から折りたたむ、すべての場所または特定のパスで始まるアドレスに表示、固定ヘッダーの高さ、コンテンツエリア。
data-tocで自分で配置できます。data-toc-skipで見出しを除外できます。- Setup タブには、サイトが目次を読み込んでいるかどうかが表示されます。