代码拉取完成,页面将自动刷新
<!DOCTYPE html>
<html lang="zh" dir="auto">
<head>
<meta name="generator" content="Hugo 0.119.0"><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>Wemsx's Blog</title>
<meta name="description" content="wemsx - https://github.com/wemsx">
<meta name="author" content="wemsx">
<link rel="canonical" href="https://wemsx.cn/">
<link crossorigin="anonymous" href="/assets/css/stylesheet.css" rel="preload stylesheet" as="style">
<link rel="icon" href="https://wemsx.cn/wemsx.svg">
<link rel="icon" type="image/png" sizes="16x16" href="https://wemsx.cn/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://wemsx.cn/favicon-32x32.png">
<link rel="apple-touch-icon" href="https://wemsx.cn/apple-touch-icon.png">
<link rel="mask-icon" href="https://wemsx.cn/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://wemsx.cn/index.xml">
<link rel="alternate" type="application/json" href="https://wemsx.cn/index.json">
<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);
--hljs-bg: rgb(46, 46, 51);
--code-bg: rgb(55, 56, 62);
--border: rgb(51, 51, 51);
}
.list {
background: var(--theme);
}
.list:not(.dark)::-webkit-scrollbar-track {
background: 0 0;
}
.list:not(.dark)::-webkit-scrollbar-thumb {
border-color: var(--theme);
}
}
</style>
</noscript>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/css/font-awesome.min.css">
<meta property="og:title" content="Wemsx's Blog" />
<meta property="og:description" content="wemsx - https://github.com/wemsx" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://wemsx.cn/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Wemsx's Blog"/>
<meta name="twitter:description" content="wemsx - https://github.com/wemsx"/>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Wemsx's Blog",
"url": "https://wemsx.cn/",
"description": "wemsx - https://github.com/wemsx",
"thumbnailUrl": "https://wemsx.cn/wemsx.svg",
"sameAs": [
"https://github.com/wemsx", "mailto:[email protected]", "https://space.bilibili.com/628990477", "https://ko-fi.com/adityatelange"
]
}
</script>
</head>
<body class="list" id="top">
<script>
(function () {
let arr,reg = new RegExp("(^| )"+"change-themes"+"=([^;]*)(;|$)");
if(arr = document.cookie.match(reg)) {
} else {
if (new Date().getHours() >= 19 || new Date().getHours() < 6) {
document.body.classList.add('dark');
localStorage.setItem("pref-theme", 'dark');
} else {
document.body.classList.remove('dark');
localStorage.setItem("pref-theme", 'light');
}
}
})()
if (localStorage.getItem("pref-theme") === "dark") {
document.body.classList.add('dark');
} else if (localStorage.getItem("pref-theme") === "light") {
document.body.classList.remove('dark')
} else if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
document.body.classList.add('dark');
}
</script>
<header class="header">
<nav class="nav">
<div class="logo">
<a href="https://wemsx.cn/" accesskey="h" title="Hi Wemsx (Alt + H)">Hi Wemsx</a>
<div class="logo-switches">
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round">
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
</svg>
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</button>
</div>
</div>
<ul id="menu">
<li>
<a href="https://wemsx.cn/posts/" title="📁归档">
<span>📁归档</span>
</a>
</li>
<li>
<a href="https://wemsx.cn/timeline/" title="⌛️时间轴">
<span>⌛️时间轴</span>
</a>
</li>
<li>
<a href="https://wemsx.cn/search/" title="🔍搜索">
<span>🔍搜索</span>
</a>
</li>
<li>
<a href="https://wemsx.cn/about/" title="🙋🏻♂️关于">
<span>🙋🏻♂️关于</span>
</a>
</li>
</ul>
</nav>
</header>
<main class="main"><div class="profile">
<div class="profile_inner">
<img draggable="false" src="https://gcore.jsdelivr.net/gh/wemsx/wemsx.github.io@master/wemsx.png" alt="wemsx's avatar" title="wemsx's avatar"
height="150" width="150" />
<h1>wemsx</h1>
<span>潮起山川,浪至江海。</span><div class="social-icons">
<a href="https://github.com/wemsx" target="_blank" rel="noopener noreferrer me" title="Github">
<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">
<path
d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22">
</path>
</svg>
</a>
<svg t="1636858389384" class="icon" viewBox="0 0 1318 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="24657" width="24" height="24"><path d="M730.958199 603.743935a174.508039 174.508039 0 0 1-69.444022 14.068401 179.596609 179.596609 0 0 1-74.83192-16.163695L0 333.15171v571.117217a119.731073 119.731073 0 0 0 119.731073 119.731073h1079.375621a119.731073 119.731073 0 0 0 119.731073-119.731073V356.798597z" fill="#f2a355" p-id="24658"></path><path d="M636.66998 492.693365a59.865536 59.865536 0 0 0 47.892429 0l634.275358-266.401637V119.731073a119.731073 119.731073 0 0 0-119.731073-119.731073H119.731073a119.731073 119.731073 0 0 0-119.731073 119.731073v81.716457z" fill="#f2a355" p-id="24659"></path></svg>
</a>
<a href="https://space.bilibili.com/628990477" target="_blank" rel="noopener noreferrer me" title="Bilibili">
<svg t="1636857927018" class="icon" viewBox="0 0 1129 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2420" width="21.333" height="15.333"><path d="M234.909 9.656a80.468 80.468 0 0 1 68.398 0 167.374 167.374 0 0 1 41.843 30.578l160.937 140.82h115.07l160.936-140.82a168.983 168.983 0 0 1 41.843-30.578A80.468 80.468 0 0 1 930.96 76.445a80.468 80.468 0 0 1-17.703 53.914 449.818 449.818 0 0 1-35.406 32.187 232.553 232.553 0 0 1-22.531 18.508h100.585a170.593 170.593 0 0 1 118.289 53.109 171.397 171.397 0 0 1 53.914 118.288v462.693a325.897 325.897 0 0 1-4.024 70.007 178.64 178.64 0 0 1-80.468 112.656 173.007 173.007 0 0 1-92.539 25.75H212.377a341.186 341.186 0 0 1-72.421-4.024A177.835 177.835 0 0 1 28.91 939.065a172.202 172.202 0 0 1-27.36-92.539V388.662a360.498 360.498 0 0 1 0-66.789A177.03 177.03 0 0 1 162.487 178.64h105.414c-16.899-12.07-31.383-26.555-46.672-39.43a80.468 80.468 0 0 1-25.75-65.984 80.468 80.468 0 0 1 39.43-63.57M216.4 321.873a80.468 80.468 0 0 0-63.57 57.937 108.632 108.632 0 0 0 0 30.578v380.615a80.468 80.468 0 0 0 55.523 80.469 106.218 106.218 0 0 0 34.601 5.632h654.208a80.468 80.468 0 0 0 76.444-47.476 112.656 112.656 0 0 0 8.047-53.109v-354.06a135.187 135.187 0 0 0 0-38.625 80.468 80.468 0 0 0-52.304-54.719 129.554 129.554 0 0 0-49.89-7.242H254.22a268.764 268.764 0 0 0-37.82 0z m0 0" fill="#20B0E3" p-id="2421"></path><path d="M348.369 447.404a80.468 80.468 0 0 1 55.523 18.507 80.468 80.468 0 0 1 28.164 59.547v80.468a80.468 80.468 0 0 1-16.094 51.5 80.468 80.468 0 0 1-131.968-9.656 104.609 104.609 0 0 1-10.46-54.719v-80.468a80.468 80.468 0 0 1 70.007-67.593z m416.02 0a80.468 80.468 0 0 1 86.102 75.64v80.468a94.148 94.148 0 0 1-12.07 53.11 80.468 80.468 0 0 1-132.773 0 95.757 95.757 0 0 1-12.875-57.133V519.02a80.468 80.468 0 0 1 70.007-70.812z m0 0" fill="#20B0E3" p-id="2422"></path></svg>
</a>
<a href="https://ko-fi.com/adityatelange" target="_blank" rel="noopener noreferrer me" title="KoFi">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid meet"
viewBox="0 -3 23 27" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"
stroke-linejoin="round">
<path
d="M23.881 8.948c-.773-4.085-4.859-4.593-4.859-4.593H.723c-.604 0-.679.798-.679.798s-.082 7.324-.022 11.822c.164 2.424 2.586 2.672 2.586 2.672s8.267-.023 11.966-.049c2.438-.426 2.683-2.566 2.658-3.734c4.352.24 7.422-2.831 6.649-6.916zm-11.062 3.511c-1.246 1.453-4.011 3.976-4.011 3.976s-.121.119-.31.023c-.076-.057-.108-.09-.108-.09c-.443-.441-3.368-3.049-4.034-3.954c-.709-.965-1.041-2.7-.091-3.71c.951-1.01 3.005-1.086 4.363.407c0 0 1.565-1.782 3.468-.963c1.904.82 1.832 3.011.723 4.311zm6.173.478c-.928.116-1.682.028-1.682.028V7.284h1.77s1.971.551 1.971 2.638c0 1.913-.985 2.667-2.059 3.015z" />
</svg>
</a>
</div>
<div class="buttons">
<a class="button" href="posts/life/" rel="noopener" title="🏖生活">
<span class="button-inner">
🏖生活
</span>
</a>
<a class="button" href="posts/tech/" rel="noopener" title="👨🏻💻技术">
<span class="button-inner">
👨🏻💻技术
</span>
</a>
<a class="button" href="https://everate.wemsx.top" rel="noopener" title="Everate">
<span class="button-inner">
Everate
<svg fill="none" shape-rendering="geometricPrecision" stroke="currentColor" stroke-linecap="round"
stroke-linejoin="round" stroke-width="2.5" viewBox="0 0 24 24" height="14" width="14">
<path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"></path>
<path d="M15 3h6v6"></path>
<path d="M10 14L21 3"></path>
</svg>
</span>
</a>
</div>
</div>
</div>
</main>
<footer class="footer">
<span>Copyright © <a href="https://wemsx.cn">wemsx</a> since 2024</span>
</footer>
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
<span class="topInner">
<svg class="topSvg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
<path d="M12 6H0l6-6z"/>
</svg>
<span id="read_progress"></span>
</span>
</a>
<script>
document.addEventListener('scroll', function (e) {
const readProgress = document.getElementById("read_progress");
const scrollHeight = document.documentElement.scrollHeight;
const clientHeight = document.documentElement.clientHeight;
const scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
readProgress.innerText = ((scrollTop / (scrollHeight - clientHeight)).toFixed(2) * 100).toFixed(0);
})
</script>
<script>
let menu = document.getElementById('menu')
if (menu) {
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
menu.onscroll = function () {
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
}
}
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener("click", function (e) {
e.preventDefault();
var id = this.getAttribute("href").substr(1);
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
behavior: "smooth"
});
} else {
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
}
if (id === "top") {
history.replaceState(null, null, " ");
} else {
history.pushState(null, null, `#${id}`);
}
});
});
</script>
<script>
let mybutton = document.getElementById("top-link");
window.onscroll = function () {
if (document.body.scrollTop > 200 || document.documentElement.scrollTop > 200) {
mybutton.style.visibility = "visible";
mybutton.style.opacity = "1";
} else {
mybutton.style.visibility = "hidden";
mybutton.style.opacity = "0";
}
};
</script>
<script>
document.getElementById("theme-toggle").addEventListener("click", () => {
(function() {
document.cookie = "change-themes" + "="+ escape ("false");
})()
if (document.body.className.includes("dark")) {
document.body.classList.remove('dark');
localStorage.setItem("pref-theme", 'light');
} else {
document.body.classList.add('dark');
localStorage.setItem("pref-theme", 'dark');
}
});
</script>
<script>
document.body.addEventListener('copy', function (e) {
if (window.getSelection().toString() && window.getSelection().toString().length > 50) {
let clipboardData = e.clipboardData || window.clipboardData;
if (clipboardData) {
e.preventDefault();
let htmlData = window.getSelection().toString() +
'\r\n\n————————————————\r\n' +
'版权声明:本文为「'+"Wemsx's Blog"+'」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。' +
'\r\n原文链接:' + location.href;
let textData = window.getSelection().toString() +
'\r\n\n————————————————\r\n' +
'版权声明:本文为「'+"Wemsx's Blog"+'」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。' +
'\r\n原文链接:' + location.href;
clipboardData.setData('text/html', htmlData);
clipboardData.setData('text/plain', textData);
}
}
});
</script>
</body>
</html>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。