久住哲
script.js// Discordのマスクリンクを長押しでコピーする
import 'https://scrapbox.io/api/code/pragma/%E3%80%8CCtrl+C%E3%80%8D%E9%95%B7%E6%8A%BC%E3%81%97%E3%81%A7Discord%E3%83%9E%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%B3%E3%82%AF%E3%82%92%E3%82%B3%E3%83%94%E3%83%BC%E3%81%99%E3%82%8BUserScript/script.js';
// 検索窓で同時にセレクトする
import 'https://scrapbox.io/api/code/pragma/%E6%A4%9C%E7%B4%A2%E7%AA%93%E9%81%B8%E6%8A%9E%E6%99%82%E3%81%AB%E5%90%8C%E6%99%82%E3%81%AB%E3%82%BB%E3%83%AC%E3%82%AF%E3%83%88%E3%81%99%E3%82%8BUserScript/script.js';
// スマホの時のみDiscordをアプリで開く
import 'https://scrapbox.io/api/code/pragma/Discord%E3%81%AE%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%E3%83%AA%E3%83%B3%E3%82%AF%E3%82%92%E3%82%A2%E3%83%97%E3%83%AA%E3%81%A7%E9%96%8B%E3%81%8FUserScript/script.js';
UserScript
タイムスタンプ
script.js scrapbox.TimeStamp.addFormat('YYYY/MM/DD');
scrapbox.TimeStamp.addFormat('dddd')
検索候補の文字数に応じてフォントサイズを変える
script.js// バイトで数えられるようにする
String.prototype.byte = function() {
return encodeURIComponent(this).replace(/%../g,'x').length
}
const form = document.querySelector('.form-group');
// バイト数の設定(min以下なら何もしない。min<バイト<=maxなら少し小さく。maxより長いと最小にする)
const min = 57;
const max = 72; // or 68
form.addEventListener('keyup', e => {
let items = form.querySelectorAll('ul li a')
items.forEach(item=>{
// 検索候補の文字数をバイト数で取得
let len = item.text.byte()
//console.log(len, item.text)
// 文字数に応じてフォントサイズを変更する
if(len > min && len <= max) {
item.setAttribute('style', 'font-size: 0.9em')
console.log(item)
} else if(len > max) {
item.setAttribute('style', 'font-size: 0.5em') // or 0.5em
console.log(item)
}
})
})
script.jsscrapbox.PageMenu.addMenu({
title: 'タイトル全文検索',
image: 'https://gyazo.com/17042ac5759da0c88e57430b5318c83a.png',
onClick: () => {
let title = scrapbox.Page.title;
title = title.replace(/[『』]/g,"");
window.open(`https://scrapbox.io/${scrapbox.Project.name}/search/page?q=${title}`);
}
})
script.js// ググる
function google(word) {
const URL = "https://www.google.com/search?q=";
window.open(URL+word);
}
scrapbox.PageMenu.addMenu({
title: "ググる",
image: 'https://i.gyazo.com/b0e069380f2926b79ef0487d766c9299.png',
onClick: () => {
let word = scrapbox.Page.title;
google(word);
}
})
script.js// ミラーボタン
scrapbox.PageMenu.addMenu({
title: 'ミラーページを作る',
image: 'https://i.gyazo.com/90605eb9c0ac406f8f5a7674d1811ec8.png',
onClick: () => {
const nowProject = `${scrapbox.Project.name}`;
const otherProject = "pragma";
const pageName = scrapbox.Page.title;
window.location = `/${otherProject}/${pageName}?body=[/${nowProject}/${pageName}]`;
}
})
UserCSS
style.css.page-list-translation-menu {display: none}
.dropdown:has(#translation-menu) {display: none}
style.css/* スマホのページメニューの位置を下にずらす */
.expandable-menu {
top: 41px;
opacity: 0.7;
}
エディター
【行番号】
style.css/* 行番号を表示 -- ウィンドウ幅768px以上で適用 */
@media screen and (min-width: 768px) {
.lines { counter-reset: line }
/* タイトルから数えるときは :not(.line-title) を消してね */
.line:not(.line-title) { counter-increment: line }
/* タイトルから数えるときは :not(.line-title) を消してね */
.app:not(.presentation) .line:not(.line-title)::before {
content: counter(line);
position: absolute; display: inline-block; left: -110px; z-index: 10;
min-width: 50px; text-align: right; vertical-align: middle;
/* 行番号のフォントとか色とかの指定はここ */
font-family: monospace; color: grey }
【動画のサイズ】
style.css/* YouYubeの埋め込みを少し小さくする */
@media (hover: hover) {
.iframe-video-player iframe.youtube {
width: 50%;
height: auto;
aspect-ratio: 16/9;
}
}
【インデントの見た目】
style.css/* 一定回数インデントしたらドットを変える */
.line .indent-mark > :is(.c-1, .c-3, .c-5, .c-7) + .dot {
background-color: transparent;
border: 0.5px solid var(--page-text-color, #4a4a4a);
}
関連ページ一覧
【関連ページ一覧検索の見た目】
style.cs/* searchRelatedPageListをやや目立たなくする */
.related-page-list .toolbar .related-page-list-search {
background-color: rgba(255,255,255,.05);
}
.fa-search:before {opacity: 0.3;}
【External linksの見た目】
style.css/* 特定の外部リンクを目立たせる */
.project-links-1-hop .page-list-item[data-project-name="pragma"] a {
border: orange solid 1px;
}
.project-links-1-hop .page-list-item[data-project-name="pragma"] a .header {
border-top: orange solid 10px
}
style.css/* 編集者を表示する */
#page-info-menu + ul > li:nth-child(2) {
display: initial !important;
}
style.css.navbar .navbar-menu>li.stream-btn {
/* 少しアイコンとの間に隙間をつくる */
margin-inline-end: 10px;
}
style.css ul[aria-labelledby='dropdownMenuFilter'] :is(
li:nth-child(3),
li:nth-child(4)
) {display: none;}
久住さんの画像が正直ちょっと羨ましかったので俺も(イケメン度もりもりで)自画像イラスト化してもらおうかなと思ったことがあります(成年の主張)。
自画像アイコンは便利ですよ。ただ、色んなところで使うと身バレリスクは増えます。が、あまり気にせず本名のところでも使っています。
ほへー。意外と久住さん拘るんですの。面白そうだ。
かっちょいい!!