generated at
Scrapboxをスプレッドシートのように使う

[% 式] という表記を利用する 増井俊之
下のブックマークレットを呼ぶと式が計算される
式が変数名だけのときはその値が表示される
面白い発想ですねtakker
応用して何かに使えないかな
普通にスプレッドシート的に使えますが、面白い応用はあるかも 増井俊之
テキストエディタをスプレッドシートみたいに使うというのはBoomborg計算のアイデアです

a = 100
b = 200
a + b
Date()
ブックマークレットを呼ぶと以下のように表示される

以下のブックマークレットを起動すると結果が表示される
UserScriptにしても大丈夫なのだろうか?
eval() が気になります
何でも実行できてしまう
最も、 eval() を使う以外に方法がなさそうなので、目をつぶるしかなさそうです
前に実行したscriptの変数とscopeを共有しなくていいなら、Function()を代わりに使うことが出来ます
Userscriptにするとしたら、どういうUIがいいかなtakker
PageMenuを押して実行が一番便利かな
mobile端末からでも使える
popup menuなら、選択範囲だけ実行させることも可能
js-script-buttonに似てる?yosider
コードブロックじゃなくインラインなところが違うか
コードブロックだと/miyamonz/コードブロックのjsを実行するUserScriptというのがあった

boomborg.js
javascript:(() => { 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-\=' に変更yosider
あれ? 私のとこではそれだと動かなくて... 増井俊之
あれれ…Chromeなのですがyosider
getElementsByClassName() じゃなかったからかな? 増井俊之
document.querySelectorAll('.deco-\\=') としてた
ほんとですね、document.querySelectorAll()ならこちらじゃないとマッチしませんねyosider

ScrapCalcと呼ぶことにします 増井俊之
おま環だろうけど、Firefoxでは動かなかった...air34n
UserScriptの方はどうですかね ? 増井俊之
UserScriptの方は動きましたair34n
それはよかた 増井俊之