generated at
import
自分用UserScript
/takker/importを参考にした
test
import "../../hoshihara/import/script.js";
自分のページの script.js に上のコードを貼り付ければ使える

文字数カウント
script.js
import '/api/code/shokai/文字カウント/page.js' import '/api/code/shokai/文字カウント/popup.js'

年月日ショートカット
script.js
scrapbox.TimeStamp.removeAllFormats() scrapbox.TimeStamp.addFormat('HH:mm') scrapbox.TimeStamp.addFormat('YYYY-MM-DD') scrapbox.TimeStamp.addFormat('YYYY-MM-DD HH:mm:ss') scrapbox.TimeStamp.addFormat('#YYYY-MM-DD HH:mm:ss')

空白削除
script.js
scrapbox.PopupMenu.addButton({ title: '空行・空白削除', onClick: text => text.split(/\n/).filter(line => !line.match(/^\s*$/)).join('\n') })

Twitter埋め込み
script.js
scrapbox.PopupMenu.addButton({ title : 'Embed Tweet', onClick : text => { const convertContent = (content, indent) => { const replaced = content .replace(/<a href="(https?:.*?)">(.*?)<\/a>/g, '[$1 $2]') .replace(/<br>/g, `\n${indent}`); const elem = document.createElement('div'); elem.innerHTML = replaced; return indent + elem.innerText; } const tweetRegex = /(?<spaces>[\t ]*)<blockquote[\w"\-= ]*><p[\w"\-= ]*>(?<content>.*)<\/p>&mdash;(?<author>.*)(?<link><a.*>)<\/blockquote>[\n\t ]*<script.*?><\/script>/; const match = text.match(tweetRegex); if(!match) return; const {spaces, content, author, link} = match.groups; const ind = `${spaces}>`; return text.replace(tweetRegex, convertContent(content, ind) + '\n' + convertContent(`\t—${author} ${link}`, ind)); } })


script.js
import { mount } from "../../hoshihara/scrapbubble/mod.js"; mount({ whiteList: ["sf-shelter2","hoshihara","honopy5588-73306529"] });


#2024-09-06 16:19:53