Anzeigen von Kommentaren zu Habré in der Reihenfolge des Hinzufügens

TLDR: Das Skript sortiert die Kommentare unter dem Artikel in der Reihenfolge, in der sie hinzugefügt wurden, ohne den Verschachtelungs- und Diskussionsgrad zu berücksichtigen. Sie können es alle paar Tage anzeigen, bis ein Deja-Vu-Gefühl auftritt.



06/12/2019 - Skriptunterstützung für Nachrichtenseiten hinzugefügt

Ich habe mich dabei erwischt, dass es unpraktisch ist, lange Diskussionen am Hub zu verfolgen, insbesondere wenn sie mehrere Tage dauern. Vor allem, wenn es einen hartnäckigen Hinweis gibt, bei dem die Teilnehmer mehrere Tage lang Wasser aufeinander gießen. Besonders wenn Sie in diesem Strom der Wahrheit nur Meinungen und Fakten extrahieren müssen, ohne in die Diskussion selbst einzutauchen. Vielleicht ist es für jemand anderen nützlich.



Eine schnelle Option zum Ausführen in der Entwicklerkonsole:



Erweitern
(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(); })(); 



Option für GreaseMonkey (eine Schaltfläche wird in der oberen rechten Ecke angezeigt):



Erweitern
 // ==UserScript== // @name     // @version 1 // @grant none // @include https://habr.com/*/post/* // @include https://habr.com/*/blog/* // @include https://habr.com/*/news/t/* // @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); })(); 



Ich würde diese Funktionalität gerne als Teil der Website sehen, da „Kommentare nützlicher sind als Artikel“ ein Klassiker ist. Und etwas Interessantes kann eine Woche später nach der Veröffentlichung gefangen werden.

Source: https://habr.com/ru/post/de419297/


All Articles