ユーザスクリプト
Kozanebaのロード時に実行するプログラムをユーザが任意に指定できる機能
JavaScriptで記述する
ローカルマシンに保存される
UserダイアログのEDIT USERSCRIPTボタンで編集画面(UserScriptダイアログ)を開くことができる
https://scrapbox.io/files/62342839b80020001d73c623.png
UserScriptダイアログ
現在保存されているユーザスクリプトを見て、編集できる
https://scrapbox.io/files/623429140158250020506e2b.png
Runはユーザスクリプトを1回実行する
開発コンソールなどを開いておいて実行したときに構文エラーなどが出ないかを見る用途を想定
SaveはlocalStorageにユーザスクリプトを書き込む
次回のロード時以降に毎回実行される
ユーザスクリプトの例
タッチパッドではなくホイールの環境の人が自分のホイールに合わせて感度を調整する
まずタッチパッドだと判定しないようにする。これでホイール用の感度設定に変わる。
code:js
kozaneba.is_touchpad = () => false;
初期値は10になっている。この初期値でしっくりこない場合は直接値を変更できる。
下記の例は挙動を反転している。
code:js
kozaneba.constants.wheel_scale_speed = -10
AddボタンをAppBarに追加
code:js
kozaneba.user_buttons.push({
label: "Add",
onClick: () => { kozaneba.show_dialog("AddKozane") }
});
https://scrapbox.io/files/61237d14cc0eb2001df080d5.png
--- 古い記述
ロード時に実行するスクリプトをユーザが定義できる
code:js
localStorage.setItem("onLoad", "console.log('hello')")
トップページにアクセスした時にチュートリアルがでる挙動をユーザが上書きできる
kozaneba.after_render_toppage = () => { kozaneba.show_dialog("User") }
AppBarにユーザがボタンを追加できる
code::
localStorage.setItem("onLoad", `
kozaneba.after_render_toppage = () => { kozaneba.show_dialog("User") };
kozaneba.user_buttons.push({ label: "Add", onClick: () => { kozaneba.show_dialog("AddKozane") } });
`)
https://scrapbox.io/files/61237d14cc0eb2001df080d5.png
カスタムのスタイルをつける機能
https://gyazo.com/b202a0b941bbc79c1a9ef348b654a89e
kozaneba.update_style("1629979178768", (s) => {s.background = "blue"; s.color = "white" });
2021-08-31
kozaneba.user_menus.Kozane.push({label: "hello", onClick: ()=>{ alert("hello!") }})
2021-09-01
https://scrapbox.io/files/612f83eea4d479001d2e4fd4.png
API
Add Kozane ダイアログのフォントサイズを大きくする
code:js
kozaneba.constants.add_kozane_dialog_is_fullscreen = true;
kozaneba.constants.fontsize_of_add_kozane_dialog = "24px";
nishio.iconリリース済みですがしばらく使ってみて名前などを変える可能性があります 2022-03-18