hexo/posts/8828c81e.html

757 lines
30 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="zh-CN" data-default-color-scheme=auto>
<head>
<meta charset="UTF-8">
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.png">
<link rel="icon" href="/img/logo.png">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5.0, shrink-to-fit=no">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
<meta name="theme-color" content="#2f4154">
<meta name="author" content="浪子">
<meta name="keywords" content="DIY,黑苹果,分享,自由">
<meta name="description" content="...">
<meta property="og:type" content="article">
<meta property="og:title" content="给Memos添加Artalk评论">
<meta property="og:url" content="https://blog.jkjoy.cn/posts/8828c81e.html">
<meta property="og:site_name" content="提剑追梦">
<meta property="og:description" content="...">
<meta property="og:locale" content="zh_CN">
<meta property="article:published_time" content="2023-06-13T06:25:30.714Z">
<meta property="article:modified_time" content="2024-05-09T01:19:01.621Z">
<meta property="article:author" content="浪子">
<meta property="article:tag" content="Memos">
<meta name="twitter:card" content="summary_large_image">
<meta name="referrer" content="no-referrer-when-downgrade">
<title>给Memos添加Artalk评论 - 提剑追梦</title>
<link rel="stylesheet" href="https://lib.baomitu.com/twitter-bootstrap/4.6.1/css/bootstrap.min.css" />
<link rel="stylesheet" href="https://lib.baomitu.com/github-markdown-css/4.0.0/github-markdown.min.css" />
<link rel="stylesheet" href="https://lib.baomitu.com/hint.css/2.7.0/hint.min.css" />
<link rel="stylesheet" href="https://lib.baomitu.com/fancybox/3.5.7/jquery.fancybox.min.css" />
<!-- 主题依赖的图标库,不要自行修改 -->
<!-- Do not modify the link that theme dependent icons -->
<link rel="stylesheet" href="//at.alicdn.com/t/font_1749284_hj8rtnfg7um.css">
<link rel="stylesheet" href="//at.alicdn.com/t/c/font_4267870_i7km8ozxnbr.css">
<link rel="stylesheet" href="/css/main.css" />
<link id="highlight-css" rel="stylesheet" href="/css/highlight.css" />
<link id="highlight-css-dark" rel="stylesheet" href="/css/highlight-dark.css" />
<link rel="stylesheet" href="/css/mac.css">
<script id="fluid-configs">
var Fluid = window.Fluid || {};
Fluid.ctx = Object.assign({}, Fluid.ctx)
var CONFIG = {"hostname":"blog.jkjoy.cn","root":"/","version":"1.9.7","typing":{"enable":true,"typeSpeed":70,"cursorChar":"💡","loop":false,"scope":[]},"anchorjs":{"enable":true,"element":"h1,h2,h3,h4,h5,h6","placement":"left","visible":"hover","icon":" # "},"progressbar":{"enable":true,"height_px":3,"color":"#29d","options":{"showSpinner":false,"trickleSpeed":100}},"code_language":{"enable":true,"default":"TEXT"},"copy_btn":true,"image_caption":{"enable":true},"image_zoom":{"enable":true,"img_url_replace":["",""]},"toc":{"enable":true,"placement":"right","headingSelector":"h1,h2,h3,h4,h5,h6","collapseDepth":0},"lazyload":{"enable":true,"loading_img":"/img/loading.gif","onlypost":false,"offset_factor":2},"web_analytics":{"enable":false,"follow_dnt":false,"baidu":"9a59c9b2baa8e43c367f559cd7d9b86c","google":{"measurement_id":"G-EL6EBC27ES"},"tencent":{"sid":null,"cid":null},"woyaola":null,"cnzz":null,"leancloud":{"app_id":"qkYaRmrTvy9Og9bRIt4YTIiC-MdYXbMMI","app_key":"BnyRqKMFP7xp6xF0OTU7rC40","server_url":null,"path":"window.location.pathname","ignore_local":false}},"search_path":"/local-search.xml","include_content_in_search":true};
if (CONFIG.web_analytics.follow_dnt) {
var dntVal = navigator.doNotTrack || window.doNotTrack || navigator.msDoNotTrack;
Fluid.ctx.dnt = dntVal && (dntVal.startsWith('1') || dntVal.startsWith('yes') || dntVal.startsWith('on'));
}
</script>
<script src="/js/utils.js" ></script>
<script src="/js/color-schema.js" ></script>
<meta name="generator" content="Hexo 6.3.0"><link rel="alternate" href="/atom.xml" title="提剑追梦" type="application/atom+xml">
</head>
<body>
<header>
<div class="header-inner" style="height: 70vh;">
<nav id="navbar" class="navbar fixed-top navbar-expand-lg navbar-dark scrolling-navbar">
<div class="container">
<a class="navbar-brand" href="/">
<strong>提剑追梦</strong>
</a>
<button id="navbar-toggler-btn" class="navbar-toggler" type="button" data-toggle="collapse"
data-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<div class="animated-icon"><span></span><span></span><span></span></div>
</button>
<!-- Collapsible content -->
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav ml-auto text-center">
<li class="nav-item">
<a class="nav-link" href="/" target="_self">
<i class="iconfont icon-home"></i>
<span>首页</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/archives/" target="_self">
<i class="iconfont icon-archive"></i>
<span>归档</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/categories/" target="_self">
<i class="iconfont icon-categories"></i>
<span>分类</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/tags/" target="_self">
<i class="iconfont icon-tags"></i>
<span>标签</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/links/" target="_self">
<i class="iconfont icon-link1"></i>
<span>友链</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/fcircle/" target="_self">
<i class="iconfont icon-friend"></i>
<span>圈子</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/memos/" target="_self">
<i class="iconfont icon-Chat"></i>
<span>说说</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/about/" target="_self">
<i class="iconfont icon-aboutme"></i>
<span>关于</span>
</a>
</li>
<li class="nav-item" id="search-btn">
<a class="nav-link" target="_self" href="javascript:;" data-toggle="modal" data-target="#modalSearch" aria-label="Search">
<i class="iconfont icon-search"></i>
</a>
</li>
<li class="nav-item" id="color-toggle-btn">
<a class="nav-link" target="_self" href="javascript:;" aria-label="Color Toggle">
<i class="iconfont icon-dark" id="color-toggle-icon"></i>
</a>
</li>
</ul>
</div>
</div>
</nav>
<div id="banner" class="banner" parallax=true
style="background: url('/img/default.png') no-repeat center center; background-size: cover;">
<div class="full-bg-img">
<div class="mask flex-center" style="background-color: rgba(0, 0, 0, 0.3)">
<div class="banner-text text-center fade-in-up">
<div class="h2">
<span id="subtitle" data-typed-text="给Memos添加Artalk评论"></span>
</div>
<div class="mt-3">
<span class="post-meta">
<i class="iconfont icon-date-fill" aria-hidden="true"></i>
<time datetime="2023-06-13 06:25" pubdate>
2023年6月13日 早上
</time>
</span>
</div>
<div class="mt-1">
<span class="post-meta mr-2">
<i class="iconfont icon-chart"></i>
359 字
</span>
<span class="post-meta mr-2">
<i class="iconfont icon-clock-fill"></i>
3 分钟
</span>
<span id="busuanzi_container_page_pv" style="display: none">
<i class="iconfont icon-eye" aria-hidden="true"></i>
<span id="busuanzi_value_page_pv"></span>
</span>
</div>
</div>
<div class="scroll-down-bar">
<i class="iconfont icon-arrowdown"></i>
</div>
</div>
</div>
</div>
</div>
</header>
<main>
<div class="container-fluid nopadding-x">
<div class="row nomargin-x">
<div class="side-col d-none d-lg-block col-lg-2">
</div>
<div class="col-lg-8 nopadding-x-md">
<div class="container nopadding-x-md" id="board-ctn">
<div id="board">
<article class="post-content mx-auto">
<h1 id="seo-header">给Memos添加Artalk评论</h1>
<p id="updated-time" class="note note-info" style="">
本文最后更新于 2024年5月9日 凌晨
</p>
<div class="markdown-body">
<p>上文提到</p>
<p><a href="/2023/507a5d86.html">给Memos添加Twikoo评论</a></p>
<ul>
<li><p>2023.10.23更新以适用于memos v0.16.1版本<br>把’.resource-wrapper替换为.gap-2</p>
</li>
<li><p>2023.10.17更新memos0.16版本</p>
</li>
</ul>
<h2 id="自定义脚本"><a href="#自定义脚本" class="headerlink" title="自定义脚本"></a>自定义脚本</h2><p>把’.resource-wrapper替换为.memo-wrapper</p>
<h2 id="自定义样式"><a href="#自定义样式" class="headerlink" title="自定义样式"></a>自定义样式</h2><p>隐藏评论数</p>
<figure class="highlight mipsasm"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs mipsasm"><span class="hljs-meta">.text</span>-sm<span class="hljs-meta">.text</span>-gray<span class="hljs-number">-500</span>.ml<span class="hljs-number">-1</span>&#123;<span class="hljs-keyword">display:none </span>!important<span class="hljs-comment">;&#125;</span><br></code></pre></td></tr></table></figure>
<ul>
<li>2023.9.26更新提醒:适用于 memos 0.15.1版本以下</li>
</ul>
<h2 id="自定义脚本-1"><a href="#自定义脚本-1" class="headerlink" title="自定义脚本"></a>自定义脚本</h2><figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br></pre></td><td class="code"><pre><code class="hljs javascript"><span class="hljs-comment">// 用 JS 向页面中插入 JS</span><br><span class="hljs-keyword">function</span> <span class="hljs-title function_">addArtalkJS</span>(<span class="hljs-params"></span>) &#123; <br> <span class="hljs-keyword">var</span> memosArtalk = <span class="hljs-variable language_">document</span>.<span class="hljs-title function_">createElement</span>(<span class="hljs-string">&quot;script&quot;</span>);<br> memosArtalk.<span class="hljs-property">src</span> = <span class="hljs-string">`https://unpkg.com/artalk/dist/Artalk.js`</span>;<br> <span class="hljs-keyword">var</span> artakPos = <span class="hljs-variable language_">document</span>.<span class="hljs-title function_">getElementsByTagName</span>(<span class="hljs-string">&quot;script&quot;</span>)[<span class="hljs-number">0</span>];<br> artakPos.<span class="hljs-property">parentNode</span>.<span class="hljs-title function_">insertBefore</span>(memosArtalk, artakPos);<br>&#125;;<br><span class="hljs-comment">// div</span><br><span class="hljs-keyword">function</span> <span class="hljs-title function_">startArtalk</span>(<span class="hljs-params"></span>) &#123;<br> start = <span class="hljs-built_in">setInterval</span>(<span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)&#123;<br> <span class="hljs-keyword">var</span> artalkDom = <span class="hljs-variable language_">document</span>.<span class="hljs-title function_">getElementById</span>(<span class="hljs-string">&#x27;Comments&#x27;</span>) || <span class="hljs-string">&#x27;&#x27;</span>;<br> <span class="hljs-keyword">var</span> memoAt = <span class="hljs-variable language_">document</span>.<span class="hljs-title function_">querySelector</span>(<span class="hljs-string">&#x27;.memo-wrapper&#x27;</span>) || <span class="hljs-string">&#x27;&#x27;</span>;<br> <span class="hljs-keyword">var</span> memoLoading = <span class="hljs-variable language_">document</span>.<span class="hljs-title function_">querySelector</span>(<span class="hljs-string">&#x27;.action-button-container&#x27;</span>) || <span class="hljs-string">&#x27;&#x27;</span>;<br> <span class="hljs-keyword">var</span> memoLoadingA = <span class="hljs-variable language_">document</span>.<span class="hljs-title function_">querySelector</span>(<span class="hljs-string">&#x27;.action-button-container a&#x27;</span>) || <span class="hljs-string">&#x27;&#x27;</span>;<br> <span class="hljs-keyword">if</span>(<span class="hljs-variable language_">window</span>.<span class="hljs-property">location</span>.<span class="hljs-property">href</span>.<span class="hljs-title function_">replace</span>(<span class="hljs-regexp">/^.*\/(m)\/.*$/</span>,<span class="hljs-string">&#x27;$1&#x27;</span>) == <span class="hljs-string">&quot;m&quot;</span> &amp;&amp; memoLoadingA)&#123;<br> memoLoading.<span class="hljs-property">innerHTML</span> = <span class="hljs-string">&quot;评论加载中……&quot;</span><br> &#125;<br> <span class="hljs-keyword">if</span>(<span class="hljs-variable language_">window</span>.<span class="hljs-property">location</span>.<span class="hljs-property">href</span>.<span class="hljs-title function_">replace</span>(<span class="hljs-regexp">/^.*\/(m)\/.*$/</span>,<span class="hljs-string">&#x27;$1&#x27;</span>) == <span class="hljs-string">&quot;m&quot;</span> &amp;&amp; !artalkDom)&#123;<br> <span class="hljs-title function_">addArtalkJS</span>()<br> <span class="hljs-keyword">if</span>(memoAt)&#123;<br> <span class="hljs-built_in">clearInterval</span>(start)<br> <span class="hljs-keyword">var</span> cssLink = <span class="hljs-variable language_">document</span>.<span class="hljs-title function_">createElement</span>(<span class="hljs-string">&quot;link&quot;</span>);<br> cssLink.<span class="hljs-property">rel</span> = <span class="hljs-string">&quot;stylesheet&quot;</span>;<br> cssLink.<span class="hljs-property">href</span> = <span class="hljs-string">&quot;https://unpkg.com/artalk/dist/Artalk.css&quot;</span>;<br> <span class="hljs-variable language_">document</span>.<span class="hljs-property">head</span>.<span class="hljs-title function_">appendChild</span>(cssLink);<br> memoAt.<span class="hljs-title function_">insertAdjacentHTML</span>(<span class="hljs-string">&#x27;afterend&#x27;</span>, <span class="hljs-string">&#x27;&lt;div id=&quot;Comments&quot;&gt;&lt;/div&gt;&#x27;</span>);<br> <span class="hljs-built_in">setTimeout</span>(<span class="hljs-keyword">function</span>(<span class="hljs-params"></span>) &#123;<br> <span class="hljs-title class_">Artalk</span>.<span class="hljs-title function_">init</span>(&#123;<br> <span class="hljs-attr">el</span>: <span class="hljs-string">&#x27;#Comments&#x27;</span>,<br> <span class="hljs-attr">pageKey</span>: location.<span class="hljs-property">pathname</span>,<br> <span class="hljs-attr">pageTitle</span>: <span class="hljs-variable language_">document</span>.<span class="hljs-property">title</span>,<br> <span class="hljs-attr">server</span>: <span class="hljs-string">&#x27;https://artalk.loliko.cn&#x27;</span>,<br> <span class="hljs-attr">site</span>: <span class="hljs-string">&#x27;memos&#x27;</span>,<br> <span class="hljs-attr">darkMode</span>: <span class="hljs-string">&#x27;auto&#x27;</span><br> &#125;);<br> <span class="hljs-title class_">Artalk</span>.<span class="hljs-title function_">on</span>(<span class="hljs-string">&#x27;list-loaded&#x27;</span>, <span class="hljs-keyword">function</span>(<span class="hljs-params"></span>) &#123;<br> <span class="hljs-comment">// console.log(&#x27;评论加载完成&#x27;);</span><br> memoLoading.<span class="hljs-property">innerHTML</span> = <span class="hljs-string">&#x27;&#x27;</span><br> <span class="hljs-title function_">startArtalk</span>();<br> &#125;);<br> &#125;, <span class="hljs-number">1000</span>);<br> &#125;<br> &#125;<br> <span class="hljs-comment">//console.log(window.location.href);</span><br> &#125;, <span class="hljs-number">1000</span>)<br>&#125;<br><span class="hljs-title function_">startArtalk</span>();<br></code></pre></td></tr></table></figure>
<h2 id="自定义样式-1"><a href="#自定义样式-1" class="headerlink" title="自定义样式"></a>自定义样式</h2><figure class="highlight css"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs css"><span class="hljs-selector-tag">a</span><span class="hljs-selector-class">.time-text</span><span class="hljs-selector-pseudo">:after</span> &#123; <span class="hljs-attribute">content</span>: <span class="hljs-string">&#x27; 评论 💬 &#x27;</span>; &#125;<br><span class="hljs-selector-class">.atk-main-editor</span> &#123; <span class="hljs-attribute">margin-top</span>: <span class="hljs-number">20px</span>; &#125;<br><br></code></pre></td></tr></table></figure>
</div>
<hr/>
<div>
<div class="post-metas my-3">
<div class="post-meta mr-3 d-flex align-items-center">
<i class="iconfont icon-category"></i>
<span class="category-chains">
<span class="category-chain">
<a href="/categories/%E5%88%86%E4%BA%AB/" class="category-chain-item">分享</a>
</span>
</span>
</div>
<div class="post-meta">
<i class="iconfont icon-tags"></i>
<a href="/tags/Memos/" class="print-no-link">#Memos</a>
</div>
</div>
<div class="post-prevnext my-3">
<article class="post-prev col-6">
<a href="/posts/286ad0c6.html" title="用Memos API实现hexo博客的动态说说页面">
<i class="iconfont icon-arrowleft"></i>
<span class="hidden-mobile">用Memos API实现hexo博客的动态说说页面</span>
<span class="visible-mobile">上一篇</span>
</a>
</article>
<article class="post-next col-6">
<a href="/posts/507a5d86.html" title="给Memos添加Twikoo评论">
<span class="hidden-mobile">给Memos添加Twikoo评论</span>
<span class="visible-mobile">下一篇</span>
<i class="iconfont icon-arrowright"></i>
</a>
</article>
</div>
</div>
<article id="comments" lazyload>
<div id="twikoo"></div>
<script type="text/javascript">
Fluid.utils.loadComments('#comments', function() {
Fluid.utils.createScript('https://unpkg.com/twikoo/dist/twikoo.all.min.js', function() {
var options = Object.assign(
{"envId":"https://t.jkjoy.cn","region":null,"path":"window.location.pathname"},
{
el: '#twikoo',
path: 'window.location.pathname',
onCommentLoaded: function() {
Fluid.utils.listenDOMLoaded(function() {
var imgSelector = '#twikoo .tk-content img:not(.tk-owo-emotion)';
Fluid.plugins.imageCaption(imgSelector);
Fluid.plugins.fancyBox(imgSelector);
});
}
}
)
twikoo.init(options)
});
});
</script>
<noscript>Please enable JavaScript to view the comments</noscript>
</article>
</article>
</div>
</div>
</div>
<div class="side-col d-none d-lg-block col-lg-2">
<aside class="sidebar" style="margin-left: -1rem">
<div id="toc">
<p class="toc-header">
<i class="iconfont icon-list"></i>
<span>目录</span>
</p>
<div class="toc-body" id="toc-body"></div>
</div>
</aside>
</div>
</div>
</div>
<a id="scroll-top-button" aria-label="TOP" href="#" role="button">
<i class="iconfont icon-arrowup" aria-hidden="true"></i>
</a>
<div class="modal fade" id="modalSearch" tabindex="-1" role="dialog" aria-labelledby="ModalLabel"
aria-hidden="true">
<div class="modal-dialog modal-dialog-scrollable modal-lg" role="document">
<div class="modal-content">
<div class="modal-header text-center">
<h4 class="modal-title w-100 font-weight-bold">搜索</h4>
<button type="button" id="local-search-close" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body mx-3">
<div class="md-form mb-5">
<input type="text" id="local-search-input" class="form-control validate">
<label data-error="x" data-success="v" for="local-search-input">关键词</label>
</div>
<div class="list-group" id="local-search-result"></div>
</div>
</div>
</div>
</div>
</main>
<footer>
<div class="footer-inner">
<div class="footer-content">
<link rel="stylesheet" href="https://cdnjs.sgcd.net/lxgw-wenkai-screen-webfont/lxgwwenkaigbscreen.css" /> <style> body { font-family: "LXGW WenKai Screen", sans-serif; } </style> <a href="https://hexo.io" target="_blank" rel="nofollow noopener"><span>Hexo</span></a> <i class="iconfont icon-love"></i> <a href="https://github.com/fluid-dev/hexo-theme-fluid" target="_blank" rel="nofollow noopener"><span>Fluid</span></a> <br> PowerBy 浪子 ©2024
</div>
<div class="statistics">
<span id="busuanzi_container_site_pv" style="display: none">
总访问量
<span id="busuanzi_value_site_pv"></span>
</span>
<span id="busuanzi_container_site_uv" style="display: none">
总访客数
<span id="busuanzi_value_site_uv"></span>
</span>
</div>
<!-- 备案信息 ICP for China -->
<div class="beian">
<span>
<a href="http://beian.miit.gov.cn/" target="_blank" rel="nofollow noopener">
鄂ICP备16022970号-16
</a>
</span>
</div>
</div>
</footer>
<!-- Scripts -->
<script src="https://lib.baomitu.com/nprogress/0.2.0/nprogress.min.js" ></script>
<link rel="stylesheet" href="https://lib.baomitu.com/nprogress/0.2.0/nprogress.min.css" />
<script>
NProgress.configure({"showSpinner":false,"trickleSpeed":100})
NProgress.start()
window.addEventListener('load', function() {
NProgress.done();
})
</script>
<script src="https://lib.baomitu.com/jquery/3.6.4/jquery.min.js" ></script>
<script src="https://lib.baomitu.com/twitter-bootstrap/4.6.1/js/bootstrap.min.js" ></script>
<script src="/js/events.js" ></script>
<script src="/js/plugins.js" ></script>
<script src="https://lib.baomitu.com/typed.js/2.0.12/typed.min.js" ></script>
<script>
(function (window, document) {
var typing = Fluid.plugins.typing;
var subtitle = document.getElementById('subtitle');
if (!subtitle || !typing) {
return;
}
var text = subtitle.getAttribute('data-typed-text');
typing(text);
})(window, document);
</script>
<script src="/js/img-lazyload.js" ></script>
<script>
Fluid.utils.createScript('https://lib.baomitu.com/tocbot/4.20.1/tocbot.min.js', function() {
var toc = jQuery('#toc');
if (toc.length === 0 || !window.tocbot) { return; }
var boardCtn = jQuery('#board-ctn');
var boardTop = boardCtn.offset().top;
window.tocbot.init(Object.assign({
tocSelector : '#toc-body',
contentSelector : '.markdown-body',
linkClass : 'tocbot-link',
activeLinkClass : 'tocbot-active-link',
listClass : 'tocbot-list',
isCollapsedClass: 'tocbot-is-collapsed',
collapsibleClass: 'tocbot-is-collapsible',
scrollSmooth : true,
includeTitleTags: true,
headingsOffset : -boardTop,
}, CONFIG.toc));
if (toc.find('.toc-list-item').length > 0) {
toc.css('visibility', 'visible');
}
Fluid.events.registerRefreshCallback(function() {
if ('tocbot' in window) {
tocbot.refresh();
var toc = jQuery('#toc');
if (toc.length === 0 || !tocbot) {
return;
}
if (toc.find('.toc-list-item').length > 0) {
toc.css('visibility', 'visible');
}
}
});
});
</script>
<script src=https://lib.baomitu.com/clipboard.js/2.0.11/clipboard.min.js></script>
<script>Fluid.plugins.codeWidget();</script>
<script>
Fluid.utils.createScript('https://lib.baomitu.com/anchor-js/4.3.1/anchor.min.js', function() {
window.anchors.options = {
placement: CONFIG.anchorjs.placement,
visible : CONFIG.anchorjs.visible
};
if (CONFIG.anchorjs.icon) {
window.anchors.options.icon = CONFIG.anchorjs.icon;
}
var el = (CONFIG.anchorjs.element || 'h1,h2,h3,h4,h5,h6').split(',');
var res = [];
for (var item of el) {
res.push('.markdown-body > ' + item.trim());
}
if (CONFIG.anchorjs.placement === 'left') {
window.anchors.options.class = 'anchorjs-link-left';
}
window.anchors.add(res.join(', '));
Fluid.events.registerRefreshCallback(function() {
if ('anchors' in window) {
anchors.removeAll();
var el = (CONFIG.anchorjs.element || 'h1,h2,h3,h4,h5,h6').split(',');
var res = [];
for (var item of el) {
res.push('.markdown-body > ' + item.trim());
}
if (CONFIG.anchorjs.placement === 'left') {
anchors.options.class = 'anchorjs-link-left';
}
anchors.add(res.join(', '));
}
});
});
</script>
<script>
Fluid.utils.createScript('https://lib.baomitu.com/fancybox/3.5.7/jquery.fancybox.min.js', function() {
Fluid.plugins.fancyBox();
});
</script>
<script>Fluid.plugins.imageCaption();</script>
<script src="/js/local-search.js" ></script>
<script defer src="https://busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js" ></script>
<!-- 主题的启动项,将它保持在最底部 -->
<!-- the boot of the theme, keep it at the bottom -->
<script src="/js/boot.js" ></script>
<noscript>
<div class="noscript-warning">博客在允许 JavaScript 运行的环境下浏览效果更佳</div>
</noscript>
</body>
</html>