Scrapboxをスプレッドシートのように使う
/masui/ScrapCalcを参照
[% 式] という表記を利用する 増井俊之.icon
下のブックマークレットを呼ぶと式が計算される
式が変数名だけのときはその値が表示される
面白い発想ですねtakker.icon
応用して何かに使えないかな
普通にスプレッドシート的に使えますが、面白い応用はあるかも 増井俊之.icon
テキストエディタをスプレッドシートみたいに使うというのはBoomborg計算のアイデアです
税金計算の例
a = 100
b = 200
a + b
Date()
ブックマークレットを呼ぶと以下のように表示される
https://gyazo.com/thumb/400/43be983bf4fa5f2108d7cebe019d8dc4.png
以下のブックマークレットを起動すると結果が表示される
UserScriptにしても大丈夫なのだろうか?
eval()が気になります
何でも実行できてしまう
最も、eval()を使う以外に方法がなさそうなので、目をつぶるしかなさそうです
前に実行したscriptの変数とscopeを共有しなくていいなら、Function()を代わりに使うことが出来ます
Userscriptにするとしたら、どういうUIがいいかなtakker.icon
PageMenuを押して実行が一番便利かな
mobile端末からでも使える
popup menuなら、選択範囲だけ実行させることも可能
js-script-buttonに似てる?yosider.icon
コードブロックじゃなくインラインなところが違うか
コードブロックだと/miyamonz/コードブロックのjsを実行するUserScriptというのがあった
code: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.icon
あれ? 私のとこではそれだと動かなくて... 増井俊之.icon
あれれ…Chromeなのですがyosider.icon
getElementsByClassName()じゃなかったからかな? 増井俊之.icon
document.querySelectorAll('.deco-\\=') としてた
ほんとですね、document.querySelectorAll()ならこちらじゃないとマッチしませんねyosider.icon
ScrapCalcと呼ぶことにします 増井俊之.icon
おま環だろうけど、Firefoxでは動かなかった...air34n.icon
UserScriptの方はどうですかね ? 増井俊之.icon
Page MenuからScrapCalcを動かす
UserScriptの方は動きましたair34n.icon
それはよかた 増井俊之.icon