クリップボードからコードブロックへ貼り付けるUserScript
https://gyazo.com/ac15ac8153d4ed60c1830f77b43ac525
差分を検出し、1クリックで必要な行のみを更新するため、従来の上書きコピペより高速に貼り付けることが可能です 使い方
準備
1. 以下のようなUserScriptを書きます
code:script.ts
await run();
この問題は後日、時間があるときに修正します
3. 自分のページのcode:script.jsにそのコードを貼り付けます
使い方
1. 貼り付けたいソースコードをクリップボード
2. コードブロックのタイトル行をクリックしてカーソルを置くと貼り付けボタン( )が表示されるので、クリックします
3. 少し待つとコードブロックの中身が上書きされます
ソースコード
よくありそうな質問
元に戻せる回数(Undo)は連続で何回まで?
1回のみです
どうしてカーソルを置かないとボタンが表示されないの?
理由は色々あります
ScrapboxのAPIがコードブロックのボタンを追加する機能を提供していない
カーソルを追加していない状態でボタンを追加しても、ボタンより上にある当たり判定に邪魔されてクリックすることができない
テロメアの横辺りにボタンを常時表示するという手もありましたが、以下の理由により没になっています
スマホだとテロメアの上に被って邪魔になる
間違えて押す確率が上がる
他のUserCSSと干渉する可能性が上がる
レイアウト的に汚い
ボタンの間隔が狭すぎて押しにくい!
UserCSSを用意しましたのでどうぞ
code:button-style.css
.line span.code-block .tool-buttons>.button {
display: inline-block;
width: 2em;
text-align: center;
}
元に戻すボタンを押したときに毎回警告が出るのが鬱陶しい!
run()の引数に{ noUndoAlert: true }を渡して下さい
code:noUndoAlert.ts
await run({ noUndoAlert: true });
警告の内容を十分に理解した上で行って下さい。
何故Ctrl+Zで戻せないの?
正規の手順で更新しているわけではなく、クライアントの編集履歴には保存されていないためです。
使っているウィンドウとは別のウィンドウで編集しているのと状況は同じです