324 lines
11 KiB
HTML
324 lines
11 KiB
HTML
|
|
<!DOCTYPE html>
|
|
<html lang="zh-CN" class="loading">
|
|
<head>
|
|
<!-- hexo-inject:begin --><!-- hexo-inject:end --><meta charset="UTF-8" />
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
|
<meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
|
<title>Blog - DavidZ</title>
|
|
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
|
<meta name="google" content="notranslate" />
|
|
<meta name="keywords" content="Developer, Python, C++, JavaScript, Java,">
|
|
<meta name="description" content="DavidZ's Blog,">
|
|
<meta name="author" content="DavidZ">
|
|
|
|
<link rel="icon" href="/img/favicon.png">
|
|
|
|
<link rel="stylesheet" href="//at.alicdn.com/t/font_1429596_nzgqgvnmkjb.css">
|
|
|
|
|
|
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/animate.css@3.7.2/animate.min.css">
|
|
|
|
|
|
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/social-share.js@1.0.16/dist/css/share.min.css">
|
|
|
|
|
|
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/codemirror@5.48.4/lib/codemirror.min.css">
|
|
|
|
|
|
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/codemirror@5.48.4/theme/dracula.css">
|
|
|
|
|
|
<link rel="stylesheet" href="/css/obsidian.css">
|
|
|
|
|
|
<link rel="stylesheet" href="/css/ball-atom.min.css">
|
|
|
|
<script async defer data-website-id="0b71aae0-602f-46ff-9f2a-dfad9d18f958" src="https://umami.davidz.cn/umami.js"></script>
|
|
|
|
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/font-awesome/css/font-awesome.min.css">
|
|
|
|
|
|
<script>var musiclist = ""</script>
|
|
|
|
<script src="/js/loadaplayer.js"></script>
|
|
|
|
<!-- 引用依赖 -->
|
|
|
|
<link rel="stylesheet" href="/aplayer/dist/APlayer.min.css">
|
|
|
|
|
|
<script src="/aplayer/dist/APlayer.min.js"></script>
|
|
<script src="/js/Meting.min.js"></script>
|
|
|
|
|
|
<meta name="generator" content="Hexo 6.2.0"><!-- hexo-inject:begin --><!-- hexo-inject:end --></head>
|
|
|
|
|
|
<body class="loading">
|
|
<!-- hexo-inject:begin --><!-- hexo-inject:end --><div class="loader">
|
|
<div class="la-ball-atom la-2x">
|
|
<div></div>
|
|
<div></div>
|
|
<div></div>
|
|
<div></div>
|
|
</div>
|
|
</div>
|
|
<span id="config-title" style="display:none">Blog</span>
|
|
<div id="loader"></div>
|
|
<div id="single" class="page">
|
|
<div id="top">
|
|
<a class="iconfont icon-left image-icon" href="javascript:history.back()"></a>
|
|
</div>
|
|
<div class="clone-element"></div>
|
|
<div class="section dark-obsidian">
|
|
<div class="article animated fadeIn">
|
|
<div class="main animated fadeIn">
|
|
<div class="content animated fadeIn">
|
|
|
|
<div align="center" style="color: #c2c2c2;">
|
|
<h1>404 Not Found</h1>
|
|
<p>十分抱歉,无法找到该网页</p>
|
|
<a href="/">返回主页</a>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="back-to-top" class="animated fadeIn faster">
|
|
<div class="flow"></div>
|
|
<span class="percentage animated fadeIn faster">0%</span>
|
|
<span class="iconfont icon-top02 animated fadeIn faster"></span>
|
|
</div><!-- hexo-inject:begin --><!-- hexo-inject:end -->
|
|
</body>
|
|
<footer>
|
|
<p class="copyright" id="copyright">
|
|
© 2022
|
|
<span class="gradient-text">
|
|
DavidZ
|
|
</span>.
|
|
Powered by <a href="http://hexo.io/" title="Hexo" target="_blank" rel="noopener">Hexo</a>
|
|
Theme
|
|
<span class="gradient-text">
|
|
<a href="https://github.com/TriDiamond/hexo-theme-obsidian" title="Obsidian" target="_blank" rel="noopener">Obsidian</a>
|
|
</span>
|
|
<small><a href="https://github.com/TriDiamond/hexo-theme-obsidian/blob/master/CHANGELOG.md" title="vundefined" target="_blank" rel="noopener">vundefined</a></small>
|
|
|
|
</br>
|
|
鲁ICP备
|
|
<span class="gradient-text">
|
|
<a href="https://beian.miit.gov.cn/" title="19008089号-1" target="_blank" rel="noopener">19008089号-1</a>
|
|
</span>
|
|
|
|
|
|
</p>
|
|
</footer>
|
|
|
|
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
|
|
</script>
|
|
<script>
|
|
MathJax.Hub.Config({
|
|
"HTML-CSS": {
|
|
preferredFont: "TeX",
|
|
availableFonts: ["STIX", "TeX"],
|
|
linebreaks: {
|
|
automatic: true
|
|
},
|
|
EqnChunk: (MathJax.Hub.Browser.isMobile ? 10 : 50)
|
|
},
|
|
tex2jax: {
|
|
inlineMath: [
|
|
["$", "$"],
|
|
["\\(", "\\)"]
|
|
],
|
|
processEscapes: true,
|
|
ignoreClass: "tex2jax_ignore|dno",
|
|
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre', 'code']
|
|
},
|
|
TeX: {
|
|
noUndefined: {
|
|
attributes: {
|
|
mathcolor: "red",
|
|
mathbackground: "#FFEEEE",
|
|
mathsize: "90%"
|
|
}
|
|
},
|
|
Macros: {
|
|
href: "{}"
|
|
}
|
|
},
|
|
messageStyle: "none"
|
|
});
|
|
</script>
|
|
<script>
|
|
function initialMathJax() {
|
|
MathJax.Hub.Queue(function () {
|
|
var all = MathJax.Hub.getAllJax(),
|
|
i;
|
|
// console.log(all);
|
|
for (i = 0; i < all.length; i += 1) {
|
|
all[i].SourceElement().parentNode.className += ' has-jax';
|
|
}
|
|
});
|
|
}
|
|
|
|
function reprocessMathJax() {
|
|
if (typeof MathJax !== 'undefined') {
|
|
MathJax.Hub.Queue(["Typeset", MathJax.Hub]);
|
|
}
|
|
}
|
|
</script>
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.min.css">
|
|
|
|
<script src="//cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.min.js"></script>
|
|
|
|
<script src="//cdn.jsdelivr.net/npm/jquery@3.4.1/dist/jquery.min.js"></script>
|
|
<script src="/js/plugin.js"></script>
|
|
<script src="/js/obsidian.js"></script>
|
|
<script src="/js/jquery.truncate.js"></script>
|
|
<script src="/js/search.js"></script>
|
|
|
|
<script src="//cdn.jsdelivr.net/npm/typed.js@2.0.10/lib/typed.min.js"></script>
|
|
|
|
<script src="//cdn.jsdelivr.net/npm/blueimp-md5@2.12.0/js/md5.min.js"></script>
|
|
|
|
<script src="//cdn.jsdelivr.net/npm/social-share.js@1.0.16/dist/js/social-share.min.js"></script>
|
|
|
|
|
|
<script src="https://cdn.jsdelivr.net/npm/codemirror@5.45.0/lib/codemirror.min.js"></script>
|
|
|
|
<script src="//cdn.jsdelivr.net/npm/codemirror@5.45.0/mode/javascript/javascript.min.js"></script>
|
|
|
|
<script src="//cdn.jsdelivr.net/npm/codemirror@5.45.0/mode/css/css.min.js"></script>
|
|
|
|
<script src="//cdn.jsdelivr.net/npm/codemirror@5.45.0/mode/xml/xml.min.js"></script>
|
|
|
|
<script src="//cdn.jsdelivr.net/npm/codemirror@5.45.0/mode/htmlmixed/htmlmixed.min.js"></script>
|
|
|
|
<script src="//cdn.jsdelivr.net/npm/codemirror@5.45.0/mode/clike/clike.min.js"></script>
|
|
|
|
<script src="//cdn.jsdelivr.net/npm/codemirror@5.45.0/mode/php/php.min.js"></script>
|
|
|
|
<script src="//cdn.jsdelivr.net/npm/codemirror@5.45.0/mode/shell/shell.min.js"></script>
|
|
|
|
<script src="//cdn.jsdelivr.net/npm/codemirror@5.45.0/mode/python/python.min.js"></script>
|
|
|
|
<script src="/js/busuanzi.min.js"></script>
|
|
|
|
<script>
|
|
$(document).ready(function () {
|
|
if ($('span[id^="busuanzi_"]').length) {
|
|
initialBusuanzi();
|
|
}
|
|
});
|
|
</script>
|
|
|
|
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/photoswipe.min.css">
|
|
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/default-skin/default-skin.min.css">
|
|
|
|
|
|
<script src="//cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/photoswipe.min.js"></script>
|
|
<script src="//cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/photoswipe-ui-default.min.js"></script>
|
|
|
|
|
|
<!-- Root element of PhotoSwipe. Must have class pswp. -->
|
|
<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true">
|
|
<!-- Background of PhotoSwipe.
|
|
It's a separate element as animating opacity is faster than rgba(). -->
|
|
<div class="pswp__bg"></div>
|
|
<!-- Slides wrapper with overflow:hidden. -->
|
|
<div class="pswp__scroll-wrap">
|
|
<!-- Container that holds slides.
|
|
PhotoSwipe keeps only 3 of them in the DOM to save memory.
|
|
Don't modify these 3 pswp__item elements, data is added later on. -->
|
|
<div class="pswp__container">
|
|
<div class="pswp__item"></div>
|
|
<div class="pswp__item"></div>
|
|
<div class="pswp__item"></div>
|
|
</div>
|
|
<!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. -->
|
|
<div class="pswp__ui pswp__ui--hidden">
|
|
<div class="pswp__top-bar">
|
|
<!-- Controls are self-explanatory. Order can be changed. -->
|
|
<div class="pswp__counter"></div>
|
|
<button class="pswp__button pswp__button--close" title="Close (Esc)"></button>
|
|
<button class="pswp__button pswp__button--share" title="Share"></button>
|
|
<button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button>
|
|
<button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button>
|
|
<!-- Preloader demo http://codepen.io/dimsemenov/pen/yyBWoR -->
|
|
<!-- element will get class pswp__preloader--active when preloader is running -->
|
|
<div class="pswp__preloader">
|
|
<div class="pswp__preloader__icn">
|
|
<div class="pswp__preloader__cut">
|
|
<div class="pswp__preloader__donut"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap">
|
|
<div class="pswp__share-tooltip"></div>
|
|
</div>
|
|
<button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)">
|
|
</button>
|
|
<button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)">
|
|
</button>
|
|
<div class="pswp__caption">
|
|
<div class="pswp__caption__center"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Global site tag (gtag.js) - Google Analytics -->
|
|
<script async src="//www.googletagmanager.com/gtag/js?id=UA-157733505-1"></script>
|
|
<script>
|
|
window.dataLayer = window.dataLayer || [];
|
|
function gtag() {
|
|
dataLayer.push(arguments);
|
|
}
|
|
gtag('js', new Date());
|
|
|
|
gtag('config', 'UA-157733505-1');
|
|
</script>
|
|
|
|
|
|
<script>
|
|
function initialTyped() {
|
|
var typedTextEl = $('.typed-text');
|
|
if (typedTextEl && typedTextEl.length > 0) {
|
|
var typed = new Typed('.typed-text', {
|
|
strings: ['凡事都要留几分', '颜值是第一生产力'],
|
|
typeSpeed: 90,
|
|
loop: true,
|
|
loopCount: Infinity,
|
|
backSpeed: 20,
|
|
});
|
|
}
|
|
}
|
|
|
|
if ($('.article-header') && $('.article-header').length) {
|
|
$(document).ready(function () {
|
|
initialTyped();
|
|
});
|
|
}
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<!-- 引用依赖 -->
|
|
<script>document.write(aplayerconf)</script>
|
|
|
|
|
|
|
|
|
|
</html>
|