Scrapboxページの読み上げ
ScrapboxのAPIでは、ページのテキストデータが取得できる
wget でテキストデータを取ってきて、macOS のsayコマンドに送ると、読み上げができる
(誰でも思いつきそうなことだけど)
$ wget -q -O - https://scrapbox.io/api/pages/villagepump/相手に勢いがあると、協力してやろうかなと考える心理/text | say
たぶんだけど、WindowsやLinuxでも同様なことはできるだろうと思う
awk を使って指定した行を読み上げさせる
ここでは 4行目から7行目まで
$ wget -q -O - https://scrapbox.io/api/pages/villagepump/井戸端/text | awk '4<=NR && NR<=7' | say
10行目から17行目まで
$ wget -q -O - https://scrapbox.io/api/pages/villagepump/井戸端/text | awk '10<=NR && NR<=17' | say
豆知識をひとつだけ選んで読み上げる
$ wget -q -O - https://scrapbox.io/api/pages/villagepump/豆知識/text | grep '^ ' | grep -v '\t' | grep -v ' ' | shuf -n1 | tr -d '\\[\\] ' | say
やってみて気づいたこと
読み上げに対応したテキストを工夫する必要がある
書き言葉と話し言葉の違い
読み上げ用にテキスト整形をするスクリプトが必要かも
ページ全部を読ませる
script.jsfunction readall() {
function say(content) {
let msg = new SpeechSynthesisUtterance();
msg.text = content
msg.lang = 'ja-JP';
window.speechSynthesis.speak(msg);
}
scrapbox.Page.lines.map(function(line) { say(line.text) })
}
scrapbox.PageMenu.addItem({
title: 'Say',
onClick: () => readall()
})
って書いたけどもうあった

選択したやつを読ませる