小技チョコレート

ちょっとした小技を紹介するだけのブログです。

Scrapbox用UserScriptの作成例

ScrapboxにUserScriptを導入する手順については、こちらのリンク先をご覧ください。


〈目次〉


選択範囲の先頭に#を付ける

code:script.js
    scrapbox.PopupMenu.addButton({
        title: '#追加',  //"#追加"はポップアップするボタンの名前。変更可能です。
        onClick: text =>{
        text=text.split(/\n/).map(line => line.replace(/^/g,'#')).join('\n')
        return text;
        }
    })

選択範囲内のハッシュタグの直前にスペースがないとき、半角スペースを1個入れる

マウスで選択した範囲内で、次のような置換をします。

  • hoge#fugahoge #fuga
  • hoge#fugahoge #fuga(全角シャープは半角シャープにする)

コード

code:script.js
 scrapbox.PopupMenu.addButton({
    title: '#',  //「#」はポッアップするボタンの名前。変更可能です。
    onClick: text =>{
    //# or #の直前にスペースがないとき、半角スペースを入れ、かつ全角#は半角#に置換する
    text=text.split(/\n/).map(line => line.replace(/([^\s])[##]/g,'$1 #')).join('\n')
    return text;
    }
 })

範囲選択したところをコード記法にする

code:script.js
 scrapbox.PopupMenu.addButton({
    title: 'code',
    onClick: text =>{
    text=text.split(/\n/).map(line => line.replace(/(.+)/g,'`$1`')).join('\n')
   return text;
    }
 })

範囲選択したところを数式にする

code:script.js
 scrapbox.PopupMenu.addButton({
    title: '数式',
    onClick: text =>{
    text=text.split(/\n/).map(line => line.replace(/(.+)/g,'\[\$ $1\]')).join('\n')
   return text;
    }
 })

Dynalistからプレーンテキスト形式でエクスポートした内容をScrapbox記法に置換する

別の記事で紹介しています。