Greasy Fork is available in English.

ГитХуб Стар Варехоусе Нотес Ассистант

Јесте ли заборавили сврху Стар спремишта? Ово је скрипта која може додати белешке вашим омиљеним складиштима, а информације које коментаришу могу се преносити и преузети у ГитХуб Гист

  1. // ==UserScript==
  2. // @name GitHub RepoNotesHelper
  3. // @name:af GitHub Star Warehouse Notes Assistent
  4. // @name:am የጊትሮ ኮከብ መጋዘን ማስታወሻዎች ረዳት
  5. // @name:ar Github Star Warehouse Notes Assistant
  6. // @name:az Github Star Anbar Qeydləri köməkçisi
  7. // @name:be Склад Github Star Warehouse Нататкі Памочнік
  8. // @name:bem Ifilembo fya Ntanda ifya GitHub Ifya Kusunga Ifya GitHub
  9. // @name:bg Github Star Warehouse бележки Асистент
  10. // @name:bn গিটহাব তারকা গুদাম নোট সহকারী
  11. // @name:bo གྷི་ཊི་ཧབ་སྐར་མའི་མཛོད་ཁང་གི་དྲན་ཐོ་ལས་རོགས་པ།
  12. // @name:bs Pomoćnik za magacinske bilješke GitHub Star
  13. // @name:ca Github Star Warehouse Notes Assistent
  14. // @name:ceb Github Star Warehouse Notes Assistant
  15. // @name:ckb یاریدەدەری کۆگای ئەستێرەکانی GitHub
  16. // @name:cs Poznámka Github Star Warehouse Asistent
  17. // @name:cy Cynorthwyydd Nodiadau Warehouse Seren GitHub
  18. // @name:da GitHub Star Warehouse Notes Assistant
  19. // @name:de Github Star Warehouse Note Assistent
  20. // @name:dv ގިތަބް ސްޓާ ވެއަރހައުސް ނޯޓްސް އެސިސްޓެންޓް
  21. // @name:dz GitHub སྐར་མའི་དམག་ཁང་གི་དྲན་ཐོ།
  22. // @name:el Ο Βοηθός Βοηθός Σημειών του Github Star Warehouse
  23. // @name:en GitHub Star Warehouse Notes Assistant
  24. // @name:en-GB GitHub Star Warehouse Notes Assistant
  25. // @name:eo Github Star Warehouse Notes Assistant
  26. // @name:es Asistente de notas de almacén de estrellas de Github
  27. // @name:et GitHub Star Warehouse Notes Assistent
  28. // @name:eu GitHub Star Warehouse Notes Laguntzailea
  29. // @name:fa GitHub Star Warehouse Notes دستیار
  30. // @name:fi Github Star Warehouse Notes Assistant
  31. // @name:fo GitHub Stjørnugoymsla Notur Assistant
  32. // @name:fr Assistant de notes d’entrepôt Github Star
  33. // @name:gd Neach-taic Notaichean Star Github
  34. // @name:gl GitHub Star Warehouse Notes Asistente
  35. // @name:gu ગિટહબ સ્ટાર વેરહાઉસ નોંધો સહાયક
  36. // @name:haw ʻO GitHitub Star Warehouse i nā mea kōkua
  37. // @name:he מחסן כוכב Github עוזר הערות
  38. // @name:hi GitHub स्टार वेयरहाउस नोट सहायक
  39. // @name:hr GitHub Star Warehouse Notes pomoćnik
  40. // @name:ht GitHub Star Depo Nòt Asistan
  41. // @name:hu Github Star Warehouse Notes asszisztens
  42. // @name:hy Gitub Star պահեստի գրառումների օգնական
  43. // @name:id Asisten Catatan Gudang Bintang GitHub
  44. // @name:is Github Star Warehouse Notes Assistant
  45. // @name:it GitHub Star Warehouse Note Assistente
  46. // @name:ja Github Star Warehouseノートアシスタント
  47. // @name:ka Github Star Warehouse შენიშვნები ასისტენტი
  48. // @name:kk Github star қоймасы
  49. // @name:km ជំនួយការផ្កាយ Github ជំនួយការ
  50. // @name:kn ಗಿಟ್‌ಹಬ್ ಸ್ಟಾರ್ ವೇರ್‌ಹೌಸ್ ಟಿಪ್ಪಣಿಗಳ ಸಹಾಯಕ
  51. // @name:ko Github Star Warehouse Notes Assistant
  52. // @name:ku Gitub Star Warehouse Alîkar
  53. // @name:ky Github Star Warehouse нота жардамчысы
  54. // @name:la GitHub Star CELLA Notes
  55. // @name:lb Github Star Warehouse Notize Assistent
  56. // @name:lo ຜູ້ຊ່ວຍ Warehouse Star Warehouse Star Weeke
  57. // @name:lt „GitHub Star Warehouse Notes“ asistentas
  58. // @name:lv Github Star Warehouse Notes Assistant
  59. // @name:mg Github Star Warehouse Noroteranan
  60. // @name:mi Ko te toa Github Star Warehouse he kaiawhina
  61. // @name:mk Асистент за магацин со starвездички starвезди
  62. // @name:ml GitHub സ്റ്റാർ വെയർഹ house സ് കുറിപ്പുകൾ അസിസ്റ്റന്റ്
  63. // @name:mn GitHub Star Warehouse ТАЙЛБАРЫН ТАЙЛБАР
  64. // @name:ms Pembantu Nota Warehouse Star Github
  65. // @name:mt Assistent ta ’Noti ta’ Star Warehouse GitHub Star
  66. // @name:my GitHub Star Warehouse Notes လက်ထောက်
  67. // @name:ne Githuub स्टार गोदाम नोटहरू
  68. // @name:nl GitHub Star Warehouse Notes Assistent
  69. // @name:no Github Star Warehouse Notes Assistant
  70. // @name:ny Githib Star Warehouse Insuer
  71. // @name:pa ਗਿਥੂਬ ਸਟਾਰ ਵੇਅਰਹਾ house ਸ ਨੋਟਸ ਸਹਾਇਕ
  72. // @name:pap Asistente di Notanan di Magazijn di Strea di GitHub
  73. // @name:pl Github Star Warehouse Notes Asystent
  74. // @name:ps د ګیتوب سټار ګودام یادښتونه معاون
  75. // @name:pt Assistente de Notas de Armazém do Github Star
  76. // @name:ro Github Star Warehouse Notes Assistant
  77. // @name:ru Звездный склад GitHub
  78. // @name:rw GitHub Star Ububiko bwumufasha
  79. // @name:sg GitHub ti dépôt ti atongoro ti mungo maboko .
  80. // @name:si GitHUB ස්ටාර් ගබඩාව සහකාර
  81. // @name:sk Github Star Warehouse Poznámky asistent
  82. // @name:sl Github Star Warehouse opombe pomočnik
  83. // @name:sm GitHub Star Warehouse Enternent Fesoasoani
  84. // @name:sn GitHub Star Warehouse Zvinyorwa Mubatsiri
  85. // @name:so Githeub Star Warehouse Ogeysiiska Qofka
  86. // @name:sr ГитХуб Стар Варехоусе Нотес Ассистант
  87. // @name:sv Github Star Warehouse Notes Assistant
  88. // @name:sw GitHub Star Ghala la Msaidizi
  89. // @name:ta கிட்ஹப் ஸ்டார் கிடங்கு குறிப்புகள் உதவியாளர்
  90. // @name:te గితుబ్ స్టార్ గిడ్డంగి నోట్స్ అసిస్టెంట్
  91. // @name:tg Ё ситораҳои Star Star Star
  92. // @name:th GitHub Star Warehouse Notes Assistant
  93. // @name:ti Github Star Warehouse Notes Assistant
  94. // @name:tk Gitub ýyldyz ammary kepillendirilýär
  95. // @name:tn Dinoutu tsa Bobolokelo jwa Dinaledi tsa GitHub
  96. // @name:to Ngaahi Fakatokanga ’a e Falekoloa ’o e GitHub Star
  97. // @name:tpi GitHub Sta Weahaus Not Asisten
  98. // @name:tr Github Yıldız Depo Notları Asistanı
  99. // @name:uk Зоряний склад Github Assistant Assistant
  100. // @name:ur گٹ ہب اسٹار گودام نوٹس اسسٹنٹ
  101. // @name:uz Github yulduz omborxonasi yordamchi
  102. // @name:vi Github Star Warehouse Ghi chú Trợ lý
  103. // @name:xh I-Gingab Star Warehouse Proceuntant
  104. // @name:yi גיטהוב שטערן וואַרעהאָוסע נאָטעס אַסיסטאַנט
  105. // @name:zh GitHub 星标仓库备注助手
  106. // @name:zh-CN GitHub 星标仓库备注助手
  107. // @name:zh-HK GitHub 星標倉庫備註助手
  108. // @name:zh-MO GitHub 星標倉庫備註助手
  109. // @name:zh-MY GitHub 星标仓库备注助手
  110. // @name:zh-SG GitHub 星标仓库备注助手
  111. // @name:zh-TW GitHub 星標倉庫備註助手
  112. // @name:zu Amanothi we-GitHub Star Warehouse Amanothi
  113. // @description Have you forgotten what the repository you starred is for? This is a script that can add notes to the repository you starred, and your notes can be uploaded and downloaded to GitHub Gist
  114. // @description:af Het u die doel van Star -bewaarplekke vergeet? Dit is ’n skrif wat aantekeninge by u gunsteling bewaarplekke kan voeg, en die inligting wat u kommentaar lewer, kan opgelaai en afgelaai word na GitHub Gist
  115. // @description:am የ Star Satnories ዓላማን ረሱ? ይህ ለተወዳጅ ማከማቻዎችዎ ማስታወሻዎችን ማከል የሚችል ጽሑፍ ነው, እና አስተያየቶች የሚሰጡት መረጃዎች ሊሰቀሉት እና ወደ Gitubub GIM ማውረድ ይችላሉ
  116. // @description:ar هل نسيت الغرض من مستودعات النجوم؟ هذا البرنامج النصي الذي يمكنه إضافة ملاحظات إلى مستودعاتك المفضلة ، ويمكن تحميل المعلومات التي تعلقها وتنزيلها إلى Github gist
  117. // @description:az Ulduz depoların məqsədini unutmusunuz? Bu, sevdiyiniz depolar üçün qeydlər əlavə edə bilən bir skriptdir və şərhləriniz yüklənə və Github Gist-ə yüklənə bilər
  118. // @description:be Вы забыліся на мэты зорных сховішчаў? Гэта сцэнар, які можа дадаць нататкі да вашых любімых сховішча
  119. // @description:bem Bushe mwalilubile umulandu wa fya kupangapanga ifya Star? Ici citabo kuti calundako ifyalembwa ku fifulo ifyo mwatemwa, kabili amashiwi ayo mulelanda kuti yabikwa no kukopololwa ku Nkondo ya GitHub .
  120. // @description:bg Забравили ли сте целта на звездни хранилища? Това е скрипт, който може да добави бележки към любимите ви хранилища, а информацията, която коментарите, може да бъде качена и изтеглена в Github Gist
  121. // @description:bn আপনি কি স্টার সংগ্রহস্থলের উদ্দেশ্য ভুলে গেছেন? এটি এমন একটি স্ক্রিপ্ট যা আপনার প্রিয় সংগ্রহস্থলগুলিতে নোট যুক্ত করতে পারে এবং আপনার মন্তব্যগুলি যে তথ্যগুলি আপলোড করা যায় এবং গিটহাব গিস্টে ডাউনলোড করা যায়
  122. // @description:bo ཁྱེད་རང་གིས་སྐར་མའི་མཛོད་ཁང་གི་དམིགས་ཡུལ་བརྗེད་སོང་ངམ། འདི་ནི་ཁྱེད་རང་གི་དགའ་མོས་ཆེ་ཤོས་ཀྱི་མཛོད་ཁང་ལ་དྲན་ཐོ་ཁ་སྣོན་བྱེད་ཐུབ་པའི་ཡིག་ཆ་ཞིག་ཡིན།
  123. // @description:bs Jeste li zaboravili svrhu Star Repositories? Ovo je skripta koja može dodati bilješke u vašim omiljenim spremištima, a informacije koje komentarišete možete prenijeti i preuzeti na GitHub Gist
  124. // @description:ca Heu oblidat el propòsit dels dipòsits estrella? Es tracta d’un script que pot afegir notes als vostres dipòsits preferits i la informació que comenteu es pot penjar i descarregar a Github Gist
  125. // @description:ceb Nalimot ka ba sa katuyoan sa mga repositoryo sa bituon? Kini usa ka script nga mahimong makadugang mga nota sa imong pinangga nga mga repositories, ug ang kasayuran nga imong mga komentaryo mahimong ma-upload ug ma-download sa Github GICT
  126. // @description:ckb ئایا ئامانجی کۆگاکانی ئەستێرەت لەبیر کردووە؟ ئەمە سکریپتێکە کە دەتوانێت تێبینی زیاد بکات بۆ کۆگا دڵخوازەکانت، و ئەو زانیاریانەی کە تۆ کۆمێنتەکان دەتوانن باربکرێن و دابەزێنرێن بۆ GitHub Gist
  127. // @description:cs Zapomněli jste na účel hvězdných repozitářů? Jedná se o skript, který může přidat poznámky do vašich oblíbených repozitářů a informace, které komentáře můžete nahrávat a stahovat do Github Gist
  128. // @description:cy Ydych chi wedi anghofio pwrpas ystorfeydd seren? Mae hon yn sgript a all ychwanegu nodiadau at eich hoff gadwrfeydd, a gellir uwchlwytho a lawrlwytho’r wybodaeth rydych chi’n ei gwneud sylwadau i GitHub Gist
  129. // @description:da Har du glemt formålet med Star Repositories? Dette er et script, der kan tilføje noter til dine yndlingsopbevaringssteder, og de oplysninger, du kommentarer kan uploades og downloades til GitHub Gist
  130. // @description:de Haben Sie den Zweck von Sternrepositories vergessen? Dies ist ein Skript, das Ihren bevorzugten Repositorys Notizen hinzufügen kann, und die Informationen, die Sie Kommentare erhalten
  131. // @description:dv ސްޓާ ރިޕޮޒިޓޯރީސްގެ ބޭނުމުގައި ހަނދާން ނެތިއްޖެ ހެއްޔެވެ؟ މިއީ ތިމާ އެންމެ ގަޔާވާ ރިޕޮޒިޓޯރީތަކަށް ނޯޓްތައް އިތުރުކުރެވޭނެ ސްކްރިޕްޓެއް ކަމަށާއި، ތިބާ ކޮމެންޓްކުރާ މައުލޫމާތުތައް އަޕްލޯޑްކޮށް ގިޓްހަބް ޖިސްޓް އަށް ޑައުންލޯޑް ކުރެވޭނެ ސްކްރިޕްޓެއް
  132. // @description:dz ཁྱོད་ཀྱིས་ སྐར་མའི་མཛོད་ཁང་ཚུ་གི་ དམིགས་ཡུལ་འདི་ བརྗེད་སོངཔ་ཨིན་ན? འདི་ཁྱོད་རའི་དགའ་མཐུན་གྱི་མཛོད་ཁང་ཚུ་ལུ་དྲན་འཛིན་ཁ་སྐོང་བརྐྱབ་ཚུགས་པའི་ཡིག་གཟུགས་ཅིག་ཨིནམ་དང་ ཁྱོད་ཀྱིས་བསམ་བརྗོད་བཀོད་མི་བརྡ་དོན་ཚུ་ སྐྱེལ་བཙུགས་འབད་དེ་ གིཊི་ཧབ་གིསཊི་ལུ་ཕབ་ལེན་འབད་ཚུགས།
  133. // @description:el Έχετε ξεχάσει τον σκοπό των αποθετηρίων Star; Αυτό είναι ένα σενάριο που μπορεί να προσθέσει σημειώσεις στα αγαπημένα σας αποθετήρια και οι πληροφορίες που σχόλια μπορούν να μεταφορτωθούν και να μεταφορτωθούν στο Github Gist
  134. // @description:en Have you forgotten the purpose of Star repositories? This is a script that can add notes to your favorite repositories, and the information you comments can be uploaded and downloaded to GitHub Gist
  135. // @description:en-GB Have you forgotten the purpose of Star repositories? This is a script that can add notes to your favorite repositories, and the information you comments can be uploaded and downloaded to GitHub Gist
  136. // @description:eo Ĉu vi forgesis la celon de stelaj deponejoj? Ĉi tio estas skripto, kiu povas aldoni notojn al viaj plej ŝatataj deponejoj, kaj la informoj, kiujn vi komentas, povas esti alŝutitaj kaj elŝutitaj al GitHub Gist
  137. // @description:es ¿Has olvidado el propósito de los repositorios de las estrellas? Este es un script que puede agregar notas a sus repositorios favoritos, y la información que comenta se puede cargar y descargar a GitHub Gist
  138. // @description:et Kas olete unustanud tähehoidlate eesmärgi? See on skript, mis saab teie lemmikhoidlatele märkmeid lisada ning teie kommentaare teabe saab üles laadida ja alla laadida GitHub GIST -i
  139. // @description:eu Aldatu al duzu izar biltegien xedea? Zure gogoko biltegietan oharrak gehitu ditzakeen gidoia da, eta iruzkinak Github Gist-era igo eta deskargatu ditzakezu
  140. // @description:fa آیا هدف مخازن ستاره را فراموش کرده اید؟ این یک اسکریپت است که می تواند یادداشت هایی را به مخازن مورد علاقه شما اضافه کند ، و اطلاعاتی که می توانید در مورد آنها می توانید بارگذاری و بارگیری کنید برای GitHub Gist
  141. // @description:fi Oletko unohtanut tähtivarastojen tarkoituksen? Tämä on skripti, joka voi lisätä muistiinpanoja suosikkikappaleihisi, ja kommenttien tiedot voidaan ladata ja ladata Github GIST: lle
  142. // @description:fo Hevur tú gloymt endamálið við Star goymslunum? Hetta er eitt script, sum kann leggja notur til tíni yndis goymslur, og upplýsingarnar, tú viðmerkir, kunnu leggjast upp og heintast á GitHub Gist
  143. // @description:fr Avez-vous oublié le but des référentiels étoiles? Ceci est un script qui peut ajouter des notes à vos référentiels préférés, et les informations que vos commentaires peuvent être téléchargées et téléchargées sur GitHub Gist
  144. // @description:gd A bheil thu air dìochuimhneachadh adhbhar stòran rionnag? Is e sgriobt a tha seo a dh ’fhaodas notaichean a chuir ris na tasgaidhean as fheàrr leat, agus am fiosrachadh as urrainnear do bheachdan a luchdachadh suas agus a luchdachadh sìos gu Gris Gris
  145. // @description:gl ¿Esqueciches o propósito dos repositorios de estrelas? Este é un guión que pode engadir notas aos teus repositorios favoritos e a información que comentas pódese cargar e descargar a GitHub Gist
  146. // @description:gu શું તમે સ્ટાર રીપોઝીટરીઓનો હેતુ ભૂલી ગયા છો? આ એક સ્ક્રિપ્ટ છે જે તમારા મનપસંદ ભંડારોમાં નોંધો ઉમેરી શકે છે, અને તમે જે ટિપ્પણી કરો છો તે માહિતી અપલોડ કરી શકાય છે અને ગીથબ જીસ્ટ પર ડાઉનલોડ કરી શકાય છે
  147. // @description:haw Ua poina aneiʻoe i ke kumu o nā hōkū hōkū? ʻO kēia kahi palapala e hiki ai ke hoʻohui i nā moʻolelo i kāu mau punahele punahele, a me kaʻike i hiki ke hoʻoiho a hoʻoihoʻia i GitHub Gist
  148. // @description:he האם שכחת את מטרת מאגרי הכוכבים? זהו סקריפט שיכול להוסיף הערות למאגרים המועדפים עליך, וניתן להעלות ולהוריד את המידע שאתה מעיר
  149. // @description:hi क्या आप स्टार रिपॉजिटरी के उद्देश्य को भूल गए हैं? यह एक स्क्रिप्ट है जो आपके पसंदीदा रिपॉजिटरी में नोट्स जोड़ सकती है, और आपके द्वारा टिप्पणी की गई जानकारी को अपलोड किया जा सकता है और GitHub Gist पर डाउनलोड किया जा सकता है
  150. // @description:hr Jeste li zaboravili svrhu zvijezda? Ovo je skripta koja može dodati bilješke u vaša omiljena spremišta, a informacije koje komentirate mogu se prenijeti i preuzeti u GitHub Gist
  151. // @description:ht Eske ou te bliye bi pou yo repozitwa zetwal yo? Sa a se yon script ki ka ajoute nòt nan zarchiv pi renmen ou, ak enfòmasyon ou kòmantè yo ka Uploaded ak telechaje nan GitHub Gist
  152. // @description:hu Elfelejtette -e a csillagtároló célját? Ez egy olyan szkript, amely jegyzeteket adhat a kedvenc tárolókhoz, és az Ön által megjegyzett információk feltölthetők és letölthetők a Github GIST -be
  153. // @description:hy Մոռացել եք աստղային պահոցների նպատակը: Սա սցենար է, որը կարող է գրառումներ ավելացնել ձեր նախընտրած պահեստների համար, եւ ձեր մեկնաբանությունները կարող եք վերբեռնվել եւ ներբեռնել GITHUB GIST
  154. // @description:id Pernahkah Anda lupa tujuan repositori bintang? Ini adalah skrip yang dapat menambahkan catatan ke repositori favorit Anda, dan informasi yang Anda komentar dapat diunggah dan diunduh ke Gistub Gist
  155. // @description:is Hefur þú gleymt tilgangi stjörnu geymsla? Þetta er handrit sem getur bætt athugasemdum við uppáhalds geymslurnar þínar og upplýsingarnar sem þú athugasemdir geta verið hlaðið upp og hlaðið niður á Github Gist
  156. // @description:it Hai dimenticato lo scopo dei repository a stelle? Questo è uno script che può aggiungere note ai tuoi repository preferiti e le informazioni che commenti possono essere caricate e scaricate su Github Gist
  157. // @description:ja スターリポジトリの目的を忘れましたか?これはお気に入りのリポジトリにメモを追加できるスクリプトであり、コメントする情報をアップロードしてGitHub Gistにダウンロードできます
  158. // @description:ka დაგავიწყდათ ვარსკვლავების საცავების მიზანი? ეს არის სკრიპტი, რომელსაც შეუძლია დაამატოთ შენიშვნები თქვენს საყვარელ საცავებში, და თქვენი კომენტარების ინფორმაცია შეგიძლიათ ატვირთოთ და გადმოწეროთ Github Gist– ში
  159. // @description:kk Сіз жұлдызды репозиторийлердің мақсатын ұмытып қалдыңыз ба? Бұл сіздің сүйікті репозиторийлеріңізге жазбалар қоса алатын сценарий және сіз түсініктемелерді github gistul-ге жүктеуге және жүктеуге болатын сценарий
  160. // @description:km តើអ្នកបានភ្លេចគោលបំណងរបស់ឃ្លាំងស្តារស្តារដែរឬទេ? នេះគឺជាស្គ្រីបដែលអាចបន្ថែមកំណត់ត្រាទៅឃ្លាំងដែលអ្នកចូលចិត្តហើយព័ត៌មានដែលអ្នកផ្តល់យោបល់អាចត្រូវបានផ្ទុកឡើងនិងទាញយកទៅ GitHub Gist
  161. // @description:kn ಸ್ಟಾರ್ ರೆಪೊಸಿಟರಿಗಳ ಉದ್ದೇಶವನ್ನು ನೀವು ಮರೆತಿದ್ದೀರಾ? ಇದು ನಿಮ್ಮ ನೆಚ್ಚಿನ ರೆಪೊಸಿಟರಿಗಳಿಗೆ ಟಿಪ್ಪಣಿಗಳನ್ನು ಸೇರಿಸಬಹುದಾದ ಸ್ಕ್ರಿಪ್ಟ್, ಮತ್ತು ನೀವು ಕಾಮೆಂಟ್ ಮಾಡುವ ಮಾಹಿತಿಯನ್ನು ಅಪ್‌ಲೋಡ್ ಮಾಡಬಹುದು ಮತ್ತು ಗಿಟ್‌ಹಬ್ ಸಾರಾಂಶಕ್ಕೆ ಡೌನ್‌ಲೋಡ್ ಮಾಡಬಹುದು
  162. // @description:ko 스타 저장소의 목적을 잊었습니까? 이것은 좋아하는 저장소에 메모를 추가 할 수있는 스크립트이며, 귀하가 댓글을 달아 Github Gist에 업로드하여 다운로드 할 수 있습니다.
  163. // @description:ku Ma we armanca repositories star ji bîr kiriye? Ev script e ku dikare li ser repositorên xweyên bijare, û agahdariya ku hûn şîroveyan dikarin lê zêde bikin, dikarin werin barkirin û dakêşin Gitub Gist
  164. // @description:ky Жылдыздар репозиторийлердин максатын унутуп калдыңызбы? Бул сценарий сиздин сүйүктүү репозиторийлерине ноталарды кошо ала турган сценарий жана сиз комментарийлериңизди жүктөөгө жана Github Gistке жүктөп алууга болот
  165. // @description:la An oblitus est ad stella repositories? Hoc est scriptum, quod potest addere notas ad vestri ventus repositories et notitia vos comments potest uploaded et downloaded ad Gitub gist
  166. // @description:lb Hutt Dir den Zweck vun der Star Repositories vergiess? Dëst ass eng Angscht, déi Notize bäifügen, kënnen Notize vun Äre Liiblingsopositorien, an d’Informatiounen, déi Iech de Kommentare eropgelueden ginn an op Gauru gusters eropgelooss ginn an erof op Gitub Gestes
  167. // @description:lo ທ່ານໄດ້ລືມຈຸດປະສົງຂອງຫໍສະວະກໍາດາວບໍ? ນີ້ແມ່ນສະຄິບທີ່ສາມາດເພີ່ມບັນທຶກເຂົ້າໃນຫໍສະມຸດທີ່ທ່ານມັກ, ແລະຂໍ້ມູນທີ່ທ່ານໃຫ້ຄໍາເຫັນສາມາດອັບໂຫລດແລະດາວໂຫລດໄປທີ່ GitHub Gist
  168. // @description:lt Ar pamiršote žvaigždžių saugyklų tikslą? Tai scenarijus, kuris gali pridėti pastabas prie mėgstamų saugyklų, o jūsų komentuojamą informaciją galima įkelti ir atsisiųsti į „GitHub Gist“
  169. // @description:lv Vai esat aizmirsis zvaigžņu krātuvju mērķi? Šis ir skripts, kas var pievienot piezīmes jūsu iecienītākajām krātuvēm, un jūsu komentāru informācija var augšupielādēt un lejupielādēt Github Gist
  170. // @description:mg Adinonao ve ny tanjon’ny repositories kintana? Ity dia script izay afaka manampy fanamarihana amin’ireo repositories tianao indrindra, ary ny fampahalalana azonao alaina dia azo alefa ary alaina amin’ny GITHUB GIST
  171. // @description:mi Kua wareware koe i te kaupapa o te whetu o te whetu? He tuhinga tuhi tenei ka taea te taapiri i nga tuhinga e pai ana ki a koe, me nga korero ka taea e koe te tuku me te tango i te Gitupu Gist
  172. // @description:mk Дали сте ја заборавиле целта на складиштата на Starвездите? Ова е скрипта што може да додаде белешки во вашите омилени складишта, а информациите што ги коментирате можат да бидат поставени и преземени во Github Gist
  173. // @description:ml സ്റ്റാർ ശേഖരണങ്ങളുടെ ഉദ്ദേശ്യം നിങ്ങൾ മറന്നോ? നിങ്ങളുടെ പ്രിയപ്പെട്ട ശേഖരണങ്ങളിലേക്ക് കുറിപ്പുകൾ ചേർക്കാവുന്ന ഒരു സ്ക്രിപ്റ്റാണ്, മാത്രമല്ല നിങ്ങൾ അഭിപ്രായങ്ങൾ പാലിക്കാനും GitHub ജിസ്റ്റിലേക്ക് ഡ download ൺലോഡ് ചെയ്യാനും കഴിയും
  174. // @description:mn Оддын сангийн зорилгыг мартсан уу? Энэ бол таны дуртай мэдээллийн хэрэгслээр тэмдэглэл нэмэх боломжтой скрипт бөгөөд таны сэтгэгдлийг байршуулж, github gist руу татаж авах боломжтой скрипт юм
  175. // @description:ms Adakah anda terlupa tujuan repositori bintang? Ini adalah skrip yang boleh menambah nota ke repositori kegemaran anda, dan maklumat yang anda komen dapat dimuat naik dan dimuat turun ke GitHub Gist
  176. // @description:mt Insejt l-iskop tar-repożitorji tal-istilel? Dan huwa skript li jista ’jżid noti mar-repożitorji favoriti tiegħek, u l-informazzjoni li l-kummenti tista’ tittella ’u titniżżel fuq gist gist
  177. // @description:my Star Repositories ၏ရည်ရွယ်ချက်ကိုသင်မေ့သွားပြီလား။ ဤသည်မှာသင်ကြိုက်နှစ်သက်သော repositories များကိုမှတ်စုများထည့်သွင်းနိုင်သည့်ဇာတ်ညွှန်းတစ်ခုဖြစ်ပြီးသင်မှတ်ချက်များကိုတင်ခြင်းနှင့် Gitub Gist သို့ဒေါင်းလုပ်ဆွဲနိုင်သည်
  178. // @description:ne के तपाईंले स्टार भण्डारको उद्देश्य बिर्सनुभयो? यो एक स्क्रिप्ट हो जुन तपाईंको मनपर्ने रिपोजिटिफिकेसमा नोटहरू थप्न सक्दछ, र सूचनाहरू तपाईंले टिप्पणीहरू अपलोड गर्न सक्नुहुनेछ र githuub gist मा डाउनलोड गर्न सकिन्छ
  179. // @description:nl Ben je het doel van sterrepositories vergeten? Dit is een script dat notities kan toevoegen aan uw favoriete repositories, en de informatie die u opmerkingen kunt worden geüpload en gedownload naar GitHub Gist
  180. // @description:no Har du glemt formålet med Star Repositories? Dette er et manus som kan legge til notater til favorittlagringene dine, og informasjonen du kommenterer kan lastes opp og lastes ned til Github Gist
  181. // @description:ny Kodi mwaiwala cholinga cha nyenyezi? Ichi ndi cholembedwa chomwe chingawonjezere zolemba zomwe mumakonda, ndipo zomwe mumazipeza zitha kukwezedwa ndikutsitsidwa ku Gitob Gist
  182. // @description:pa ਕੀ ਤੁਸੀਂ ਸਟਾਰ ਰਿਪੋਜ਼ਟਰੀਆਂ ਦਾ ਉਦੇਸ਼ ਭੁੱਲ ਗਏ ਹੋ? ਇਹ ਇਕ ਸਕ੍ਰਿਪਟ ਹੈ ਜੋ ਤੁਹਾਡੀਆਂ ਮਨਪਸੰਦ ਰਿਪੋਜ਼ਟਰੀਆਂ ਨੂੰ ਨੋਟਸ ਜੋੜ ਸਕਦੇ ਹੋ, ਅਤੇ ਜਿਹੜੀ ਜਾਣਕਾਰੀ ਤੁਸੀਂ ਟਿੱਪਣੀਆਂ ਕਰਦੇ ਹੋ ਅਤੇ ਗੈਟਬ ਫਿਸਟ ਨੂੰ ਡਾ and ਨਲੋਡ ਕਰਕੇ ਡਾ ed ਨਲੋਡ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ
  183. // @description:pap Bo a lubidá e propósito di e depósitonan di Star? Esaki ta un script ku por añadí nota na bo repositorionan faborito, i e informashon ku bo ta komentario por wòrdu subi i download na GitHub Gist
  184. // @description:pl Czy zapomniałeś o celu repozytoriów gwiazd? Jest to skrypt, który może dodawać notatki do twoich ulubionych repozytoriów, a informacje, które komentarze można przesłać i pobrać do Github Gist
  185. // @description:ps ایا تاسو د سټار ذخیره کولو هدف هیر کړی؟ دا یو سکریپټ دی چې کولی شي ستاسو د خوښې داوطلبیو ته یادونه اضافه کړي، او هغه معلومات چې تاسو نظر ورکوئ او ډاونلوډ کولی شئ د ګیټوب ګیسټ ته پورته او ډاونلوډ شوی شئ
  186. // @description:pt Você esqueceu o objetivo dos repositórios de estrelas? Este é um script que pode adicionar notas aos seus repositórios favoritos, e as informações que você comentários podem ser carregadas e baixadas para Github Gist
  187. // @description:ro Ați uitat scopul depozitelor de stele? Acesta este un script care poate adăuga note la depozitele dvs. preferate, iar informațiile pe care le -ați comentat pot fi încărcate și descărcate în Github Gist
  188. // @description:ru Вы забыли цель звездных репозитории? Это сценарий, который может добавлять заметки к вашим любимым репозиториям, а информация, которую вы комментарии могут быть загружены и загружены на GitHub Gist
  189. // @description:rw Wibagiwe intego yinyenyeri yinyenyeri? Iyi ni inyandiko ishobora kongeramo inyandiko mububiko ukunda, kandi amakuru uvuga ibitekerezo arashobora guterwa no gukurwa kuri Github rist
  190. // @description:sg Mo girisa nda ti aye ti batango na Star? A yeke mbeni script so alingbi ti zia ambeni tënë na ndo ti ando ti batango ye so mo ye ni mingi, na asango so mo yeke sara tënë na ndo ni alingbi ti zia na ndo ti site ni na ti téléchargé ni na GitHub Gist .
  191. // @description:si තරු ගබඩාවේ අරමුණ ඔබට අමතක වී තිබේද? මෙය ඔබේ ප්රියතම ගබඩාවලට සටහන් එක් කළ හැකි පිටපතක් වන අතර, ඔබ අදහස් දැක්විය හැකි තොරතුරු GitHub atist වෙත උඩුගත කළ හැකිය
  192. // @description:sk Zabudli ste na účel úložiska hviezd? Toto je skript, ktorý môže do vašich obľúbených úložiskov pridať poznámky a informácie, ktoré komentuje, môžete nahrať a stiahnuť do GitHub Gist
  193. // @description:sl Ste pozabili namen zvezdnih skladišč? To je scenarij, ki lahko doda zapiske v vaše najljubše skladišča, informacije, ki jih komentirate, pa lahko naložite in prenesete v gist Gist
  194. // @description:sm Ua galo ia te oe le mafuaʻaga o le Star Respostories? O le tala lea e mafai ona faʻaopopo tusitusiga i au mea e te fiafia i ai, ma o faʻamatalaga o loʻo e manatu e mafai ona lalagaina ma download i Gitthub Gist
  195. // @description:sn Wakanganwa here chinangwa cheNyeredzi Repositories? Ichi chinyorwa chinogona kuwedzera manotsi kune yako yaunofarira repositories, uye ruzivo rwaunofunga runogona kuiswa uye kutorwa ku github gist
  196. // @description:so Ma ilowday ujeeddada kaydadka xiddigta? Tani waa qoraal qoraal ah oo ku dari karta astaamaha aad ugu jeceshahay, macluumaadka aad ka hadashayna waxaa lagu soo dejin karaa oo lagu soo dejisan karaa GitHub GIST
  197. // @description:sr Јесте ли заборавили сврху Стар спремишта? Ово је скрипта која може додати белешке вашим омиљеним складиштима, а информације које коментаришу могу се преносити и преузети у ГитХуб Гист
  198. // @description:sv Har du glömt syftet med stjärnförvar? Detta är ett skript som kan lägga till anteckningar till dina favoritförvar, och den information du kommenterar kan laddas upp och laddas ner till GitHub Gist
  199. // @description:sw Je! Umesahau madhumuni ya kumbukumbu za nyota? Hii ni hati ambayo inaweza kuongeza maelezo kwenye hazina zako unazopenda, na habari unayotoa maoni inaweza kupakiwa na kupakuliwa kwa GitHub Gist
  200. // @description:ta நட்சத்திர களஞ்சியங்களின் நோக்கத்தை நீங்கள் மறந்துவிட்டீர்களா? இது உங்களுக்கு பிடித்த களஞ்சியங்களுக்கு குறிப்புகளைச் சேர்க்கக்கூடிய ஸ்கிரிப்ட் ஆகும், மேலும் நீங்கள் கருத்துத் தெரிவிக்கும் தகவல்களை கிட்ஹப் ஜிஸ்டில் பதிவேற்றி பதிவிறக்கம் செய்யலாம்
  201. // @description:te మీరు స్టార్ రిపోజిటరీల ఉద్దేశ్యాన్ని మరచిపోయారా? ఇది మీకు ఇష్టమైన రిపోజిటరీలకు గమనికలను జోడించగల స్క్రిప్ట్, మరియు మీరు వ్యాఖ్యలను అప్‌లోడ్ చేసి గితుబ్ జిస్ట్‌కు డౌన్‌లోడ్ చేయవచ్చు
  202. // @description:tg Оё шумо мақсади қаламравҳои ситораҳоро фаромӯш кардед? Ин скрипест, ки метавонад ба панелоситҳои дӯстдоштаатон қайдҳо илова кунад ва маълумоти шумо шарҳ дода шавад
  203. // @description:th คุณลืมจุดประสงค์ของที่เก็บดาวหรือไม่? นี่คือสคริปต์ที่สามารถเพิ่มบันทึกย่อในที่เก็บที่คุณชื่นชอบและข้อมูลที่คุณแสดงความคิดเห็นสามารถอัปโหลดและดาวน์โหลดไปยัง GitHub Gist
  204. // @description:ti ዕላማ መኽዘናት ኮኾብ ረሲዕካዮ ዲኻ? እዚ ስክሪፕት ኣብ ዝፈትውዎ መኽዘናት መዘኻኸሪታት ክውስኽ ዝኽእል ኮይኑ፡ እቲ እትህቦ ሓበሬታ ድማ ናብ Github Gist ክትስቀልን ክትወርድን ትኽእል ኢኻ።
  205. // @description:tk Staryldyz ammarlarynyň maksadyny ýatdan çykardyňyzmy? Bu skriptler, halaýan ammarda bellikler goşup biljek masgara we Teswirleriňiz Github gist-i ýükläp we göçürip alyp bolýardy
  206. // @description:tn A o lebetse boikaelelo jwa dipolokelo tsa Star? Se ke sekwalwa se se ka tsenyang dintlha mo mabolokelong a o a ratang, mme tshedimosetso e o e akgelang e ka laisiwa le go laisololwa mo GitHub Gist .
  207. // @description:to Kuo ngalo nai ’iate koe ’a e taumu’a ’o e ngaahi fale tuku’anga ’o e Star? Ko ha script eni ’e lava ke tanaki atu ha ngaahi fakamatala ki ho’o ngaahi fale tuku’anga koloa manakoa, pea ’e lava ke ’oatu ’a e fakamatala ’oku ke fakamatala’i pea download ki he GitHub Gist .
  208. // @description:tpi Yu bin lusim tingting long as bilong ol samting bilong kisim ol samting bilong Sta? Dispela em i wanpela skrip we inap putim ol not long ol feveret repositori bilong yu, na ol infomesen yu givim ol koment yu ken putim na daunlodim i go long GitHub Gist .
  209. // @description:tr Yıldız depolarının amacını unuttunuz mu? Bu, en sevdiğiniz depolara not ekleyebilen bir senaryo ve yorum yaptığınız bilgiler yüklenebilir ve Github Gist’e indirilebilir
  210. // @description:uk Ви забули мету зіркових сховищ? Це сценарій, який може додати нотатки до ваших улюблених сховищ, і інформація, яку ви коментуєте, можна завантажити та завантажити в Github Gist
  211. // @description:ur کیا آپ اسٹار ذخیروں کا مقصد بھول گئے ہیں؟ یہ ایک اسکرپٹ ہے جو آپ کے پسندیدہ ذخیروں میں نوٹوں کو شامل کرسکتی ہے ، اور آپ کے تبصرے کی معلومات کو اپ لوڈ اور گٹ ہب گسٹ پر ڈاؤن لوڈ کیا جاسکتا ہے۔
  212. // @description:uz Siz yulduz omborlarining maqsadi unutdingizmi? Bu sizning sevimli omborlaringizga eslatma qo’shishi mumkin bo’lgan skript, siz sharhlaringiz bilan Gitub Gist-ga yuklanishi mumkin va yuklab olinishi mumkin
  213. // @description:vi Bạn đã quên mục đích của kho sao? Đây là một tập lệnh có thể thêm ghi chú vào kho lưu trữ yêu thích của bạn và thông tin bạn nhận xét có thể được tải lên và tải xuống
  214. // @description:xh Ngaba uyilibele injongo yeendawo zokugcina iinkwenkwezi? Esi siskripthi esinokongeza amanqaku kwizikhundla zakho ezifunekileyo, kwaye ulwazi oluza kuxhuma luyityikitywe kwaye lukhutshelwe kwi-GitIst Gist
  215. // @description:yi האָבן איר פארגעסן די ציל פון שטערן ריפּאַזאַטאָריז? דאָס איז אַ שריפט וואָס קענען לייגן הערות צו דיין באַליבסטע ריפּאַזאַטאָריז, און די אינפֿאָרמאַציע איר באַמערקונגען קענען זיין ופּלאָאַדעד און דאַונלאָודיד צו גיטהוב לערנט
  216. // @description:zh 曾经 Star 过的仓库是不是忘记了它们的用途? 这是一个可以给你收藏过的仓库添加备注的的脚本,并且你备注的信息可以上传下载到 GitHub Gist
  217. // @description:zh-CN 曾经 Star 过的仓库是不是忘记了它们的用途? 这是一个可以给你收藏过的仓库添加备注的的脚本,并且你备注的信息可以上传下载到 GitHub Gist
  218. // @description:zh-HK 曾經 Star 過的倉庫是不是忘記了它們的用途? 這是一個可以給你收藏過的倉庫添加備註的的腳本,並且你備註的信息可以上傳下載到 GitHub Gist
  219. // @description:zh-MO 曾經 Star 過的倉庫是不是忘記了它們的用途? 這是一個可以給你收藏過的倉庫添加備註的的腳本,並且你備註的信息可以上傳下載到 GitHub Gist
  220. // @description:zh-MY 曾经 Star 过的仓库是不是忘记了它们的用途? 这是一个可以给你收藏过的仓库添加备注的的脚本,并且你备注的信息可以上传下载到 GitHub Gist
  221. // @description:zh-SG 曾经 Star 过的仓库是不是忘记了它们的用途? 这是一个可以给你收藏过的仓库添加备注的的脚本,并且你备注的信息可以上传下载到 GitHub Gist
  222. // @description:zh-TW 曾經 Star 過的倉庫是不是忘記了它們的用途? 這是一個可以給你收藏過的倉庫添加備註的的腳本,並且你備註的信息可以上傳下載到 GitHub Gist
  223. // @description:zu Ngabe usuyikhohliwe inhloso ye-Star Recositories? Lokhu kungumbhalo ongangeza amanothi kuma-repositories akho owathandayo, kanye nolwazi oluphawula ngalo lungalayishwa futhi lulandiwe ku-GitHub Gist
  224. // @author malagebidi,人民的勤务员 <china.qinwuyuan@gmail.com>
  225. // @namespace https://github.com/ChinaGodMan/UserScripts
  226. // @supportURL https://github.com/ChinaGodMan/UserScripts/issues
  227. // @homepageURL https://github.com/ChinaGodMan/UserScripts
  228. // @license MIT
  229. // @match https://github.com/*
  230. // @icon data:image/png;base64,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
  231. // @compatible chrome
  232. // @compatible firefox
  233. // @compatible edge
  234. // @compatible opera
  235. // @compatible safari
  236. // @compatible kiwi
  237. // @compatible qq
  238. // @compatible via
  239. // @compatible brave
  240. // @version 2025.04.24.1933
  241. // @grant GM_setValue
  242. // @grant GM_getValue
  243. // @grant GM_deleteValue
  244. // @grant GM_addStyle
  245. // @grant GM_xmlhttpRequest
  246. // @grant GM_registerMenuCommand
  247. // @require https://update.greatest.deepsurf.us/scripts/498897/1404834/Toastnew.js
  248. // @created 2025-04-21 16:52:52
  249. // @modified 2025-04-21 16:52:52
  250. // ==/UserScript==
  251. /**
  252. * File: github-starred-repo-note.user.js
  253. * Project: UserScripts
  254. * File Created: 2025/04/21,Monday 16:52:52
  255. * Author: malagebidi<https://greatest.deepsurf.us/zh-CN/users/314803>,人民的勤务员@ChinaGodMan (china.qinwuyuan@gmail.com)
  256. * -----
  257. * Last Modified: 2025/04/24,Thursday 19:33:34
  258. * Modified By: 人民的勤务员@ChinaGodMan (china.qinwuyuan@gmail.com)
  259. * -----
  260. * License: MIT License
  261. * Copyright © 2024 - 2025 ChinaGodMan,Inc
  262. */
  263.  
  264. (async function () {
  265. 'use strict'
  266. // --- Configuration ---
  267. var GITHUB_PAT_TOKEN = GM_getValue('GITHUB_PAT_TOKEN', '')
  268. const userLang =
  269. (navigator.languages && navigator.languages[0]) ||
  270. navigator.language ||
  271. 'en'
  272. const translations = {
  273. en: {
  274. NOTE_PLACEHOLDER: 'Enter your note...',
  275. ADD_BUTTON_TEXT: 'Add Note',
  276. EDIT_BUTTON_TEXT: 'Edit Note',
  277. SAVE_BUTTON_TEXT: 'Save',
  278. CANCEL_BUTTON_TEXT: 'Cancel',
  279. DELETE_BUTTON_TEXT: 'Delete',
  280. DOWNLOAD_BUTTON_TEXT: 'Download notes',
  281. UPLOAD_BUTTON_TEXT: 'Upload notes',
  282. NO_TOKEN_ALERT_TEXT: 'Please enter your GitHub token',
  283. DOWNLOAD_GIST_SUCCESS: 'Your cloud backup notes have been restored, please refresh the current page. ',
  284. DOWNLOAD_GIST_FAILURE: 'Your cloud backup notes failed to be restored, please check whether the GitHub Token is correct. ',
  285. UPLOAD_GIST_SUCCESS: 'Your cloud backup notes have been saved',
  286. UPLOAD_GIST_FAILURE: 'Your cloud backup notes failed to be saved, please check whether the GitHub Token is correct. ',
  287. DELETE_CONFIRM: 'Are you sure you want to delete the note for \"{repoFullName}\"?'
  288.  
  289. },
  290. 'zh-CN,zh,zh-SG': {
  291. NOTE_PLACEHOLDER: '输入备注...',
  292. ADD_BUTTON_TEXT: '备注',
  293. EDIT_BUTTON_TEXT: '编辑备注',
  294. SAVE_BUTTON_TEXT: '保存',
  295. CANCEL_BUTTON_TEXT: '取消',
  296. DELETE_BUTTON_TEXT: '删除',
  297. DOWNLOAD_BUTTON_TEXT: '下载备注',
  298. UPLOAD_BUTTON_TEXT: '上传备注',
  299. NO_TOKEN_ALERT_TEXT: '请先输入GitHub Token',
  300. DOWNLOAD_GIST_SUCCESS: '你的云备份笔记已被恢复,请刷新当前页面.',
  301. DOWNLOAD_GIST_FAILURE: '你的云备份笔记恢复失败,请检查GitHub Token是否正确.',
  302. UPLOAD_GIST_SUCCESS: '你的云备份笔记已被保存',
  303. UPLOAD_GIST_FAILURE: '你的云备份笔记保存失败,请检查GitHub Token是否正确.',
  304. DELETE_CONFIRM: '你确定要删除\"{repoFullName}\"仓库的备注嘛?'
  305.  
  306. },
  307. 'zh-TW,zh-HK,zh-MO': {
  308. NOTE_PLACEHOLDER: '輸入您的筆記...',
  309. ADD_BUTTON_TEXT: '添加筆記',
  310. EDIT_BUTTON_TEXT: '編輯筆記',
  311. SAVE_BUTTON_TEXT: '保存',
  312. CANCEL_BUTTON_TEXT: '取消',
  313. DELETE_BUTTON_TEXT: '刪除'
  314. },
  315. vi: {
  316. NOTE_PLACEHOLDER: 'Nhập ghi chú của bạn...',
  317. ADD_BUTTON_TEXT: 'Thêm ghi chú',
  318. EDIT_BUTTON_TEXT: 'Chỉnh sửa ghi chú',
  319. SAVE_BUTTON_TEXT: 'Lưu',
  320. CANCEL_BUTTON_TEXT: 'Hủy bỏ',
  321. DELETE_BUTTON_TEXT: 'Xóa'
  322. },
  323. ja: {
  324. NOTE_PLACEHOLDER: 'メモを入力してください...',
  325. ADD_BUTTON_TEXT: 'メモを追加',
  326. EDIT_BUTTON_TEXT: 'メモを編集',
  327. SAVE_BUTTON_TEXT: '保存',
  328. CANCEL_BUTTON_TEXT: 'キャンセル',
  329. DELETE_BUTTON_TEXT: '削除'
  330. },
  331. ko: {
  332. NOTE_PLACEHOLDER: '메모를 입력하세요...',
  333. ADD_BUTTON_TEXT: '메모 추가',
  334. EDIT_BUTTON_TEXT: '메모 편집',
  335. SAVE_BUTTON_TEXT: '저장',
  336. CANCEL_BUTTON_TEXT: '취소',
  337. DELETE_BUTTON_TEXT: '삭제'
  338. }
  339.  
  340. }
  341. const getTranslations = (lang) => {
  342. for (const key in translations) {
  343. if (key === lang || key.split(',').includes(lang)) {
  344. return translations[key]
  345. }
  346. }
  347. return translations['en']
  348. }
  349. const translate = new Proxy(
  350. function (key) {
  351. const lang = userLang
  352. const strings = getTranslations(lang)
  353. return strings[key] || translations['en'][key]
  354. },
  355. {
  356. get(target, prop) {
  357. const lang = userLang
  358. const strings = getTranslations(lang)
  359. return strings[prop] || translations['en'][prop]
  360. }
  361. }
  362. )
  363.  
  364. // --- Styles ---
  365. GM_addStyle(`
  366. .ghsn-container {
  367. padding-right: var(--base-size-24, 24px) !important;
  368. color: var(--fgColor-muted, var(--color-fg-muted)) !important;
  369. width: 74.99999997%;
  370. }
  371. .ghsn-display {
  372. font-style: italic;
  373. border: var(--borderWidth-thin) solid var(--borderColor-default, var(--color-border-default, #d2dff0));
  374. border-radius: 100px;
  375. padding: 2.5px 5px;
  376. white-space: nowrap;
  377. overflow: hidden;
  378. text-overflow: ellipsis;
  379. display: block;
  380. max-width: fit-content;
  381. }
  382. .ghsn-textarea {
  383. width: 100%;
  384. min-height: 60px;
  385. margin-bottom: 5px;
  386. padding: 5px;
  387. border: 1px solid var(--color-border-default);
  388. border-radius: 3px;
  389. background-color: var(--color-canvas-default);
  390. color: var(--color-fg-default);
  391. box-sizing: border-box;
  392. }
  393. .ghsn-buttons button {
  394. margin-right: 5px;
  395. padding: 3px 8px;
  396. font-size: 0.9em;
  397. cursor: pointer;
  398. border-radius: 4px;
  399. border: 1px solid var(--color-border-muted);
  400. }
  401. .ghsn-buttons button.ghsn-save {
  402. background-color: var(--color-btn-primary-bg);
  403. color: var(--color-btn-primary-text);
  404. border-color: var(--color-btn-primary-border);
  405. }
  406. .ghsn-buttons button.ghsn-delete {
  407. background-color: var(--color-btn-danger-bg);
  408. color: var(--color-btn-danger-text);
  409. border-color: var(--color-btn-danger-border);
  410. }
  411. .ghsn-buttons button.ghsn-cancel {
  412. background-color: var(--color-btn-bg);
  413. color: var(--color-btn-text);
  414. }
  415. .ghsn-buttons button:hover {
  416. filter: brightness(1.1);
  417. }
  418. .ghsn-hidden {
  419. display: none !important;
  420. }
  421. .ghsn-note-btn {
  422. margin-left: 16px;
  423. color: var(--fgColor-muted);
  424. cursor: pointer;
  425. text-decoration: none;
  426. }
  427. .ghsn-note-btn:hover {
  428. color: var(--fgColor-accent) !important;
  429. -webkit-text-decoration: none;
  430. text-decoration: none;
  431. }
  432. .ghsn-note-btn svg {
  433. margin-right: 4px;
  434. }
  435. `)
  436.  
  437. /* ------------------------------- GITHUB GIST ------------------------------ */
  438. const GistManager = {
  439. githubToken: null,
  440. description: null,
  441.  
  442. init: function (token, description) {
  443. this.githubToken = token
  444. this.description = description || 'Default Gist Description'
  445. },
  446. updateToken: function (newToken) {
  447. this.githubToken = newToken
  448. },
  449. // 查找 Gist 根据描述
  450. findGistByDescription: function (callback) {
  451. const url = 'https://api.github.com/gists'
  452. GM_xmlhttpRequest({
  453. method: 'GET',
  454. url: url,
  455. headers: {
  456. 'Authorization': `token ${this.githubToken}`,
  457. 'Content-Type': 'application/json'
  458. },
  459. onload: function (response) {
  460. if (response.status === 200) {
  461. const gists = JSON.parse(response.responseText)
  462. for (let gist of gists) {
  463. if (gist.description === GistManager.description) {
  464. console.log('找到匹配的 Gist:', gist.html_url)
  465. return callback(gist.id)
  466. }
  467. }
  468. callback(null)
  469. } else {
  470. console.error('获取 Gist 列表失败:', response.responseText)
  471. callback(null)
  472. }
  473. }
  474. })
  475. },
  476.  
  477. // 上传或更新 Gist
  478. uploadToGist: function (filename, content) {
  479.  
  480. this.findGistByDescription((gistId) => {
  481. if (gistId) {
  482. this.updateGist(gistId, filename, content)
  483. } else {
  484. this.createGist(filename, content)
  485. }
  486. })
  487. },
  488.  
  489. // 创建新的 Gist
  490. createGist: function (filename, content) {
  491. const url = 'https://api.github.com/gists'
  492. const data = {
  493. 'description': this.description,
  494. 'public': false,
  495. 'files': {
  496. [filename]: {
  497. 'content': content
  498. }
  499. }
  500. }
  501. GM_xmlhttpRequest({
  502. method: 'POST',
  503. url: url,
  504. headers: {
  505. 'Authorization': `token ${this.githubToken}`,
  506. 'Content-Type': 'application/json'
  507. },
  508. data: JSON.stringify(data),
  509. onload: function (response) {
  510. if (response.status === 201) {
  511. const responseData = JSON.parse(response.responseText)
  512. console.log('Gist 创建成功:', responseData.html_url)
  513. } else {
  514. console.error('Gist 创建失败:', response.responseText)
  515. }
  516. }
  517. })
  518. },
  519. downloadGistAsJson: function (filename) {
  520. this.findGistByDescription((gistId) => {
  521. if (!gistId) {
  522. Toast(translate.DOWNLOAD_GIST_FAILURE, 3000, '#ff6347', '#ffffff', 'top')
  523. console.error('未找到匹配的 Gist')
  524. return
  525. }
  526.  
  527. const url = `https://api.github.com/gists/${gistId}`
  528. GM_xmlhttpRequest({
  529. method: 'GET',
  530. url: url,
  531. headers: {
  532. 'Authorization': `token ${this.githubToken}`,
  533. 'Content-Type': 'application/json'
  534. },
  535. onload: function (response) {
  536. if (response.status === 200) {
  537. const gistData = JSON.parse(response.responseText)
  538. const fileContent = gistData.files[filename].content
  539. const parsedJson = JSON.parse(fileContent)
  540. GM_setValue('starred_notes', parsedJson)
  541. Toast(translate.DOWNLOAD_GIST_SUCCESS, 2000, '#00FF00', '#ffffff', 'top')
  542. } else {
  543. Toast(translate.DOWNLOAD_GIST_FAILURE, 3000, '#ff6347', '#ffffff', 'top')
  544. console.error(translate.DOWNLOAD_GIST_FAILURE, response.responseText)
  545. }
  546. }
  547. })
  548. })
  549. },
  550.  
  551. // 更新已有的 Gist
  552. updateGist: function (gistId, filename, content) {
  553. const url = `https://api.github.com/gists/${gistId}`
  554. const data = {
  555. 'files': {
  556. [filename]: {
  557. 'content': content
  558. }
  559. }
  560. }
  561. GM_xmlhttpRequest({
  562. method: 'PATCH',
  563. url: url,
  564. headers: {
  565. 'Authorization': `token ${this.githubToken}`,
  566. 'Content-Type': 'application/json'
  567. },
  568. data: JSON.stringify(data),
  569. onload: function (response) {
  570. if (response.status === 200) {
  571. Toast(translate.UPLOAD_GIST_SUCCESS, 2000, '#00FF00', '#ffffff', 'top')
  572. } else {
  573. Toast(translate.UPLOAD_GIST_FAILURE, 3000, '#ff6347', '#ffffff', 'top')
  574. console.error(translate.UPLOAD_GIST_FAILURE, response.responseText)
  575. }
  576. }
  577. })
  578. }
  579. }
  580. const firstLanuch = GM_getValue('firstLanuch', true)//!首次启动脚本,提醒输入GitHub Token用于上传下载Gist
  581. if (firstLanuch && !GITHUB_PAT_TOKEN) {
  582. const userInput = prompt(translate.NO_TOKEN_ALERT_TEXT)
  583. if (userInput) {
  584. GM_setValue('GITHUB_PAT_TOKEN', userInput)
  585. GITHUB_PAT_TOKEN = userInput
  586. }
  587. GM_setValue('firstLanuch', false)
  588. }
  589. const description = 'github_starred_repo_note'
  590. GistManager.init(GITHUB_PAT_TOKEN, description)
  591. const filename = 'github_starred_repo_note.json'
  592. GM_registerMenuCommand(translate.UPLOAD_BUTTON_TEXT, uploadToGist)
  593. GM_registerMenuCommand(translate.DOWNLOAD_BUTTON_TEXT, downloadGistAsJson)
  594. if (Object.keys(GM_getValue('starred_notes', {})).length === 0 && GITHUB_PAT_TOKEN) {
  595. downloadGistAsJson()
  596. }
  597. function uploadToGist() {
  598. const panelData = GM_getValue('starred_notes', {})
  599. if (!getGitHubToken()) {
  600. return
  601. }
  602. const jsonData = JSON.stringify(panelData, null, 2)
  603. GistManager.uploadToGist(filename, jsonData)
  604. }
  605. function downloadGistAsJson() {
  606. if (!getGitHubToken()) {
  607. return
  608. }
  609. GistManager.downloadGistAsJson(filename)
  610. }
  611. function getGitHubToken() {
  612. if (GITHUB_PAT_TOKEN) {
  613. return true
  614. }
  615. const userInput = prompt(translate.NO_TOKEN_ALERT_TEXT)
  616. if (userInput) {
  617. GM_setValue('GITHUB_PAT_TOKEN', userInput)
  618. GITHUB_PAT_TOKEN = userInput
  619. GistManager.updateToken(GITHUB_PAT_TOKEN)
  620. return true
  621. }
  622. return false
  623. }
  624. /* ---------------------------------- json ---------------------------------- */
  625. // 写
  626. function saveStarredNote(storageKey, newNote) {
  627. let starredNotes = GM_getValue('starred_notes', '{}')
  628. starredNotes = JSON.parse(starredNotes)
  629. starredNotes[storageKey] = newNote
  630. GM_setValue('starred_notes', JSON.stringify(starredNotes))
  631. }
  632. //读
  633. function getStarredNote(storageKey) {
  634. let starredNotes = GM_getValue('starred_notes', '{}')
  635. starredNotes = JSON.parse(starredNotes)
  636. return starredNotes[storageKey] || ''
  637. }
  638. //删
  639. function deleteStarredNote(storageKey) {
  640. let starredNotes = GM_getValue('starred_notes', '{}')
  641. starredNotes = JSON.parse(starredNotes)
  642.  
  643. if (storageKey in starredNotes) {
  644. delete starredNotes[storageKey]
  645. GM_setValue('starred_notes', JSON.stringify(starredNotes))
  646. }
  647. }
  648. // --- Core Logic ---
  649. // Get repo unique identifier (owner/repo)
  650. function getRepoFullName(repoElement) {
  651. const link = repoElement.querySelector('div[itemprop="name codeRepository"] > a, h3 > a, h2 > a')
  652. if (link && link.pathname) {
  653. return link.pathname.substring(1).replace(/\/$/, '')
  654. }
  655. const starForm = repoElement.querySelector('form[action^="/stars/"]')
  656. if (starForm && starForm.action) {
  657. const match = starForm.action.match(/\/stars\/([^/]+\/[^/]+)\/star/)
  658. if (match && match[1]) {
  659. return match[1]
  660. }
  661. }
  662. console.warn('RepoNotes: Could not find repo name for element:', repoElement)
  663. return null
  664. }
  665. // Create note button with icon
  666. function createNoteButton(isEdit = false) {
  667. const button = document.createElement('a')
  668. button.className = 'ghsn-note-btn'
  669. button.href = 'javascript:void(0);' // 使用 void(0) 避免页面跳转
  670. // SVG icon (pencil)
  671. const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg')
  672. svg.setAttribute('aria-hidden', 'true')
  673. svg.setAttribute('height', '16')
  674. svg.setAttribute('width', '16')
  675. svg.setAttribute('viewBox', '0 0 16 16')
  676. svg.setAttribute('fill', 'currentColor')
  677. svg.setAttribute('class', 'octicon octicon-star')
  678. const path = document.createElementNS('http://www.w3.org/2000/svg', 'path')
  679. // Pencil icon path data
  680. path.setAttribute('d', 'M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z')
  681. svg.appendChild(path)
  682. button.appendChild(svg)
  683. const textNode = document.createTextNode(isEdit ? translate.EDIT_BUTTON_TEXT : translate.ADD_BUTTON_TEXT)
  684. button.appendChild(textNode)
  685. button.updateText = function (isEditing) {
  686. textNode.textContent = isEditing ? translate.EDIT_BUTTON_TEXT : translate.ADD_BUTTON_TEXT
  687. }
  688. return button
  689. }
  690. // Add note UI for a single repository
  691. async function addNoteUI(repoElement) {
  692. if (repoElement.querySelector('.ghsn-container')) {
  693. // console.log('RepoNotes: UI already exists for this repo element. Skipping.');
  694. return
  695. }
  696. const existingButton = repoElement.querySelector('.ghsn-star-row .ghsn-note-btn')
  697. if (existingButton) {
  698. // console.log('RepoNotes: Button already exists in star row. Skipping.');
  699. return
  700. }
  701. const repoFullName = getRepoFullName(repoElement)
  702. if (!repoFullName) {
  703. // console.warn('RepoNotes: Could not get repo full name. Skipping element:', repoElement);
  704. return
  705. }
  706. const storageKey = `ghsn_${repoFullName}`
  707. let currentNote = getStarredNote(storageKey)
  708. const starLink = repoElement.querySelector('a[href$="/stargazers"]')
  709. if (!starLink) {
  710. // console.warn(`RepoNotes: Could not find star link for repo: ${repoFullName}. Skipping.`);
  711. return
  712. }
  713. let starRow = starLink.parentNode
  714. if (!starRow.classList.contains('d-flex') && !starRow.classList.contains('float-right')) {
  715. const potentialRow = starLink.closest('span, div.d-inline-block, div.color-fg-muted')
  716. if (potentialRow) {
  717. starRow = potentialRow
  718. }
  719. }
  720. starRow.classList.add('ghsn-star-row')
  721. const noteButton = createNoteButton(!!currentNote) // !!currentNote 将其转为布尔值
  722. const container = document.createElement('div')
  723. container.className = 'ghsn-container'
  724. if (!currentNote) {
  725. container.classList.add('ghsn-hidden')
  726. }
  727. const displaySpan = document.createElement('span')
  728. displaySpan.className = 'ghsn-display'
  729. displaySpan.textContent = currentNote
  730. if (!currentNote) {
  731. displaySpan.classList.add('ghsn-hidden')
  732. }
  733. const noteTextarea = document.createElement('textarea')
  734. noteTextarea.className = 'ghsn-textarea ghsn-hidden'
  735. noteTextarea.placeholder = translate.NOTE_PLACEHOLDER
  736. const buttonsDiv = document.createElement('div')
  737. buttonsDiv.className = 'ghsn-buttons ghsn-hidden'
  738. const saveButton = document.createElement('button')
  739. saveButton.textContent = translate.SAVE_BUTTON_TEXT
  740. saveButton.className = 'ghsn-save'
  741. const cancelButton = document.createElement('button')
  742. cancelButton.textContent = translate.CANCEL_BUTTON_TEXT
  743. cancelButton.className = 'ghsn-cancel'
  744. const deleteButton = document.createElement('button')
  745. deleteButton.textContent = translate.DELETE_BUTTON_TEXT
  746. deleteButton.className = 'ghsn-delete'
  747. noteButton.addEventListener('click', (e) => {
  748. e.preventDefault()
  749. const isEditing = !noteTextarea.classList.contains('ghsn-hidden')
  750. if (!isEditing) {
  751. noteTextarea.value = currentNote
  752. displaySpan.classList.add('ghsn-hidden')
  753. noteTextarea.classList.remove('ghsn-hidden')
  754. buttonsDiv.classList.remove('ghsn-hidden')
  755. if (currentNote) {
  756. deleteButton.classList.remove('ghsn-hidden')
  757. } else {
  758. deleteButton.classList.add('ghsn-hidden')
  759. }
  760. container.classList.remove('ghsn-hidden')
  761. noteTextarea.focus()
  762. } else {
  763. cancelButton.click()
  764. }
  765. })
  766. cancelButton.addEventListener('click', () => {
  767. noteTextarea.classList.add('ghsn-hidden')
  768. buttonsDiv.classList.add('ghsn-hidden')
  769. if (currentNote) {
  770. displaySpan.textContent = currentNote
  771. displaySpan.classList.remove('ghsn-hidden')
  772. container.classList.remove('ghsn-hidden')
  773. } else {
  774. container.classList.add('ghsn-hidden')
  775. }
  776. })
  777. saveButton.addEventListener('click', async () => {
  778. const newNote = noteTextarea.value.trim()
  779. saveStarredNote(storageKey, newNote)
  780. currentNote = newNote
  781. noteButton.updateText(!!newNote)
  782. if (newNote) {
  783. displaySpan.textContent = newNote
  784. displaySpan.classList.remove('ghsn-hidden')
  785. container.classList.remove('ghsn-hidden')
  786. } else {
  787. displaySpan.classList.add('ghsn-hidden')
  788. container.classList.add('ghsn-hidden')
  789. deleteStarredNote(storageKey)
  790.  
  791. }
  792. noteTextarea.classList.add('ghsn-hidden')
  793. buttonsDiv.classList.add('ghsn-hidden')
  794. })
  795. deleteButton.addEventListener('click', async () => {
  796. const showInfo = translate.DELETE_CONFIRM.replace('{repoFullName}', repoFullName)
  797. //${repoFullName}
  798. if (window.confirm(`${showInfo}`)) {
  799. deleteStarredNote(storageKey)
  800. currentNote = ''
  801. noteButton.updateText(false)
  802. displaySpan.classList.add('ghsn-hidden')
  803. noteTextarea.classList.add('ghsn-hidden')
  804. buttonsDiv.classList.add('ghsn-hidden')
  805. container.classList.add('ghsn-hidden')
  806. }
  807. })
  808. buttonsDiv.appendChild(deleteButton)
  809. buttonsDiv.appendChild(saveButton)
  810. buttonsDiv.appendChild(cancelButton)
  811. container.appendChild(displaySpan)
  812. container.appendChild(noteTextarea)
  813. container.appendChild(buttonsDiv)
  814. // 修改这里:将按钮作为starRow的最后一个元素
  815. starRow.appendChild(noteButton)
  816. const description = repoElement.querySelector('p.color-fg-muted')
  817. const topics = repoElement.querySelector('.topic-tag-list')
  818. const insertAfterElement = topics || description || repoElement.querySelector('h3, h2')
  819. if (insertAfterElement && insertAfterElement.parentNode) {
  820. insertAfterElement.parentNode.insertBefore(container, insertAfterElement.nextSibling)
  821. } else {
  822. repoElement.appendChild(container)
  823. console.warn(`RepoNotes: Could not find ideal insertion point for note container in repo: ${repoFullName}. Appending to end.`)
  824. }
  825. }
  826. // --- Process all repositories on the page ---
  827. function processRepositories() {
  828. const repoSelector = 'div.col-12.d-block.width-full.py-4.border-bottom.color-border-muted, article.Box-row'
  829. const repoElements = document.querySelectorAll(repoSelector)
  830. // console.log(`RepoNotes: Found ${repoElements.length} repository elements.`);
  831. if (repoElements.length === 0) {
  832. // console.log("RepoNotes: No repository elements found with selector:", repoSelector);
  833. const fallbackSelector = 'li[data-view-component="true"].Box-row'
  834. const fallbackElements = document.querySelectorAll(fallbackSelector)
  835. fallbackElements.forEach(addNoteUI)
  836. } else {
  837. repoElements.forEach(addNoteUI)
  838. }
  839. }
  840.  
  841. // --- Observe DOM changes (handle dynamic loading like infinite scroll) ---
  842. let observer = null
  843.  
  844. function setupObserver() {
  845. if (observer) {
  846. observer.disconnect()
  847. }
  848.  
  849. const targetNode = document.getElementById('user-repositories-list') || document.querySelector('main') || document.body
  850.  
  851. if (!targetNode) {
  852. console.error('RepoNotes: Could not find target node for MutationObserver.')
  853. return
  854. }
  855. // console.log('RepoNotes: Setting up MutationObserver on target:', targetNode);
  856.  
  857. observer = new MutationObserver(mutations => {
  858. // console.log('RepoNotes: MutationObserver detected changes.');
  859. let needsProcessing = false
  860. mutations.forEach(mutation => {
  861. mutation.addedNodes.forEach(node => {
  862. if (node.nodeType === 1) {
  863. const repoSelector = 'div.col-12.d-block.width-full.py-4.border-bottom.color-border-muted, article.Box-row, li[data-view-component="true"].Box-row'
  864. if (node.matches(repoSelector)) {
  865. // console.log('RepoNotes: Added node matches repo selector:', node);
  866. addNoteUI(node)
  867. needsProcessing = true
  868. } else {
  869. const nestedRepos = node.querySelectorAll(repoSelector)
  870. if (nestedRepos.length > 0) {
  871. // console.log(`RepoNotes: Found ${nestedRepos.length} nested repos in added node:`, node);
  872. nestedRepos.forEach(addNoteUI)
  873. needsProcessing = true
  874. }
  875. }
  876. }
  877. })
  878. })
  879. })
  880.  
  881. observer.observe(targetNode, {
  882. childList: true,
  883. subtree: true
  884. })
  885. }
  886.  
  887. // --- Startup and Navigation Handling ---
  888.  
  889. function initializeOrReinitialize() {
  890. if (window.location.search.includes('tab=stars') || document.querySelector('div.col-12.d-block.width-full.py-4') || document.querySelector('article.Box-row')) {
  891. // console.log('RepoNotes: Running processRepositories.');
  892. processRepositories()
  893. // console.log('RepoNotes: Setting up observer.');
  894. setupObserver()
  895. } else {
  896. // console.log('RepoNotes: Not on a relevant page, skipping processing and observer setup.');
  897. if (observer) {
  898. observer.disconnect()
  899. // console.log('RepoNotes: Disconnected observer.');
  900. }
  901. }
  902. }
  903.  
  904. document.addEventListener('turbo:load', () => {
  905. // console.log('RepoNotes: turbo:load event detected.');
  906. initializeOrReinitialize()
  907. })
  908.  
  909. if (document.readyState === 'loading') {
  910. document.addEventListener('DOMContentLoaded', initializeOrReinitialize)
  911. } else {
  912. initializeOrReinitialize()
  913. }
  914.  
  915. })()