generated at
mtane0412


script.js
// Merriam-WebsterのChoose the Right Synonymのフォーマット scrapbox.PopupMenu.addButton({ title: 'webster', onClick: text => text.split('\n').map(function(line) { return '[/icons/point.icon] ' + line // 先頭にiconラベルを追加 // 単語にリンクをつけてリストに整理 .replace(/(?<!,|and)\ ([A-Z]{2,})/g, '\n [$1]') // 例文のネストを下げてe.g.をつける .replace(/(?<=\.)\ +(?!\[|\n|$)/g, '\n [/ e.g.]\ ') }).join('\n') }) // []を全角に変換 scrapbox.PopupMenu.addButton({ title: 'square bracket', onClick: text => text.split('\n').map(function(line) { return line .replace(/\[/g, '[') .replace(/\]/g, ']') }).join('\n') }) // 辞書のコピペをフォーマット scrapbox.PopupMenu.addButton({ title: 'format', onClick: text => text.split('\n').map(function(line) { return line // 発音記号のスペースを削除 .replace(/(?<!:.*?)\|\ (.*?)\ \|/g, (match, s) => '|' + s + '|') // [no object]などをイタリックに変える .replace(/\[(.*?)\]/g, '[/ $1]') // 辞書の品詞分類をイタリックにする .replace(/^(noun|verb|adjective|adverb|preposition|exclamation|pronoun|plural noun)(\ &\ (noun|verb|adjective|adverb|preposition|exclamation|pronoun|plural noun))?/g, s => '\n[/ ' + s + ']') // 品詞後に発音記号がある場合は修正 //.replace(/(?<=\[\/\ (?:noun|verb|adjective|adverb|preposition|exclamation)\]\ )\|\ (.*?)\ \|/g, (match, symbol) => '|' + symbol + '|') // 特定タグをリンク付きイタリックにする .replace(/(Art|Architecture|Aeronautics|Music|Military|Printing|Finance|Logic|technical|\boffensive\b|Fishing|Knitting|Nautical|Surveying|Medicine|Greek Mythology|Sailing|Anthropology|Anatomy|Astrology|Astronomy|Philosophy|Mathematics|Statistics|Botany|Chemistry|Dentistry|Electronics|Entomology|Theology|Physics|Psychiatry|Physiology|Biochemistry|Biology|Genetics|Geology|Geometry|Geography|Archaeology|Economics|Meteorology|Zoology|Grammar|Linguistics|Phonetics|Computing|Law|Photography|Heraldry|North\ American|\bUS\b|British|Australian|NZ|Scottish Gaelic|Scottish|Polish|Czech|South African|Irish|vulgar|slang|Falconry|Baseball|Cricket|Basketball|Boxing|American\ Football|Soccer|Golf|Skiing|Weightlifting|Chess|Bridge)/g, s => '[/ [' + s + ']]') // 特定タグをリンクなしイタリックにする .replace(/(?<=(\]\ |\d\ |•\ |\)\ |^|\|\ |(chiefly|or|\,)\ |:\ ))(informal|figurative|\bformal\b|literary|archaic|historical|chiefly|proverb|dialect|dated|humorous|rare)(,\ )?(informal|figurative|\bformal\b|literary|archaic|historical|chiefly|proverb|dialect|dated|humorous|rare)?/g, s => '[/ ' + s + ']') // 番号にピリオドを追加 .replace(/^(\d)(?=\ )/g, '$1.') // リストをScrapbox形式に変換 .replace(/•/g, '') // 複数単語ある場合に大見出しにする(例文改行回避用に発音記号の区切り文字の内側スペースも削除) .replace(/^(\w+?)(\d)(?=\s\|(.*?)\|)/g, (match, s, d) => '\n[*** [$ \\mathrm{' + s + '}^' + d + ']]') //.replace(/^(\w+?)(\d)(?:\s\|\s(.*?)\s\|)?/g, (match, s, d, p) => '\n[*** [$ \\mathrm{' + s + '}^' + d + ']] \|' + p + '\|') // 強調リンク 動詞の活用 .replace(/(?<=verb\]\ )\((\w+?)\,\ (\w+?)\,\ (\w+?)\)/g, (match, first, second, third) => '([* [' + first + ']], [* [' + second + ']], [* [' + third + ']])') // 強調リンク 形容詞の変化 .replace(/(?<=adjective\]\ )\((\w+?)\,\ (\w+?)\)/g, (match, comparative, superlative) => '([* [' + comparative + ']], [* [' + superlative + ']])') // 強調リンク 名詞複数形 .replace(/(?<=\(plural\ )(\w+)(?=\))/g, s => '[* [' + s + ']]') // 強調リンク 例文 品詞変化 .replace(/(?<=as\ (adjective|noun)\ )\w+/g, s => '[* [' + s + ']]') // 不規則動詞・複数形に強調リンク & 例文改行回避 .replace(/(?<=\((?:past|plural).*?)(\w+)\ \|\ (.*?)\ \|/g, (match, word, symbol) => '[* [' + word + ']] |' + symbol + '|') // 中見出し .replace(/(DERIVATIVES)|(ORIGIN)|(PHRASAL VERBS)|(PHRASES)|(USAGE)/g, s => '\n[** ' + s + ']') // DERIVATIVESの項目をリストにする .replace(/^(\w+-?\w*)(?=(\ \|.*?\|)|\ (noun|verb|adverb|adjective))/g, s => ' [' + s + ']') //.replace(/(\w+-?\w*)(?=(\ \|.*?\|\ )?((noun|verb|adverb|adjective)(\ &\ (noun|verb|adverb|adjective))?(\ \(\archaic\))?))/g, s => ' [' + s + ']') //.replace(/(\w+-?\w*)(?:\s\|\s)(.*?)?(?:\s\|\s)((noun|verb|adverb|adjective)(\ &\ (noun|verb|adverb|adjective))?(\ \(\archaic\))?)$/g, (match, word, symbol, partOfSpeech) => ' [' + word + '] |' + symbol + '| ' + partOfSpeech) // DERIVATIVESの項目をリストにする(発音記号なしの場合) //.replace(/(\w+-?\w*)\s((\(also \w+?\)\ )?(noun|verb|adverb|adjective)(\ &\ (noun|verb|adverb|adjective))?(\ \(\archaic\))?)$/g, (match, word, partOfSpeech) => ' [' + word + '] ' + partOfSpeech) // 例文にe.g.をつけて改行(補足タグ & ORIGIN内除外) .replace(/(?<!(\]\ |\)\ |(English|century|\d{4}s)(\s\(?.*?\)?)?)):\ /g, ':\n \[/ e.g.\] ') // 例文が複数あるときに区切り文字' | 'を改行にしてe.g.をつける .replace(/\s\|\s/g, '\n \[/ e.g.\] ') // ORIGIN内の言語起源にリンクをはる .replace(/\d+?th century|Middle\ English|Old\ English|French|Old\ French|Anglo-Norman French|Old Northern French|Swiss French|Latin|Anglo-Latin|\bGerman\b|Low German|Middle Low German|Middle High German|Germanic|West Germanic|Spanish|Old Spanish|Portuguese|Greek|Dutch|Middle Dutch|Italian|Danish|Norwegian|Swedish|Scandinavian|Afrikaans|Old Norse|Sanskrit|Provençal|Gothic|Celtic|Old Irish|Anglo-Irish|Turkish|Arabic|Breton|Icelandic|Hindi/g, s => '[' + s + ']') }).join('\n') })