Kifu for JS

2019年6月3日

 Webサイトに将棋の棋譜を再生させようとすると、Adobe Flashで開発されたKifu for Flashが定番になっていたように思う。しかし、Adobeが2020年にFlashのサポートを終了すると発表したことで将棋の棋譜再生でもKifu for Flashの代替ソフトが求められるようになった。
 ネットで検索したところ、JavaScriptで動く将棋の棋譜再生盤Kifu for JSが有名であることがわかった。




 今回、WordPressで構築したこのサイトにKifu for JSで棋譜を再生することができたので、導入手順を書いてみる。再生盤を以下に表示してみた。





 パソコンでは、問題なく表示できている。非常に素晴らしいソフトで導入できて本当に嬉しい。作者様に感謝致します。

 タブレットやスマートフォンでは、まだ上手く表示できていないところがある。iPadでは、「反転」の文字が「反」しか表示されていなかったり、「credit」の表示レイアウトが微妙に位置ずれしている。iPhoneでは、将棋盤が横にはみ出てしまった。駒台や棋譜表示を将棋盤の横ではなく縦にもってくればいいように思われるが、バージョンアップ等で解決されるかもしれない。
 導入は、Kifu for JSからZIPファイルをダウンロードして行う。WordPressを /var/www/htmlに導入した場合の例を示す。Ubuntu Serverなのでコマンドで作業している。

$ cd /var/www/html/wp-content/uploads
$ sudo wget https://github.com/na2hiro/Kifu-for-JS/archive/master.zip
$ sudo unzip master.zip
$ sudo mv Kifu-for-JS-master Kifu-for-JS
$ cd Kifu-for-JS
$ mkdir bundle
$ cd bundle
$ sudo wget https://code.jquery.com/jquery-3.4.1.min.js
$ sudo wget https://github.com/na2hiro/Kifu-for-JS/releases/download/v2.0.0/kifu-for-js-2.0.0.min.js
$ cd ../examples
$ sudo cp loadJkf.html test.html
$ sudo vi test.html

test.htmlを以下のように修正する。

$ cd /var/www/html/wp-content/uploads
$ sudo chown -R www-data:www-data Kifu-for-JS

 ブラウザでhttps://導入ドメイン/wp-content/uploads/Kifu-for-JS/examples/test.htmlにアクセスし、将棋盤が表示されるか確認する。以下は、Kifu for JSに収録されていた棋譜の表示。




 上の表示は、導入ドメイン以下にあるHTMLファイルであるがWordPressとは独立したページになっているのでWordPressの投稿ページ中に<iframe>タグを使って上のHTMLファイルを埋め込む。
 WordPressで試したところ<iframe>タグ1個の場合は、うまく表示されたが2個使って2つの将棋盤を表示させようとすると最初の1つだけしか表示されなかった。ネットで探したところ、iframeというプラグインがあり、これを導入して大括弧でiframeを囲ったショートコードで挿入したところ、2つとも表示されるようになった。


 WordPressの投稿ページ中にKifu for JSを直接埋め込むのは、WordPress、テーマのCSSの影響を受けてフォントサイズ、ボタン、色などオリジナルの表示と変わってしまうので<iframe>タグを使って上のHTMLファイルを埋め込む方法が一番手間がかからなくて良いと思われる。
 <iframe>タグのもうひとつの利点は、iPadなどで表示させた場合、将棋盤の再生ボタンを連続して押すとタブルタップになって画面が拡大して意に反した動作になってしまうのを防ぐことができることである。
 <iframe>タグを使わず、Kifu for JSを直接埋め込むと自分のサイトでは以下の表示のように文字サイズやボタンのレイアウト、ボタンの色などがオリジナルの表示と変わってしまった。