// ==UserScript== // @name Habrahabr collapsible comments // @namespace habrahabrcc // @version 0.3.2 // @description Скрипт позволяет сворачивать неинтересные ветки комментариев на geektimes.com и habr.com // @author Roman Akhmadullin edited Anton Zr. // @match *://habrahabr.ru/* // @match *://geektimes.com/* // @match *://habr.com/* // @grant none // @downloadURL https://update.greasyfork.icu/scripts/25562/Habrahabr%20collapsible%20comments.user.js // @updateURL https://update.greasyfork.icu/scripts/25562/Habrahabr%20collapsible%20comments.meta.js // ==/UserScript== (function() { // Уровень комментариев, на котором они будут скрыты var HIDE_LEVEL = 2; // Основная функция скрытия-раскрытия комментариев var toggleHide = function(item,first_run,speed) { item = $(item); var item_info = item.find('> .comment > .comment__head > .inline-list > .inline-list__item'); var comments_container = item.find('> .content-list_nested-comments'); var replies_count = comments_container.find('.comment').length; var has_new_replies = comments_container.find('.comment__head.comment__head_new-comment').length; if ((first_run === true && has_new_replies === 0) || first_run === false) { // При первой загрузке не скрывать посты с новыми ответами comments_container.slideToggle(speed); } // Кнопка-элемент, кликая на которую, раскрываются комментарии var comments_count_element = item_info.find('> a.comments_count'); console.log('rc='+replies_count +' '+ comments_count_element.length); if (comments_container.css('display') === 'none' || (parseInt(comments_container.css('height')) > 1 && first_run === false)) { item.css('marginBottom',20); comments_count_element.text('Скрыто комментариев: ' + replies_count); } else { item.css('marginBottom',null); comments_count_element.text('Скрыть комментарии'); } }; // Добавим комментариям новую кнопочку-сворачивалку-разворачивалку var all_page_comments = $('.js-comment'); all_page_comments.each(function(){ var replies_count = $(this).find('> .content-list_nested-comments .js-comment').length; if (replies_count > 0) { // Если ответов больше 0, то добавим специальную кнопочку // Класс .link_to_comment добавлен для того, чтобы перенять стили Хабра var item_info = $(this).find('> .comment > .comment__head > .inline-list > .inline-list__item'); item_info.find('> .icon_comment-anchor').parent().after('