import
testimport "../../hoshihara/import/script.js";
自分のページの script.js
に上のコードを貼り付ければ使える
文字数カウント
script.jsimport '/api/code/shokai/文字カウント/page.js'
import '/api/code/shokai/文字カウント/popup.js'
年月日ショートカット
script.jsscrapbox.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.jsscrapbox.PopupMenu.addButton({
title: '空行・空白削除',
onClick: text => text.split(/\n/).filter(line => !line.match(/^\s*$/)).join('\n')
})
Twitter埋め込み
script.jsscrapbox.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>—(?<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.jsimport { mount } from "../../hoshihara/scrapbubble/mod.js";
mount({ whiteList: ["sf-shelter2","hoshihara","honopy5588-73306529"] });