MarkdownをCosense記法に置換するUserScript
/ugo/MarkdownをCosense記法に置換するUserScript
code:script.js
scrapbox.PopupMenu.addButton({
title: 'MdCs', //"MdCs"はポップアップするボタンの名前(変更可能)
onClick: text => {
return text
////リスト////
//リストのマーカーが行頭にある場合
.replace(/^(*\-+) /gm, ' ')
//行頭以外にあるリストのマーカー(*, -, +)を消す
.replace(/(*\-+) /g, '')
//リストのインデントが半角スペース2個ずつの場合
//.replace(/ {2}/g, ' ')
//リストのインデントが半角スペース4個ずつの場合
.replace(/ {4}/g, ' ')
////数字付きリスト
.replace(/^(0-9+\. )/gm, ' $1')
////強調////
//太字
.replace(/\*\*(^*+)\*\*/g, '$1')
.replace(/__(^_+)__/g, '$1')
//イタリック(URLにアンダーバーを含むハイパーリンクの置換を妨害するのでコメントアウト)
//.replace(/_(^_+)_/g, '$1')
////取り消し線////
.replace(/~~(~+|^~+)~~/g, '$1')
////Header level 1-6////
//Header level 6
.replace(/^###### (.*)/gm, '$1')
//Header level 5
.replace(/^##### (.*)/gm, '$1')
//Header level 4
.replace(/^#### (.*)/gm, '$1')
//Header level 3
.replace(/^### (.*)/gm, '$1')
//Header level 2
.replace(/^## (.*)/gm, '$1')
//Header level 1
.replace(/^# (.*)/gm, '$1')
////リンクと画像////
//Hyperlink without linktext / Image without alt text
//e.g. [](https://www.google.com) or ![](https://www.google.com/google.png)
.replace(/!?\\\((https?:\/\/\w/:%#\$&\?\(\)~\.=\+\-+)\)/g, '$1')
//Image with alt text
//e.g. !Google logo(https://www.google.com/google.png)
.replace(/!\[(^\]+)\]\((https?:\/\/\w/:%#\$&\?\(\)~\.=\+\-+)\)/g, '$2')
//Hyperlink with linktext
//e.g. Google(https://www.google.com)
.replace(/\[(^\]+)\]\((https?:\/\/\w/:%#\$&\?\(\)~\.=\+\-+)\)/g, '$1 $2')
//URL with angle brackets
//e.g <https://www.google.com>
.replace(/<(https?:\/\/\w/:%#\$&\?\(\)~\.=\+\-+)>/g, '$1')
////水平線////
.replace(/^(*\-_\|){3,}$/gm, '/icons/hr.icon')
////エスケープを元に戻す////
.replace(/\\([\\`*_{}\\()#+\-.!])/g, '$1');
}
});
#userscript #markdown #cosense