Ver comentarios sobre Habré en el orden de agregar

TLDR: el script clasifica los comentarios del artículo en el orden en que se agregaron, sin tener en cuenta el nivel de anidamiento y discusión. Puede verlo cada pocos días hasta que aparezca una sensación de deja vu.



06/12/2019 - agregado soporte de script para páginas de noticias

Me sorprendí pensando que es inconveniente seguir largas discusiones en el centro, especialmente si duran varios días. Especialmente si hay algún tipo de indicio tenaz en el que los participantes se vierten agua unos a otros durante varios días. Especialmente si en esta corriente de verdad solo necesitas extraer opiniones y hechos sin sumergirte en la discusión misma. Quizás sea útil para alguien más.



Una opción rápida para ejecutar en la consola del desarrollador:



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



Opción para GreaseMonkey (aparece un botón en la esquina superior derecha):



Expandir
 // ==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); })(); 



Me gustaría ver esa funcionalidad como parte del sitio, porque "los comentarios son más útiles que los artículos" es un clásico. Y algo interesante se puede ver una semana después de la publicación.

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


All Articles