GitHub 按日期排序

将文件排序方式改为日期降序,方便查看最新更新的文件。

当前为 2024-09-06 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name GitHub Sort by Date
  3. // @name:zh-CN GitHub 按日期排序
  4. // @description:zh-CN 将文件排序方式改为日期降序,方便查看最新更新的文件。
  5. // @name:ar GitHub الترتيب حسب التاريخ
  6. // @description:ar تغيير فرز الملفات إلى تنازلي حسب التاريخ,عرض مريح لأحدث الملفات المحدثة。
  7. // @name:bg GitHub Сортиране по дата
  8. // @description:bg Променете сортирането на файлове на низходящо по дата,Удобен преглед на последните актуализирани файлове。
  9. // @name:cs GitHub Seřadit podle data
  10. // @description:cs Změnit řazení souborů na sestupné podle data,Pohodlně si prohlédněte nejnovější aktualizované soubory。
  11. // @name:da GitHub Sorter efter dato
  12. // @description:da Skift filsortering til faldende efter dato,Se bekvemt de seneste opdaterede filer。
  13. // @name:de GitHub Nach Datum sortieren
  14. // @description:de Ändern Sie die Sortierung der Dateien auf absteigend nach Datum,Sehen Sie sich bequem die neuesten aktualisierten Dateien an。
  15. // @name:el GitHub Ταξινόμηση κατά ημερομηνία
  16. // @description:el Αλλαγή της ταξινόμησης αρχείων σε φθίνουσα κατά ημερομηνία,Προβάλετε άνετα τα πιο πρόσφατα ενημερωμένα αρχεία。
  17. // @name:en GitHub Sort by date
  18. // @description:en Change file sorting to descending by date,Conveniently view the latest updated files。
  19. // @name:eo GitHub Ordigi laŭ dato
  20. // @description:eo Ŝanĝu dosierordigon al malkreskanta laŭ dato,Oportune vidi la lastajn ĝisdatigitajn dosierojn。
  21. // @name:es GitHub Ordenar por fecha
  22. // @description:es Cambiar la clasificación de archivos a descendente por fecha,Vea cómodamente los últimos archivos actualizados。
  23. // @name:fi GitHub Lajittele päivämäärän mukaan
  24. // @description:fi Muuta tiedostojen lajittelu päivämäärän mukaan laskevaksi,Tarkastele viimeisimmät päivitetyt tiedostot kätevästi。
  25. // @name:fr GitHub Trier par date
  26. // @description:fr Changer le tri des fichiers en décroissant par date,Visualisez facilement les derniers fichiers mis à jour。
  27. // @name:he GitHub מיין לפי תאריך
  28. // @description:he שנה את מיון הקבצים ליורד לפי תאריך,צפה בנוחות בקבצים המעודכנים האחרונים。
  29. // @name:hr GitHub Poredaj po datumu
  30. // @description:hr Promijeni sortiranje datoteka na padajuće po datumu,Pogodan pregled najnovijih ažuriranih datoteka。
  31. // @name:hu GitHub Rendezés dátum szerint
  32. // @description:hu Módosítsa a fájlrendezést dátum szerint csökkenőre,Kényelmesen megtekintheti a legfrissebb fájlokat。
  33. // @name:id GitHub Urutkan berdasarkan tanggal
  34. // @description:id Ubah pengurutan file menjadi menurun berdasarkan tanggal,Lihat file terbaru yang diperbarui dengan mudah。
  35. // @name:it GitHub Ordina per data
  36. // @description:it Cambia l’ordinamento dei file in discendente per data,Visualizza comodamente gli ultimi file aggiornati。
  37. // @name:ja GitHub 日付順に並べ替える
  38. // @description:ja ファイルの並べ替えを日付順に変更します,最新の更新されたファイルを簡単に表示できます。
  39. // @name:ka GitHub დალაგება თარიღის მიხედვით
  40. // @description:ka შეცვალეთ ფაილის დახარისხება თარიღის მიხედვით კლებადობით,მოხერხებულად ნახეთ უახლესი განახლებული ფაილები。
  41. // @name:ko GitHub 날짜순으로 정렬
  42. // @description:ko 파일 정렬을 날짜별 내림차순으로 변경,최신 업데이트 파일을 편리하게 확인하세요。
  43. // @name:nl GitHub Sorteer op datum
  44. // @description:nl Wijzig de bestandssortering naar aflopend op datum,Bekijk handig de nieuwste bijgewerkte bestanden。
  45. // @name:nb GitHub Sorter etter dato
  46. // @description:nb Endre filsortering til synkende etter dato,Se praktisk på de siste oppdaterte filene。
  47. // @name:pl GitHub Sortuj według daty
  48. // @description:pl Zmień sortowanie plików na malejące według daty,Wygodnie przeglądaj najnowsze zaktualizowane pliki。
  49. // @name:pt-BR GitHub Classificar por data
  50. // @description:pt-BR Alterar a classificação dos arquivos para decrescente por data,Visualize convenientemente os arquivos atualizados mais recentes。
  51. // @name:ro GitHub Sortați după dată
  52. // @description:ro Schimbați sortarea fișierelor în descrescătoare după dată,Vizualizați în mod convenabil cele mai recente fișiere actualizate。
  53. // @name:ru GitHub Сортировать по дате
  54. // @description:ru Изменить сортировку файлов по убыванию по дате,Удобно просматривать последние обновленные файлы。
  55. // @name:sk GitHub Zoradiť podľa dátumu
  56. // @description:sk Zmeňte triedenie súborov na zostupné podľa dátumu,Pohodlne si prezerajte najnovšie aktualizované súbory。
  57. // @name:sr GitHub Сортирај по датуму
  58. // @description:sr Промените сортирање датотека на опадајуће по датуму,Погодно прегледајте најновије ажуриране датотеке。
  59. // @name:sv GitHub Sortera efter datum
  60. // @description:sv Ändra filsortering till fallande efter datum,Se bekvämt de senaste uppdaterade filerna。
  61. // @name:th GitHub เรียงตามวันที่
  62. // @description:th เปลี่ยนการเรียงลำดับไฟล์เป็นจากมากไปน้อยตามวันที่,ดูไฟล์ที่อัพเดตล่าสุดได้อย่างสะดวก。
  63. // @name:tr GitHub Tarihe göre sırala
  64. // @description:tr Dosya sıralamasını tarihe göre azalan olarak değiştirin,En son güncellenen dosyaları rahatça görüntüleyin。
  65. // @name:ug GitHub چېسلا بويىچە تەرتىپلەش
  66. // @description:ug ھۆججەت رەتلەشنى چېسلا بويىچە تۆۋەنگە ئۆزگەرتىڭ,ئەڭ يېڭى يېڭىلانغان ھۆججەتلەرنى قۇلايلىق كۆرۈڭ。
  67. // @name:uk GitHub Сортувати за датою
  68. // @description:uk Змінити сортування файлів на спадання за датою,Зручний перегляд останніх оновлених файлів。
  69. // @name:vi GitHub Sắp xếp theo ngày
  70. // @description:vi Thay đổi cách sắp xếp tệp thành giảm dần theo ngày,Thuận tiện xem các tập tin cập nhật mới nhất。
  71. // @name:zh-TW GitHub 按日期排序
  72. // @description:zh-TW 將文件排序方式改為日期降序,方便查看最新更新的文件。
  73. // @name:zh-HK GitHub 按日期排序
  74. // @description:zh-HK 將文件排序方式改為日期降序,方便查看最新更新的文件。
  75. // @name:fr-CA GitHub Trier par date
  76. // @description:fr-CA Changer le tri des fichiers en décroissant par date,Visualisez facilement les derniers fichiers mis à jour。
  77. // @description Change the file sorting order to descending by date for easier viewing of the most recently updated files.
  78. // @namespace https://github.com/ChinaGodMan/UserScripts
  79. // @version 1.1.0.15
  80. // @author @Androidcn ,人民的勤务员 <toniaiwanowskiskr47@gmail.com>
  81. // @match https://github.com/*
  82. // @icon https://www.google.com/s2/favicons?sz=64&domain=github.com
  83. // @grant none
  84. // @supportURL https://github.com/ChinaGodMan/UserScripts/issues
  85. // @homepageURL https://github.com/ChinaGodMan/UserScripts
  86. // @license MIT
  87. // ==/UserScript==
  88. (function () {
  89. 'use strict'
  90. function createButton() {
  91. // Create a button element
  92. const button = document.createElement('button')
  93. button.textContent = '排序'
  94. button.style.position = 'fixed'
  95. button.style.top = '60px'
  96. button.style.right = '20px'
  97. button.style.zIndex = '9999'
  98.  
  99. // Append the button to the body
  100. document.body.appendChild(button)
  101.  
  102. // Add click event listener to the button
  103. button.addEventListener('click', performSortedAction)
  104. }
  105. function waitForElement(selector) {
  106. return new Promise((resolve) => {
  107. const observer = new MutationObserver(() => {
  108. if (document.querySelector(selector)) {
  109. resolve()
  110. observer.disconnect()
  111. }
  112. })
  113. observer.observe(document.body, { childList: true, subtree: true })
  114. })
  115. }
  116. function performSortedAction() {
  117.  
  118. var files = document.querySelector('[aria-labelledby="folders-and-files"] tbody')
  119. var children = [...files.children]
  120. files.replaceChildren(
  121. children[0], ...[...files.querySelectorAll('.react-directory-row')].sort((a, b) => new Date(a.querySelector('relative-time').datetime) < new Date(b.querySelector('relative-time').datetime) ? 1 : -1), children.at(-1),
  122. )
  123. console.log('已按文件更新日期排序')
  124. }
  125. function WaitForRelativeTime() {
  126. waitForElement('relative-time').then(() => {
  127. performSortedAction()
  128. })
  129. }
  130. // Wait for the page to load
  131. window.addEventListener('load', WaitForRelativeTime)
  132.  
  133.  
  134. })()