Просмотр комментариев на Хабре в порядке добавления

    TLDR: скрипт сортирует комментарии под статьей в порядке добавления, без учета уровня вложенности и дискуссий. Можно просматривать раз в несколько дней до появления чувства дежавю.



    Поймал себя на мысли что за длинными дискуссиями на хабре неудобно следить, особенно если они растягиваются на несколько дней. Особенно если там есть какая-то живучая подветка, где участники поливают друг друга истиной в течение нескольких дней. Особенно если в этом потоке истины нужно просто извлечь мнения и факты не погружаясь в саму дискуссию. Возможно кому-то еще это окажется полезным.



    Быстрый вариант для выполнения в консоли разработчика:



    Развернуть
    (function() {
        function sortComments() {
            let comments = Array.from(
                document.querySelectorAll(".comment")
            );
    
            comments.sort(function (a,b) {
                let times = [
                    a.querySelector("time"),
                    b.querySelector("time")
                ];
    
                for (let i in times) {
                    times[i] = (( times[i] !== null ) ? times[i].innerText : "").replace(/([0-9]{2})\.([0-9]{2})\.([0-9]{2}).+?([0-9]{2}):([0-9]{2})/, "$3.$2.$1 $4:$5");
                }
    
                return times[1].localeCompare(times[0]);
            });
    
            let rendered = "";
    
            for (let i = 0; i < comments.length; i++) {
                rendered += comments[i].innerHTML + "<br/><br/>";
            }
    
            document.querySelector("#comments").innerHTML = rendered;
            document.querySelector("#comments").scrollIntoView();
        }
    
        sortComments();
    })();
    
    



    Вариант для GreaseMonkey (в правом верхнем углу появляется кнопка):



    Развернуть
    // ==UserScript==
    // @name     Сортировка комментариев по дате
    // @version  1
    // @grant    none
    // @include https://habr.com/post/*
    // @include https://habr.com/company/*/blog/*
    // @include https://habr.com/article/*/
    // ==/UserScript==
    
    
    (function() {
    
        function sortComments() {
            let comments = Array.from(
                document.querySelectorAll(".comment")
            );
    
            comments.sort(function (a,b) {
                let times = [
                    a.querySelector("time"),
                    b.querySelector("time")
                ];
    
                for (let i in times) {
                    times[i] = (( times[i] !== null ) ? times[i].innerText : "").replace(/([0-9]{2})\.([0-9]{2})\.([0-9]{2}).+?([0-9]{2}):([0-9]{2})/, "$3.$2.$1 $4:$5");
                }
    
                return times[1].localeCompare(times[0]);
            });
    
            let rendered = "";
    
            for (let i = 0; i < comments.length; i++) {
                rendered += comments[i].innerHTML + "<br/><br/>";
            }
    
            document.querySelector("#comments").innerHTML = rendered;
            document.querySelector("#comments").scrollIntoView();
        }
        let sortButton = document.createElement("div");
    
        sortButton.style["position"] = "fixed";
        sortButton.style["top"] = 0;
        sortButton.style["right"] = 0;
        sortButton.style["height"] = "1.3em";
        sortButton.style["width"] = "11em";
        sortButton.style["border"] = "1px solid grey";
        sortButton.style["text-align"] = "center";
        sortButton.style["cursor"] = "pointer";
        sortButton.style["z-index"] = 999;
    
        sortButton.innerText = "Комментарии по дате";
    
        sortButton.addEventListener("click", function (event) {
            event.preventDefault();
            sortComments();
            event.target.remove();
        });
    
        document.body.appendChild(sortButton);
    })();
    
    



    Хотелось бы видеть такой функционал как часть сайта, потому что «комментарии полезней статьи» — это классика. И что-то интересное можно поймать и неделю спустя после публикации.

    Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

    Хотели бы вы видеть такой функционал на сайте реализованный в нормальном виде?
    • +21
    • 1,5k
    • 5
    Поделиться публикацией
    Комментарии 5
      +4
      Было бы неплохо! Иногда бывает открою статью с новыми комментариями из трекера, с мыслью почитать попозже… А потом случайно обновляю страницу и всё… Хз что там последнее было!
        0
        С какого-то билда хром открывает статью, а после пары переключений вкладок сам обновляет, хотя я не просил. И всё, та новая пара комментариев потеряна.
        +1
        Уже есть хороший habr-best-comments. И шкала рейтинга, и обновление.
          0
          Сворачивание веток в комментариях кто-нибудь делал?
            0
            Может Лопух или Дурак, но скажите как закладки на Хабре Отсортировать? Захожу в Закладки, а там то ли Гаусс толи Белый Шум…

            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

            Самое читаемое