ChatGPT代码工具

为 ChatGPT 代码块添加功能,包括保存或复制代码片段的选项。

  1. // ==UserScript==
  2. // @name ChatGPT Code Tools
  3. // @name:aa ChatGPT Koox Silac
  4. // @name:ab АчатГПТ Акод Аинструмент
  5. // @name:af Chatgpt -kode -instrument
  6. // @name:ak ChatGPT koodu adwinnade .
  7. // @name:am የውይይት ኮድ መሣሪያ
  8. // @name:ar أداة رمز ChatGPT
  9. // @name:as Chatgpt ক’ড সঁজুলি
  10. // @name:av ЧатГПТ кодалъул алат
  11. // @name:ay Chatgpt ukax mä herramienta ukhamawa.
  12. // @name:az ChatGpt kodu alət
  13. // @name:ba ChatGPT коды ҡоралы
  14. // @name:be Інструмент кода чатппта
  15. // @name:bg Инструмент за код на Chatgpt
  16. // @name:bh चैटजीपीटी कोड टूल के बा।
  17. // @name:bm CHATGPT KODE BAARA .
  18. // @name:bn চ্যাটজিপিটি কোড সরঞ্জাম
  19. // @name:bo ཅཱ་ཊི་ཇི་པི་ཊི་ཨང་རྟགས་ལག་ཆ།
  20. // @name:br Ostilh Kod ChatGPT
  21. // @name:bs Alat za chapgpt
  22. // @name:ca Eina de codi Chatgpt
  23. // @name:ce ChatGPT Код ГӀирс
  24. // @name:ceb Chatgpt code tool
  25. // @name:ch Gai Elisibi Na’an
  26. // @name:ckb ئامرازی کۆدی Chatgpt
  27. // @name:co Strumentu di codice di chatgpt
  28. // @name:cs Nástroj Chatgpt Code
  29. // @name:cv ЧатГПТ Код инструменчĕ
  30. // @name:cy Offeryn Cod Chatgpt
  31. // @name:da ChatGPT -kodeværktøj
  32. // @name:de Chatgpt -Code -Tool
  33. // @name:dv ޗެޓްޖީޕީޓީ ކޯޑް ޓޫލް
  34. // @name:dz ཅཱཊི་ཇི་པི་ཊི་ཨང་རྟགས་ལག་ཆས་ཚུ།
  35. // @name:ee Chatgpt ƒe kɔda dɔwɔnu .
  36. // @name:el Εργαλείο κωδικού Chatgpt
  37. // @name:en ChatGPT Code Tool
  38. // @name:en-GB ChatGPT Code Tool
  39. // @name:eo Chatgpt -koda ilo
  40. // @name:es Herramienta de código chatgpt
  41. // @name:es-419 Herramienta de código chatgpt
  42. // @name:et ChatGpt -koodi tööriist
  43. // @name:eu Chatgt kodea tresna
  44. // @name:fa ابزار کد chatgpt
  45. // @name:ff Kuutorgal kod ChatGPT
  46. // @name:fi Chatgpt -koodityökalu
  47. // @name:fil Tool ng code ng chatgpt
  48. // @name:fj iI.
  49. // @name:fo ChatGPT Kodatólið
  50. // @name:fr Outil de code chatppt
  51. // @name:fr-CA Outil de code chatppt
  52. // @name:fy Chatgpt koade ark
  53. // @name:ga Uirlis cód chatgpt
  54. // @name:gd Inneal còd còmhraidh
  55. // @name:gl Ferramenta de código Chatgpt
  56. // @name:gn CHATGPT Tembipururã .
  57. // @name:gsw-berne ChatGPT Code Tool
  58. // @name:gu ચેટ કોડ ટૂલ
  59. // @name:gv Code Code chatGPT
  60. // @name:ha Tool
  61. // @name:he כלי קוד CHATGPT
  62. // @name:hi चटपट कोड उपकरण
  63. // @name:hmn Chatgpt code Tool
  64. // @name:hr Chatgpt code alat
  65. // @name:ht Chatgpt Kòd Zouti
  66. // @name:hu Chatgpt kód eszköz
  67. // @name:hy Chatgpt կոդ գործիք
  68. // @name:id Alat kode chatgpt
  69. // @name:ig Nkata koodu
  70. // @name:is CHATGPT kóða tól
  71. // @name:it Strumento di codice CHATGPT
  72. // @name:iu ChatGPT ᓇᓗᓇᐃᒃᑯᑕᖅ ᓴᓇᕐᕈᑎ
  73. // @name:ja ChatGptコードツール
  74. // @name:jv Alat Code ChatGPT
  75. // @name:ka Chatgpt კოდის ინსტრუმენტი
  76. // @name:kg Kisalu ya nsiku ya ChatGPT
  77. // @name:kk Chatgpt код құралы
  78. // @name:kl ChatGPT-kode-mik atortoq
  79. // @name:km ឧបករណ៍កូដជជែកកំសាន្ត
  80. // @name:kn ಚಾಟ್ಜಿಪಿಟಿ ಕೋಡ್ ಸಾಧನ
  81. // @name:ko chatgpt 코드 도구
  82. // @name:kr Kakkadi Kakkadibe ChatGPTbe
  83. // @name:ku Amûra Koda Chatgpt
  84. // @name:kv ЧатГПТ код инструмент .
  85. // @name:ky CHATGPT коду куралы
  86. // @name:la Chatgpt codice instrumentum
  87. // @name:lb Chatgpt Code Tool
  88. // @name:lg Ekintu ekikozesebwa mu kukola koodi ekya CHATGPT .
  89. // @name:ln ChatGPT Esaleli ya code .
  90. // @name:lo ເຄື່ອງມືລະຫັດ ChatGPT
  91. // @name:lt „ChatGpt“ kodo įrankis
  92. // @name:lv Chatgpt koda rīks
  93. // @name:mg Fitaovana kaody Chatgpt
  94. // @name:mh Kōttōpar eo an chat .
  95. // @name:mi Tool CASTGPT
  96. // @name:mk Алатка за код CHATGPT
  97. // @name:ml ചാറ്റ്ഗ്പ്പ്റ്റ് കോഡ് ഉപകരണം
  98. // @name:mn Chatgpt кодын хэрэгсэл
  99. // @name:mo Instrument de cod ChatGPT
  100. // @name:mr CHATGPT कोड साधन
  101. // @name:ms Alat kod chatgpt
  102. // @name:mt Għodda tal-kodiċi chatgpt
  103. // @name:my chatgpt ကုဒ် tool ကို
  104. // @name:nb Chatgpt kodeverktøy
  105. // @name:ne च्याट कोड उपकरण उपकरण
  106. // @name:nl Chatgpt -codetool
  107. // @name:nr • Ubufakazi .
  108. // @name:ny Chida cha ChatGTPT Code
  109. // @name:oc Herramienta de Código de ChatGPT
  110. // @name:om Meeshaa Koodii Chatgpt .
  111. // @name:or ଚାଟ୍ ଆଗାପ୍ କୋଡ୍ ଟୁଲ୍ |
  112. // @name:os ЧатГПТ-ы кодæй фæрæз
  113. // @name:pa ਚੱਟਗੈਪਟ ਕੋਡ ਟੂਲ
  114. // @name:pl Narzędzie kodu chatgpt
  115. // @name:ps د چیټس کوډ وسیله
  116. // @name:pt Ferramenta de código chatgpt
  117. // @name:pt-BR Ferramenta de código chatgpt
  118. // @name:pt-PT Ferramenta de código chatgpt
  119. // @name:qu Chatgpt Code Herramienta .
  120. // @name:rn Igikoresho ca ChatGPT
  121. // @name:ro Instrument de cod ChatGPT
  122. // @name:ru Инструмент CATGPT CODE
  123. // @name:rw Igikoresho cya Clitgpt
  124. // @name:sa गपशप कोड उपकरण 1 .
  125. // @name:sd چيٽپيٽ ڪوڊ جو اوزار
  126. // @name:se ChatGPT-kodafierpmádat
  127. // @name:sg Outil ti kode ti ChatGPT
  128. // @name:sh ЦхатГПТ Цоде Алат
  129. // @name:si චැට් කේත මෙවලම
  130. // @name:sk Nástroj chatgpt kódu
  131. // @name:sl Orodje za kodo chatgpt
  132. // @name:sm Talatalanoaga o le chatgpt
  133. // @name:sn Chatgpt code chishandiso
  134. // @name:so Qalabka Xeerka Chatggpt
  135. // @name:sq Mjeti i kodit chatgpt
  136. // @name:sr ЦхатГПТ Цоде Алат
  137. // @name:ss Lithuluzi Lekhodi Le chatGPT
  138. // @name:st Sesebelisoa sa Khoebo sa moqoqo
  139. // @name:su Alat ChatGPT
  140. // @name:sv Chatgpt -kodverktyg
  141. // @name:sw Chombo cha msimbo wa Chatgpt
  142. // @name:ta சாட்ஜிப்ட் குறியீடு கருவி
  143. // @name:te చాట్‌గ్ప్ట్ కోడ్ సాధనం
  144. // @name:tg Асбоби рамзи Chatgpt
  145. // @name:th เครื่องมือรหัส chatgpt
  146. // @name:ti CHATGPT ኮድ መሳርሒ
  147. // @name:tk Söhp nusgasy kod guraly
  148. // @name:tl Tool ng code ng chatgpt
  149. // @name:tn Sediriswa sa Khoutu ya ChatGPT
  150. // @name:to Me’angaue ’o e Kouti ChatGPT
  151. // @name:tr Chatgpt Kod Aracı
  152. // @name:ts Xitirhisiwa xa Khodi ya ChatGPT .
  153. // @name:tt Чатгпт коды коралы
  154. // @name:tw ChatGPT koodu adwinnade .
  155. // @name:ty Te rave’a no te ChatGPT
  156. // @name:ug Commppt Commport قورالى
  157. // @name:uk Інструмент коду чатгпта
  158. // @name:ur چیٹ جی پی ٹی کوڈ ٹول
  159. // @name:uz Chatgpt kodi vositasi
  160. // @name:ve Tshishumiswa tsha Khoudu ya ChatGPT
  161. // @name:vi Công cụ mã Chatgpt
  162. // @name:wo ChatGPT
  163. // @name:xh Isixhobo sekhowudi yeChygpp
  164. // @name:yi טשאַטגפּט קאָד געצייַג
  165. // @name:yo Ọpa Chargpt koodu
  166. // @name:zh ChatGPT代码工具
  167. // @name:zh-CN ChatGPT代码工具
  168. // @name:zh-HK ChatGPT代碼工具
  169. // @name:zh-MO ChatGPT代碼工具
  170. // @name:zh-MY ChatGPT代码工具
  171. // @name:zh-SG ChatGPT代码工具
  172. // @name:zh-TW ChatGPT代碼工具
  173. // @description Adds functionality to ChatGPT code blocks, including options to save or copy code snippets.
  174. // @description:aa ossotinah tuxxiq ChatGPT koox alif, doorit edde anuk daanissaah, koppi koox snippet.
  175. // @description:ab ChatGPT акод аблокқәа рҿы афункционалтәра ацҵа, акод аԥҵәахақәа рыхьчара ма рықәҭыхра аопциа нарылаҵаны.
  176. // @description:af Voeg funksionaliteit by ChatGPT -kodeblokke, insluitend die opsie om kode -brokkies te stoor of te kopieer.
  177. // @description:ak Fa dwumadie ka ChatGPT koodu blocks ho, a option a wode bɛkora anaa wode bɛ copy code snippets ka ho.
  178. // @description:am የኮድ ኮድን ማቆሚያዎችን የማስቀመጥ ወይም የመቅዳት አማራጭን ጨምሮ የውይይት ኮድ ብሎኮች ተግባሮችን ያክሉ.
  179. // @description:ar أضف وظيفة إلى كتل رمز الدردشة ، بما في ذلك خيار حفظ أو نسخ قصاصات الرمز.
  180. // @description:as ChatGPT ক’ড ব্লকসমূহত কাৰ্য্যকৰীতা যোগ কৰক, ক’ড স্নিপেটসমূহ সংৰক্ষণ বা কপি কৰাৰ বিকল্প অন্তৰ্ভুক্ত কৰি।
  181. // @description:av Добавить функциональность к кода ChatGPT, включая опцию, чтобы сохранить или копирования кодов код.
  182. // @description:ay ChatGPT código bloques ukar funcionalidad ukar yapxataña, ukampirus opción de importación de códigos de código ukar imañataki jan ukax copiañataki.
  183. // @description:az Kod parçalarını saxlamaq və ya kopyalamaq üçün seçim daxil olmaqla ChatGpt Kod Bloklarına funksionallıq əlavə edin.
  184. // @description:ba Өҫтәү функциональ ChatGPT код блоктары, шул иҫәптән вариант һаҡлау йәки күсермәһе код фрагменттары.
  185. // @description:be Дадайце функцыянальнасць у блокі кода CHATGPT, уключаючы магчымасць захавання або капіявання фрагментаў кода.
  186. // @description:bg Добавете функционалност към кодовите блокове за чатгпт, включително опцията за запазване или копиране на фрагменти от код.
  187. // @description:bh CHATGPT कोड ब्लॉक में कार्यक्षमता जोड़ीं, जवना में कोड स्निपेट के सेव भा कॉपी करे के विकल्प भी शामिल बा।
  188. // @description:bm Aw bɛ baarakɛcogo dɔ fara ChatGPT code blocks kan, o la, a bɛ se ka kɛ ko a bɛ se ka kode yɔrɔw mara walima k’u kopi kɛ.
  189. // @description:bn কোড স্নিপেটগুলি সংরক্ষণ বা অনুলিপি করার বিকল্প সহ চ্যাটজিপিটি কোড ব্লকগুলিতে কার্যকারিতা যুক্ত করুন।
  190. // @description:bo ChatGPT ཨང་རྟགས་བཀག་སྡོམ་ལ་ལས་འགན་ཁ་སྣོན་བྱེད། དེའི་ནང་ཨང་རྟགས་ཆ་ཤས་གསོག་འཇོག་ཡང་ན་འདྲ་བཤུས་བྱེད་པའི་གདམ་ཁ་ཡོད།
  191. // @description:br Ouzhpennit arc’hwelioù e bloc’hoù kod ChatGPT, en o zouez an dibab enrollañ pe kopiañ tammoù kod.
  192. // @description:bs Dodajte funkcionalnost na champgpt kodni blokovi, uključujući opciju za spremanje ili kopiranje isjepanja kodova.
  193. // @description:ca Afegiu la funcionalitat als blocs de codi Chatgpt, inclosa l’opció de desar o copiar fragments de codi.
  194. // @description:ce ChatGPT кодан блокашна функционал тӀетоха, цу юкъахь опци а ю ларъян я копировать ян кодан кийсакаш.
  195. // @description:ceb Idugang ang pag-andar sa mga block sa chatgpt code, lakip ang kapilian nga makatipig o magkopya sa mga code snippet.
  196. // @description:ch Adda’ i funsion-ña gi i ChatGT cock blocks, kontodu i option para u na’setbe pat u na’setbe pat u na’setbe i snippets kopia.
  197. // @description:ckb زیادکردنی کارایی بۆ بلۆکی کۆدی ChatGPT، لەوانەش بژاردەی پاشەکەوتکردن یان کۆپیکردنی پارچە کۆدەکان.
  198. // @description:co Aghjunghjite a funziunalità à i blocchi di u Codice di ChatGpt, cumprese l’opzione per salvà o copià i pezzi di codice.
  199. // @description:cs Přidejte funkčnost do bloků ChatGPT kódu, včetně možnosti uložení nebo kopírování úryvků kódu.
  200. // @description:cv ChatGPT код блокĕсене функционал хушăр, çав шутра код спискĕсене упрама е копилеме опци.
  201. // @description:cy Ychwanegwch ymarferoldeb at flociau cod ChatGPT, gan gynnwys yr opsiwn i arbed neu gopïo pytiau cod.
  202. // @description:da Tilføj funktionalitet til ChatGPT -kodeblokke, herunder muligheden for at gemme eller kopiere kodestykker.
  203. // @description:de Fügen Sie den ChatGPT -Codeblöcken Funktionen hinzu, einschließlich der Option zum Speichern oder Kopieren von Code -Snippets.
  204. // @description:dv CHATGPT ކޯޑް ބްލޮކްތަކަށް ފަންކްޝަނަލިޓީ އިތުރުކޮށް، ކޯޑް ސްނިޕެޓްތައް ސޭވް ނުވަތަ ކޮޕީ ކުރުމުގެ އިޚްތިޔާރު ހިމެނޭ ގޮތަށް.
  205. // @description:dz གསང་གྲངས་ཕྲ་རིང་ཚུ་ སྲུང་བཞག་ཡང་ན་ འདྲ་བཤུས་རྐྱབ་ནིའི་གདམ་ཁ་ཚུ་རྩིས་ཏེ་ ཅཱཊི་ཇི་པི་ཊི་ཨང་རྟགས་བཀག་ཆ་ཚུ་ལུ་ ལས་འགན་ཁ་སྐོང་རྐྱབས།
  206. // @description:ee Tsɔ dɔwɔwɔ kpe ɖe Chatgpt code blocks ŋu, si me tiatia si nye be nàdzra code snippets ɖo alo awɔ eƒe kɔpi hã le.
  207. // @description:el Προσθέστε τη λειτουργικότητα σε μπλοκ κώδικα CHATGPT, συμπεριλαμβανομένης της επιλογής για αποθήκευση ή αντιγραφή αποσπάσματα κώδικα.
  208. // @description:en Add functionality to ChatGPT code blocks, including the option to save or copy code snippets.
  209. // @description:en-GB Add functionality to ChatGPT code blocks, including the option to save or copy code snippets.
  210. // @description:eo Aldonu funkciojn al ChatGPT -kodblokoj, inkluzive de la opcio por konservi aŭ kopii kodajn fragmentojn.
  211. // @description:es Agregue la funcionalidad a los bloques de código CHATGPT, incluida la opción de guardar o copiar fragmentos de código.
  212. // @description:es-419 Agregue la funcionalidad a los bloques de código CHATGPT, incluida la opción de guardar o copiar fragmentos de código.
  213. // @description:et Lisage Funktsionaalsus CHATGPT koodiplokkidele, sealhulgas suvand koodilõikude salvestamiseks või kopeerimiseks.
  214. // @description:eu Gehitu funtzionalitatea ChatGtp kodea blokeetara, besteak beste, kode zatiak gordetzeko edo kopiatzeko aukera.
  215. // @description:fa عملکرد را به بلوک های کد Chatgpt اضافه کنید ، از جمله گزینه ذخیره یا کپی کردن قطعه کد.
  216. // @description:ff Ɓeydu heen golle e bolokaaji kode ChatGPT, ina heen cuɓal ngam hisnude walla koppirde snippets.
  217. // @description:fi Lisää toiminnot chatgpt -koodilohkoihin, mukaan lukien vaihtoehto tallentaa tai kopioida koodinpätkiä.
  218. // @description:fil Magdagdag ng pag -andar sa mga bloke ng code ng CHATGPT, kabilang ang pagpipilian upang i -save o kopyahin ang mga snippet ng code.
  219. // @description:fj Addtine cakacaka me baleta na ivolatara ni curucuru, oka kina na digidigi me vakabula se lavelavetaki ni lavelave ni lavelavetaki.
  220. // @description:fo Legg funktionalitet til ChatGPT kodublokkarnar, herundir møguleikan at goyma ella kopiera kodubrot.
  221. // @description:fr Ajoutez des fonctionnalités aux blocs de code ChatGPT, y compris l’option pour enregistrer ou copier des extraits de code.
  222. // @description:fr-CA Ajoutez des fonctionnalités aux blocs de code ChatGPT, y compris l’option pour enregistrer ou copier des extraits de code.
  223. // @description:fy Foegje funksjonaliteit ta oan ChatgPPP-koadeblokken, ynklusyf de opsje om koade-snippets te bewarjen of te kopiearjen.
  224. // @description:ga Cuir feidhmiúlacht le bloic chóid ChatGpt, lena n -áirítear an rogha chun cód a shábháil nó a chóipeáil.
  225. // @description:gd Cuir comas-gnìomh airson blocaichean còd cabadaich, a ’toirt a-steach roghainn a bhith a’ sàbhaladh no co-leth a dhèanamh de shrippets còd.
  226. // @description:gl Engade a funcionalidade aos bloques de código SHATGPT, incluída a opción de gardar ou copiar fragmentos de código.
  227. // @description:gn Emoĩ tembiaporã umi bloque código CHATGPT-pe, oikehápe opción oñongatu térã okopia hag̃ua umi kódigo ryru.
  228. // @description:gsw-berne Add functionality to ChatGPT code blocks, including the option to save or copy code snippets.
  229. // @description:gu CHATGPT કોડ બ્લોક્સમાં વિધેય ઉમેરો, જેમાં કોડ સ્નિપેટ્સને સાચવવા અથવા ક copy પિ કરવાના વિકલ્પનો સમાવેશ થાય છે.
  230. // @description:gv Cur rish y ghraih rish blockyn code ChatGPT, goaill stiagh y roshtyn dy sparrey ny copy.
  231. // @description:ha Azfeshiara aikin don toshe Tubalan lambar code, ciki har da zaɓi don ajiyewa ko kwafin kwafin kwafi.
  232. // @description:he הוסף פונקציונליות לחסימות קוד ChatGpt, כולל האפשרות לשמור או להעתיק קטעי קוד.
  233. // @description:hi CHATGPT कोड ब्लॉक में कार्यक्षमता जोड़ें, जिसमें कोड स्निपेट को सहेजने या कॉपी करने का विकल्प शामिल है।
  234. // @description:hmn Ntxiv kev ua haujlwm rau kev sib tham cov kab chaws, suav nrog kev xaiv txuag lossis theej lej code.
  235. // @description:hr Dodajte funkcionalnost blokovima chatgpt kodova, uključujući opciju za spremanje ili kopiranje koda isječaka.
  236. // @description:ht Ajoute fonctionnalités nan blòk kòd ChATGPT, ki gen ladan opsyon a pou konsève pou oswa kopi koupe kòd.
  237. // @description:hu Adja hozzá a funkcionalitást a chatgpt kódblokkokhoz, beleértve a kód kivonatok mentésének vagy másolásának lehetőségét.
  238. // @description:hy Ֆունկցիոնալություն Ավելացնել Chatgpt Code Blocks- ին, ներառյալ `կոդերի կտրելու կամ պատճենելու տարբերակը:
  239. // @description:id Tambahkan fungsionalitas ke blok kode chatgpt, termasuk opsi untuk menyimpan atau menyalin cuplikan kode.
  240. // @description:ig Tinye arụmọrụ na koodu Coloncto Code, gụnyere nhọrọ ịchekwa ma ọ bụ detuo Snippets Koodu.
  241. // @description:is Bættu virkni við ChatGPT kóðablokkir, þar með talið möguleikann á að vista eða afrita kóða bút.
  242. // @description:it Aggiungi funzionalità ai blocchi di codice CHATGPT, inclusa l’opzione per salvare o copiare i frammenti di codice.
  243. // @description:iu ᐃᓚᓕᐅᑎᓗᒋᑦ ᐊᐅᓚᓂᖏᑦ ChatGPT ᓇᓗᓇᐃᒃᑯᑕᐃᑦ, ᐱᖃᓯᐅᑎᓪᓗᒍ ᓇᓕᕌᕈᑎᖓ ᓴᓂᕐᕙᐃᓂᕐᒧᑦ ᐅᕝᕙᓘᓐᓃᑦ ᐊᔾᔨᓕᐅᕆᓂᕐᒧᑦ ᓇᓗᓇᐃᒃᑯᑕᕐᓂᒃ.
  244. // @description:ja コードスニペットを保存またはコピーするオプションを含む、CHATGPTコードブロックに機能を追加します。
  245. // @description:jv Tambah fungsi kanggo Blok kode ChatGPT, kalebu pilihan kanggo nyimpen utawa nyalin potongan kode.
  246. // @description:ka დაამატეთ ფუნქციონირება ChatGpt კოდის ბლოკებში, მათ შორის, კოდის ნაწლავის შენახვის ან კოპირების ვარიანტის ჩათვლით.
  247. // @description:kg Yika bisalu na ba bloque ya kode ya ChatGPT, na kati na yau nzila ya kubumba to kusala kopi ya bitini ya kode.
  248. // @description:kk Chatgpt код блоктарына функционалдылықты, соның ішінде код үзінділерін сақтау немесе көшіру опциясы.
  249. // @description:kl ChatGPT-kodeblokkinut funktionalitetimik ilanngukkit, ilaatigut kode-mik snippetit allattornissaannut imaluunniit kopiernissaannut periarfissaq.
  250. // @description:km បន្ថែមមុខងារទៅនឹងប្លុក CHATGPT កូដរួមទាំងជម្រើសក្នុងការរក្សាទុកឬថតចំលងអត្ថបទខ្លីៗ។
  251. // @description:kn ಕೋಡ್ ತುಣುಕುಗಳನ್ನು ಉಳಿಸುವ ಅಥವಾ ನಕಲಿಸುವ ಆಯ್ಕೆ ಸೇರಿದಂತೆ ಚಾಟ್‌ಜಿಪಿಟಿ ಕೋಡ್ ಬ್ಲಾಕ್‌ಗಳಿಗೆ ಕ್ರಿಯಾತ್ಮಕತೆಯನ್ನು ಸೇರಿಸಿ.
  252. // @description:ko 코드 스 니펫을 저장하거나 복사하는 옵션을 포함하여 ChatGpt 코드 블록에 기능을 추가하십시오.
  253. // @description:kr Faidatə ChatGPT code blocks ro, surodən karno code snippets gənatə au ruwotəye mbeji.
  254. // @description:ku Fonksiyonê li blokên kodên chatgpt zêde bikin, di nav de vebijarkek ji bo hilanîn an kopîkirina kodên kodê.
  255. // @description:kv Содты функциональность ChatGPT кодъяс блокъяс дорӧ, сы лыдын вариант, медым видзны либӧ копируйтны код юкӧнъяс.
  256. // @description:ky Чаткапт кодунун блокторуна, анын ичинде кодду үнөмдөө же көчүрүү опциясын кошуңуз.
  257. // @description:la Addere functionality ad chatgpt codice caudices, comprehendo ad optionem servare vel exemplum codice Snippets.
  258. // @description:lb Füügt Funktionalitéit un ChatGptpt Code Blocks, dorënner d’Méiglechkeet fir d’Optioun ze späicheren oder ze kopéieren.
  259. // @description:lg Okwongerako emirimu ku CHATGPT code blocks, omuli n’enkola y’okutereka oba okukoppa ebitundu bya koodi.
  260. // @description:ln Bakisa fonctionnalité na ba blocs ya code ChatGPT, na kati na yango option ya kobomba to kosala copie ya ba fragments ya code.
  261. // @description:lo ເພີ່ມການທໍາງານຂອງລະຫັດ Chatgpt, ລວມທັງຕົວເລືອກທີ່ຈະບັນທຶກຫຼືສໍາເນົາ snippets code.
  262. // @description:lt Pridėkite „ChatGpt“ kodo blokų funkcijas, įskaitant parinktį išsaugoti ar nukopijuoti kodo fragmentus.
  263. // @description:lv Pievienojiet funkcionalitāti CatGpt kodu blokiem, ieskaitot iespēju saglabāt vai kopēt koda fragmentus.
  264. // @description:mg Ampio ny fiasa amin’ny sakana Chatgpt Colic, ao anatin’izany ny safidy hanavotana na handika snippets code.
  265. // @description:mh Kobaik jerbal ko ñan bōbrae ko an ChatGPT, ekoba kālet eo ñan kōjparok ak copy in kōmeļeļe ko.
  266. // @description:mi Tāpirihia te mahinga ki nga Chesgpt Code Poraka, tae atu ki te whiringa ki te penapena, ki te kape ranei i nga tohu waehere waehere.
  267. // @description:mk Додадете функционалност во блок -блокови со код CHATGPT, вклучувајќи ја и опцијата за зачувување или копирање на код.
  268. // @description:ml കോഡ് സ്നിപ്പെറ്റുകൾ സംരക്ഷിക്കാനുള്ള ഓപ്ഷൻ ഉൾപ്പെടെ ചാറ്റ്ഗ്പ്റ്റ് കോഡ് ബ്ലോക്കുകളിൽ പ്രവർത്തനം ചേർക്കുക.
  269. // @description:mn Clatgpt Codal Blocks-д функцийг нэмж, CLIPS COLDER-ийг хадгалах эсвэл хуулах сонголтыг хадгалах сонголтыг оруулаарай.
  270. // @description:mo Adăugați funcționalitate la blocurile de cod ChatGPT, inclusiv opțiunea de a salva sau copia fragmentele de cod.
  271. // @description:mr कोड स्निपेट्स जतन किंवा कॉपी करण्याचा पर्याय यासह चॅटजीपीटी कोड ब्लॉक्समध्ये कार्यक्षमता जोडा.
  272. // @description:ms Tambah fungsi ke blok kod ChATGPT, termasuk pilihan untuk menyimpan atau menyalin coretan kod.
  273. // @description:mt Żid il-funzjonalità mal-blokki tal-kodiċi chatgpt, inkluża l-għażla li ssalva jew tikkopja snippets tal-kodiċi.
  274. // @description:my Complets Code Save Save သို့မဟုတ်ကူးယူရန် Option အပါအ 0 င် chatgpt code လုပ်ကွက်များသို့ chatgptged code လုပ်ကွက်များသို့ထည့်ပါ။
  275. // @description:nb Legg til funksjonalitet i ChatGPT -kodeblokker, inkludert alternativet for å lagre eller kopiere kodebiter.
  276. // @description:ne च्याट कोड ब्लकहरूमा कार्यक्षमता थप्नुहोस्, बचत गर्न वा प्रतिलिपि स्निपेटहरू बचत गर्न वा प्रतिलिपि गर्न विकल्प सहित।
  277. // @description:nl Functionaliteit toevoegen aan chatgpt -codeblokken, inclusief de optie om codefragmenten op te slaan of te kopiëren.
  278. // @description:nr I-Asssssssssssssssssss 10.
  279. // @description:ny Onjezani magwiridwe a magwiridwe a Code Ladicts, kuphatikizapo njira yosungira kapena kukopera manambala.
  280. // @description:oc Apondre la foncionalitat als blòcs de còde ChatGPT, inclusent l’opcion d’enregistrar o copiar de fragments de còde.
  281. // @description:om Functionality tti uggura koodii CHATGPT, filannoo cuquliisa koodii qusachuu ykn waraabuu dabalatee.
  282. // @description:or କୋଡ୍ ସ୍ନିପେଟଗୁଡିକ ସେଭ୍ କିମ୍ବା କପି କରିବାର ବିକଳ୍ପ ସହିତ କାର୍ଯ୍ୟକାରିତା ଆଡ୍ ମିଡିଆ ଯୋଡନ୍ତୁ |
  283. // @description:os ChatGPT-ы код блоктæм æфтауын функционал, уыцы нымæцы опци, цæмæй æрæмбырд кæной кæнæ копир кæной коды скъуыддзæгтæ.
  284. // @description:pa ਚੈਟਗੈਪਟ ਕੋਡ ਬਲਾਕਾਂ ਵਿੱਚ ਕਾਰਜਸ਼ੀਲਤਾ ਸ਼ਾਮਲ ਕਰੋ, ਸਮੇਤ ਕੋਡ ਸਨਿੱਪਟ ਨੂੰ ਸੇਵ ਜਾਂ ਕਾਪੀ ਕਰਨ ਦਾ ਵਿਕਲਪ ਸ਼ਾਮਲ ਕਰੋ.
  285. // @description:pl Dodaj funkcjonalność do bloków kodów chatgpt, w tym opcję zapisywania lub kopiowania fragmentów kodu.
  286. // @description:ps د چالګ کوډ بلاک بلاکونو کې فعالیت اضافه کړئ، پشمول د کوډ خوندي کولو یا کاپي کولو اختیار.
  287. // @description:pt Adicione a funcionalidade aos blocos de código ChatGPT, incluindo a opção de salvar ou copiar trechos de código.
  288. // @description:pt-BR Adicione a funcionalidade aos blocos de código ChatGPT, incluindo a opção de salvar ou copiar trechos de código.
  289. // @description:pt-PT Adicione a funcionalidade aos blocos de código ChatGPT, incluindo a opção de salvar ou copiar trechos de código.
  290. // @description:qu ChatGPT codigo bloques kaqman ruwanakuna yapay, chaymanta akllana waqaychay utaq copia codigo fragmentokuna.
  291. // @description:rn Wongereko ibikorwa ku mabara y’amakode ya ChatGPT, harimwo n’uburyo bwo kubika canke gukopa amakode.
  292. // @description:ro Adăugați funcționalitate la blocurile de cod ChatGPT, inclusiv opțiunea de a salva sau copia fragmentele de cod.
  293. // @description:ru Добавьте функциональность в кодовые блоки CHATGPT, включая опцию для сохранения или копирования фрагментов кода.
  294. // @description:rw Ongeraho imikorere yo kuganira kode, harimo amahitamo yo kuzigama cyangwa gukoporora kode.
  295. // @description:sa chatgpt कोड ब्लॉक्स् इत्यत्र कार्यक्षमतां योजयन्तु, यत्र कोडस्निपेट् रक्षितुं वा प्रतिलिपिं कर्तुं वा विकल्पः अपि अस्ति ।
  296. // @description:sd چيٽنگ ڪوڊ بلاڪ کي شامل ڪريو، ڪوڊ کي محفوظ ڪرڻ يا نقل ڪرڻ لاء آپشن شامل ڪرڻ يا نقل ڪرڻ لاء.
  297. // @description:se Lasit funkšuvnna ChatGPT-kodalohkuide, earret eará vejolašvuođa vurket dahje kopieret koda čuoggáid.
  298. // @description:sg A yeke wara na yâ ti a-bloc ti kode ti ChatGPT, so na popo ni a yeke wara option ti bata wala ti copié akete kete kode.
  299. // @description:sh Додајте функционалност ЦхатГПТ кодном блоковима, укључујући опцију за сачување или копирање исјечака кода.
  300. // @description:si ස්නිපෙට් සුරැකීමට හෝ පිටපත් කිරීමේ විකල්පය ඇතුළුව චැට් කේත කේත කුට්ටි වලට ක්රියාකාරීත්වය එක් කරන්න.
  301. // @description:sk Pridajte funkcie do blokov kódu Chatgpt, vrátane možnosti na uloženie alebo kopírovanie útržkov kódu.
  302. // @description:sl Dodajte funkcionalnost v kodne bloke chatgpt, vključno z možnostjo shranjevanja ali kopiranja odrezkov kode.
  303. // @description:sm Faʻaopopo le aoga i le talatalanoa o poloka poloka, aofia ai le filifiliga e sefe pe kopiina code snippets.
  304. // @description:sn Wedzera kushanda kune chatgpt code mabhuru, kusanganisira sarudzo yekuchengetedza kana kutevedzera kodhi snippets.
  305. // @description:so Ku dar waxqabadka Sharciga CHATGPPT SEACHSPTS Blocks, oo ay ku jiraan ikhtiyaarka si loo badbaadiyo ama koobi koobiga koodhka sirta ah.
  306. // @description:sq Shtoni funksionalitetin në blloqet e kodit chatgpt, duke përfshirë opsionin për të ruajtur ose kopjuar copëzat e kodit.
  307. // @description:sr Додајте функционалност ЦхатГПТ кодном блоковима, укључујући опцију за сачување или копирање исјечака кода.
  308. // @description:ss Ngeta kusebenta kumabhulokhi ekhodi ye-ChatGPT, kufaka ekhatsi inketho yekonga noma yekukopa tincenye tekhodi.
  309. // @description:st Kenya ts’ebetso ea ho qosa li-block tsa Polelo, ho kenyelletsa khetho ea ho boloka kapa ho kopitsa khoutu ea khoutu.
  310. // @description:su Tambahkeun fungsionalitas blok blok captcr ste, kalebet pilihan pikeun ngahémat atanapi nyalin kodeu kodeu kode.
  311. // @description:sv Lägg till funktionalitet i chatgpt -kodblock, inklusive alternativet att spara eller kopiera kodavsnitt.
  312. // @description:sw Ongeza utendaji kwa vizuizi vya msimbo wa Chatgpt, pamoja na chaguo la kuokoa au kunakili snippets za nambari.
  313. // @description:ta குறியீடு துணுக்குகளைச் சேமிக்க அல்லது நகலெடுக்க விருப்பம் உட்பட சாட்ஜிப்ட் குறியீடு தொகுதிகளுக்கு செயல்பாட்டைச் சேர்க்கவும்.
  314. // @description:te కోడ్ స్నిప్పెట్లను సేవ్ చేయడానికి లేదా కాపీ చేసే ఎంపికతో సహా Chatgpt కోడ్ బ్లాక్‌లకు కార్యాచరణను జోడించండి.
  315. // @description:tg Функсияро ба блокҳои кодекси Chatgpt илова кунед, аз ҷумла опсия барои сарфа ё нусхабардории коди.
  316. // @description:th เพิ่มฟังก์ชันการทำงานในบล็อกรหัส chatgpt รวมถึงตัวเลือกในการบันทึกหรือคัดลอกตัวอย่างโค้ด
  317. // @description:ti ኣብ CHATGPT ኮድ ብሎክስ ተግባር ምውሳኽ፣ እንተላይ ናይ ንምዕቃብ ወይ ንኮድ ኮድ ዝኸውን ኣማራጺ።
  318. // @description:tk SIRTPETLERI-NETI ulanyp ýa-da göçürmek mümkinçiligini goşmak bilen "Chatdpt" kod bloklaryna funksiýa goşmak mümkinçiligini goşuň.
  319. // @description:tl Magdagdag ng pag -andar sa mga bloke ng code ng CHATGPT, kabilang ang pagpipilian upang i -save o kopyahin ang mga snippet ng code.
  320. // @description:tn Tsenya tiriso mo dibolokong tsa khoutu ya ChatGPT, go akaretsa le tlhopho ya go boloka kgotsa go kopolola ditsopolwa tsa khoutu.
  321. // @description:to Tānaki atu ’a e ngaahi poloka ’o e ChatGPT code, kau ai ’a e fili ke fakahaofi pe hiki tatau ’a e ngaahi konga ’o e code.
  322. // @description:tr Kodu snippet’lerini kaydetme veya kopyala seçeneği de dahil olmak üzere ChatGPT kod bloklarına işlevsellik ekleyin.
  323. // @description:ts Engetela ntirho eka swibokisana swa khodi ya ChatGPT, ku katsa na nhlawulo wo hlayisa kumbe ku kopa swiphemu swa khodi.
  324. // @description:tt Сниппетлар саклау яки күчерү вариантын шатгПТ коды блокларына функция өстәргә.
  325. // @description:tw Fa dwumadie ka ChatGPT koodu blocks ho, a option a wode bɛkora anaa wode bɛ copy code snippets ka ho.
  326. // @description:ty A tapiri i te mau rave’a no te tape’a e aore râ, te mau tapa’o papa’i i te mau rave’a ChatGPT.
  327. // @description:ug كود پارچىلىرىنى ساقلاش ياكى كۆچۈرۈش تالونىنى ئۆز ئىچىگە ئالغان Cyngpt كود بۆلەكلىرىنى ئۆز ئىچىگە ئالغان Cyngpt كود بۆلەكلىرىنى ئۆز ئىچىگە ئالغان ئىقتىدارنى قوشۇڭ.
  328. // @description:uk Додайте функціональність до блоків коду чатгпта, включаючи опцію збереження або копіювання фрагментів коду.
  329. // @description:ur چیٹ جی پی ٹی کوڈ بلاکس میں فعالیت شامل کریں ، بشمول کوڈ کے ٹکڑوں کو بچانے یا کاپی کرنے کا آپشن بھی شامل ہے۔
  330. // @description:uz ChatchPT kodi bloklariga funktsional imkoniyatlarni, shuningdek kodni saqlash yoki nusxalash va nusxa ko’chirish va nusxa ko’chirish va nusxa ko’chirish va nusxa ko’chirish va nusxa ko’chirish opsiyasi.
  331. // @description:ve Engedza mushumo kha dzibuloko dza khoudu dza ChatGPT, hu tshi katelwa na khetho ya u vhulunga kana u kopolola zwipiḓa zwa khoudu.
  332. // @description:vi Thêm chức năng vào các khối mã Chatgpt, bao gồm tùy chọn để lưu hoặc sao chép đoạn mã.
  333. // @description:wo Yokk fonctionnalité ci kode ChatGPPT, boole ci tànneef ngir denc wala kopie snippets kode.
  334. // @description:xh Yongeza ukusebenza kwi-Conggpt Codes, kubandakanya ukhetho lokugcina okanye ukukopa ii-snippets.
  335. // @description:yi לייג פאַנגקשאַנאַליטי צו טשאַטגפּט קאָד בלאַקס, אַרייַנגערעכנט די אָפּציע צו ראַטעווען אָדער קאָפּיע קאָד סניפּאַץ.
  336. // @description:yo Fi kun iṣẹda si awọn bulọọki koodu, pẹlu aṣayan lati ṣafipamọ tabi Daakọ awọn eeyan koodu.
  337. // @description:zh 为 ChatGPT 代码块添加功能,包括保存或复制代码片段的选项。
  338. // @description:zh-CN 为 ChatGPT 代码块添加功能,包括保存或复制代码片段的选项。
  339. // @description:zh-HK 為 ChatGPT 代碼塊添加功能,包括保存或複制代碼片段的選項。
  340. // @description:zh-MO 為 ChatGPT 代碼塊添加功能,包括保存或複制代碼片段的選項。
  341. // @description:zh-MY 为 ChatGPT 代码块添加功能,包括保存或复制代码片段的选项。
  342. // @description:zh-SG 为 ChatGPT 代码块添加功能,包括保存或复制代码片段的选项。
  343. // @description:zh-TW 為 ChatGPT 代碼塊添加功能,包括保存或複制代碼片段的選項。
  344. // @description:zu Faka ukusebenza kumabhulokhi ekhodi ye-Chatgt, kufaka phakathi inketho yokusindisa noma ukukopisha ikhodi snippets.
  345. // @author CarpeNoctemXD,人民的勤务员 <china.qinwuyuan@gmail.com>
  346. // @namespace https://github.com/ChinaGodMan/UserScripts
  347. // @supportURL https://github.com/ChinaGodMan/UserScripts/issues
  348. // @homepageURL https://github.com/ChinaGodMan/UserScripts
  349. // @license MIT
  350. // @match https://chatgpt.com/*
  351. // @match https://chat.openai.com/*
  352. // @icon https://raw.githubusercontent.com/ChinaGodMan/UserScriptsHistory/main/scriptsIcon/chatgpt-plus.png
  353. // @compatible chrome
  354. // @compatible firefox
  355. // @compatible edge
  356. // @compatible opera
  357. // @compatible safari
  358. // @compatible kiwi
  359. // @compatible qq
  360. // @compatible via
  361. // @compatible brave
  362. // @version 2025.6.2.1
  363. // ==/UserScript==
  364. (function () {
  365. 'use strict'
  366.  
  367. // Function to get MIME type based on file extension
  368. const getMimeType = (filename) => {
  369. const ext = filename.split('.').pop()
  370. switch (ext) {
  371. case 'py': return 'text/x-python'
  372. case 'js': return 'application/javascript'
  373. case 'html': return 'text/html'
  374. case 'css': return 'text/css'
  375. case 'java': return 'text/x-java-source'
  376. case 'cs': return 'text/x-csharp'
  377. case 'cpp': return 'text/x-c++src'
  378. case 'json': return 'application/json'
  379. case 'rb': return 'text/x-ruby'
  380. case 'pl': return 'text/x-perl'
  381. case 'swift': return 'text/x-swift'
  382. case 'kt': return 'text/x-kotlin'
  383. case 'go': return 'text/x-go'
  384. case 'ts': return 'application/typescript'
  385. case 'dart': return 'application/dart'
  386. case 'sql': return 'application/sql'
  387. case 'sh': return 'application/x-shellscript'
  388. case 'ps1': return 'application/powershell'
  389. case 'xml': return 'application/xml'
  390. case 'yaml': return 'application/x-yaml'
  391. case 'toml': return 'application/toml'
  392. case 'ini': return 'text/plain'
  393. case 'csv': return 'text/csv'
  394. case 'md': return 'text/markdown'
  395. case 'xlsx': return 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
  396. case 'bat': return 'application/x-batch'
  397. default: return 'text/plain'
  398. }
  399. }
  400.  
  401. // Function to determine file extension based on the code block's language
  402. const getFileExtension = (languageClass) => {
  403. if (!languageClass) return 'txt' // Default to .txt if no class is found
  404.  
  405. if (languageClass.includes('language-python')) return 'py'
  406. if (languageClass.includes('language-javascript') || languageClass.includes('language-js')) return 'js'
  407. if (languageClass.includes('language-html')) return 'html'
  408. if (languageClass.includes('language-css')) return 'css'
  409. if (languageClass.includes('language-java')) return 'java'
  410. if (languageClass.includes('language-csharp')) return 'cs'
  411. if (languageClass.includes('language-cpp')) return 'cpp'
  412. if (languageClass.includes('language-json')) return 'json'
  413. if (languageClass.includes('language-ruby')) return 'rb'
  414. if (languageClass.includes('language-perl')) return 'pl'
  415. if (languageClass.includes('language-swift')) return 'swift'
  416. if (languageClass.includes('language-kotlin')) return 'kt'
  417. if (languageClass.includes('language-go')) return 'go'
  418. if (languageClass.includes('language-typescript')) return 'ts'
  419. if (languageClass.includes('language-dart')) return 'dart'
  420. if (languageClass.includes('language-sql')) return 'sql'
  421. if (languageClass.includes('language-shell') || languageClass.includes('language-bash') || languageClass.includes('language-sh')) return 'sh'
  422. if (languageClass.includes('language-powershell') || languageClass.includes('language-ps1')) return 'ps1'
  423. if (languageClass.includes('language-xml')) return 'xml'
  424. if (languageClass.includes('language-yaml')) return 'yaml'
  425. if (languageClass.includes('language-toml')) return 'toml'
  426. if (languageClass.includes('language-ini')) return 'ini'
  427. if (languageClass.includes('language-csv')) return 'csv'
  428. if (languageClass.includes('language-markdown') || languageClass.includes('language-md')) return 'md'
  429. if (languageClass.includes('language-xlsx')) return 'xlsx'
  430. if (languageClass.includes('language-bat') || languageClass.includes('language-batch')) return 'bat'
  431.  
  432. return 'txt' // Default to .txt if no matching language is found
  433. }
  434.  
  435. // Function to download the text as a file
  436. const downloadFile = (text, filename, button) => {
  437. const blob = new Blob([text], { type: getMimeType(filename) })
  438. const url = URL.createObjectURL(blob)
  439. const a = document.createElement('a')
  440. a.href = url
  441. a.download = filename
  442. document.body.appendChild(a)
  443. a.click()
  444. document.body.removeChild(a)
  445. URL.revokeObjectURL(url)
  446. setButtonState(button, 'working', 'download')
  447. }
  448.  
  449. // Function to copy text to the clipboard
  450. const copyToClipboard = (text, button) => {
  451. navigator.clipboard.writeText(text).then(() => {
  452. setButtonState(button, 'working', 'copy')
  453. }).catch((err) => {
  454. console.error('Failed to copy code: ', err)
  455. setButtonState(button, 'error', 'copy')
  456. })
  457. }
  458.  
  459. // Function to set the button state and color
  460. const setButtonState = (button, state, type) => {
  461. switch (state) {
  462. case 'working':
  463. button.textContent = type === 'download' ? 'Saving...' : 'Copied!'
  464. button.style.backgroundColor = 'green'
  465. break
  466. case 'error':
  467. button.textContent = type === 'download' ? 'Could not download' : 'Could not copy'
  468. button.style.backgroundColor = 'red'
  469. break
  470. case 'standby':
  471. default:
  472. button.textContent = button.dataset.defaultText || 'Unknown'
  473. button.style.backgroundColor = '#007bff' // Blue
  474. break
  475. }
  476. button.style.color = 'white'
  477.  
  478. // Revert the button to standby after 5 seconds
  479. if (state === 'working' || state === 'error') {
  480. setTimeout(() => {
  481. setButtonState(button, 'standby', type)
  482. }, 5000) // 5 seconds
  483. }
  484. }
  485.  
  486. // Function to add save and copy buttons to a code block
  487. const addButtonsToCodeBlock = (codeBlock) => {
  488. // Ensure existing buttons are not duplicated
  489. if (codeBlock.querySelector('.code-buttons-wrapper')) return
  490.  
  491. const wrapper = document.createElement('div')
  492. wrapper.classList.add('code-buttons-wrapper')
  493. wrapper.style.position = 'relative'
  494. wrapper.style.display = 'flex'
  495. wrapper.style.justifyContent = 'flex-start'
  496. wrapper.style.gap = '8px'
  497. wrapper.style.marginTop = '8px'
  498.  
  499. const saveButton = document.createElement('button')
  500. saveButton.textContent = 'Save Code'
  501. styleButton(saveButton)
  502.  
  503. saveButton.addEventListener('click', (e) => {
  504. e.stopPropagation()
  505. const codeElement = codeBlock.querySelector('code')
  506. if (codeElement) {
  507. const text = codeElement.textContent
  508. const languageClass = codeElement.className
  509. const extension = getFileExtension(languageClass)
  510. downloadFile(text, `code.${extension}`, saveButton)
  511. }
  512. })
  513.  
  514. const copyButton = document.createElement('button')
  515. copyButton.textContent = 'Copy Code'
  516. styleButton(copyButton)
  517.  
  518. copyButton.addEventListener('click', (e) => {
  519. e.stopPropagation()
  520. const codeElement = codeBlock.querySelector('code')
  521. if (codeElement) {
  522. const text = codeElement.textContent
  523. copyToClipboard(text, copyButton)
  524. }
  525. })
  526.  
  527. // Set default text for buttons
  528. saveButton.dataset.defaultText = 'Save Code'
  529. copyButton.dataset.defaultText = 'Copy Code'
  530.  
  531. codeBlock.parentNode.insertBefore(wrapper, codeBlock.nextSibling)
  532. wrapper.appendChild(saveButton)
  533. wrapper.appendChild(copyButton)
  534. }
  535.  
  536. // Function to style the buttons
  537. const styleButton = (button) => {
  538. Object.assign(button.style, {
  539. display: 'inline-block',
  540. padding: '8px',
  541. background: '#007bff', // Default standby color
  542. color: 'white',
  543. border: 'none',
  544. borderRadius: '4px',
  545. cursor: 'pointer',
  546. transition: 'background-color 0.3s ease'
  547. })
  548.  
  549. button.addEventListener('mouseover', () => {
  550. if (button.textContent === 'Saving...' || button.textContent === 'Copied!' || button.textContent === 'Could not download' || button.textContent === 'Could not copy') {
  551. button.style.backgroundColor = button.textContent.includes('Could not') ? 'darkred' : 'darkgreen'
  552. } else {
  553. button.style.backgroundColor = '#0056b3' // Darker blue for standby
  554. }
  555. })
  556.  
  557. button.addEventListener('mouseout', () => {
  558. if (button.textContent === 'Saving...' || button.textContent === 'Copied!' || button.textContent === 'Could not download' || button.textContent === 'Could not copy') {
  559. button.style.backgroundColor = button.textContent.includes('Could not') ? 'red' : 'green'
  560. } else {
  561. button.style.backgroundColor = '#007bff' // Default blue for standby
  562. }
  563. })
  564. }
  565.  
  566. // Function to observe code blocks and add buttons
  567. const observeCodeBlocks = () => {
  568. const codeBlocks = document.querySelectorAll('pre:not(.processed)')
  569. codeBlocks.forEach(block => {
  570. addButtonsToCodeBlock(block)
  571. block.classList.add('processed')
  572. })
  573. }
  574.  
  575. // Mutation observer to detect new code blocks added dynamically
  576. const observer = new MutationObserver(observeCodeBlocks)
  577. observer.observe(document.body, { childList: true, subtree: true })
  578.  
  579. // Initial call to process existing code blocks
  580. observeCodeBlocks()
  581.  
  582. })()

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址