input mode UserScript
Scrapboxで記事を徘徊していると勢い余ってうっかり記事を編集してしまったり,最悪消してしまうことがよくあります.
readonly mode
input mode
さてこのUserScriptを有効にすると
このように背景がグレーアウトし,一切の入力操作を受け付けなくなります (readonly mode).
この際に右のnavbarのペンアイコンをクリックするか, i
キーを押下すると
グレーアウトが解除され入力操作を受け付けるようになります (input mode).
再度readonly modeに戻りたい場合は,同様に右のnavbarのペンアイコンをクリックするか, Esc
キーを押下すると良いでしょう.
というわけでそのスクリプトが以下です:
script.jslet isInputMode = true;
const enterInputMode = (e) => {
if (!isInputMode) {
if (e) {
e.preventDefault();
}
$("#text-input").prop('disabled', false);
$("#text-input").focus();
$('.page').css('opacity', '1.0');
isInputMode = !isInputMode;
}
}
const exitInputMode = (e) => {
if (isInputMode) {
$("#text-input").prop('disabled', true);
$('.page').css('opacity', '0.6');
isInputMode = !isInputMode;
}
}
const modeSelectors = {
true: exitInputMode,
false: enterInputMode,
}
scrapbox.PageMenu.addMenu({
title: 'Input mode',
image: 'https://i.gyazo.com/5f2de2133ef5d9a35ac16b3b8aa1c6aa.png',
onClick: () => {
modeSelectors[isInputMode]();
},
});
$(window).keydown((e) => {
if (e.keyCode === 73) { // key code of "i"
enterInputMode(e);
}
if (e.keyCode === 27) { // key code of Esc
exitInputMode(e);
}
});
exitInputMode();
実際に利用する際は
などとしてやると良いのではないでしょうか.
これで安心して閲覧できますね.良かった良かった.