diff --git a/dist/js/app.2ccc2930.js b/js/app.5052824b.js
similarity index 94%
rename from dist/js/app.2ccc2930.js
rename to js/app.5052824b.js
index 2e6ed60a..2171bc79 100644
--- a/dist/js/app.2ccc2930.js
+++ b/js/app.5052824b.js
@@ -1,2 +1,2 @@
-(function(){"use strict";var t={3280:function(t,e,n){var i=n(3751),o=n(641),l=n(33);const r={class:"container"},s={class:"content"},a={class:"description"},c={key:0},u={key:1},p={key:2},h={key:3},k={class:"card"},d={class:"input-group"},g={key:0,class:"error-message"},y=["placeholder"],v={key:0,class:"output-group"},f={key:0,class:"success-message"},m=["value"],b={class:"reset-container"},L=["title"];function S(t,e,n,S,w,U){return(0,o.uX)(),(0,o.CE)("div",r,[(0,o.Lk)("div",s,[(0,o.Lk)("h1",null,(0,l.v_)((w.lang,"SkyFetch")),1),(0,o.Lk)("div",a,["zh"===w.lang?((0,o.uX)(),(0,o.CE)("p",c,e[6]||(e[6]=[(0,o.eW)("SkyFetch 是一个简单易用的工具,"),(0,o.Lk)("br",null,null,-1),(0,o.eW)("只需粘贴原始图片链接,即可快速获取 BlueSky 社交平台上图片的最高分辨率版本下载地址。")]))):((0,o.uX)(),(0,o.CE)("p",u,"SkyFetch is a simple tool that allows you to quickly obtain the highest resolution download link for images from the BlueSky social platform by simply pasting the original image link.")),"zh"===w.lang?((0,o.uX)(),(0,o.CE)("p",p,"所有数据仅在您的浏览器本地处理,确保隐私安全。")):((0,o.uX)(),(0,o.CE)("p",h,"All data is processed locally in your browser, ensuring privacy and security."))]),(0,o.Lk)("div",k,[(0,o.Lk)("div",d,[(0,o.Lk)("label",null,[(0,o.eW)((0,l.v_)("zh"===w.lang?"在新标签页打开的图片链接:":"Image link opened in a new tab:"),1),w.invalidLink?((0,o.uX)(),(0,o.CE)("span",g,(0,l.v_)("zh"===w.lang?"无效链接":"Invalid link"),1)):(0,o.Q3)("",!0)]),(0,o.bo)((0,o.Lk)("input",{"onUpdate:modelValue":e[0]||(e[0]=t=>w.inputUrl=t),placeholder:"zh"===w.lang?"粘贴BlueSky图片链接":"Paste BlueSky image link",onInput:e[1]||(e[1]=(...t)=>U.checkLink&&U.checkLink(...t)),onKeyup:e[2]||(e[2]=(0,i.jR)(((...t)=>U.convertUrl&&U.convertUrl(...t)),["enter"]))},null,40,y),[[i.Jo,w.inputUrl]]),(0,o.Lk)("button",{onClick:e[3]||(e[3]=(...t)=>U.convertUrl&&U.convertUrl(...t))},(0,l.v_)("zh"===w.lang?"获取最高分辨率图像链接":"Get highest resolution image link"),1)]),w.outputUrl?((0,o.uX)(),(0,o.CE)("div",v,[(0,o.Lk)("label",null,[(0,o.eW)((0,l.v_)("zh"===w.lang?"最高分辨率图像链接:":"Highest resolution image link:")+" ",1),w.copySuccess?((0,o.uX)(),(0,o.CE)("span",f,(0,l.v_)("zh"===w.lang?"复制成功":"Copied"),1)):(0,o.Q3)("",!0)]),(0,o.Lk)("input",{value:w.outputUrl,readonly:"",class:(0,l.C4)({copied:w.copySuccess})},null,10,m),(0,o.Lk)("button",{onClick:e[4]||(e[4]=(...t)=>U.copyUrl&&U.copyUrl(...t))},(0,l.v_)("zh"===w.lang?"复制":"Copy"),1)])):(0,o.Q3)("",!0),(0,o.Lk)("div",b,[(0,o.Lk)("button",{onClick:e[5]||(e[5]=(...t)=>U.clearAll&&U.clearAll(...t)),class:(0,l.C4)(["reset-btn",{active:w.isResetActive}]),title:"zh"===w.lang?"重置":"Reset"},e[7]||(e[7]=[(0,o.Lk)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"reset-icon"},[(0,o.Lk)("path",{d:"M21 12a9 9 0 11-9-9c2.52 0 4.93 1 6.74 2.74L21 8"}),(0,o.Lk)("path",{d:"M21 3v5h-5"})],-1)]),10,L)])]),e[8]||(e[8]=(0,o.Lk)("footer",null,[(0,o.Lk)("a",{href:"https://github.com/CookSleep/skyfetch",target:"_blank"},"GitHub @CookSleep")],-1))])])}n(4603),n(7566),n(8721);var w={data(){return{inputUrl:"",outputUrl:"",invalidLink:!1,isResetActive:!1,copySuccess:!1,lang:"en"}},mounted(){this.initLanguage(),this.addStructuredData(),document.title=this.getTitle()},methods:{initLanguage(){const t=navigator.language||navigator.userLanguage;this.lang=t.startsWith("zh")?"zh":"en"},getTitle(){return"zh"===this.lang?"SkyFetch - 获取BlueSky高分辨率图片链接":"SkyFetch - Get High-Resolution BlueSky Image Links"},convertUrl(){if(this.inputUrl)try{const t=new URL(this.inputUrl);if("cdn.bsky.app"!==t.hostname||!t.pathname.includes("/img/feed_"))throw new Error;const e=t.pathname.split("/"),n=e.find((t=>t.startsWith("did:"))),i=e[e.length-1].split("@")[0];if(!n||!i)throw new Error;this.outputUrl=`https://bsky.social/xrpc/com.atproto.sync.getBlob?did=${n}&cid=${i}`,this.invalidLink=!1,this.copyUrl()}catch(t){this.clearAll(),this.invalidLink=!0,console.error(t),setTimeout((()=>{this.invalidLink=!1}),3e3)}},copyUrl(){navigator.clipboard.writeText(this.outputUrl),this.copySuccess=!0,setTimeout((()=>{this.copySuccess=!1}),3e3)},clearAll(){this.inputUrl="",this.outputUrl="",this.invalidLink=!1,this.copySuccess=!1,this.isResetActive=!0,setTimeout((()=>{this.isResetActive=!1}),300)},checkLink(){this.invalidLink=!1},addStructuredData(){const t={"@context":"https://schema.org","@type":"WebApplication",name:"SkyFetch",description:"zh"===this.lang?"SkyFetch是一个简单易用的工具,只需粘贴原始图片链接,即可快速获取BlueSky社交平台上图片的最高分辨率版本下载地址。":"SkyFetch is a simple tool to quickly obtain high-resolution download links for images from the BlueSky social platform by pasting the original image link.",url:"https://cooksleep.github.io/skyfetch/",applicationCategory:"UtilityApplication",operatingSystem:"All",offers:{"@type":"Offer",price:"0",priceCurrency:"USD"}},e=document.createElement("script");e.type="application/ld+json",e.text=JSON.stringify(t),document.head.appendChild(e)}}},U=n(6262);const C=(0,U.A)(w,[["render",S],["__scopeId","data-v-dc8d4e7e"]]);var z=C;(0,i.Ef)(z).mount("#app")}},e={};function n(i){var o=e[i];if(void 0!==o)return o.exports;var l=e[i]={exports:{}};return t[i].call(l.exports,l,l.exports,n),l.exports}n.m=t,function(){var t=[];n.O=function(e,i,o,l){if(!i){var r=1/0;for(u=0;u
=l)&&Object.keys(n.O).every((function(t){return n.O[t](i[a])}))?i.splice(a--,1):(s=!1,l0&&t[u-1][2]>l;u--)t[u]=t[u-1];t[u]=[i,o,l]}}(),function(){n.d=function(t,e){for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})}}(),function(){n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"===typeof window)return window}}()}(),function(){n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}}(),function(){var t={524:0};n.O.j=function(e){return 0===t[e]};var e=function(e,i){var o,l,r=i[0],s=i[1],a=i[2],c=0;if(r.some((function(e){return 0!==t[e]}))){for(o in s)n.o(s,o)&&(n.m[o]=s[o]);if(a)var u=a(n)}for(e&&e(i);cw.inputUrl=t),placeholder:"zh"===w.lang?"粘贴BlueSky图片链接":"Paste BlueSky image link",onInput:e[1]||(e[1]=(...t)=>U.checkLink&&U.checkLink(...t)),onKeyup:e[2]||(e[2]=(0,i.jR)(((...t)=>U.convertUrl&&U.convertUrl(...t)),["enter"]))},null,40,y),[[i.Jo,w.inputUrl]]),(0,o.Lk)("button",{onClick:e[3]||(e[3]=(...t)=>U.convertUrl&&U.convertUrl(...t))},(0,l.v_)("zh"===w.lang?"获取最高分辨率图像链接":"Get highest resolution image link"),1)]),w.outputUrl?((0,o.uX)(),(0,o.CE)("div",v,[(0,o.Lk)("label",null,[(0,o.eW)((0,l.v_)("zh"===w.lang?"最高分辨率图像链接:":"Highest resolution image link:")+" ",1),w.copySuccess?((0,o.uX)(),(0,o.CE)("span",f,(0,l.v_)("zh"===w.lang?"复制成功":"Copied"),1)):(0,o.Q3)("",!0)]),(0,o.Lk)("input",{value:w.outputUrl,readonly:"",class:(0,l.C4)({copied:w.copySuccess})},null,10,m),(0,o.Lk)("button",{onClick:e[4]||(e[4]=(...t)=>U.copyUrl&&U.copyUrl(...t))},(0,l.v_)("zh"===w.lang?"复制":"Copy"),1)])):(0,o.Q3)("",!0),(0,o.Lk)("div",b,[(0,o.Lk)("button",{onClick:e[5]||(e[5]=(...t)=>U.clearAll&&U.clearAll(...t)),class:(0,l.C4)(["reset-btn",{active:w.isResetActive}]),title:"zh"===w.lang?"重置":"Reset"},e[7]||(e[7]=[(0,o.Lk)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"reset-icon"},[(0,o.Lk)("path",{d:"M21 12a9 9 0 11-9-9c2.52 0 4.93 1 6.74 2.74L21 8"}),(0,o.Lk)("path",{d:"M21 3v5h-5"})],-1)]),10,L)])]),e[8]||(e[8]=(0,o.Lk)("footer",null,[(0,o.Lk)("a",{href:"https://github.com/CookSleep/SkyFetch",target:"_blank"},"GitHub @CookSleep")],-1))])])}n(4603),n(7566),n(8721);var w={data(){return{inputUrl:"",outputUrl:"",invalidLink:!1,isResetActive:!1,copySuccess:!1,lang:"en"}},mounted(){this.initLanguage(),this.addStructuredData(),document.title=this.getTitle()},methods:{initLanguage(){const t=navigator.language||navigator.userLanguage;this.lang=t.startsWith("zh")?"zh":"en"},getTitle(){return"zh"===this.lang?"SkyFetch - 获取BlueSky高分辨率图片链接":"SkyFetch - Get High-Resolution BlueSky Image Links"},convertUrl(){if(this.inputUrl)try{const t=new URL(this.inputUrl);if("cdn.bsky.app"!==t.hostname||!t.pathname.includes("/img/feed_"))throw new Error;const e=t.pathname.split("/"),n=e.find((t=>t.startsWith("did:"))),i=e[e.length-1].split("@")[0];if(!n||!i)throw new Error;this.outputUrl=`https://bsky.social/xrpc/com.atproto.sync.getBlob?did=${n}&cid=${i}`,this.invalidLink=!1,this.copyUrl()}catch(t){this.clearAll(),this.invalidLink=!0,console.error(t),setTimeout((()=>{this.invalidLink=!1}),3e3)}},copyUrl(){navigator.clipboard.writeText(this.outputUrl),this.copySuccess=!0,setTimeout((()=>{this.copySuccess=!1}),3e3)},clearAll(){this.inputUrl="",this.outputUrl="",this.invalidLink=!1,this.copySuccess=!1,this.isResetActive=!0,setTimeout((()=>{this.isResetActive=!1}),300)},checkLink(){this.invalidLink=!1},addStructuredData(){const t={"@context":"https://schema.org","@type":"WebApplication",name:"SkyFetch",description:"zh"===this.lang?"SkyFetch是一个简单易用的工具,只需粘贴原始图片链接,即可快速获取BlueSky社交平台上图片的最高分辨率版本下载地址。":"SkyFetch is a simple tool to quickly obtain high-resolution download links for images from the BlueSky social platform by pasting the original image link.",url:"https://cooksleep.github.io/SkyFetch/",applicationCategory:"UtilityApplication",operatingSystem:"All",offers:{"@type":"Offer",price:"0",priceCurrency:"USD"}},e=document.createElement("script");e.type="application/ld+json",e.text=JSON.stringify(t),document.head.appendChild(e)}}},U=n(6262);const C=(0,U.A)(w,[["render",S],["__scopeId","data-v-241f1e7e"]]);var z=C;(0,i.Ef)(z).mount("#app")}},e={};function n(i){var o=e[i];if(void 0!==o)return o.exports;var l=e[i]={exports:{}};return t[i].call(l.exports,l,l.exports,n),l.exports}n.m=t,function(){var t=[];n.O=function(e,i,o,l){if(!i){var r=1/0;for(u=0;u=l)&&Object.keys(n.O).every((function(t){return n.O[t](i[a])}))?i.splice(a--,1):(s=!1,l0&&t[u-1][2]>l;u--)t[u]=t[u-1];t[u]=[i,o,l]}}(),function(){n.d=function(t,e){for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})}}(),function(){n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"===typeof window)return window}}()}(),function(){n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}}(),function(){var t={524:0};n.O.j=function(e){return 0===t[e]};var e=function(e,i){var o,l,r=i[0],s=i[1],a=i[2],c=0;if(r.some((function(e){return 0!==t[e]}))){for(o in s)n.o(s,o)&&(n.m[o]=s[o]);if(a)var u=a(n)}for(e&&e(i);c\r\n \r\n
\r\n
{{ lang === 'zh' ? 'SkyFetch' : 'SkyFetch' }}
\r\n
\r\n
SkyFetch 是一个简单易用的工具,
只需粘贴原始图片链接,即可快速获取 BlueSky 社交平台上图片的最高分辨率版本下载地址。
\r\n
SkyFetch is a simple tool that allows you to quickly obtain the highest resolution download link for images from the BlueSky social platform by simply pasting the original image link.
\r\n
所有数据仅在您的浏览器本地处理,确保隐私安全。
\r\n
All data is processed locally in your browser, ensuring privacy and security.
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n","import { render } from \"./App.vue?vue&type=template&id=dc8d4e7e&scoped=true\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=dc8d4e7e&scoped=true&lang=css\"\n\nimport exportComponent from \"../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-dc8d4e7e\"]])\n\nexport default __exports__","import { createApp } from 'vue'\r\nimport App from './App.vue'\r\n\r\ncreateApp(App).mount('#app')\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t524: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkskyfetch\"] = self[\"webpackChunkskyfetch\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [504], function() { return __webpack_require__(3280); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["class","key","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_toDisplayString","$data","lang","_hoisted_3","_hoisted_4","_cache","_createTextVNode","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","invalidLink","_hoisted_10","_createCommentVNode","$event","inputUrl","placeholder","onInput","args","$options","checkLink","onKeyup","_withKeys","convertUrl","_hoisted_11","onClick","outputUrl","_hoisted_12","copySuccess","_hoisted_13","value","readonly","_normalizeClass","_hoisted_14","copyUrl","_hoisted_15","clearAll","isResetActive","title","xmlns","viewBox","fill","stroke","d","_hoisted_16","href","target","data","mounted","this","initLanguage","addStructuredData","document","getTitle","methods","browserLang","navigator","language","userLanguage","startsWith","url","URL","hostname","pathname","includes","Error","parts","split","did","find","part","cid","length","error","console","setTimeout","clipboard","writeText","structuredData","script","createElement","type","text","JSON","stringify","head","appendChild","__exports__","render","createApp","App","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","call","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","Object","keys","every","splice","r","definition","o","defineProperty","enumerable","get","g","globalThis","Function","e","window","obj","prop","prototype","hasOwnProperty","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","id","chunkLoadingGlobal","self","forEach","bind","push","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"js/app.5052824b.js","mappings":"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","sources":["webpack://skyfetch/./src/App.vue","webpack://skyfetch/./src/App.vue?7ccd","webpack://skyfetch/./src/main.js","webpack://skyfetch/webpack/bootstrap","webpack://skyfetch/webpack/runtime/chunk loaded","webpack://skyfetch/webpack/runtime/define property getters","webpack://skyfetch/webpack/runtime/global","webpack://skyfetch/webpack/runtime/hasOwnProperty shorthand","webpack://skyfetch/webpack/runtime/jsonp chunk loading","webpack://skyfetch/webpack/startup"],"sourcesContent":["\r\n \r\n
\r\n
{{ lang === 'zh' ? 'SkyFetch' : 'SkyFetch' }}
\r\n
\r\n
SkyFetch 是一个简单易用的工具,
只需粘贴原始图片链接,即可快速获取 BlueSky 社交平台上图片的最高分辨率版本下载地址。
\r\n
SkyFetch is a simple tool that allows you to quickly obtain the highest resolution download link for images from the BlueSky social platform by simply pasting the original image link.
\r\n
所有数据仅在您的浏览器本地处理,确保隐私安全。
\r\n
All data is processed locally in your browser, ensuring privacy and security.
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n","import { render } from \"./App.vue?vue&type=template&id=241f1e7e&scoped=true\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=241f1e7e&scoped=true&lang=css\"\n\nimport exportComponent from \"../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-241f1e7e\"]])\n\nexport default __exports__","import { createApp } from 'vue'\r\nimport App from './App.vue'\r\n\r\ncreateApp(App).mount('#app')\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t524: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkskyfetch\"] = self[\"webpackChunkskyfetch\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [504], function() { return __webpack_require__(2679); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["class","key","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_toDisplayString","$data","lang","_hoisted_3","_hoisted_4","_cache","_createTextVNode","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","invalidLink","_hoisted_10","_createCommentVNode","$event","inputUrl","placeholder","onInput","args","$options","checkLink","onKeyup","_withKeys","convertUrl","_hoisted_11","onClick","outputUrl","_hoisted_12","copySuccess","_hoisted_13","value","readonly","_normalizeClass","_hoisted_14","copyUrl","_hoisted_15","clearAll","isResetActive","title","xmlns","viewBox","fill","stroke","d","_hoisted_16","href","target","data","mounted","this","initLanguage","addStructuredData","document","getTitle","methods","browserLang","navigator","language","userLanguage","startsWith","url","URL","hostname","pathname","includes","Error","parts","split","did","find","part","cid","length","error","console","setTimeout","clipboard","writeText","structuredData","script","createElement","type","text","JSON","stringify","head","appendChild","__exports__","render","createApp","App","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","call","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","Object","keys","every","splice","r","definition","o","defineProperty","enumerable","get","g","globalThis","Function","e","window","obj","prop","prototype","hasOwnProperty","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","id","chunkLoadingGlobal","self","forEach","bind","push","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file
diff --git a/dist/js/chunk-vendors.36477c62.js b/js/chunk-vendors.36477c62.js
similarity index 100%
rename from dist/js/chunk-vendors.36477c62.js
rename to js/chunk-vendors.36477c62.js
diff --git a/dist/js/chunk-vendors.36477c62.js.map b/js/chunk-vendors.36477c62.js.map
similarity index 100%
rename from dist/js/chunk-vendors.36477c62.js.map
rename to js/chunk-vendors.36477c62.js.map
diff --git a/dist/logo.svg b/logo.svg
similarity index 100%
rename from dist/logo.svg
rename to logo.svg
diff --git a/node_modules/.cache/eslint/2b3b9914.json b/node_modules/.cache/eslint/2b3b9914.json
index bc4f9eb3..305469e6 100644
--- a/node_modules/.cache/eslint/2b3b9914.json
+++ b/node_modules/.cache/eslint/2b3b9914.json
@@ -1 +1 @@
-[{"D:\\文档\\A 项目\\SkyFetch\\src\\main.js":"1","D:\\文档\\A 项目\\SkyFetch\\src\\App.vue":"2"},{"size":94,"mtime":1726002325349,"results":"3","hashOfConfig":"4"},{"size":8753,"mtime":1726002325348,"results":"5","hashOfConfig":"4"},{"filePath":"6","messages":"7","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1u7wrfb",{"filePath":"8","messages":"9","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"D:\\文档\\A 项目\\SkyFetch\\src\\main.js",[],"D:\\文档\\A 项目\\SkyFetch\\src\\App.vue",[]]
\ No newline at end of file
+[{"D:\\文档\\A 项目\\SkyFetch\\src\\main.js":"1","D:\\文档\\A 项目\\SkyFetch\\src\\App.vue":"2"},{"size":94,"mtime":1726002325349,"results":"3","hashOfConfig":"4"},{"size":8753,"mtime":1726003264687,"results":"5","hashOfConfig":"4"},{"filePath":"6","messages":"7","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1u7wrfb",{"filePath":"8","messages":"9","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"D:\\文档\\A 项目\\SkyFetch\\src\\main.js",[],"D:\\文档\\A 项目\\SkyFetch\\src\\App.vue",[]]
\ No newline at end of file
diff --git a/robots.txt b/robots.txt
new file mode 100644
index 00000000..2cbf6047
--- /dev/null
+++ b/robots.txt
@@ -0,0 +1,3 @@
+User-agent: *
+Allow: /
+Sitemap: https://cooksleep.github.io/SkyFetch/sitemap.xml
\ No newline at end of file
diff --git a/dist/sitemap.xml b/sitemap.xml
similarity index 100%
rename from dist/sitemap.xml
rename to sitemap.xml