いものおと

やまいもの将棋ノート

ブログでの将棋盤表示

ブログで将棋の記事を書くにあたって、ほしいのが将棋盤の表示。 符号だけ並んでいても難しいからね。

調べてみるとKifu for JSというJavaScriptのライブラリがお手軽でよさげだった。

設置方法

Kifu for JSはCDNが用意されているので、ファイルをアップロードしたりせずに簡単に設置できる。

一番簡単なのは記事の中で以下のコードを書いておくだけ:

<script src="https://cdn.jsdelivr.net/npm/kifu-for-js@5/bundle/kifu-for-js.min.js" charset="utf-8"></script>

これだけで将棋盤を表示できるようになる。

ただ、これを毎回記事に書いていると面倒なので、はてなブログでは設定であらかじめ埋め込んでおくといい。

ブログのダッシュボードを開き、「設定」から「詳細設定」を選び、「<head>要素にメタデータを追加」に上記のコードを追加しておく。 すると記事にコードを書くことなくいきなり将棋盤を表示できる。

表示方法

表示するには<script type="text/kifu"></script>の間にKIF形式の棋譜を書いておけばいい。

たとえばこんな感じ:

<script type="text/kifu">
開始日時2019/08/15 14:00:00
終了日時2019/08/15 15:31:00
棋戦朝日杯将棋オープン戦
場所東京都渋谷区シャトーアメーバ
持ち時間40分
消費時間754040
手合割平手
先手戸辺  七段
後手青野照市 九段
戦型三間飛車
手数----指手---------消費時間--
1 7六歩(77) (00:00/00:00:00)
2 3四歩(33) (00:00/00:00:00)
3 7五歩(76) (00:00/00:00:00)
4 4二玉(51) (00:00/00:00:00)
5 6六歩(67) (00:00/00:00:00)
6 6二銀(71) (00:00/00:00:00)
7 7八飛(28) (00:00/00:00:00)
8 6四歩(63) (00:00/00:00:00)
9 4八玉(59) (00:00/00:00:00)
10 6三銀(62) (00:00/00:00:00)

長いので省略

71 4六香打 (00:00/00:00:00)
72 4五香打 (00:00/00:00:00)
73  (46) (00:00/00:00:00)
74  (33) (00:00/00:00:00)
75 3五金打 (00:00/00:00:00)
76 投了 (00:00/00:00:00)
</script>

すると次のように表示される:

ちなみに分岐にも対応しているしコメントも表示される。

オプション指定

開始局面を指定する場合、data-plyオプションで手数を指定する。 たとえば3手目を開始局面として表示したい場合、<script type="text/kifu" data-ply="3">のように指定する。

そして盤面を反転して表示したい場合、data-reverseオプションを指定する。 <script type="text/kifu" data-reverse>といった具合。

スタイルの設定

スタイルを調整したい場合、CSS.kifuforjs-liteに対して指定すればいい。

はてなブログの場合、ブログのダッシュボードを開き、「デザイン」から「カスタマイズ」を選び、「デザインCSS」で設定する。

このブログでは、将棋盤の背景を白くして記事の中央に配置されるように、次のように指定している:

.kifuforjs-lite {
  display: block;
  margin-left: auto;
  margin-right: auto;
  background-color: white;
}