Scrapboxをスプレッドシートのように使う
[% 式]
という表記を利用する
下のブックマークレットを呼ぶと式が計算される
式が変数名だけのときはその値が表示される
面白い発想ですね
応用して何かに使えないかな
a = 100
b = 200
a + b
Date()
ブックマークレットを呼ぶと以下のように表示される
以下のブックマークレットを起動すると結果が表示される
UserScriptにしても大丈夫なのだろうか?
eval()
が気になります
何でも実行できてしまう
最も、 eval()
を使う以外に方法がなさそうなので、目をつぶるしかなさそうです
前に実行したscriptの変数とscopeを共有しなくていいなら、
Function()を代わりに使うことが出来ます
Userscriptにするとしたら、どういうUIがいいかな
PageMenuを押して実行が一番便利かな
mobile端末からでも使える
popup menuなら、選択範囲だけ実行させることも可能
コードブロックじゃなくインラインなところが違うか
boomborg.jsjavascript:(() => {
for(const expr of document.getElementsByClassName('deco-\%')){
const text = expr.innerText;
if(/=/.test(text)){
eval(decodeURI(text));
} else {
let processed = false;
for(let e of expr.children){
if(processed){
e.innerHTML = "";
continue;
}
e.innerHTML =
`<span style="font-style:italic;font-weight:bold;">${eval(decodeURI(text))}</span>`;
processed = true;
}
}
}
})()
'deco-\\='
だと動かなかったので
'deco-\='
に変更
あれ? 私のとこではそれだと動かなくて...
あれれ…Chromeなのですが
getElementsByClassName()
じゃなかったからかな?
document.querySelectorAll('.deco-\\=')
としてた
おま環だろうけど、Firefoxでは動かなかった...
UserScriptの方はどうですかね ?
UserScriptの方は動きました
それはよかた