Slackの箇条書きを普通のul入れ子にする
by
unarist
2021-04-26 [2021/04/26 22:05:19]
/*
* @title Slackの箇条書きを普通のul入れ子にする
* @include https://app.slack.com/client/*
* @license MIT License
* @javascript_url
*/
/*
## これはなに
Slackの箇条書きをコピペするとインデントや●が消えるやつをなんとかしよう
## 使い方
1. Slackのブラウザ版で変換したい箇条書きのある投稿を表示する
2. これを実行する
3. DOMツリー上の全ての箇条書きが変換されているので、コピペしたりする
*/
(() => {
document.querySelectorAll('.p-rich_text_list').forEach(x => x.classList.remove('p-rich_text_list', 'p-rich_text_list__bullet'));
[...document.querySelectorAll('.p-rich_text_block')]
.map(x => x.querySelectorAll('ul[data-indent]'))
.forEach(([x, ...xs]) => xs.reduce((p,c) => (p.dataset.indent < c.dataset.indent ? p : p.dataset.indent > c.dataset.indent ? p.parentNode.parentNode : p.parentNode).appendChild(c), x));
})();
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。