rikku2008
https://lh3.googleusercontent.com/a/AEdFTp4Pi9NYe1t2ZXxRfg3mHxDsshvig4GC5R2pUuxd=s96-c#.png
よろしくです
よろしくお願いします!wogikaze.icon
code:style.css
/* 1行目のスクロールバーを太くする (UserScriptとセット) */
.section-title + .line .table-block .indent.table-block-row::-webkit-scrollbar {
height: 20px;
}
.section-title + .line .table-block .indent.table-block-row::-webkit-scrollbar-thumb, ::-webkit-scrollbar-track {
border: 1px solid transparent;
}
code:style.css_
/* 全てのスクロールバーを太くする */
.indent.table-block-row::-webkit-scrollbar {
height: 10px;
}
.indent.table-block-row::-webkit-scrollbar-thumb, ::-webkit-scrollbar-track {
border: 1px solid transparent;
}
table:権限一覧から持ってきたテスト用テーブル 2
初期値 権限カテゴリ 権限名(内部) 権限名(日本語) Role Text Voice Stage Category
o.icon サーバー全般の権限 VIEW_CHANNEL チャンネルを見る o.icon o.icon o.icon o.icon o.icon
x.icon サーバー全般の権限 MANAGE_CHANNELS チャンネルの管理 o.icon o.icon o.icon o.icon o.icon
x.icon サーバー全般の権限 MANAGE_ROLES ロールの管理(権限の管理) o.icon o.icon o.icon o.icon o.icon
x.icon サーバー全般の権限 MANAGE_EMOJIS_AND_STICKERS 絵文字・スタンプの管理 o.icon x.icon x.icon x.icon x.icon
x.icon サーバー全般の権限 VIEW_AUDIT_LOG 監査ログを表示 o.icon x.icon x.icon x.icon x.icon
x.icon サーバー全般の権限 VIEW_GUILD_INSIGHTS サーバーインサイトを見る o.icon x.icon x.icon x.icon x.icon
code:style.css_
/* changelogとuserCssの位置を一番下にする */
.related-page-list div:nth-child(n + 2) ul {
display: flex;
flex-flow: column;
}
order: 1;
}
.related-page-list li.ellipsis {
order: 2;
}
.search-form .form-group .dropdown.open .dropdown-menu {
display: flex;
flex-flow: column;
}
order: 1;
}
とても良かったのでsettingsに入れさせてもらいましたwogikaze.icon というか自由に入れていいんですよ
code:script.js
// リンクにしてくれるやつ
import "/api/code/daiiz/omakase-links/script.js"
// どこでもインデントできるやつ
import "/api/code/foldrr/scrapbox-editor-indent-line/script.js"
// 絵文字
import "/api/code/foldrr/emoji-selector-i/script.js"
scrapbox.PopupMenu.addButton({
title: '📘',
onClick: text => text.split('\n').map(line => [>~ ${line}]).join('\n')
})
scrapbox.PopupMenu.addButton({
title: '🐺',
onClick: text => text.split('\n').map(line => [>' ${line}]).join('\n')
})
scrapbox.PopupMenu.addButton({
title: '📕',
onClick: text => text.split('\n').map(line => [>! ${line}]).join('\n')
})
scrapbox.PopupMenu.addButton({
title: '📗',
onClick: text => text.split('\n').map(line => [># ${line}]).join('\n')
})
scrapbox.PopupMenu.addButton({
title: '🟥',
onClick: text => text.split('\n').map(line => [>% ${line}]).join('\n')
})
scrapbox.PopupMenu.addButton({
title: '🟦',
onClick: text => text.split('\n').map(line => [>& ${line}]).join('\n')
})
scrapbox.PopupMenu.addButton({
title: '⌨',
onClick: text => text.split('\n').map(line => [< ${line}]).join('\n')
})
// スクロールの位置を同期する
// ダブルクリックで最後の位置に飛ばします。
const syncTables = () => {
const tables = document.getElementsByClassName("table-block-row");
let isMouseDown = false;
for (let i = 0; i < tables.length; i++) {
const baseElement = tablesi; const baseElementScrollWidth = baseElement.scrollWidth
let scrollRatio = 0;
baseElement.addEventListener("scroll", () => {
if(isMouseDown) {
scrollRatio = baseElement.scrollLeft / (baseElement.scrollWidth - baseElement.clientWidth);
}
for (let j = 0; j < tables.length; j++) {
if (i === j) continue;
const targetElement = tablesj; targetElement.scrollLeft = (targetElement.scrollWidth - targetElement.clientWidth) * scrollRatio;
}
});
baseElement.addEventListener("click", () => {
isMouseDown = true;
if (baseElementScrollWidth !== baseElement.scrollWidth && baseElementScrollWidth - baseElement.clientWidth === baseElement.scrollLeft) {
baseElement.scrollLeft = baseElement.scrollWidth;
}
});
baseElement.addEventListener("dblclick", () => {
baseElement.scrollLeft = baseElement.scrollWidth;
});
baseElement.addEventListener("mousedown", () => {
isMouseDown = true;
});
baseElement.addEventListener("mouseup", () => {
isMouseDown = false;
});
}
}
syncTables();
scrapbox.on('page:changed', syncTables);