モールス信号変換するPopupMenu
実装
code:js
const morse = {
"--・--": "ア", "・-・・": "カ", "-・-・-": "サ",
"-・": "タ", "・-・": "ナ", "-・・・": "ハ",
"-・・-": "マ", "・--": "ヤ", "・・・": "ラ",
"-・-": "ワ", "・-": "イ", "-・-・・": "キ",
"--・-・": "シ", "・・-・": "チ", "-・-・": "ニ",
"--・・-": "ヒ", "・・-・-": "ミ", "--・": "リ",
"・-・・-": "ヰ", "・・-": "ウ", "・・・-": "ク",
"---・-": "ス", "・--・": "ツ", "・・・・": "ヌ",
"--・・": "フ", "-": "ム", "-・・--": "ユ",
"-・--・": "ル", "・-・-・": "ン", "-・---": "エ",
"-・--": "ケ", "・---・": "セ", "・-・--": "テ",
"--・-": "ネ", "・": "ヘ", "-・・・-": "メ",
"---": "レ", "・--・・": "ヱ", "・-・・・": "オ",
"----": "コ", "---・": "ソ", "・・-・・": "ト",
"・・--": "ノ", "-・・": "ホ", "-・・-・": "モ",
"--": "ヨ", "・-・-": "ロ", "・---": "ヲ",
"・・": "゛", "・・--・": "゜", "・-・-・・": "。",
"・--・-": "ー", "・-・-・-": "、",
"-----": "0", "・----": "1", "・・---": "2",
"・・・--": "3", "・・・・-": "4", "・・・・・": "5",
"-・・・・": "6", "--・・・": "7", "---・・": "8",
"----・": "9",
}
const parse_morse = (str) => {
return str.split(/\s/).map(x => morsex).join(""); }
const condition = /^\s*・-\s*/ scrapbox.PopupMenu.addButton({
title: (text) => text.split("\n").some(
(line) => condition.test(line.trim())
) ? ${text.split("\n").map(parse_morse).join("\n")} : "",
onClick: (text) =>
text.split("\n").map(parse_morse).join("\n"),
});
こんな感じ?wogikaze.icon
参考にするサイト
たべるんご...?