-
Notifications
You must be signed in to change notification settings - Fork 0
ruufly/ruufly.github.io
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
<!DOCTYPE HTML> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta name="keywords" content="distjr_的博客"> <meta name="description" content="distjr_'s blog"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> <meta name="renderer" content="webkit|ie-stand|ie-comp"> <meta name="mobile-web-app-capable" content="yes"> <meta name="format-detection" content="telephone=no"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> <!-- Global site tag (gtag.js) - Google Analytics --> <title>distjr_的博客</title> <link rel="icon" type="image/png" href="/favicon.png"> <link rel="stylesheet" type="text/css" href="/libs/awesome/css/all.css"> <link rel="stylesheet" type="text/css" href="/libs/materialize/materialize.min.css"> <link rel="stylesheet" type="text/css" href="/libs/aos/aos.css"> <link rel="stylesheet" type="text/css" href="/libs/animate/animate.min.css"> <link rel="stylesheet" type="text/css" href="/libs/lightGallery/css/lightgallery.min.css"> <link rel="stylesheet" type="text/css" href="/css/matery.css"> <link rel="stylesheet" type="text/css" href="/css/my.css"> <script src="/libs/jquery/jquery.min.js"></script> <!-- --> <!-- hexo injector head_end start --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.12.0/dist/katex.min.css"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/hexo-math@4.0.0/dist/style.css"> <!-- hexo injector head_end end --><meta name="generator" content="Hexo 5.4.0"> <style>.github-emoji { position: relative; display: inline-block; width: 1.2em; min-height: 1.2em; overflow: hidden; vertical-align: top; color: transparent; } .github-emoji > span { position: relative; z-index: 10; } .github-emoji img, .github-emoji .fancybox { margin: 0 !important; padding: 0 !important; border: none !important; outline: none !important; text-decoration: none !important; user-select: none !important; cursor: auto !important; } .github-emoji img { height: 1.2em !important; width: 1.2em !important; position: absolute !important; left: 50% !important; top: 50% !important; transform: translate(-50%, -50%) !important; user-select: none !important; cursor: auto !important; } .github-emoji-fallback { color: inherit; } .github-emoji-fallback img { opacity: 0 !important; }</style> <link rel="alternate" href="/atom.xml" title="distjr_的博客" type="application/atom+xml"> </head> <body> <header class="navbar-fixed"> <nav id="headNav" class="bg-color nav-transparent"> <div id="navContainer" class="nav-wrapper container"> <div class="brand-logo"> <a href="/" class="waves-effect waves-light"> <img src="/medias/logo.png" class="logo-img" alt="LOGO"> <span class="logo-span">distjr_的博客</span> </a> </div> <a href="#" data-target="mobile-nav" class="sidenav-trigger button-collapse"><i class="fas fa-bars"></i></a> <ul class="right nav-menu"> <li class="hide-on-med-and-down nav-item"> <a href="/" class="waves-effect waves-light"> <i class="fas fa-home" style="zoom: 0.6;"></i> <span>首页</span> </a> </li> <li class="hide-on-med-and-down nav-item"> <a href="/tags" class="waves-effect waves-light"> <i class="fas fa-tags" style="zoom: 0.6;"></i> <span>标签</span> </a> </li> <li class="hide-on-med-and-down nav-item"> <a href="/categories" class="waves-effect waves-light"> <i class="fas fa-bookmark" style="zoom: 0.6;"></i> <span>分类</span> </a> </li> <li class="hide-on-med-and-down nav-item"> <a href="/archives" class="waves-effect waves-light"> <i class="fas fa-archive" style="zoom: 0.6;"></i> <span>归档</span> </a> </li> <li class="hide-on-med-and-down nav-item"> <a href="/about" class="waves-effect waves-light"> <i class="fas fa-user-circle" style="zoom: 0.6;"></i> <span>关于</span> </a> </li> <li class="hide-on-med-and-down nav-item"> <a href="/contact" class="waves-effect waves-light"> <i class="fas fa-comments" style="zoom: 0.6;"></i> <span>留言板</span> </a> </li> <li class="hide-on-med-and-down nav-item"> <a href="/friends" class="waves-effect waves-light"> <i class="fas fa-address-book" style="zoom: 0.6;"></i> <span>友情链接</span> </a> </li> <li class="hide-on-med-and-down nav-item"> <a href="/schedule" class="waves-effect waves-light"> <i class="fas fa-calendar-alt" style="zoom: 0.6;"></i> <span>日志</span> </a> </li> <li class="hide-on-med-and-down nav-item"> <a href="" class="waves-effect waves-light"> <i class="fas fa-list" style="zoom: 0.6;"></i> <span>媒体</span> <i class="fas fa-chevron-down" aria-hidden="true" style="zoom: 0.6;"></i> </a> <ul class="sub-nav menus_item_child "> <li> <a href="/galleries"> <i class="fas fa-image" style="margin-top: -20px; zoom: 0.6;"></i> <span>画廊</span> </a> </li> <li> <a href="/handout"> <i class="fas fa-book" style="margin-top: -20px; zoom: 0.6;"></i> <span>讲义</span> </a> </li> </ul> </li> <li> <a href="#searchModal" class="modal-trigger waves-effect waves-light"> <i id="searchIcon" class="fas fa-search" title="搜索" style="zoom: 0.85;"></i> </a> </li> </ul> <div id="mobile-nav" class="side-nav sidenav"> <div class="mobile-head bg-color"> <img src="/medias/logo.png" class="logo-img circle responsive-img"> <div class="logo-name">distjr_的博客</div> <div class="logo-desc"> distjr_'s blog </div> </div> <ul class="menu-list mobile-menu-list"> <li class="m-nav-item"> <a href="/" class="waves-effect waves-light"> <i class="fa-fw fas fa-home"></i> 首页 </a> </li> <li class="m-nav-item"> <a href="/tags" class="waves-effect waves-light"> <i class="fa-fw fas fa-tags"></i> 标签 </a> </li> <li class="m-nav-item"> <a href="/categories" class="waves-effect waves-light"> <i class="fa-fw fas fa-bookmark"></i> 分类 </a> </li> <li class="m-nav-item"> <a href="/archives" class="waves-effect waves-light"> <i class="fa-fw fas fa-archive"></i> 归档 </a> </li> <li class="m-nav-item"> <a href="/about" class="waves-effect waves-light"> <i class="fa-fw fas fa-user-circle"></i> 关于 </a> </li> <li class="m-nav-item"> <a href="/contact" class="waves-effect waves-light"> <i class="fa-fw fas fa-comments"></i> 留言板 </a> </li> <li class="m-nav-item"> <a href="/friends" class="waves-effect waves-light"> <i class="fa-fw fas fa-address-book"></i> 友情链接 </a> </li> <li class="m-nav-item"> <a href="/schedule" class="waves-effect waves-light"> <i class="fa-fw fas fa-calendar-alt"></i> 日志 </a> </li> <li class="m-nav-item"> <a href="javascript:;"> <i class="fa-fw fas fa-list"></i> 媒体 <span class="m-icon"><i class="fas fa-chevron-right"></i></span> </a> <ul style="background: ;" > <li> <a href="/galleries " style="margin-left:75px"> <i class="fa fas fa-image" style="position: absolute;left:50px" ></i> <span>画廊</span> </a> </li> <li> <a href="/handout " style="margin-left:75px"> <i class="fa fas fa-book" style="position: absolute;left:50px" ></i> <span>讲义</span> </a> </li> </ul> </li> </ul> </div> </div> </nav> </header> <script src="/libs/cryptojs/crypto-js.min.js"></script> <script> (function() { let pwd = ''; if (pwd && pwd.length > 0) { if (pwd !== CryptoJS.SHA256(prompt('请输入访问本文章的密码')).toString(CryptoJS.enc.Hex)) { alert('密码错误,将返回主页!'); location.href = '/'; } } })(); </script> <div class="bg-cover pd-header post-cover" style="background-image: url('/medias/featureimages/1.jpg')"> <div class="container" style="right: 0px;left: 0px;"> <div class="row"> <div class="col s12 m12 l12"> <div class="brand"> <h1 class="description center-align post-title"></h1> </div> </div> </div> </div> </div> <main class="post-container content"> <link rel="stylesheet" href="/libs/tocbot/tocbot.css"> <style> #articleContent h1::before, #articleContent h2::before, #articleContent h3::before, #articleContent h4::before, #articleContent h5::before, #articleContent h6::before { display: block; content: " "; height: 100px; margin-top: -100px; visibility: hidden; } #articleContent :focus { outline: none; } .toc-fixed { position: fixed; top: 64px; } .toc-widget { width: 345px; padding-left: 20px; } .toc-widget .toc-title { padding: 35px 0 15px 17px; font-size: 1.5rem; font-weight: bold; line-height: 1.5rem; } .toc-widget ol { padding: 0; list-style: none; } #toc-content { padding-bottom: 30px; overflow: auto; } #toc-content ol { padding-left: 10px; } #toc-content ol li { padding-left: 10px; } #toc-content .toc-link:hover { color: #42b983; font-weight: 700; text-decoration: underline; } #toc-content .toc-link::before { background-color: transparent; max-height: 25px; position: absolute; right: 23.5vw; display: block; } #toc-content .is-active-link { color: #42b983; } #floating-toc-btn { position: fixed; right: 15px; bottom: 76px; padding-top: 15px; margin-bottom: 0; z-index: 998; } #floating-toc-btn .btn-floating { width: 48px; height: 48px; } #floating-toc-btn .btn-floating i { line-height: 48px; font-size: 1.4rem; } </style> <div class="row"> <div id="main-content" class="col s12 m12 l9"> <!-- 文章内容详情 --> <div id="artDetail"> <div class="card"> <div class="card-content article-info"> <div class="row tag-cate"> <div class="col s7"> <div class="article-tag"> <span class="chip bg-color">无标签</span> </div> </div> <div class="col s5 right-align"> </div> </div> <div class="post-info"> <div class="post-date info-break-policy"> <i class="far fa-calendar-minus fa-fw"></i>发布日期: 2024-11-28 </div> <div class="post-date info-break-policy"> <i class="far fa-calendar-check fa-fw"></i>更新日期: 2024-11-26 </div> <div class="info-break-policy"> <i class="far fa-file-word fa-fw"></i>文章字数: 0 </div> <div class="info-break-policy"> <i class="far fa-clock fa-fw"></i>阅读时长: 1 分 </div> <div id="busuanzi_container_page_pv" class="info-break-policy"> <i class="far fa-eye fa-fw"></i>阅读次数: <span id="busuanzi_value_page_pv"></span> </div> </div> </div> <hr class="clearfix"> <!-- 是否加载使用自带的 prismjs. --> <link rel="stylesheet" href="/libs/prism/prism.css"> <!-- 代码块折行 --> <style type="text/css"> code[class*="language-"], pre[class*="language-"] { white-space: pre-wrap !important; } </style> <div class="card-content article-card-content"> <div id="articleContent"> </div> <hr/> <div class="reprint" id="reprint-statement"> <div class="reprint__author"> <span class="reprint-meta" style="font-weight: bold;"> <i class="fas fa-user"> 文章作者: </i> </span> <span class="reprint-info"> <a href="https://ruufly.github.io" rel="external nofollow noreferrer">distjr_</a> </span> </div> <div class="reprint__type"> <span class="reprint-meta" style="font-weight: bold;"> <i class="fas fa-link"> 文章链接: </i> </span> <span class="reprint-info"> <a href="https://ruufly.github.io/README.html">https://ruufly.github.io/README.html</a> </span> </div> <div class="reprint__notice"> <span class="reprint-meta" style="font-weight: bold;"> <i class="fas fa-copyright"> 版权声明: </i> </span> <span class="reprint-info"> 本博客所有文章除特別声明外,均采用 <a href="https://creativecommons.org/licenses/by-nc/4.0/deed.zh" rel="external nofollow noreferrer" target="_blank">CC BY-NC 4.0</a> 许可协议。转载请注明来源 <a href="https://ruufly.github.io" target="_blank">distjr_</a> ! </span> </div> </div> <script async defer> document.addEventListener("copy", function (e) { let toastHTML = '<span>复制成功,请遵循本文的转载规则</span><button class="btn-flat toast-action" onclick="navToReprintStatement()" style="font-size: smaller">查看</a>'; M.toast({html: toastHTML}) }); function navToReprintStatement() { $("html, body").animate({scrollTop: $("#reprint-statement").offset().top - 80}, 800); } </script> <div class="tag_share" style="display: block;"> <div class="post-meta__tag-list" style="display: inline-block;"> <div class="article-tag"> <span class="chip bg-color">无标签</span> </div> </div> <div class="post_share" style="zoom: 80%; width: fit-content; display: inline-block; float: right; margin: -0.15rem 0;"> <link rel="stylesheet" type="text/css" href="/libs/share/css/share.min.css"> <div id="article-share"> <div class="social-share" data-sites="twitter,facebook,google,qq,qzone,wechat,weibo,douban,linkedin" data-wechat-qrcode-helper="<p>微信扫一扫即可分享!</p>"></div> <script src="/libs/share/js/social-share.min.js"></script> </div> </div> </div> <style> #reward { margin: 40px 0; text-align: center; } #reward .reward-link { font-size: 1.4rem; line-height: 38px; } #reward .btn-floating:hover { box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2), 0 5px 15px rgba(0, 0, 0, 0.2); } #rewardModal { width: 320px; height: 350px; } #rewardModal .reward-title { margin: 15px auto; padding-bottom: 5px; } #rewardModal .modal-content { padding: 10px; } #rewardModal .close { position: absolute; right: 15px; top: 15px; color: rgba(0, 0, 0, 0.5); font-size: 1.3rem; line-height: 20px; cursor: pointer; } #rewardModal .close:hover { color: #ef5350; transform: scale(1.3); -moz-transform:scale(1.3); -webkit-transform:scale(1.3); -o-transform:scale(1.3); } #rewardModal .reward-tabs { margin: 0 auto; width: 210px; } .reward-tabs .tabs { height: 38px; margin: 10px auto; padding-left: 0; } .reward-content ul { padding-left: 0 !important; } .reward-tabs .tabs .tab { height: 38px; line-height: 38px; } .reward-tabs .tab a { color: #fff; background-color: #ccc; } .reward-tabs .tab a:hover { background-color: #ccc; color: #fff; } .reward-tabs .wechat-tab .active { color: #fff !important; background-color: #22AB38 !important; } .reward-tabs .alipay-tab .active { color: #fff !important; background-color: #019FE8 !important; } .reward-tabs .reward-img { width: 210px; height: 210px; } </style> <div id="reward"> <a href="#rewardModal" class="reward-link modal-trigger btn-floating btn-medium waves-effect waves-light red">赏</a> <!-- Modal Structure --> <div id="rewardModal" class="modal"> <div class="modal-content"> <a class="close modal-close"><i class="fas fa-times"></i></a> <h4 class="reward-title">你的赏识是我前进的动力</h4> <div class="reward-content"> <div class="reward-tabs"> <ul class="tabs row"> <li class="tab col s6 alipay-tab waves-effect waves-light"><a href="#alipay">支付宝</a></li> <li class="tab col s6 wechat-tab waves-effect waves-light"><a href="#wechat">微 信</a></li> </ul> <div id="alipay"> <img src="/medias/reward/alipay.jpg" class="reward-img" alt="支付宝打赏二维码"> </div> <div id="wechat"> <img src="/medias/reward/wechat.png" class="reward-img" alt="微信打赏二维码"> </div> </div> </div> </div> </div> </div> <script> $(function () { $('.tabs').tabs(); }); </script> </div> </div> <style> .valine-card { margin: 1.5rem auto; } .valine-card .card-content { padding: 20px 20px 5px 20px; } #vcomments textarea { box-sizing: border-box; background: url("/medias/comment_bg.png") 100% 100% no-repeat; } #vcomments p { margin: 2px 2px 10px; font-size: 1.05rem; line-height: 1.78rem; } #vcomments blockquote p { text-indent: 0.2rem; } #vcomments a { padding: 0 2px; color: #4cbf30; font-weight: 500; text-decoration: none; } #vcomments img { max-width: 100%; height: auto; cursor: pointer; } #vcomments ol li { list-style-type: decimal; } #vcomments ol, ul { display: block; padding-left: 2em; word-spacing: 0.05rem; } #vcomments ul li, ol li { display: list-item; line-height: 1.8rem; font-size: 1rem; } #vcomments ul li { list-style-type: disc; } #vcomments ul ul li { list-style-type: circle; } #vcomments table, th, td { padding: 12px 13px; border: 1px solid #dfe2e5; } #vcomments table, th, td { border: 0; } table tr:nth-child(2n), thead { background-color: #fafafa; } #vcomments table th { background-color: #f2f2f2; min-width: 80px; } #vcomments table td { min-width: 80px; } #vcomments h1 { font-size: 1.85rem; font-weight: bold; line-height: 2.2rem; } #vcomments h2 { font-size: 1.65rem; font-weight: bold; line-height: 1.9rem; } #vcomments h3 { font-size: 1.45rem; font-weight: bold; line-height: 1.7rem; } #vcomments h4 { font-size: 1.25rem; font-weight: bold; line-height: 1.5rem; } #vcomments h5 { font-size: 1.1rem; font-weight: bold; line-height: 1.4rem; } #vcomments h6 { font-size: 1rem; line-height: 1.3rem; } #vcomments p { font-size: 1rem; line-height: 1.5rem; } #vcomments hr { margin: 12px 0; border: 0; border-top: 1px solid #ccc; } #vcomments blockquote { margin: 15px 0; border-left: 5px solid #42b983; padding: 1rem 0.8rem 0.3rem 0.8rem; color: #666; background-color: rgba(66, 185, 131, .1); } #vcomments pre { font-family: monospace, monospace; padding: 1.2em; margin: .5em 0; background: #272822; overflow: auto; border-radius: 0.3em; tab-size: 4; } #vcomments code { font-family: monospace, monospace; padding: 1px 3px; font-size: 0.92rem; color: #e96900; background-color: #f8f8f8; border-radius: 2px; } #vcomments pre code { font-family: monospace, monospace; padding: 0; color: #e8eaf6; background-color: #272822; } #vcomments pre[class*="language-"] { padding: 1.2em; margin: .5em 0; } #vcomments code[class*="language-"], pre[class*="language-"] { color: #e8eaf6; } #vcomments [type="checkbox"]:not(:checked), [type="checkbox"]:checked { position: inherit; margin-left: -1.3rem; margin-right: 0.4rem; margin-top: -1px; vertical-align: middle; left: unset; visibility: visible; } #vcomments b, strong { font-weight: bold; } #vcomments dfn { font-style: italic; } #vcomments small { font-size: 85%; } #vcomments cite { font-style: normal; } #vcomments mark { background-color: #fcf8e3; padding: .2em; } #vcomments table, th, td { padding: 12px 13px; border: 1px solid #dfe2e5; } table tr:nth-child(2n), thead { background-color: #fafafa; } #vcomments table th { background-color: #f2f2f2; min-width: 80px; } #vcomments table td { min-width: 80px; } #vcomments [type="checkbox"]:not(:checked), [type="checkbox"]:checked { position: inherit; margin-left: -1.3rem; margin-right: 0.4rem; margin-top: -1px; vertical-align: middle; left: unset; visibility: visible; } </style> <div class="card valine-card" data-aos="fade-up"> <div class="comment_headling" style="font-size: 20px; font-weight: 700; position: relative; padding-left: 20px; top: 15px; padding-bottom: 5px;"> <i class="fas fa-comments fa-fw" aria-hidden="true"></i> <span>评论</span> </div> <div id="vcomments" class="card-content" style="display: grid"> </div> </div> <script src="/libs/valine/av-min.js"></script> <script src="/libs/valine/Valine.min.js"></script> <script> new Valine({ el: '#vcomments', appId: 'oWapd3zTIzI5DVeWePgTdFj8-gzGzoHsz', appKey: 'UNBcds0WeXgcVIFYNuhskTCY', notify: 'false' === 'true', verify: 'false' === 'true', visitor: 'true' === 'true', avatar: 'wavatar', pageSize: '10', lang: 'zh-cn', placeholder: '在此评论...', enableQQ: true, requiredFields: ['nick','mail'] }); </script> </div> <script> $('#articleContent').on('copy', function (e) { // IE8 or earlier browser is 'undefined' if (typeof window.getSelection === 'undefined') return; var selection = window.getSelection(); // if the selection is short let's not annoy our users. if (('' + selection).length < Number.parseInt('120')) { return; } // create a div outside of the visible area and fill it with the selected text. var bodyElement = document.getElementsByTagName('body')[0]; var newdiv = document.createElement('div'); newdiv.style.position = 'absolute'; newdiv.style.left = '-99999px'; bodyElement.appendChild(newdiv); newdiv.appendChild(selection.getRangeAt(0).cloneContents()); // we need a <pre> tag workaround. // otherwise the text inside "pre" loses all the line breaks! if (selection.getRangeAt(0).commonAncestorContainer.nodeName === 'PRE') { newdiv.innerHTML = "<pre>" + newdiv.innerHTML + "</pre>"; } var url = document.location.href; newdiv.innerHTML += '<br />' + '来源: distjr_的博客<br />' + '文章作者: distjr_<br />' + '文章链接: <a href="' + url + '">' + url + '</a><br />' + '本文章著作权归作者所有,任何形式的转载都请注明出处。'; selection.selectAllChildren(newdiv); window.setTimeout(function () {bodyElement.removeChild(newdiv);}, 200); }); </script> <!-- 代码块功能依赖 --> <script type="text/javascript" src="/libs/codeBlock/codeBlockFuction.js"></script> <!-- 代码语言 --> <script type="text/javascript" src="/libs/codeBlock/codeLang.js"></script> <!-- 代码块复制 --> <script type="text/javascript" src="/libs/codeBlock/codeCopy.js"></script> <!-- 代码块收缩 --> <script type="text/javascript" src="/libs/codeBlock/codeShrink.js"></script> </div> <div id="toc-aside" class="expanded col l3 hide-on-med-and-down"> <div class="toc-widget card" style="background-color: white;"> <div class="toc-title"><i class="far fa-list-alt"></i> 目录</div> <div id="toc-content"></div> </div> </div> </div> <!-- TOC 悬浮按钮. --> <div id="floating-toc-btn" class="hide-on-med-and-down"> <a class="btn-floating btn-large bg-color"> <i class="fas fa-list-ul"></i> </a> </div> <script src="/libs/tocbot/tocbot.min.js"></script> <script> $(function () { tocbot.init({ tocSelector: '#toc-content', contentSelector: '#articleContent', headingsOffset: -($(window).height() * 0.4 - 45), collapseDepth: Number('1'), headingSelector: 'h2, h3, h4, h5' }); // modify the toc link href to support Chinese. let i = 0; let tocHeading = 'toc-heading-'; $('#toc-content a').each(function () { $(this).attr('href', '#' + tocHeading + (++i)); }); // modify the heading title id to support Chinese. i = 0; $('#articleContent').children('h2, h3, h4, h5').each(function () { $(this).attr('id', tocHeading + (++i)); }); // Set scroll toc fixed. let tocHeight = parseInt($(window).height() * 0.4 - 64); let $tocWidget = $('.toc-widget'); $(window).scroll(function () { let scroll = $(window).scrollTop(); /* add post toc fixed. */ if (scroll > tocHeight) { $tocWidget.addClass('toc-fixed'); } else { $tocWidget.removeClass('toc-fixed'); } }); /* 修复文章卡片 div 的宽度. */ let fixPostCardWidth = function (srcId, targetId) { let srcDiv = $('#' + srcId); if (srcDiv.length === 0) { return; } let w = srcDiv.width(); if (w >= 450) { w = w + 21; } else if (w >= 350 && w < 450) { w = w + 18; } else if (w >= 300 && w < 350) { w = w + 16; } else { w = w + 14; } $('#' + targetId).width(w); }; // 切换TOC目录展开收缩的相关操作. const expandedClass = 'expanded'; let $tocAside = $('#toc-aside'); let $mainContent = $('#main-content'); $('#floating-toc-btn .btn-floating').click(function () { if ($tocAside.hasClass(expandedClass)) { $tocAside.removeClass(expandedClass).hide(); $mainContent.removeClass('l9'); } else { $tocAside.addClass(expandedClass).show(); $mainContent.addClass('l9'); } fixPostCardWidth('artDetail', 'prenext-posts'); }); }); </script> </main> <footer class="page-footer bg-color"> <div class="container row center-align" style="margin-bottom: 15px !important;"> <div class="col s12 m8 l8 copy-right"> Copyright © <span id="year">2021-2024</span> <span id="year">2021</span> <a href="/about" target="_blank">distjr_</a> | Powered by <a href="https://hexo.io/" target="_blank">Hexo</a> | Theme <a href="https://github.com/blinkfox/hexo-theme-matery" target="_blank">Matery</a> <br> <i class="fas fa-chart-area"></i> 站点总字数: <span class="white-color">12.9k</span> 字 <span id="busuanzi_container_site_pv"> | <i class="far fa-eye"></i> 总访问量: <span id="busuanzi_value_site_pv" class="white-color"></span> 次 </span> <span id="busuanzi_container_site_uv"> | <i class="fas fa-users"></i> 总访问人数: <span id="busuanzi_value_site_uv" class="white-color"></span> 人 </span> <br> <span id="sitetime">载入运行时间...</span> <script> function siteTime() { var seconds = 1000; var minutes = seconds * 60; var hours = minutes * 60; var days = hours * 24; var years = days * 365; var today = new Date(); var startYear = "2021"; var startMonth = "7"; var startDate = "10"; var startHour = "0"; var startMinute = "0"; var startSecond = "0"; var todayYear = today.getFullYear(); var todayMonth = today.getMonth() + 1; var todayDate = today.getDate(); var todayHour = today.getHours(); var todayMinute = today.getMinutes(); var todaySecond = today.getSeconds(); var t1 = Date.UTC(startYear, startMonth, startDate, startHour, startMinute, startSecond); var t2 = Date.UTC(todayYear, todayMonth, todayDate, todayHour, todayMinute, todaySecond); var diff = t2 - t1; var diffYears = Math.floor(diff / years); var diffDays = Math.floor((diff / days) - diffYears * 365); var diffHours = Math.floor((diff - (diffYears * 365 + diffDays) * days) / hours); var diffMinutes = Math.floor((diff - (diffYears * 365 + diffDays) * days - diffHours * hours) / minutes); var diffSeconds = Math.floor((diff - (diffYears * 365 + diffDays) * days - diffHours * hours - diffMinutes * minutes) / seconds); if (startYear == todayYear) { document.getElementById("year").innerHTML = todayYear; document.getElementById("sitetime").innerHTML = "本站已安全运行 " + diffDays + " 天 " + diffHours + " 小时 " + diffMinutes + " 分钟 " + diffSeconds + " 秒"; } else { document.getElementById("year").innerHTML = startYear + " - " + todayYear; document.getElementById("sitetime").innerHTML = "本站已安全运行 " + diffYears + " 年 " + diffDays + " 天 " + diffHours + " 小时 " + diffMinutes + " 分钟 " + diffSeconds + " 秒"; } } setInterval(siteTime, 1000); </script> <br> </div> <div class="col s12 m4 l4 social-link social-statis"> <a href="https://github.com/ruufly" class="tooltipped" target="_blank" data-tooltip="访问我的GitHub" data-position="top" data-delay="50"> <i class="fab fa-github"></i> </a> <a href="mailto:870239526@qq.com" class="tooltipped" target="_blank" data-tooltip="邮件联系我" data-position="top" data-delay="50"> <i class="fas fa-envelope-open"></i> </a> <a href="https://www.facebook.com/profile.php?id=100077496228343" class="tooltipped" target="_blank" data-tooltip="关注我的Facebook: https://www.facebook.com/profile.php?id=100077496228343" data-position="top" data-delay="50"> <i class="fab fa-facebook-f"></i> </a> <a href="https://twitter.com/distjr" class="tooltipped" target="_blank" data-tooltip="关注我的Twitter: https://twitter.com/distjr" data-position="top" data-delay="50"> <i class="fab fa-twitter"></i> </a> <a href="tencent://AddContact/?fromId=50&fromSubId=1&subcmd=all&uin=870239526" class="tooltipped" target="_blank" data-tooltip="QQ联系我: 870239526" data-position="top" data-delay="50"> <i class="fab fa-qq"></i> </a> <a href="https://www.zhihu.com/people/distjr-" class="tooltipped" target="_blank" data-tooltip="关注我的知乎: https://www.zhihu.com/people/distjr-" data-position="top" data-delay="50"> <i class="fab fa-zhihu1">知</i> </a> <a href="/atom.xml" class="tooltipped" target="_blank" data-tooltip="RSS 订阅" data-position="top" data-delay="50"> <i class="fas fa-rss"></i> </a> </div> </div> </footer> <div class="progress-bar"></div> <!-- 搜索遮罩框 --> <div id="searchModal" class="modal"> <div class="modal-content"> <div class="search-header"> <span class="title"><i class="fas fa-search"></i> 搜索</span> <input type="search" id="searchInput" name="s" placeholder="请输入搜索的关键字" class="search-input"> </div> <div id="searchResult"></div> </div> </div> <script type="text/javascript"> $(function () { var searchFunc = function (path, search_id, content_id) { 'use strict'; $.ajax({ url: path, dataType: "xml", success: function (xmlResponse) { // get the contents from search data var datas = $("entry", xmlResponse).map(function () { return { title: $("title", this).text(), content: $("content", this).text(), url: $("url", this).text() }; }).get(); var $input = document.getElementById(search_id); var $resultContent = document.getElementById(content_id); $input.addEventListener('input', function () { var str = '<ul class=\"search-result-list\">'; var keywords = this.value.trim().toLowerCase().split(/[\s\-]+/); $resultContent.innerHTML = ""; if (this.value.trim().length <= 0) { return; } // perform local searching datas.forEach(function (data) { var isMatch = true; var data_title = data.title.trim().toLowerCase(); var data_content = data.content.trim().replace(/<[^>]+>/g, "").toLowerCase(); var data_url = data.url; data_url = data_url.indexOf('/') === 0 ? data.url : '/' + data_url; var index_title = -1; var index_content = -1; var first_occur = -1; // only match artiles with not empty titles and contents if (data_title !== '' && data_content !== '') { keywords.forEach(function (keyword, i) { index_title = data_title.indexOf(keyword); index_content = data_content.indexOf(keyword); if (index_title < 0 && index_content < 0) { isMatch = false; } else { if (index_content < 0) { index_content = 0; } if (i === 0) { first_occur = index_content; } } }); } // show search results if (isMatch) { str += "<li><a href='" + data_url + "' class='search-result-title'>" + data_title + "</a>"; var content = data.content.trim().replace(/<[^>]+>/g, ""); if (first_occur >= 0) { // cut out 100 characters var start = first_occur - 20; var end = first_occur + 80; if (start < 0) { start = 0; } if (start === 0) { end = 100; } if (end > content.length) { end = content.length; } var match_content = content.substr(start, end); // highlight all keywords keywords.forEach(function (keyword) { var regS = new RegExp(keyword, "gi"); match_content = match_content.replace(regS, "<em class=\"search-keyword\">" + keyword + "</em>"); }); str += "<p class=\"search-result\">" + match_content + "...</p>" } str += "</li>"; } }); str += "</ul>"; $resultContent.innerHTML = str; }); } }); }; searchFunc('/search.xml', 'searchInput', 'searchResult'); }); </script> <!-- 回到顶部按钮 --> <div id="backTop" class="top-scroll"> <a class="btn-floating btn-large waves-effect waves-light" href="#!"> <i class="fas fa-arrow-up"></i> </a> </div> <script src="/libs/materialize/materialize.min.js"></script> <script src="/libs/masonry/masonry.pkgd.min.js"></script> <script src="/libs/aos/aos.js"></script> <script src="/libs/scrollprogress/scrollProgress.min.js"></script> <script src="/libs/lightGallery/js/lightgallery-all.min.js"></script> <script src="/js/matery.js"></script> <!-- <script src="/live2d-widget/autoload.js"></script> --> <script src="https://fastly.jsdelivr.net/gh/stevenjoezhang/live2d-widget@latest/autoload.js"></script> <!-- Baidu Analytics --> <!-- Baidu Push --> <script> (function () { var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> <script src="/libs/others/clicklove.js" async="async"></script> <script async src="/libs/others/busuanzi.pure.mini.js"></script> <script type="text/javascript" color="0,0,255" pointColor="255,255,255" opacity='0.7' zIndex="-1" count="99" src="/libs/background/canvas-nest.js"></script> <script src="/libs/instantpage/instantpage.js" type="module"></script> </body> </html>
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published