<!doctype html><html lang=zh dir=auto data-theme=auto><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><title>全部文章 | QingGo的碎碎念</title><meta name=keywords content><meta name=description content="Posts + Notes"><meta name=author content="QingGo"><link rel=canonical href=https://qinggo.github.io/all/><link crossorigin=anonymous href=/assets/css/stylesheet.2b35c498267e648c25ff654c51c039754407b539f1ba997a440b51dba4a3218c.css integrity="sha256-KzXEmCZ+ZIwl/2VMUcA5dUQHtTnxupl6RAtR26SjIYw=" rel="preload stylesheet" as=style><link rel=icon href=https://qinggo.github.io/favicon.ico><link rel=icon type=image/png sizes=16x16 href=https://qinggo.github.io/favicon-16x16.png><link rel=icon type=image/png sizes=32x32 href=https://qinggo.github.io/favicon-32x32.png><link rel=apple-touch-icon href=https://qinggo.github.io/apple-touch-icon.png><link rel=mask-icon href=https://qinggo.github.io/safari-pinned-tab.svg><meta name=theme-color content="#2e2e33"><meta name=msapplication-TileColor content="#2e2e33"><link rel=alternate type=application/rss+xml href=https://qinggo.github.io/all/index.xml title=rss><link rel=alternate hreflang=zh href=https://qinggo.github.io/all/><noscript><style>#theme-toggle,.top-link{display:none}</style><style>@media(prefers-color-scheme:dark){:root{--theme:rgb(29, 30, 32);--entry:rgb(46, 46, 51);--primary:rgb(218, 218, 219);--secondary:rgb(155, 156, 157);--tertiary:rgb(65, 66, 68);--content:rgb(196, 196, 197);--code-block-bg:rgb(46, 46, 51);--code-bg:rgb(55, 56, 62);--border:rgb(51, 51, 51);color-scheme:dark}.list{background:var(--theme)}.toc{background:var(--entry)}}@media(prefers-color-scheme:light){.list::-webkit-scrollbar-thumb{border-color:var(--code-bg)}}</style></noscript><script>localStorage.getItem("pref-theme")==="dark"?document.querySelector("html").dataset.theme="dark":localStorage.getItem("pref-theme")==="light"?document.querySelector("html").dataset.theme="light":window.matchMedia("(prefers-color-scheme: dark)").matches?document.querySelector("html").dataset.theme="dark":document.querySelector("html").dataset.theme="light"</script><script defer src=https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js></script><script>document.addEventListener("DOMContentLoaded",function(){window.mermaid&&window.mermaid.initialize({startOnLoad:!0})})</script><script defer src=https://cdn.jsdelivr.net/npm/@panzoom/panzoom@4.5.1/dist/panzoom.min.js></script><style>.img-zoom-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.85);z-index:10000;justify-content:center;align-items:center;overflow:hidden}.img-zoom-modal.active{display:flex}.img-zoom-modal-content{width:100%;height:100%;cursor:grab;display:flex;justify-content:center;align-items:center}.img-zoom-modal-content:active{cursor:grabbing}.img-zoom-modal-content img,.img-zoom-modal-content svg{max-width:none!important;max-height:none!important}.post-content img,.mermaid{cursor:zoom-in}</style><script>document.addEventListener("DOMContentLoaded",function(){function e(){const n=document.querySelectorAll(".post-content img, .mermaid svg");if(n.length===0)return;let e=document.getElementById("img-zoom-modal");e||(e=document.createElement("div"),e.id="img-zoom-modal",e.className="img-zoom-modal",e.innerHTML='<div class="img-zoom-modal-content"></div>',document.body.appendChild(e),e.addEventListener("click",t=>{(t.target===e||t.target.classList.contains("img-zoom-modal-content"))&&(e.classList.remove("active"),document.body.style.overflow="")}));const t=e.querySelector(".img-zoom-modal-content");n.forEach(n=>{if(n.dataset.zoomEnabled)return;n.dataset.zoomEnabled="true";const s=n.tagName.toLowerCase()==="svg"?n.closest(".mermaid"):n;s.addEventListener("click",s=>{s.preventDefault(),t.innerHTML="";const o=n.cloneNode(!0);t.appendChild(o),e.classList.add("active"),document.body.style.overflow="hidden";const i=Panzoom(o,{maxScale:10,minScale:.1,canvas:!0,step:.1}),a=e=>{i.zoomWithWheel(e)};t.addEventListener("wheel",a);const r=new MutationObserver(()=>{e.classList.contains("active")||(t.removeEventListener("wheel",a),i.destroy(),r.disconnect())});r.observe(e,{attributes:!0,attributeFilter:["class"]})})})}e();const t=new MutationObserver(t=>{e()});t.observe(document.body,{childList:!0,subtree:!0}),setTimeout(e,1500)})</script><link rel=stylesheet href=https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css><script defer src=https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.js></script><script defer src=https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/contrib/auto-render.min.js></script><script>document.addEventListener("DOMContentLoaded",function(){window.renderMathInElement&&window.renderMathInElement(document.body,{delimiters:[{left:"$$",right:"$$",display:!0},{left:"$",right:"$",display:!1}],ignoredTags:["script","noscript","style","textarea","pre","code"]})})</script><script>document.addEventListener("DOMContentLoaded",function(){var e,n,i,a,r,u,h,f,t=document.querySelector(".post-toc");if(!t)return;if(i=t.querySelector(".toc-toggle"),!i)return;n=t.querySelector(".post-toc-panel"),a=t.querySelectorAll('.toc a[href^="#"]'),e=[],h=new Map,u=0;function d(){return Date.now()<u}function l(e){return e?decodeURIComponent(e.charAt(0)==="#"?e.slice(1):e):""}function o(e){if(!e)return;a.forEach(function(t){var n=l(t.getAttribute("href")),s=n===e;t.classList.toggle("toc-active",s)})}function c(){var e,s,i,a,r,o=t.querySelector(".toc a.toc-active");if(!o||!n)return;e=n.getBoundingClientRect(),s=o.getBoundingClientRect(),i=s.top>=e.top&&s.bottom<=e.bottom,i||(a=s.top-e.top+n.scrollTop,r=a-n.clientHeight/2+o.offsetHeight/2,n.scrollTo({top:Math.max(0,r),behavior:"smooth"}))}r=!1;function m(){if(e=[],h.clear(),a.forEach(function(t){var s,n=l(t.getAttribute("href"));if(!n)return;s=document.getElementById(n),s&&(e.push({id:n,el:s}),h.set(n,t))}),!e.length)return}function s(){if(!e.length)return;if(location.hash&&location.hash.length>1){var n,s,i,a,l,r=decodeURIComponent(location.hash.slice(1)),u=document.getElementById(r);if(u){o(r),!t.classList.contains("is-collapsed")&&!d()&&c();return}}for(s=window.scrollY||document.documentElement.scrollTop||0,i=e[0],n=0;n<e.length;n+=1)if(a=e[n],l=a.el.getBoundingClientRect().top+s,l<=s+140)i=a;else break;o(i.id),!t.classList.contains("is-collapsed")&&!d()&&c()}i.addEventListener("click",function(){var e=t.classList.toggle("is-collapsed");i.setAttribute("aria-expanded",e?"false":"true"),e||(s(),c())}),a.forEach(function(e){e.addEventListener("click",function(t){var s,i,a,n=l(e.getAttribute("href"));if(!n)return;if(s=document.getElementById(n),!s)return;t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation&&t.stopImmediatePropagation(),u=Date.now()+1500,o(n),a=window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches,a?s.scrollIntoView():s.scrollIntoView({behavior:"smooth",block:"start"}),i=encodeURIComponent(n),location.hash!=="#"+i&&history.pushState(null,null,"#"+i)})});function p(){if(r)return;r=!0,window.requestAnimationFrame(function(){s(),r=!1})}m(),s(),"IntersectionObserver"in window&&e.length?(f=new IntersectionObserver(function(e){var n=null;e.forEach(function(e){if(e.isIntersecting){var t=e.target.getAttribute("id");if(!t)return;(!n||e.boundingClientRect.top<n.top)&&(n={id:t,top:e.boundingClientRect.top})}}),n&&(o(n.id),!t.classList.contains("is-collapsed")&&!d()&&c())},{root:null,rootMargin:"-10% 0px -70% 0px",threshold:[0,1]}),e.forEach(function(e){f.observe(e.el)})):window.addEventListener("scroll",p,{passive:!0}),window.addEventListener("resize",function(){m(),s()}),window.addEventListener("hashchange",s)})</script><script type=text/javascript>(function(e,t,n,s,o,i,a){e[n]=e[n]||function(){(e[n].q=e[n].q||[]).push(arguments)},i=t.createElement(s),i.async=1,i.src="https://www.clarity.ms/tag/"+o,a=t.getElementsByTagName(s)[0],a.parentNode.insertBefore(i,a)})(window,document,"clarity","script","vtglr8tkbu")</script><meta property="og:url" content="https://qinggo.github.io/all/"><meta property="og:site_name" content="QingGo的碎碎念"><meta property="og:title" content="全部文章"><meta property="og:description" content="Posts + Notes"><meta property="og:locale" content="zh_cn"><meta property="og:type" content="website"><meta name=twitter:card content="summary"><meta name=twitter:title content="全部文章"><meta name=twitter:description content="Posts + Notes"><script type=application/ld+json>{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"全部文章","item":"https://qinggo.github.io/all/"}]}</script></head><body class=list id=top><header class=header><nav class=nav><div class=logo><a href=https://qinggo.github.io/ accesskey=h title="QingGo的碎碎念 (Alt + H)">QingGo的碎碎念</a><div class=logo-switches><button id=theme-toggle accesskey=t title="(Alt + T)" aria-label="Toggle theme">
0 commit comments