「Wikipediaマークアップ修正」の版間の差分
ナビゲーションに移動
検索に移動
→ソースコード: 注釈の置換を追加、二重引用符と一重引用符の置換を除去、仮名に関する置換を除去 |
→ソースコード: リダイレクトの置換を追加 |
||
| 391行目: | 391行目: | ||
// ウィキリンク | // ウィキリンク | ||
replace(/\[\[(カテゴリ|category):/g, '[[Category:'). | replace(/\[\[(カテゴリ|category):/g, '[[Category:'). | ||
// リダイレクト | |||
replace(/# redirect/g, '#redirect'). | |||
replace(/# 転送/g, '#転送'). | |||
replace(/#redirect|#転送/g, '#REDIRECT'). | |||
// 出典 | // 出典 | ||
replace(/<ref name(\s?)=(\s?)([^"].+?[^"])>(.+?)<\/ref>/g, '<ref name="$3">$4</ref>'). //name属性に二重引用符を追加 | replace(/<ref name(\s?)=(\s?)([^"].+?[^"])>(.+?)<\/ref>/g, '<ref name="$3">$4</ref>'). //name属性に二重引用符を追加 | ||
2023年11月27日 (月) 00:25時点における版
Wikipediaの記事を標準的なマークアップおよび表記方法で修正します。
構文ファイルのWikitextと併用すると便利です。
使用方法
- 表記を修正したい記事をコピーしてMeryにペーストします。
- マクロを実行します。
注意事項
マクロを実行後、必ずWikipedia上のプレビュー画面と差分画面で問題がないか確認してから投稿してください。
出典
ソースコード
#title = "Wikipedia表記修正"
#tooltip = "Wikipediaのマークアップや表記を修正します。"
var sel = document.selection;
if (sel.Text == "") {
sel.SelectAll();
}
var s1 = sel.Text;
var s2 = "";
s2 = s1.
// Unicode制御文字
replace(//g, ''). //Left-to-right mark(U+200E)の除去
replace(//g, ''). //Right-to-left mark(U+200F)の除去
replace(//g, ''). //Zero width joiner(U+200D)の除去
replace(//g, ''). //Zero width non-joiner(U+200C)の除去
replace(//g, ''). //Left-to-right embedding(U+202A)の除去
replace(//g, ''). //Left-to-right override(U+202D)の除去
replace(//g, ''). //Pop directional formatting(U+202C)の除去
replace(//g, ''). //National digit shapes(U+206E)の除去
replace(//g, ''). //Nominal digit shapes(U+206F)の除去
replace(//g, ''). //Activate symmetric swapping(U+206B)の除去
replace(//g, ''). //Inhibit symmetric swapping(U+206A)の除去
replace(//g, ''). //Activate Arabic form shaping(U+206D)の除去
replace(//g, ''). //Inhibit Arabic form shaping(U+206C)の除去
replace(/�/g, ''). //Record Separator(U+001E)の除去
replace(/�/g, ''). //Unit Separator(U+001F)の除去
// 全角英数・記号
replace(/ /g, ' ').
replace(/#/g, '#').
replace(/$/g, '$').
replace(/%/g, '%').
replace(/&/g, '&').
replace(/*/g, '*').
replace(/+/g, '+').
replace(/,/g, ',').
replace(/-/g, '-').
replace(/./g, '.').
replace(///g, '/').
replace(/0/g, '0').
replace(/1/g, '1').
replace(/2/g, '2').
replace(/3/g, '3').
replace(/4/g, '4').
replace(/5/g, '5').
replace(/6/g, '6').
replace(/7/g, '7').
replace(/8/g, '8').
replace(/9/g, '9').
replace(/;/g, ';').
replace(/</g, '<').
replace(/>/g, '>').
replace(/@/g, '@').
replace(/A/g, 'A').
replace(/B/g, 'B').
replace(/C/g, 'C').
replace(/D/g, 'D').
replace(/E/g, 'E').
replace(/F/g, 'F').
replace(/G/g, 'G').
replace(/H/g, 'H').
replace(/I/g, 'I').
replace(/J/g, 'J').
replace(/K/g, 'K').
replace(/L/g, 'L').
replace(/M/g, 'M').
replace(/N/g, 'N').
replace(/O/g, 'O').
replace(/P/g, 'P').
replace(/Q/g, 'Q').
replace(/R/g, 'R').
replace(/S/g, 'S').
replace(/T/g, 'T').
replace(/U/g, 'U').
replace(/V/g, 'V').
replace(/W/g, 'W').
replace(/X/g, 'X').
replace(/Y/g, 'Y').
replace(/Z/g, 'Z').
replace(/¥/g, '\\').
replace(/^/g, '^').
replace(/_/g, '_').
replace(/`/g, '`').
replace(/a/g, 'a').
replace(/b/g, 'b').
replace(/c/g, 'c').
replace(/d/g, 'd').
replace(/e/g, 'e').
replace(/f/g, 'f').
replace(/g/g, 'g').
replace(/h/g, 'h').
replace(/i/g, 'i').
replace(/j/g, 'j').
replace(/k/g, 'k').
replace(/l/g, 'l').
replace(/m/g, 'm').
replace(/n/g, 'n').
replace(/o/g, 'o').
replace(/p/g, 'p').
replace(/q/g, 'q').
replace(/r/g, 'r').
replace(/s/g, 's').
replace(/t/g, 't').
replace(/u/g, 'u').
replace(/v/g, 'v').
replace(/w/g, 'w').
replace(/x/g, 'x').
replace(/y/g, 'y').
replace(/z/g, 'z').
// 半角カナ
replace(/。/g, '。').
replace(/「/g, '「').
replace(/」/g, '」').
replace(/、/g, '、').
replace(/・/g, '・').
replace(/ガ/g, 'ガ').
replace(/ギ/g, 'ギ').
replace(/グ/g, 'グ').
replace(/ゲ/g, 'ゲ').
replace(/ゴ/g, 'ゴ').
replace(/ザ/g, 'ザ').
replace(/ジ/g, 'ジ').
replace(/ズ/g, 'ズ').
replace(/ゼ/g, 'ゼ').
replace(/ゾ/g, 'ゾ').
replace(/ダ/g, 'ダ').
replace(/ヂ/g, 'ヂ').
replace(/ヅ/g, 'ヅ').
replace(/デ/g, 'デ').
replace(/ド/g, 'ド').
replace(/バ/g, 'バ').
replace(/ビ/g, 'ビ').
replace(/ブ/g, 'ブ').
replace(/ベ/g, 'ベ').
replace(/ボ/g, 'ボ').
replace(/パ/g, 'パ').
replace(/ピ/g, 'ピ').
replace(/プ/g, 'プ').
replace(/ペ/g, 'ペ').
replace(/ポ/g, 'ポ').
replace(/ヴ/g, 'ヴ').
replace(/ヲ/g, 'ヲ').
replace(/ァ/g, 'ァ').
replace(/ィ/g, 'ィ').
replace(/ゥ/g, 'ゥ').
replace(/ェ/g, 'ェ').
replace(/ォ/g, 'ォ').
replace(/ャ/g, 'ャ').
replace(/ュ/g, 'ュ').
replace(/ョ/g, 'ョ').
replace(/ッ/g, 'ッ').
replace(/ー/g, 'ー').
replace(/ア/g, 'ア').
replace(/イ/g, 'イ').
replace(/ウ/g, 'ウ').
replace(/エ/g, 'エ').
replace(/オ/g, 'オ').
replace(/カ/g, 'カ').
replace(/キ/g, 'キ').
replace(/ク/g, 'ク').
replace(/ケ/g, 'ケ').
replace(/コ/g, 'コ').
replace(/サ/g, 'サ').
replace(/シ/g, 'シ').
replace(/ス/g, 'ス').
replace(/セ/g, 'セ').
replace(/ソ/g, 'ソ').
replace(/タ/g, 'タ').
replace(/チ/g, 'チ').
replace(/ツ/g, 'ツ').
replace(/テ/g, 'テ').
replace(/ト/g, 'ト').
replace(/ナ/g, 'ナ').
replace(/ニ/g, 'ニ').
replace(/ヌ/g, 'ヌ').
replace(/ネ/g, 'ネ').
replace(/ノ/g, 'ノ').
replace(/ハ/g, 'ハ').
replace(/ヒ/g, 'ヒ').
replace(/フ/g, 'フ').
replace(/ヘ/g, 'ヘ').
replace(/ホ/g, 'ホ').
replace(/マ/g, 'マ').
replace(/ミ/g, 'ミ').
replace(/ム/g, 'ム').
replace(/メ/g, 'メ').
replace(/モ/g, 'モ').
replace(/ヤ/g, 'ヤ').
replace(/ユ/g, 'ユ').
replace(/ヨ/g, 'ヨ').
replace(/ラ/g, 'ラ').
replace(/リ/g, 'リ').
replace(/ル/g, 'ル').
replace(/レ/g, 'レ').
replace(/ロ/g, 'ロ').
replace(/ワ/g, 'ワ').
replace(/ン/g, 'ン').
replace(/゙/g, '゛').
replace(/゚/g, '゜').
// 約物
replace(/。。。|、、、/g, '…').
replace(/・・・/g, '…').
replace(/!!/g, '!!').
replace(/!?/g, '!?').
replace(/?!/g, '?!').
replace(/??/g, '??').
replace(/~|~/g, '〜'). //全角チルダ(U+FF5E)やチルダ(U+007E)を波ダッシュ(U+301C)に変更
replace(/‥/g, '…').
replace(/〇|◯/g, '○'). //漢数字のゼロ「〇」や大きな丸「◯」を丸「○」に変更
// ローマ数字
replace(/Ⅰ/g, 'I').
replace(/Ⅱ/g, 'II').
replace(/Ⅲ/g, 'III').
replace(/Ⅳ/g, 'IV').
replace(/Ⅴ/g, 'V').
replace(/Ⅵ/g, 'VI').
replace(/Ⅶ/g, 'VII').
replace(/Ⅷ/g, 'VIII').
replace(/Ⅸ/g, 'IX').
replace(/Ⅹ/g, 'X').
replace(/Ⅺ/g, 'XI').
replace(/Ⅻ/g, 'XII').
replace(/ⅰ/g, 'i').
replace(/ⅱ/g, 'ii').
replace(/ⅲ/g, 'iii').
replace(/ⅳ/g, 'iv').
replace(/ⅴ/g, 'v').
replace(/ⅵ/g, 'vi').
replace(/ⅶ/g, 'vii').
replace(/ⅷ/g, 'viii').
replace(/ⅸ/g, 'ix').
replace(/ⅹ/g, 'x').
replace(/ⅺ/g, 'xi').
replace(/ⅻ/g, 'xii').
// 丸数字
replace(/①/g, '(1)').
replace(/②/g, '(2)').
replace(/③/g, '(3)').
replace(/④/g, '(4)').
replace(/⑤/g, '(5)').
replace(/⑥/g, '(6)').
replace(/⑦/g, '(7)').
replace(/⑧/g, '(8)').
replace(/⑨/g, '(9)').
replace(/⑩/g, '(10)').
replace(/⑪/g, '(11)').
replace(/⑫/g, '(12)').
replace(/⑬/g, '(13)').
replace(/⑭/g, '(14)').
replace(/⑮/g, '(15)').
replace(/⑯/g, '(16)').
replace(/⑰/g, '(17)').
replace(/⑱/g, '(18)').
replace(/⑲/g, '(19)').
replace(/⑳/g, '(20)').
replace(/㉑/g, '(21)').
replace(/㉒/g, '(22)').
replace(/㉓/g, '(23)').
replace(/㉔/g, '(24)').
replace(/㉕/g, '(25)').
replace(/㉖/g, '(26)').
replace(/㉗/g, '(27)').
replace(/㉘/g, '(28)').
replace(/㉙/g, '(29)').
replace(/㉚/g, '(30)').
replace(/㉛/g, '(31)').
replace(/㉜/g, '(32)').
replace(/㉝/g, '(33)').
replace(/㉞/g, '(34)').
replace(/㉟/g, '(35)').
replace(/㊱/g, '(36)').
replace(/㊲/g, '(37)').
replace(/㊳/g, '(38)').
replace(/㊴/g, '(39)').
replace(/㊵/g, '(40)').
replace(/㊶/g, '(41)').
replace(/㊷/g, '(42)').
replace(/㊸/g, '(43)').
replace(/㊹/g, '(44)').
replace(/㊺/g, '(45)').
replace(/㊻/g, '(46)').
replace(/㊼/g, '(47)').
replace(/㊽/g, '(48)').
replace(/㊾/g, '(49)').
replace(/㊿/g, '(50)').
// 空白
replace(/ {2,}/g, ' '). //連続する空白を除去
replace(/([^=\-\|]) $/gm, '$1'). //行末の空白を除去
replace(/ 。/g, '。'). //句点の前の空白を除去
replace(/([^\-]) 、/g, '$1、'). //読点の前の空白を除去
replace(/。 ([^#\-\|].+?)。/g, '。$1。'). //句点の後の空白を除去
replace(/、 (.+?)。/g, '、$1。'). //読点の後の空白を除去
replace(/(==+)\s?(.+?)\s?(==+)/g, '$1 $2 $3'). //見出しに空白を追加
// 改行・空白行
replace(/\n{3,}/g, '\n\n'). //2行以上の空白行をトルツメ
replace(/==\n\n/g, '==\n'). //見出しの後の空白行をトルツメ
replace(/([^=\n])\n==/g, '$1\n\n=='). //見出しの前に空白行を挿入
replace(/\n\n(===+) 注釈 (===+)/g, '\n$1 注釈 $2'). //レベル3以降の注釈見出しの前の空白行をトルツメ
replace(/\n\n(===+) 出典 (===+)/g, '\n$1 出典 $2'). //レベル3以降の出典見出しの前の空白行をトルツメ
replace(/。\n([^\n\*#;:<].+?)。/g, '。$1。'). //1行改行をトルツメ
// テンプレート
replace(/{{a/g, '{{A').
replace(/{{b/g, '{{B').
replace(/{{c/g, '{{C').
replace(/{{d/g, '{{D').
replace(/{{e/g, '{{E').
replace(/{{f/g, '{{F').
replace(/{{g/g, '{{G').
replace(/{{h/g, '{{H').
replace(/{{i/g, '{{I').
replace(/{{j/g, '{{J').
replace(/{{k/g, '{{K').
replace(/{{l/g, '{{L').
replace(/{{m/g, '{{M').
replace(/{{n/g, '{{N').
replace(/{{o/g, '{{O').
replace(/{{p/g, '{{P').
replace(/{{q/g, '{{Q').
replace(/{{r/g, '{{R').
replace(/{{s/g, '{{S').
replace(/{{t/g, '{{T').
replace(/{{u/g, '{{U').
replace(/{{v/g, '{{V').
replace(/{{w/g, '{{W').
replace(/{{x/g, '{{X').
replace(/{{y/g, '{{Y').
replace(/{{z/g, '{{Z').
replace(/{{Tl\|a/g, '{{Tl|A').
replace(/{{Tl\|b/g, '{{Tl|B').
replace(/{{Tl\|c/g, '{{Tl|C').
replace(/{{Tl\|d/g, '{{Tl|D').
replace(/{{Tl\|e/g, '{{Tl|E').
replace(/{{Tl\|f/g, '{{Tl|F').
replace(/{{Tl\|g/g, '{{Tl|G').
replace(/{{Tl\|h/g, '{{Tl|H').
replace(/{{Tl\|i/g, '{{Tl|I').
replace(/{{Tl\|j/g, '{{Tl|J').
replace(/{{Tl\|k/g, '{{Tl|K').
replace(/{{Tl\|l/g, '{{Tl|L').
replace(/{{Tl\|m/g, '{{Tl|M').
replace(/{{Tl\|n/g, '{{Tl|N').
replace(/{{Tl\|o/g, '{{Tl|O').
replace(/{{Tl\|p/g, '{{Tl|P').
replace(/{{Tl\|q/g, '{{Tl|Q').
replace(/{{Tl\|r/g, '{{Tl|R').
replace(/{{Tl\|s/g, '{{Tl|S').
replace(/{{Tl\|t/g, '{{Tl|T').
replace(/{{Tl\|u/g, '{{Tl|U').
replace(/{{Tl\|v/g, '{{Tl|V').
replace(/{{Tl\|w/g, '{{Tl|W').
replace(/{{Tl\|x/g, '{{Tl|X').
replace(/{{Tl\|y/g, '{{Tl|Y').
replace(/{{Tl\|z/g, '{{Tl|Z').
replace(/{{デフォルトソート:/g, '{{DEFAULTSORT:').
replace(/ISBN ([\d\-X]{10,17})/g, '{{ISBN2\|$1}}').
replace(/PMID ([\d]{1,8})/g, '{{PMID\|$1}}').
replace(/RFC ([\d]{1,4})/g, '{{IETF RFC\|$1}}').
// 箇条書き
replace(/^(\*+|#+|:+\*|:+#)([^ \*#:].+?)/gm, '$1 $2'). //箇条書きのあとに空白を追加
replace(/^(;|:+;)([^ ].+?)/gm, '$1 $2'). //定義の箇条書き(;)のあとに空白を追加
replace(/^(:+)([^ \*#:;<\n].+?)/gm, '$1 $2'). //定義の箇条書き(:)のあとに空白を追加
replace(/^(:+) (\[\[声優\|声\]\]|声|演)(\s?)[::](\s?)(.+?)/gm, '$1 $2 - $5'). //声と声優名の間の区切り記号を変更
replace(/^(\*|#|;|:)(.+?)\n\n(\*|#|;|:)/gm, '$1$2\n$3'). //箇条書きと箇条書きの間の空白行をトルツメ(1周目)
replace(/^(\*|#|;|:)(.+?)\n\n(\*|#|;|:)/gm, '$1$2\n$3'). //箇条書きと箇条書きの間の空白行をトルツメ(2周目)
// 表・Infobox
replace(/^\|(.+?)\n\n\|/gm, '\|$1\n\|'). //行頭のバーティカルバーと次の行頭のバーティカルバーの間の空白行をトルツメ(1周目)
replace(/^\|(.+?)\n\n\|/gm, '\|$1\n\|'). //行頭のバーティカルバーと次の行頭のバーティカルバーの間の空白行をトルツメ(2周目)
replace(/^!(.+?)\n\n!/gm, '!$1\n!'). //行頭の感嘆符と次の行頭の感嘆符の間の空白行をトルツメ(1周目)
replace(/^!(.+?)\n\n!/gm, '!$1\n!'). //行頭の感嘆符と次の行頭の感嘆符の間の空白行をトルツメ(2周目)
// タグ
replace(/<br(\s?)>|<br\/>/g, '<br />').
// ウィキリンク
replace(/\[\[(カテゴリ|category):/g, '[[Category:').
// リダイレクト
replace(/# redirect/g, '#redirect').
replace(/# 転送/g, '#転送').
replace(/#redirect|#転送/g, '#REDIRECT').
// 出典
replace(/<ref name(\s?)=(\s?)([^"].+?[^"])>(.+?)<\/ref>/g, '<ref name="$3">$4</ref>'). //name属性に二重引用符を追加
replace(/<ref name(\s?)=(\s?)([^"].+?[^"])(\s?)\/>/g, '<ref name="$3" />'). //name属性に二重引用符を追加
replace(/<\/ref>([^\n\|}])/g, '</ref>\n$1'). //</ref>の後に改行を追加
replace(/<ref name(\s?)=(\s?)"(.+?)"(\s?)\/>/g, '{{R|$3}}'). //<ref name="○○" />を{{R|○○}}に変更
replace(/<\/ref>\n([^\n\|}\*;:])/g, '</ref>$1'). //</ref>の後の改行を除去
// 注釈
replace(/{{Refnest\|group(\s?)=(\s?)("?)(注釈|注)("?)/g, '{{Efn2').
replace(/{{Efn\|/g, '{{Efn2|').
replace(/group(\s?)=(\s?)("?)(注釈|注|†|※|\*)("?)/g, 'group="注"').
replace(/<ref group="注">(.+?)<\/ref>/g, '{{Efn2|$1}}').
replace(/<ref group="注" name(\s?)=(\s?)([^"].+?[^"])>(.+?)<\/ref>/g, '<ref group="注" name="$3">$4</ref>'). //name属性に二重引用符を追加
replace(/<ref name(\s?)=(\s?)([^"].+?[^"]) group="注">(.+?)<\/ref>/g, '<ref name="$3" group="注">$4</ref>'). //name属性に二重引用符を追加
replace(/<ref group="注" name(\s?)=(\s?)([^"].+?[^"])(\s?)\/>/g, '<ref group="注" name="$3" />'). //name属性に二重引用符を追加
replace(/<ref name(\s?)=(\s?)([^"].+?[^"]) group="注"(\s?)\/>/g, '<ref name="$3" group="注" />'). //name属性に二重引用符を追加
replace(/<\/ref>([^\n\|}])/g, '</ref>\n$1'). //</ref>の後に改行を追加
replace(/<ref group="注" name(\s?)=(\s?)"(.+?)"(\s?)\/>/g, '{{Efn2|name="$3"}}').
replace(/<ref name(\s?)=(\s?)"(.+?)" group="注"(\s?)\/>/g, '{{Efn2|name="$3"}}').
replace(/<\/ref>\n([^\n\|}\*;:])/g, '</ref>$1'). //</ref>の後の改行を除去
replace(/<ref group="注" name="(.+?)">(.+?)<\/ref>/g, '{{Efn2|name="$1"|$2}}').
replace(/<ref name="(.+?)" group="注">(.+?)<\/ref>/g, '{{Efn2|name="$1"|$2}}').
// 脚注
replace(/<references(\s?)\/>/g, '{{Reflist}}').
replace(/<references group="(注釈|注)" \/>/g, '{{Notelist2}}').
replace(/{{Reflist\|\|group="注"}}/g, '{{Reflist\|group="注"\|}}').
replace(/{{Reflist\|([0-9])\|group="注"}}/g, '{{Reflist\|group="注"\|$1}}').
replace(/{{Reflist\|colwidth=/g, '{{Reflist\|').
replace(/{{Reflist\|em\|group="注"}}/g, '{{Reflist\|group="注"\|em}}').
replace(/{{Reflist\|([0-9]|[1-9][0-9])em\|group="注"}}/g, '{{Reflist\|group="注"\|$1em}}').
replace(/{{Reflist\|group="(注釈|注)"}}/g, '{{Notelist2}}').
replace(/{{Reflist\|group="注"\|/g, '{{Notelist2|').
replace(/{{Notelist}}/g, '{{Notelist2}}').
replace(/{{Notelist\|/g, '{{Notelist2|').
replace(/list\|colwidth=/g, 'list|').
replace(/list2\|colwidth=/g, 'list2|').
replace(/{{Reflist\|}}/g, '{{Reflist}}').
replace(/{{Reflist\|[0-1]}}/g, '{{Reflist}}').
replace(/{{Reflist\|2}}/g, '{{Reflist|30em}}').
replace(/{{Reflist\|[3-9]}}/g, '{{Reflist|20em}}').
replace(/{{Notelist2\|}}/g, '{{Notelist2}}').
replace(/{{Notelist2\|[0-1]}}/g, '{{Notelist2}}').
replace(/{{Notelist2\|2}}/g, '{{Notelist2|30em}}').
replace(/{{Notelist2\|[3-9]}}/g, '{{Notelist2|20em}}').
replace(/{{Reflist\|em}}/g, '{{Reflist}}').
replace(/{{Reflist\|([0-9]|1?[0-9]|2?[0-4])em}}/g, '{{Reflist|20em}}').
replace(/{{Reflist\|(2?[5-9]|[3-9][0-9])em}}/g, '{{Reflist|30em}}').
replace(/{{Notelist2\|em}}/g, '{{Notelist2}}').
replace(/{{Notelist2\|([0-9]|1?[0-9]|2?[0-4])em}}/g, '{{Notelist2|20em}}').
replace(/{{Notelist2\|(2?[5-9]|[3-9][0-9])em}}/g, '{{Notelist2|30em}}');
sel.Text = s2;
スポンサーリンク