SlideBlockJS

縦長HTML文書を「スライドブロック」単位で扱い、発表向けナビゲーションを提供する軽量ライブラリ。依存なし、単一ファイル (slideblock.js)。

詳細仕様は spec.md 参照。

すぐ試したいだけなら、ダウンロードせず以下をそのまま <script src> に指定してもよい(GitHub Pagesで公開中)。ただし将来の更新で挙動が変わる可能性があるため、資料として残す場合は slideblock.js をダウンロードして同梱することを推奨する。

<script src="https://cympfh.cc/SlideBlockJS/slideblock.js"></script>

使い方

  1. 各スライドを <section class="slide-block" id="..."> で囲む
  2. slideblock.js<body> 最下部で読み込む
  3. 読み込み時に自動で初期化される
<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="utf-8">
  <title>My Slides</title>
</head>
<body>
  <section id="intro" class="slide-block">
    <h1>はじめに</h1>
    <p>このライブラリの概要</p>
  </section>

  <section id="feature" class="slide-block">
    <h1>機能</h1>
    <ul>
      <li>スクロールスナップ</li>
      <li>キーボードナビゲーション</li>
      <li>自動目次生成</li>
    </ul>
  </section>

  <script src="slideblock.js"></script>
</body>
</html>

提供機能

API

// 自動初期化(script読み込み時に実行される)
SlideBlockJS.init();

// 手動初期化(オプション指定、再初期化も可能)
SlideBlockJS.init({
  container: document.body, // ブロックを探すルート要素
  snap: true,                // スクロールスナップ有効/無効
  keyboard: true,             // キーボード操作有効/無効
  toc: true                   // 目次自動生成有効/無効
});

#toc を持つ要素をあらかじめHTMLに用意しておくと、その要素に目次を生成する。無ければ自動生成して <body> に追加する。

非対応・制限(v1)

ライセンス

MIT