Version: 1.0
File: slideblockjs.js (single vanilla JS file, no dependencies)
SlideBlockJSは、HTMLの連続した縦長文書を「スライドブロック」単位で扱い、発表向けのナビゲーションを提供する軽量ライブラリ。
従来のPowerPoint的なページ制約を排除しつつ、スライドの「1トピック集中」「視覚的明快さ」「操作性」をHTMLに取り入れる。
<section id="block1" class="slide-block">
<h1>ブロックタイトル</h1>
<p>主要メッセージ</p>
<ul>
<li>要点</li>
</ul>
<!-- 図表・コードなど -->
</section>
<section class="slide-block"> で囲むid 属性は必須(目次・ジャンプ用)<h1>推奨)が目次タイトルになるスクロールスナップ
ブロック上端が画面上部に吸着(CSS scroll-snap-align: start を自動適用)
.current クラスを自動付与#toc または自動生成)に全ブロックタイトルをリスト.slide-block {
scroll-snap-align: start;
min-height: 100vh;
padding: 60px 80px;
box-sizing: border-box;
}
.slide-block.current {
background-color: #f8f8ff; /* 強調色は任意 */
}
.slide-block h1 {
font-size: 3.5rem;
margin-bottom: 2rem;
}
// 自動初期化(script読み込み時)
SlideBlockJS.init();
// 手動初期化(オプション)
SlideBlockJS.init({
container: document.body,
snap: true,
keyboard: true,
toc: true
});
主なオプション(初期はデフォルトで十分):
snap: スクロールスナップ有効/無効keyboard: キーボード操作有効/無効toc: 目次自動生成有効/無効<section class="slide-block" id="..."> を記述slideblockjs.js を <body> 最下部で読み込み<script src="slideblockjs.js"></script>
作成日: 2026-07-14
ライセンス: MIT(想定)
作者: @cympfh