オプション
ここでは、Kifu for JSをカスタマイズできるオプションについて説明します。個別のオプション項目は次のとおりです。
📄️ 棋譜 (kifu, src)
読み込む棋譜を指定します。棋譜文字列か、棋譜ファイルのパス・URLのどちらかを指定します。
📄️ 局面の指定 (ply, forkPointers)
最初に表示する局面を指定できます。
📄️ 盤面反転 (reverse)
最初に表示する盤面の反転状態を指定できます。
📄️ 静的図面モード (static)
再生盤ではなく、動かすことのできない静的な局面画像を表示することができます。盤面領域のみが横6250)で表示されます。棋譜解説などの際、一つずつ画像を生成する手間を省けます。
📄️ 詰将棋モード (tsume)
詰将棋モードは、詰将棋の表示・再生に最適なモードです。詰将棋らしき棋譜が読み込まれると、自動的に切り替わります。
📄️ 最大横幅 (maxWidth)
詳しくはスタイルとレイアウト#モバイル/デスクトップ両対応レイアウトをご覧ください。
options
オブジェクト
オプションは、一つのオブジェクト options
として表現されます。これらは、JavaScriptオプション方式とReactコンポーネント方式で使用されます。
const options = {
kifu: "▲7六歩 △3四歩",
ply: 2
};
表示方式ごとのオプションの指定方法
盤の設置方式では、3つの表示方式を紹介しました。これらの方式によってオプションの指定方法がやや異なります。
タグ方式
タグ方式では、data-オプション名="オプション値"
というような属性を、タグの<script>
タグに付与することで指定します。
ply
オプションに2を指定する例:
<script type="text/kifu" data-src="./great-tsume.kif" data-ply="2"></script>
static
オプションを指定し、static-last
オプションにhidden
を指定する例:
<script type="text/kifu" data-src="./great-tsume.kif" data-static data-static-last="hidden"></script>
<!-- trueを渡してもよい -->
<script type="text/kifu" data-src="./great-tsume.kif" data-static="true" data-static-last="hidden"></script>
JavaScript関数方式
JavaScript関数方式では、KifuForJS.load()
の第1引数にオプションオブジェクト options
を渡します。
ply
オプションに2を指定する例:
<div id="board-1"></div>
<script>
button.addEventListener("click", function() {
KifuForJS.load({
kifu: "▲7六歩 △3四歩",
ply: 2,
}, "board-1");
});
</script>
static
オプションを指定する例の場合、trueを渡します。
<div id="board-1"></div>
<script>
button.addEventListener("click", function() {
KifuForJS.load({
kifu: "▲7六歩 △3四歩",
static: true,
}, "board-1");
});
</script>
static
オプションを指定し、static-last
オプションにhidden
を指定する場合、staticをオブジェクトとし、そのオブジェクトがlastプロパティを持つようにします。 static: true
は static: {...}
に吸収されていることに注意してください。
<div id="board-1"></div>
<script>
button.addEventListener("click", function() {
KifuForJS.load({
kifu: "▲7六歩 △3四歩",
static: {
last: "hidden",
},
}, "board-1");
});
</script>
Reactコンポーネント方式
Reactコンポーネント方式では、<KifuLite>
コンポーネントのプロパティに個別のオプションをプロパティとして指定します。
ply
オプションに2を指定する例:
import {KifuLite} from "kifu-for-js";
export default function MyApp() {
return (
<KifuLite ply={2}>
▲7六歩 △3四歩
</KifuLite>
);
}
static
オプションを指定し、static-last
オプションにhidden
を指定する例:
import {KifuLite} from "kifu-for-js";
export default function MyApp() {
return (
<KifuLite static={{last: "hidden"}}>
▲7六歩 △3四歩
</KifuLite>
)
}
スプレッド演算子を用いることで、options
オブジェクトを<KifuLite>
propsに渡すこともできます。
import {KifuLite} from "kifu-for-js";
export default function MyApp() {
const options = {
static: {
last: "hidden",
}
}
return (
<KifuLite {...options}>
▲7六歩 △3四歩
</KifuLite>
)
}
デフォルトオプション
ページ内で基本的に同じオプションを指定しておきたい場合、オプションのデフォルト値を指定することができます。 setDefaultOptions
関数を呼びます。
<script>KifuForJS.setDefaultOptions({
reverse: {
name: "na2hiro" // 対局者na2hiroが手前に来るようにする
},
maxWidth: 500 // 幅最大500px
})</script>
<!-- デフォルトオプションが適用される -->
<script type="text/kifu" data-src="./great-tsume.kif"></script>
<!-- オプションを上書きすることもできる -->
<script type="text/kifu" data-src="./great-tsume-2.kif" data-maxWidth="200"></script>
ライブラリをCDNから読み込む場合
次のように、読み込むscriptタグの直後に配置します。
<script src="https://cdn.jsdelivr.net/npm/kifu-for-js@5/bundle/kifu-for-js.min.js" charset="utf-8"></script>
<script>KifuForJS.setDefaultOptions({
// ここにoptionsオブジェクトを記述。例えば次の通り
reverse: {
name: "na2hiro" // 対局者na2hiroが手前に来るようにする
},
maxWidth: 500
})</script>
もしHTMLファイルを1つ1つ管理していて、複数のページで同じデフォルトオプションをまとめて指定したい場合、この記述をJSファイルに書き出すと、デフォルトオプションの一括管理ができて良いでしょう。
KifuForJS.setDefaultOptions({
// ここにoptionsオブジェクトを記述。例えば次の通り
reverse: {
name: "na2hiro" // 対局者na2hiroが手前に来るようにする
},
maxWidth: 500
})
<script src="https://cdn.jsdelivr.net/npm/kifu-for-js@5/bundle/kifu-for-js.min.js" charset="utf-8"></script>
<script src="./kifuforjs-options.js"></script>
npmモジュールとして利用する場合
import {setDefaultOptions} from "kifu-for-js";
setDefaultOptions({/*...*/})