Slackの箇条書きを普通のul入れ子にする

    
      
  • /*
     * @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 です。

History

  1. 2021/04/26 22:05:19 - 2021-04-26
  2. 2021/04/26 21:43:40 - 2021-04-26