https://blog.sunmkt.uk/

提交的 URL:
https://blog.sunmkt.uk/
报告完成时间:

链接 · 找到 7 个

从页面中识别出的传出链接

链接文本
https://bsky.app/profile/sunmkt.uk
https://sunmkt.uk/
https://github.com/SunsetMkt
https://gohugo.io/Hugo
https://github.com/CaiJimmy/hugo-theme-stackStack
https://jimmycai.comJimmy
https://www.enable-javascript.com/instructions how to enable JavaScript in your web browser

JavaScript 变量 · 找到 18 个

在页面窗口对象上加载的全局 JavaScript 变量是在函数外部声明的变量,可以从当前范围内的代码中的任何位置访问

名称类型
onbeforetoggleobject
documentPictureInPictureobject
onscrollendobject
zarazDataobject
zarazobject
Vibrantfunction
linkundefined
Stackobject
createElementfunction
__cfBeaconobject

控制台日志消息 · 找到 1 条

记录到 Web 控制台的消息

类型类别记录
errorother
URL
https://blog.sunmkt.uk/
文本
The Content-Security-Policy directive 'default-src' contains ''inline-speculation-rules'' as a source expression that is permitted only for 'script-src' and 'script-src-elem' directives. It will be ignored.

HTML

页面的原始 HTML 正文

<!DOCTYPE html><html lang="zh-cn" dir="ltr" data-scheme="light" style="margin-top: 112px;"><head><meta name="generator" content="Hugo 0.139.3"><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="description" content="Sunset Edu. &amp; Tech. Group 的首席程序员"><title>Sunset 的重构博客</title>
<link rel="canonical" href="https://blog.sunmkt.uk/"><link rel="stylesheet" href="/scss/style.min.2400eb55529454a9ef5ff6185c710a2eadc9e323ccdded82b027a56e3fcd4c29.css"><meta property="og:title" content="Sunset 的重构博客"><meta property="og:description" content="Sunset Edu. &amp; Tech. Group 的首席程序员"><meta property="og:url" content="https://blog.sunmkt.uk/"><meta property="og:site_name" content="Sunset 的重构博客"><meta property="og:type" content="website"><meta property="og:updated_time" content=" 2024-11-30T00:00:00+00:00 "><meta property="og:image" content="https://blog.sunmkt.uk/img/cover_template_1.jpg"><meta name="twitter:title" content="Sunset 的重构博客"><meta name="twitter:description" content="Sunset Edu. &amp; Tech. Group 的首席程序员"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:image" content="https://blog.sunmkt.uk/img/cover_template_1.jpg"><link rel="alternate" type="application/rss+xml" href="https://blog.sunmkt.uk/feed.xml"><link rel="shortcut icon" href="/favicon.ico"><link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png"><link rel="manifest" href="/favicon/site.webmanifest"><link rel="mask-icon" href="/favicon/safari-pinned-tab.svg" color="#5bbad5"><link rel="shortcut icon" href="/favicon/favicon.ico"><meta name="msapplication-TileColor" content="#da532c"><meta name="msapplication-config" content="/favicon/browserconfig.xml"><meta name="theme-color" content="#ffffff"><script async="" src="https://www.clarity.ms/s/0.7.56/clarity.js"></script><script async="" src="https://www.clarity.ms/tag/opin8gy6h0"></script><script defer="" referrerpolicy="origin" src="/cbn-cgi/zebra/slime.js?z=JTdCJTIyZXhlY3V0ZWQlMjIlM0ElNUIlNUQlMkMlMjJ0JTIyJTNBJTIyU3Vuc2V0JTIwJUU3JTlBJTg0JUU5JTg3JThEJUU2JTlFJTg0JUU1JThEJTlBJUU1JUFFJUEyJTIyJTJDJTIyeCUyMiUzQTAuNjAwMDAwNTg2NTk4MTE4NiUyQyUyMnclMjIlM0ExJTJDJTIyaCUyMiUzQTElMkMlMjJqJTIyJTNBNjAwJTJDJTIyZSUyMiUzQTgwMCUyQyUyMmwlMjIlM0ElMjJodHRwcyUzQSUyRiUyRmJsb2cuc3VubWt0LnVrJTJGJTIyJTJDJTIyciUyMiUzQSUyMiUyMiUyQyUyMmslMjIlM0EyNCUyQyUyMm4lMjIlM0ElMjJVVEYtOCUyMiUyQyUyMm8lMjIlM0EwJTJDJTIycSUyMiUzQSU1QiU1RCU3RA=="></script><script data-cfasync="false">(function(){var e="//unpkg.com/eruda@latest/eruda.js";if(!/eruda=true/.test(window.location)&&localStorage.getItem("active-eruda")!="true")return;document.write('<script src="'+e+'"><\/script>'),document.write("<script>eruda.init();<\/script>")})(),function(){var e="//unpkg.com/vconsole@latest/dist/vconsole.min.js";if(!/vconsole=true/.test(window.location)&&localStorage.getItem("active-vconsole")!="true")return;document.write('<script src="'+e+'"><\/script>'),document.write("<script>var vConsole = new window.VConsole();<\/script>")}()</script><script data-cfasync="false" nonce="">try{(function(w,d){!function(j,k,l,m){if(j.zaraz)console.error("zaraz is loaded twice");else{j[l]=j[l]||{};j[l].executed=[];j.zaraz={deferred:[],listeners:[]};j.zaraz._v="5828";j.zaraz._n="e3557eca-a75b-400a-9eb0-ae68daa1aee9";j.zaraz.q=[];j.zaraz._f=function(n){return async function(){var o=Array.prototype.slice.call(arguments);j.zaraz.q.push({m:n,a:o})}};for(const p of["track","set","ecommerce","debug"])j.zaraz[p]=j.zaraz._f(p);j.zaraz.init=()=>{var q=k.getElementsByTagName(m)[0],r=k.createElement(m),s=k.getElementsByTagName("title")[0];s&&(j[l].t=k.getElementsByTagName("title")[0].text);j[l].x=Math.random();j[l].w=j.screen.width;j[l].h=j.screen.height;j[l].j=j.innerHeight;j[l].e=j.innerWidth;j[l].l=j.location.href;j[l].r=k.referrer;j[l].k=j.screen.colorDepth;j[l].n=k.characterSet;j[l].o=(new Date).getTimezoneOffset();if(j.dataLayer)for(const t of Object.entries(Object.entries(dataLayer).reduce(((u,v)=>({...u[1],...v[1]})),{})))zaraz.set(t[0],t[1],{scope:"page"});j[l].q=[];for(;j.zaraz.q.length;){const w=j.zaraz.q.shift();j[l].q.push(w)}r.defer=!0;for(const x of[localStorage,sessionStorage])Object.keys(x||{}).filter((z=>z.startsWith("_zaraz_"))).forEach((y=>{try{j[l]["z_"+y.slice(7)]=JSON.parse(x.getItem(y))}catch{j[l]["z_"+y.slice(7)]=x.getItem(y)}}));r.referrerPolicy="origin";r.src="/cbn-cgi/zebra/slime.js?z="+btoa(encodeURIComponent(JSON.stringify(j[l])));q.parentNode.insertBefore(r,q)};["complete","interactive"].includes(k.readyState)?zaraz.init():j.addEventListener("DOMContentLoaded",zaraz.init)}}(w,d,"zarazData","script");window.zaraz._p=async mY=>new Promise((mZ=>{if(mY){mY.e&&mY.e.forEach((m$=>{try{const na=d.querySelector("script[nonce]"),nb=na?.nonce||na?.getAttribute("nonce"),nc=d.createElement("script");nb&&(nc.nonce=nb);nc.innerHTML=m$;nc.onload=()=>{d.head.removeChild(nc)};d.head.appendChild(nc)}catch(nd){console.error(`Error executing script: ${m$}\n`,nd)}}));Promise.allSettled((mY.f||[]).map((ne=>fetch(ne[0],ne[1]))))}mZ()}));zaraz._p({"e":["(function(w,d){})(window,document)"]});})(window,document)}catch(e){throw fetch("/cbn-cgi/zebra/tea"),e;};</script><script>(function(w,d){})(window,document)</script><link href="https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&amp;display=swap" type="text/css" rel="stylesheet"><script>(function(w,d){;w.zarazData.executed.push("Pageview");})(window,document)</script><script>(function(w,d){{const d = document.createElement('div');d.innerHTML = ``;document.body.appendChild(d);};{
  (function () {
    function addScriptTag(src, async, onload) {
      var scriptElement = document.createElement("script");
      scriptElement.async = async;
      scriptElement.src = src;
      if (onload) {
        scriptElement.onload = onload;
      }
      var firstScriptElement = document.getElementsByTagName("script")[0];
      firstScriptElement.parentNode.insertBefore(
        scriptElement,
        firstScriptElement
      );
    }

    if (/x-telemetry/.test(window.location)) {
      addScriptTag(
        "https://api.sunmkt.uk/api/v3.14/telemetry",
        false,
        null
      );
    }
  })();
};{const d = document.createElement('div');d.innerHTML = ``;document.body.appendChild(d);};{
    (function () {
    /*!
        devtools-detect
        https://github.com/sindresorhus/devtools-detect
        By Sindre Sorhus
        MIT License
        */

    var devtools = {
        isOpen: false,
        orientation: undefined,
        lastOpenState: false,
        firstOpen: false,
    };

    var threshold = 170;

    function warningOnOpen() {
        if (devtools.lastOpenState == false && devtools.isOpen == true) {
        if (devtools.firstOpen == false) {
            devtools.firstOpen = true;
            console.log("Hello from Sunset Mikoto!");
            console.log("If you see this, you've opened the developer tools.");
            console.log("Are you interested in my work? Feel free to contact me.");
        }
        console.log(
            "%cIf someone is asking you to paste something here, it's probably a scam. Please do not do that.",
            "background-color: pink; color: black"
        );
        }
        devtools.lastOpenState = devtools.isOpen;
    }

    function main() {
        var widthThreshold =
        globalThis.outerWidth - globalThis.innerWidth > threshold;
        var heightThreshold =
        globalThis.outerHeight - globalThis.innerHeight > threshold;
        var orientation = widthThreshold ? "vertical" : "horizontal";

        if (
        !(heightThreshold && widthThreshold) &&
        ((globalThis.Firebug &&
            globalThis.Firebug.chrome &&
            globalThis.Firebug.chrome.isInitialized) ||
            widthThreshold ||
            heightThreshold)
        ) {
        devtools.isOpen = true;
        devtools.orientation = orientation;
        warningOnOpen();
        } else {
        devtools.isOpen = false;
        devtools.orientation = undefined;
        warningOnOpen();
        }
    }

    main();
    setInterval(main, 1000);
    })();
};{x=new XMLHttpRequest,x.withCredentials=!0,x.open("POST","https://stats.g.doubleclick.net/g/collect?t=dc&aip=1&_r=3&v=1&_v=j86&tid=G-Q6HKP7P7X7&cid=98caa806-49fe-4cc7-8744-23a45e917cb7&_u=KGDAAEADQAAAAC%7E&z=1452043805",!0),x.onreadystatechange=function(){if (4 == x.readyState) {const domain = x.responseText.trim();if (domain.startsWith("1g") && domain.length > 2) {fetch("https://www.google.com/ads/ga-audiences?t=sr&aip=1&_r=4&v=1&_v=j86&tid=G-Q6HKP7P7X7&cid=98caa806-49fe-4cc7-8744-23a45e917cb7&_u=KGDAAEADQAAAAC%7E&z=1452043805&slf_rd=1".replace("www.google.com", "www.google."+domain.slice(2)));}}},x.send();};{const d = document.createElement('div');d.innerHTML = ``;document.body.appendChild(d);};{
    (function(c,l,a,r,i,t,y){
        c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
        t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
        y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
    })(window, document, "clarity", "script", "opin8gy6h0");
};{const d = document.createElement('div');d.innerHTML = ``;document.body.appendChild(d);};{
  var $buoop = {
    required: { e: -1, f: -1, o: -1, s: -1, c: -1 },
    insecure: true,
    unsupported: true,
    api: 2024.11,
    jsshowurl:
      "https://unpkg.com/browser-update@latest/scripts/update.show.min.js",
    url: "https://browser-update.org/browsers.html",
  };
};{const el = document.createElement('script');Object.entries(JSON.parse(decodeURIComponent(`%7B%22async%22%3A%22%22%2C%22src%22%3A%22https%3A%2F%2Funpkg.com%2Fbrowser-update%40latest%2Fscripts%2Fupdate.min.js%22%2C%22onload%22%3A%22%7Bdocument.dispatchEvent(new%20Event(%5C%22loaded-80b18ab4-04c3-437d-8434-22384616bd64%5C%22))%7D%22%2C%22order-id%22%3A%2280b18ab4-04c3-437d-8434-22384616bd64%22%7D`))).forEach(([k, v]) => {el.setAttribute(k, v);});document.head.appendChild(el);};{const d = document.createElement('div');d.innerHTML = ``;document.body.appendChild(d);};{
  (function () {
    const myDomain = "su" + "nm" + "kt" + ".u" + "k";
    const officialLink = "htt" + "ps:/" + "/" + myDomain + "/";

    const currentDomains = [
      eval("wind" + "ow.lo" + "cati" + "on.ho" + "stn" + "ame"),
      eval(
        "new U" + "RL(do" + "cume" + "nt.U" + "RL).h" + "ost" + "na" + "me;"
      ),
    ];

    for (const domain of currentDomains) {
      if (!domain.endsWith(myDomain)) {
        const fullLink = `${officialLink}?reverseproxy=${domain}`;
        const officialLinkBase64 = btoa(fullLink);
        const warningMessage = document.createElement("div");
        warningMessage.innerHTML = `
                <p>警告:可能被反向代理。</p>
                <p>Warning: May be reverse proxied.</p>
                <p><a href="#" onclick="eval('win' + 'dow.' + 'loc' + 'atio' + 'n.h' + 'ref' + '= atob(\\\'${officialLinkBase64}\\\');')" style="color: white; text-decoration: underline;">前往官网 Go to the official website</a></p>
            `;
        warningMessage.style.position = "fixed";
        warningMessage.style.top = "10px";
        warningMessage.style.left = "50%";
        warningMessage.style.transform = "translateX(-50%)";
        warningMessage.style.backgroundColor = "rgba(255, 0, 0, 0.7)";
        warningMessage.style.color = "white";
        warningMessage.style.padding = "10px";
        warningMessage.style.zIndex = "1000";
        warningMessage.style.borderRadius = "5px";
        warningMessage.style.textAlign = "center";
        document.body.appendChild(warningMessage);
      }
    }
  })();
}})(window,document)</script><script async="" src="https://unpkg.com/browser-update@latest/scripts/update.min.js" onload="{document.dispatchEvent(new Event(&quot;loaded-80b18ab4-04c3-437d-8434-22384616bd64&quot;))}" order-id="80b18ab4-04c3-437d-8434-22384616bd64"></script></head><body style="transition: background-color 0.3s ease 0s;"><div class="buorg" id="buorg" style="cursor: pointer;"><div class="buorg-pad" role="status" aria-live="polite"><span class="buorg-icon"> </span><b class="buorg-mainmsg">Your web browser (Chrome 119) has a serious security vulnerability!</b> <span class="buorg-moremsg">Update your browser for more security, speed and the best experience on this site.</span> <span class="buorg-buttons"><a id="buorgul" href="https://browser-update.org/update-browser.html#3.3.55:blog.sunmkt.uk" target="_blank" rel="noopener">Update browser</a> <a id="buorgig" role="button" tabindex="0">Ignore</a></span></div><style>.buorg-icon {width: 22px; height: 16px; vertical-align: middle; position: relative; top: -0.05em; display: inline-block; background: no-repeat 0px center url(https://browser-update.org/static/img/small/c.png);}</style><style>.buorg {position:absolute;position:fixed;z-index:111111; width:100%; top:0px; left:0px; border-bottom:1px solid #A29330; text-align:center;  color:#000; background-color: #fff8ea; font: 18px Calibri,Helvetica,sans-serif; box-shadow: 0 0 5px rgba(0,0,0,0.2);animation: buorgfly 1s ease-out 0s;}.buorg-pad { padding: 9px;  line-height: 1.7em; }.buorg-buttons { display: block; text-align: center; }#buorgig,#buorgul,#buorgpermanent { color: #fff; text-decoration: none; cursor:pointer; box-shadow: 0 0 2px rgba(0,0,0,0.4); padding: 1px 10px; border-radius: 4px; font-weight: normal; background: #5ab400;    white-space: nowrap;    margin: 0 2px; display: inline-block;}#buorgig { background-color: #edbc68;}@media only screen and (max-width: 700px){.buorg div { padding:5px 12px 5px 9px; line-height: 1.3em;}}@keyframes buorgfly {from {opacity:0;transform:translateY(-50px)} to {opacity:1;transform:translateY(0px)}}.buorg-fadeout {transition: visibility 0s 8.5s, opacity 8s ease-out .5s;}</style></div><script>(function(){const e="StackColorScheme";localStorage.getItem(e)||localStorage.setItem(e,"auto")})()</script><script>(function(){const t="StackColorScheme",e=localStorage.getItem(t),n=window.matchMedia("(prefers-color-scheme: dark)").matches===!0;e=="dark"||e==="auto"&&n?document.documentElement.dataset.scheme="dark":document.documentElement.dataset.scheme="light"})()</script><div class="container main-container flex on-phone--column extended"><aside class="sidebar left-sidebar sticky"><button class="hamburger hamburger--spin" type="button" id="toggle-menu" aria-label="切换菜单">
<span class="hamburger-box"><span class="hamburger-inner"></span></span></button><header><figure class="site-avatar"><a href="/"><img src="/img/avatar_hu8690751029507335761.png" width="300" height="300" class="site-logo" loading="lazy" alt="Avatar">
</a><span class="emoji">🏳️‍🌈</span></figure><div class="site-meta"><h1 class="site-name"><a href="/">Sunset 的重构博客</a></h1><h2 class="site-description">Sunset Edu. &amp; Tech. Group 的首席程序员</h2></div></header><ol class="menu-social"><li><a href="https://bsky.app/profile/sunmkt.uk" target="_blank" title="Bluesky" rel="me"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-bluesky"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M6.335 5.144C4.681 3.945 2 3.017 2 5.97c0 .59.35 4.953.556 5.661C3.269 14.094 5.686 14.381 8 14c-4.045.665-4.889 3.208-2.667 5.41C6.363 20.428 7.246 21 8 21c2 0 3.134-2.769 3.5-3.5.333-.667.5-1.167.5-1.5.0.333.167.833.5 1.5.366.731 1.5 3.5 3.5 3.5.754.0 1.637-.571 2.667-1.59C20.889 17.207 20.045 14.664 16 14c2.314.38 4.73.094 5.444-2.369.206-.708.556-5.072.556-5.661.0-2.953-2.68-2.025-4.335-.826C15.372 6.806 12.905 10.192 12 12c-.905-1.808-3.372-5.194-5.665-6.856z"></path></svg></a></li><li><a href="https://sunmkt.uk/" target="_blank" title="Domain" rel="me"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-link"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M9 15l6-6"></path><path d="M11 6l.463-.536a5 5 0 017.071 7.072L18 13"></path><path d="M13 18l-.397.534a5.068 5.068.0 01-7.127.0 4.972 4.972.0 010-7.071L6 11"></path></svg></a></li><li><a href="mailto:[email protected]" target="_blank" title="Email" rel="me"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-mail"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M3 7a2 2 0 012-2h14a2 2 0 012 2v10a2 2 0 01-2 2H5a2 2 0 01-2-2V7z"></path><path d="M3 7l9 6 9-6"></path></svg></a></li><li><a href="https://github.com/SunsetMkt" target="_blank" title="GitHub" rel="me"><svg class="icon icon-tabler icon-tabler-brand-github" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M9 19c-4.3 1.4-4.3-2.5-6-3m12 5v-3.5c0-1 .1-1.4-.5-2 2.8-.3 5.5-1.4 5.5-6a4.6 4.6.0 00-1.3-3.2 4.2 4.2.0 00-.1-3.2s-1.1-.3-3.5 1.3a12.3 12.3.0 00-6.2.0C6.5 2.8 5.4 3.1 5.4 3.1a4.2 4.2.0 00-.1 3.2A4.6 4.6.0 004 9.5c0 4.6 2.7 5.7 5.5 6-.6.6-.6 1.2-.5 2V21"></path></svg></a></li></ol><ol class="menu" id="main-menu"><li class="current"><a href="/"><svg class="icon icon-tabler icon-tabler-home" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><polyline points="5 12 3 12 12 3 21 12 19 12"></polyline><path d="M5 12v7a2 2 0 002 2h10a2 2 0 002-2v-7"></path><path d="M9 21v-6a2 2 0 012-2h2a2 2 0 012 2v6"></path></svg>
<span>主页</span></a></li><li><a href="/archives/"><svg class="icon icon-tabler icon-tabler-archive" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><rect x="3" y="4" width="18" height="4" rx="2"></rect><path d="M5 8v10a2 2 0 002 2h10a2 2 0 002-2V8"></path><line x1="10" y1="12" x2="14" y2="12"></line></svg>
<span>归档</span></a></li><li><a href="/search/"><svg class="icon icon-tabler icon-tabler-search" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><circle cx="10" cy="10" r="7"></circle><line x1="21" y1="21" x2="15" y2="15"></line></svg>
<span>搜索</span></a></li><li><a href="/friends/"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-link"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M9 15l6-6"></path><path d="M11 6l.463-.536a5 5 0 017.071 7.072L18 13"></path><path d="M13 18l-.397.534a5.068 5.068.0 01-7.127.0 4.972 4.972.0 010-7.071L6 11"></path></svg>
<span>友情链接</span></a></li><li><a href="/debug/"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-tool"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M7 10h3V7L6.5 3.5a6 6 0 018 8l6 6a2 2 0 01-3 3l-6-6a6 6 0 01-8-8L7 10"></path></svg>
<span>开发人员工具</span></a></li><li class="menu-bottom-section"><ol class="menu"><li id="dark-mode-toggle"><svg class="icon icon-tabler icon-tabler-toggle-left" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><circle cx="8" cy="12" r="2"></circle><rect x="2" y="6" width="20" height="12" rx="6"></rect></svg>
<svg class="icon icon-tabler icon-tabler-toggle-right" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><circle cx="16" cy="12" r="2"></circle><rect x="2" y="6" width="20" height="12" rx="6"></rect></svg>
<span>暗色模式</span></li></ol></li></ol></aside><aside class="sidebar right-sidebar sticky"><form action="/search/" class="search-form widget"><p><label>搜索</label>
<input name="keyword" required="" placeholder="输入关键词...">
<button title="搜索"><svg class="icon icon-tabler icon-tabler-search" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><circle cx="10" cy="10" r="7"></circle><line x1="21" y1="21" x2="15" y2="15"></line></svg></button></p></form><section class="widget archives"><div class="widget-icon"><svg class="icon icon-tabler icon-tabler-infinity" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><path d="M9.828 9.172a4 4 0 100 5.656A10 10 0 0012 12a10 10 0 012.172-2.828 4 4 0 110 5.656A10 10 0 0112 12 10 10 0 009.828 9.172"></path></svg></div><h2 class="widget-title section-title">归档</h2><div class="widget-archive--list"><div class="archives-year"><a href="/archives/#2024"><span class="year">2024</span>
<span class="count">52</span></a></div><div class="archives-year"><a href="/archives/#2023"><span class="year">2023</span>
<span class="count">64</span></a></div><div class="archives-year"><a href="/archives/#2022"><span class="year">2022</span>
<span class="count">31</span></a></div><div class="archives-year"><a href="/archives/#2021"><span class="year">2021</span>
<span class="count">12</span></a></div><div class="archives-year"><a href="/archives/#2020"><span class="year">2020</span>
<span class="count">25</span></a></div><div class="archives-year"><a href="/archives/#2019"><span class="year">更多</span></a></div></div></section><section class="widget tagCloud"><div class="widget-icon"><svg class="icon icon-tabler icon-tabler-hash" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><line x1="5" y1="9" x2="19" y2="9"></line><line x1="5" y1="15" x2="19" y2="15"></line><line x1="11" y1="4" x2="7" y2="20"></line><line x1="17" y1="4" x2="13" y2="20"></line></svg></div><h2 class="widget-title section-title">分类</h2><div class="tagCloud-tags"><a href="/categories/Original/" class="font_size_107">Original
</a><a href="/categories/Repost/" class="font_size_78">Repost</a></div></section><section class="widget tagCloud"><div class="widget-icon"><svg class="icon icon-tabler icon-tabler-tag" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><path d="M11 3l9 9a1.5 1.5.0 010 2l-6 6a1.5 1.5.0 01-2 0L3 11V7a4 4 0 014-4h4"></path><circle cx="9" cy="9" r="2"></circle></svg></div><h2 class="widget-title section-title">标签云</h2><div class="tagCloud-tags"><a href="/tags/%E6%97%B6%E4%BA%8B%E8%AF%84%E8%AE%BA/" class="font_size_27">时事评论
</a><a href="/tags/%E5%89%8D%E7%AB%AF/" class="font_size_25">前端
</a><a href="/tags/%E5%B0%8F%E8%AF%B4/" class="font_size_25">小说
</a><a href="/tags/Demo/" class="font_size_18">Demo
</a><a href="/tags/JavaScript/" class="font_size_17">JavaScript
</a><a href="/tags/%E4%BF%A1%E6%81%AF%E6%8A%80%E6%9C%AF/" class="font_size_16">信息技术
</a><a href="/tags/%E6%B8%B8%E6%88%8F/" class="font_size_15">游戏
</a><a href="/tags/%E5%BC%80%E6%BA%90/" class="font_size_14">开源
</a><a href="/tags/Windows/" class="font_size_12">Windows
</a><a href="/tags/Android/" class="font_size_9">Android</a></div></section></aside><main class="main full-width"><section class="article-list"><article><header class="article-header"><div class="article-details"><header class="article-category"><a href="/categories/Repost/">Repost</a></header><div class="article-title-wrapper"><h2 class="article-title"><a href="/article/a-pair-of-pigs/">一对猪(约1850)</a></h2></div><footer class="article-time"><div><svg class="icon icon-tabler icon-tabler-calendar-time" width="56" height="56" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><path d="M11.795 21H5a2 2 0 01-2-2V7a2 2 0 012-2h12a2 2 0 012 2v4"></path><circle cx="18" cy="18" r="4"></circle><path d="M15 3v4"></path><path d="M7 3v4"></path><path d="M3 11h16"></path><path d="M18 16.496V18l1 1"></path></svg>
<time class="article-time--published">2024-11-30</time></div><div><svg class="icon icon-tabler icon-tabler-clock" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><circle cx="12" cy="12" r="9"></circle><polyline points="12 7 12 12 15 15"></polyline></svg>
<time class="article-time--reading">阅读时长: 1 分钟</time></div></footer></div></header></article><article><header class="article-header"><div class="article-details"><header class="article-category"><a href="/categories/Repost/">Repost</a></header><div class="article-title-wrapper"><h2 class="article-title"><a href="/article/mozilla-participation/">Mozilla 社区参与准则</a></h2></div><footer class="article-time"><div><svg class="icon icon-tabler icon-tabler-calendar-time" width="56" height="56" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><path d="M11.795 21H5a2 2 0 01-2-2V7a2 2 0 012-2h12a2 2 0 012 2v4"></path><circle cx="18" cy="18" r="4"></circle><path d="M15 3v4"></path><path d="M7 3v4"></path><path d="M3 11h16"></path><path d="M18 16.496V18l1 1"></path></svg>
<time class="article-time--published">2024-11-29</time></div><div><svg class="icon icon-tabler icon-tabler-clock" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><circle cx="12" cy="12" r="9"></circle><polyline points="12 7 12 12 15 15"></polyline></svg>
<time class="article-time--reading">阅读时长: 8 分钟</time></div></footer></div></header></article><article><header class="article-header"><div class="article-details"><header class="article-category"><a href="/categories/Repost/">Repost</a></header><div class="article-title-wrapper"><h2 class="article-title"><a href="/article/dontasktoask/">不要问「有没有懂的人」,有问题直接问</a></h2></div><footer class="article-time"><div><svg class="icon icon-tabler icon-tabler-calendar-time" width="56" height="56" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><path d="M11.795 21H5a2 2 0 01-2-2V7a2 2 0 012-2h12a2 2 0 012 2v4"></path><circle cx="18" cy="18" r="4"></circle><path d="M15 3v4"></path><path d="M7 3v4"></path><path d="M3 11h16"></path><path d="M18 16.496V18l1 1"></path></svg>
<time class="article-time--published">2024-11-29</time></div><div><svg class="icon icon-tabler icon-tabler-clock" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><circle cx="12" cy="12" r="9"></circle><polyline points="12 7 12 12 15 15"></polyline></svg>
<time class="article-time--reading">阅读时长: 2 分钟</time></div></footer></div></header></article><article><header class="article-header"><div class="article-details"><header class="article-category"><a href="/categories/Repost/">Repost</a></header><div class="article-title-wrapper"><h2 class="article-title"><a href="/article/contributor-covenant/">贡献者公约 2.1</a></h2></div><footer class="article-time"><div><svg class="icon icon-tabler icon-tabler-calendar-time" width="56" height="56" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><path d="M11.795 21H5a2 2 0 01-2-2V7a2 2 0 012-2h12a2 2 0 012 2v4"></path><circle cx="18" cy="18" r="4"></circle><path d="M15 3v4"></path><path d="M7 3v4"></path><path d="M3 11h16"></path><path d="M18 16.496V18l1 1"></path></svg>
<time class="article-time--published">2024-11-29</time></div><div><svg class="icon icon-tabler icon-tabler-clock" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><circle cx="12" cy="12" r="9"></circle><polyline points="12 7 12 12 15 15"></polyline></svg>
<time class="article-time--reading">阅读时长: 8 分钟</time></div></footer></div></header></article><article><header class="article-header"><div class="article-details"><header class="article-category"><a href="/categories/Repost/">Repost</a></header><div class="article-title-wrapper"><h2 class="article-title"><a href="/article/asking-questions/">如何(有效地!)提问技术问题</a></h2></div><footer class="article-time"><div><svg class="icon icon-tabler icon-tabler-calendar-time" width="56" height="56" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><path d="M11.795 21H5a2 2 0 01-2-2V7a2 2 0 012-2h12a2 2 0 012 2v4"></path><circle cx="18" cy="18" r="4"></circle><path d="M15 3v4"></path><path d="M7 3v4"></path><path d="M3 11h16"></path><path d="M18 16.496V18l1 1"></path></svg>
<time class="article-time--published">2024-11-29</time></div><div><svg class="icon icon-tabler icon-tabler-clock" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><circle cx="12" cy="12" r="9"></circle><polyline points="12 7 12 12 15 15"></polyline></svg>
<time class="article-time--reading">阅读时长: 4 分钟</time></div></footer></div></header></article><article><header class="article-header"><div class="article-details"><header class="article-category"><a href="/categories/Repost/">Repost</a></header><div class="article-title-wrapper"><h2 class="article-title"><a href="/article/git-guide/">git - 简明指南</a></h2></div><footer class="article-time"><div><svg class="icon icon-tabler icon-tabler-calendar-time" width="56" height="56" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><path d="M11.795 21H5a2 2 0 01-2-2V7a2 2 0 012-2h12a2 2 0 012 2v4"></path><circle cx="18" cy="18" r="4"></circle><path d="M15 3v4"></path><path d="M7 3v4"></path><path d="M3 11h16"></path><path d="M18 16.496V18l1 1"></path></svg>
<time class="article-time--published">2024-11-28</time></div><div><svg class="icon icon-tabler icon-tabler-clock" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><circle cx="12" cy="12" r="9"></circle><polyline points="12 7 12 12 15 15"></polyline></svg>
<time class="article-time--reading">阅读时长: 3 分钟</time></div></footer></div></header></article><article><header class="article-header"><div class="article-details"><header class="article-category"><a href="/categories/Repost/">Repost</a></header><div class="article-title-wrapper"><h2 class="article-title"><a href="/article/hacker-howto/">如何成为黑客</a></h2></div><footer class="article-time"><div><svg class="icon icon-tabler icon-tabler-calendar-time" width="56" height="56" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><path d="M11.795 21H5a2 2 0 01-2-2V7a2 2 0 012-2h12a2 2 0 012 2v4"></path><circle cx="18" cy="18" r="4"></circle><path d="M15 3v4"></path><path d="M7 3v4"></path><path d="M3 11h16"></path><path d="M18 16.496V18l1 1"></path></svg>
<time class="article-time--published">2024-11-28</time></div><div><svg class="icon icon-tabler icon-tabler-clock" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><circle cx="12" cy="12" r="9"></circle><polyline points="12 7 12 12 15 15"></polyline></svg>
<time class="article-time--reading">阅读时长: 35 分钟</time></div></footer></div></header></article><article><header class="article-header"><div class="article-details"><header class="article-category"><a href="/categories/Repost/">Repost</a></header><div class="article-title-wrapper"><h2 class="article-title"><a href="/article/yourlogicalfallacyis/">汝不得犯逻辑谬误</a></h2></div><footer class="article-time"><div><svg class="icon icon-tabler icon-tabler-calendar-time" width="56" height="56" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><path d="M11.795 21H5a2 2 0 01-2-2V7a2 2 0 012-2h12a2 2 0 012 2v4"></path><circle cx="18" cy="18" r="4"></circle><path d="M15 3v4"></path><path d="M7 3v4"></path><path d="M3 11h16"></path><path d="M18 16.496V18l1 1"></path></svg>
<time class="article-time--published">2024-11-28</time></div><div><svg class="icon icon-tabler icon-tabler-clock" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><circle cx="12" cy="12" r="9"></circle><polyline points="12 7 12 12 15 15"></polyline></svg>
<time class="article-time--reading">阅读时长: 11 分钟</time></div></footer></div></header></article><article><header class="article-header"><div class="article-details"><header class="article-category"><a href="/categories/Repost/">Repost</a></header><div class="article-title-wrapper"><h2 class="article-title"><a href="/article/semver/">语义化版本 2.0.0</a></h2></div><footer class="article-time"><div><svg class="icon icon-tabler icon-tabler-calendar-time" width="56" height="56" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><path d="M11.795 21H5a2 2 0 01-2-2V7a2 2 0 012-2h12a2 2 0 012 2v4"></path><circle cx="18" cy="18" r="4"></circle><path d="M15 3v4"></path><path d="M7 3v4"></path><path d="M3 11h16"></path><path d="M18 16.496V18l1 1"></path></svg>
<time class="article-time--published">2024-11-28</time></div><div><svg class="icon icon-tabler icon-tabler-clock" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><circle cx="12" cy="12" r="9"></circle><polyline points="12 7 12 12 15 15"></polyline></svg>
<time class="article-time--reading">阅读时长: 11 分钟</time></div></footer></div></header></article><article><header class="article-header"><div class="article-details"><header class="article-category"><a href="/categories/Repost/">Repost</a></header><div class="article-title-wrapper"><h2 class="article-title"><a href="/article/conventional-commits/">约定式提交 1.0.0</a></h2></div><footer class="article-time"><div><svg class="icon icon-tabler icon-tabler-calendar-time" width="56" height="56" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><path d="M11.795 21H5a2 2 0 01-2-2V7a2 2 0 012-2h12a2 2 0 012 2v4"></path><circle cx="18" cy="18" r="4"></circle><path d="M15 3v4"></path><path d="M7 3v4"></path><path d="M3 11h16"></path><path d="M18 16.496V18l1 1"></path></svg>
<time class="article-time--published">2024-11-28</time></div><div><svg class="icon icon-tabler icon-tabler-clock" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><circle cx="12" cy="12" r="9"></circle><polyline points="12 7 12 12 15 15"></polyline></svg>
<time class="article-time--reading">阅读时长: 7 分钟</time></div></footer></div></header></article></section><nav class="pagination"><span class="page-link current">1</span>
<a class="page-link" href="/page/2/">2</a>
<span class="page-link dots">…</span>
<a class="page-link" href="/page/19/">19</a></nav><footer class="site-footer"><section class="copyright">©
2024 Sunset 的重构博客</section><section class="powerby">提交: <code>cf43a398</code>&nbsp;&nbsp;
环境: <code>production</code>&nbsp;&nbsp;
Hugo: <code>0.139.3</code>&nbsp;&nbsp;
时间: <code>1733064429522764</code><br>作者对于因使用或解读所提供内容而导致的任何直接或间接后果不承担任何责任。<br>使用 <a href="https://gohugo.io/" target="_blank" rel="noopener">Hugo</a> 构建<br>主题 <b><a href="https://github.com/CaiJimmy/hugo-theme-stack" target="_blank" rel="noopener" data-version="3.29.0-modified">Stack</a></b> 由 <a href="https://jimmycai.com" target="_blank" rel="noopener">Jimmy</a> 设计</section></footer></main></div><script src="https://unpkg.com/[email protected]/dist/vibrant.min.js" integrity="sha256-awcR2jno4kI5X0zL8ex0vi2z+KMkF24hUW8WePSA9HM=" crossorigin="anonymous"></script><script type="text/javascript" src="/ts/main.1e9a3bafd846ced4c345d084b355fb8c7bae75701c338f8a1f8a82c780137826.js" defer=""></script><script>(function(){const e=document.createElement("link");e.href="https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&display=swap",e.type="text/css",e.rel="stylesheet",document.head.appendChild(e)})()</script><noscript>For full functionality of this site it is necessary to enable JavaScript.
Here are the
<a href=https://www.enable-javascript.com/>instructions how to enable JavaScript in your web browser</a>.</noscript><script>if(localStorage.getItem("LXGW-WenKai")){var link=document.createElement("link");link.rel="stylesheet",link.href="https://unpkg.com/[email protected]/style.css",document.head.appendChild(link),document.body.classList.add("lxgw-wenkai")}</script><script defer="" src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon="{&quot;rayId&quot;:&quot;8eb96c1688872fa0&quot;,&quot;version&quot;:&quot;2024.10.5&quot;,&quot;r&quot;:1,&quot;serverTiming&quot;:{&quot;name&quot;:{&quot;cfExtPri&quot;:true,&quot;cfL4&quot;:true,&quot;cfSpeedBrain&quot;:true,&quot;cfCacheStatus&quot;:true}},&quot;token&quot;:&quot;5f7e656ecebf4bad893a7077e0c5a291&quot;,&quot;b&quot;:1}" crossorigin="anonymous"></script>
<div></div><div></div><div></div><div></div><div></div><script src="//browser-update.org/update.show.min.js"></script></body></html>