<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>个人记录</title>
  <icon>https://cdn.jsdelivr.net/gh/cdn-x/xaoxuu/avatar/rect-256@2x.png</icon>
  <subtitle>道阻且长，行则将至 | www.hermitlsr.top</subtitle>
  <link href="https://www.hermitlsr.top/atom.xml" rel="self"/>
  
  <link href="https://www.hermitlsr.top/"/>
  <updated>2022-06-05T17:13:27.000Z</updated>
  <id>https://www.hermitlsr.top/</id>
  
  <author>
    <name>hermitlee</name>
    <email>mailto:1165749128@qq.com</email>
  </author>
  
  <generator uri="https://hexo.io/">Hexo</generator>
  
  <entry>
    <title>Hexo公式问题 - 多行公式显示</title>
    <link href="https://www.hermitlsr.top/2022-06-05/Hexo%E5%85%AC%E5%BC%8F%E9%97%AE%E9%A2%98-%E5%A4%9A%E8%A1%8C%E5%85%AC%E5%BC%8F%E6%98%BE%E7%A4%BA/"/>
    <id>https://www.hermitlsr.top/2022-06-05/Hexo%E5%85%AC%E5%BC%8F%E9%97%AE%E9%A2%98-%E5%A4%9A%E8%A1%8C%E5%85%AC%E5%BC%8F%E6%98%BE%E7%A4%BA/</id>
    <published>2022-06-05T17:13:27.000Z</published>
    <updated>2022-06-05T17:13:27.000Z</updated>
    
    <content type="html"><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="/assets/css/APlayer.min.css"><script src="/assets/js/APlayer.min.js" class="aplayer-secondary-script-marker"></script><script class="meting-secondary-script-marker" src="/assets/js/Meting.min.js"></script><p>  Hexo 公式显示问题苦天下久矣。</p><span id="more"></span><p>写这篇文章的初衷是因为最近在用多行公式时（主要是换行与对齐）出现了问题，<code>\begin&#123;align&#125; \end&#123;align&#125;</code> 竟然渲染不了。我用的是广被推崇的 <code>hexo-renderer-markdown-it-plus</code>，没想到也会在这个地方出现问题。<br />所以先用 <code>\begin&#123;array&#125;&#123;rcl&#125; \end&#123;array&#125;</code> 凑活一下。表格形式与纯粹的公式毕竟不同，是以行内公式的形式渲染的【从积分符号 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>∫</mo></mrow><annotation encoding="application/x-tex">\int</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.11112em;vertical-align:-0.30612em;"></span><span class="mop op-symbol small-op" style="margin-right:0.19445em;position:relative;top:-0.0005599999999999772em;">∫</span></span></span></span> 的大小可以明显看出区别】，同时必须在每行之间再分行，否则会显得拥挤。<br />如下：</p><p class='katex-block'><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.15999999999999992em" columnalign="right center left" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mo>∫</mo><mi>csc</mi><mo>⁡</mo><mi>u</mi><mi>d</mi><mi>u</mi></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mo lspace="0em" rspace="0em">=</mo></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mo>∫</mo><mstyle displaystyle="true" scriptlevel="0"><mfrac><mrow><mi>sin</mi><mo>⁡</mo><mi>u</mi></mrow><mrow><msup><mo><mi>sin</mi><mo>⁡</mo></mo><mn>2</mn></msup><mi>u</mi></mrow></mfrac></mstyle><mi>d</mi><mi>u</mi><mo>=</mo><mo>−</mo><mo>∫</mo><mstyle displaystyle="true" scriptlevel="0"><mfrac><mrow><mi>d</mi><mo stretchy="false">(</mo><mi>cos</mi><mo>⁡</mo><mi>u</mi><mo stretchy="false">)</mo></mrow><mrow><mn>1</mn><mo>−</mo><msup><mo><mi>cos</mi><mo>⁡</mo></mo><mn>2</mn></msup><mi>u</mi></mrow></mfrac></mstyle></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mo lspace="0em" rspace="0em">=</mo></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mo>−</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mo>∫</mo><mo stretchy="false">(</mo><mstyle displaystyle="true" scriptlevel="0"><mfrac><mn>1</mn><mrow><mn>1</mn><mo>−</mo><mi>cos</mi><mo>⁡</mo><mi>u</mi></mrow></mfrac></mstyle><mo>+</mo><mstyle displaystyle="true" scriptlevel="0"><mfrac><mn>1</mn><mrow><mn>1</mn><mo>+</mo><mi>cos</mi><mo>⁡</mo><mi>u</mi></mrow></mfrac></mstyle><mo stretchy="false">)</mo><mi>d</mi><mo stretchy="false">(</mo><mi>cos</mi><mo>⁡</mo><mi>u</mi><mo stretchy="false">)</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mo lspace="0em" rspace="0em">=</mo></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mo>−</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mo stretchy="false">[</mo><mo>−</mo><mi>ln</mi><mo>⁡</mo><mo stretchy="false">(</mo><mn>1</mn><mo>−</mo><mi>cos</mi><mo>⁡</mo><mi>u</mi><mo stretchy="false">)</mo><mo>+</mo><mi>ln</mi><mo>⁡</mo><mo stretchy="false">(</mo><mn>1</mn><mo>+</mo><mi>cos</mi><mo>⁡</mo><mi>u</mi><mo stretchy="false">)</mo><mo>+</mo><mi>C</mi><mo stretchy="false">]</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mo lspace="0em" rspace="0em">=</mo></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mi>ln</mi><mo>⁡</mo><mrow><mo fence="true">∣</mo><msqrt><mfrac><mrow><mn>1</mn><mo>−</mo><mi>cos</mi><mo>⁡</mo><mi>u</mi></mrow><mrow><mn>1</mn><mo>+</mo><mi>cos</mi><mo>⁡</mo><mi>u</mi></mrow></mfrac></msqrt><mo fence="true">∣</mo></mrow><mo>+</mo><mi>C</mi><mo>=</mo><mi>ln</mi><mo>⁡</mo><mrow><mo fence="true">∣</mo><msqrt><mfrac><mrow><mn>2</mn><msup><mo><mi>sin</mi><mo>⁡</mo></mo><mfrac><mi>u</mi><mn>2</mn></mfrac></msup></mrow><mrow><mn>2</mn><msup><mo><mi>cos</mi><mo>⁡</mo></mo><mfrac><mi>u</mi><mn>2</mn></mfrac></msup></mrow></mfrac></msqrt><mo fence="true">∣</mo></mrow><mo>+</mo><mi>C</mi></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mo lspace="0em" rspace="0em">=</mo></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mi>ln</mi><mo>⁡</mo><mrow><mo fence="true">∣</mo><mi>tan</mi><mo>⁡</mo><mfrac><mi>u</mi><mn>2</mn></mfrac><mo fence="true">∣</mo></mrow><mo>+</mo><mi>C</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{array}{rcl}\int \csc udu &amp;=&amp; \int\cfrac{\sin u}{\sin^2 u}du=-\int\cfrac{d(\cos u)}{1-\cos^2 u} \\&amp;=&amp; -\frac{1}{2}\int(\cfrac{1}{1-\cos u}+\cfrac{1}{1+\cos u})d(\cos u)\\&amp;=&amp; -\frac{1}{2}[-\ln(1-\cos u)+\ln(1+\cos u)+C]\\&amp;=&amp; \ln\left|\sqrt{\frac{1-\cos u}{1+\cos u}}\right|+C=\ln\left|\sqrt{\frac{2\sin^ \frac{u}{2}}{2\cos^ \frac{u}{2}}}\right|+C\\&amp;=&amp; \ln\left|\tan\frac{u}{2}\right|+C\end{array}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:9.581738000000001em;vertical-align:-4.540869000000001em;"></span><span class="mord"><span class="mtable"><span class="arraycolsep" style="width:0.5em;"></span><span class="col-align-r"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:5.040869em;"><span style="top:-7.040869em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"><span class="mop op-symbol small-op" style="margin-right:0.19445em;position:relative;top:-0.0005599999999999772em;">∫</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mop">csc</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span><span class="mord mathnormal">d</span><span class="mord mathnormal">u</span></span></span><span style="top:-4.681539em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"></span></span><span style="top:-3.0671009999999996em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"></span></span><span style="top:-1.2271309999999986em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"></span></span><span style="top:0.5908690000000008em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:4.540869000000001em;"><span></span></span></span></span></span><span class="arraycolsep" style="width:0.5em;"></span><span class="arraycolsep" style="width:0.5em;"></span><span class="col-align-c"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:5.040869em;"><span style="top:-7.040869em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"><span class="mrel">=</span></span></span><span style="top:-4.681539em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"><span class="mrel">=</span></span></span><span style="top:-3.0671009999999996em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"><span class="mrel">=</span></span></span><span style="top:-1.2271309999999986em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"><span class="mrel">=</span></span></span><span style="top:0.5908690000000008em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"><span class="mrel">=</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:4.540869000000001em;"><span></span></span></span></span></span><span class="arraycolsep" style="width:0.5em;"></span><span class="arraycolsep" style="width:0.5em;"></span><span class="col-align-l"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:5.040869em;"><span style="top:-7.040869em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"><span class="mop op-symbol small-op" style="margin-right:0.19445em;position:relative;top:-0.0005599999999999772em;">∫</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.5899999999999999em;"><span style="top:-2.2381320000000002em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mop"><span class="mop">sin</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.871868em;"><span style="top:-3.12076em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.74em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mop">sin</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.761868em;"><span></span></span></span></span></span><span></span></span><span class="mord mathnormal">d</span><span class="mord mathnormal">u</span><span class="mspace" style="margin-right:0.2777777777777778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2777777777777778em;"></span><span class="mord">−</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mop op-symbol small-op" style="margin-right:0.19445em;position:relative;top:-0.0005599999999999772em;">∫</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.5899999999999999em;"><span style="top:-2.314em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord">1</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mop"><span class="mop">cos</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.740108em;"><span style="top:-2.9890000000000003em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.74em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord mathnormal">d</span><span class="mopen">(</span><span class="mop">cos</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span><span class="mclose">)</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.7693300000000001em;"><span></span></span></span></span></span><span></span></span></span></span><span style="top:-4.681539em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"><span class="mord">−</span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.845108em;"><span style="top:-2.6550000000000002em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">2</span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mop op-symbol small-op" style="margin-right:0.19445em;position:relative;top:-0.0005599999999999772em;">∫</span><span class="mopen">(</span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.5899999999999999em;"><span style="top:-2.314em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord">1</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mop">cos</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.74em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.7693300000000001em;"><span></span></span></span></span></span><span></span></span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.5899999999999999em;"><span style="top:-2.314em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord">1</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mop">cos</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.74em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.7693300000000001em;"><span></span></span></span></span></span><span></span></span><span class="mclose">)</span><span class="mord mathnormal">d</span><span class="mopen">(</span><span class="mop">cos</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span><span class="mclose">)</span></span></span><span style="top:-3.0671009999999996em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"><span class="mord">−</span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.845108em;"><span style="top:-2.6550000000000002em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">2</span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mopen">[</span><span class="mord">−</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mop">ln</span><span class="mopen">(</span><span class="mord">1</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mop">cos</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mop">ln</span><span class="mopen">(</span><span class="mord">1</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mop">cos</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mord mathnormal" style="margin-right:0.07153em;">C</span><span class="mclose">]</span></span></span><span style="top:-1.2271309999999986em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"><span class="mop">ln</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="minner"><span class="mopen"><span class="delimsizing mult"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.173975em;"><span style="top:-1.955985em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.556985em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.572975em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-3.173975em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.6500149999999999em;"><span></span></span></span></span></span></span><span class="mord sqrt"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.2058885em;"><span class="svg-align" style="top:-3.8em;"><span class="pstrut" style="height:3.8em;"></span><span class="mord" style="padding-left:1em;"><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.845108em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span><span class="mbin mtight">+</span><span class="mop mtight"><span class="mtight">c</span><span class="mtight">o</span><span class="mtight">s</span></span><span class="mspace mtight" style="margin-right:0.19516666666666668em;"></span><span class="mord mathnormal mtight">u</span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span><span class="mbin mtight">−</span><span class="mop mtight"><span class="mtight">c</span><span class="mtight">o</span><span class="mtight">s</span></span><span class="mspace mtight" style="margin-right:0.19516666666666668em;"></span><span class="mord mathnormal mtight">u</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.403331em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span><span style="top:-3.1658885em;"><span class="pstrut" style="height:3.8em;"></span><span class="hide-tail" style="min-width:1.02em;height:1.8800000000000001em;"><svg width='400em' height='1.8800000000000001em' viewBox='0 0 400000 1944' preserveAspectRatio='xMinYMin slice'><path d='M983 90l0 -0c4,-6.7,10,-10,18,-10 H400000v40H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5c53.7,-170.3,84.5,-266.8,92.5,-289.5zM1001 80h400000v40h-400000z'/></svg></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.6341115em;"><span></span></span></span></span></span><span class="mclose"><span class="delimsizing mult"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.173975em;"><span style="top:-1.955985em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.556985em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.572975em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-3.173975em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.6500149999999999em;"><span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mord mathnormal" style="margin-right:0.07153em;">C</span><span class="mspace" style="margin-right:0.2777777777777778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2777777777777778em;"></span><span class="mop">ln</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="minner"><span class="mopen"><span class="delimsizing mult"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.4799700000000002em;"><span style="top:-1.65598em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.25698em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.85798em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.87897em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-3.47997em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.9500199999999999em;"><span></span></span></span></span></span></span><span class="mord sqrt"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.277em;"><span class="svg-align" style="top:-3.8em;"><span class="pstrut" style="height:3.8em;"></span><span class="mord" style="padding-left:1em;"><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.144205em;"><span style="top:-2.439795em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">2</span><span class="mspace mtight" style="margin-right:0.19516666666666668em;"></span><span class="mop mtight"><span class="mop mtight"><span class="mtight">c</span><span class="mtight">o</span><span class="mtight">s</span></span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:1.0717214285714287em;"><span style="top:-3.48775em;margin-right:0.07142857142857144em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mtight"><span class="mopen nulldelimiter sizing reset-size1 size6"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8175600000000001em;"><span style="top:-2.468em;"><span class="pstrut" style="height:3em;"></span><span class="mord mtight"><span class="mord mtight">2</span></span></span><span style="top:-3.2255000000000003em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line mtight" style="border-bottom-width:0.049em;"></span></span><span style="top:-3.387em;"><span class="pstrut" style="height:3em;"></span><span class="mord mtight"><span class="mord mathnormal mtight">u</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.532em;"><span></span></span></span></span></span><span class="mclose nulldelimiter sizing reset-size1 size6"></span></span></span></span></span></span></span></span></span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">2</span><span class="mspace mtight" style="margin-right:0.19516666666666668em;"></span><span class="mop mtight"><span class="mop mtight"><span class="mtight">s</span><span class="mtight">i</span><span class="mtight">n</span></span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:1.0717214285714287em;"><span style="top:-3.48775em;margin-right:0.07142857142857144em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mtight"><span class="mopen nulldelimiter sizing reset-size1 size6"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8175600000000001em;"><span style="top:-2.468em;"><span class="pstrut" style="height:3em;"></span><span class="mord mtight"><span class="mord mtight">2</span></span></span><span style="top:-3.2255000000000003em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line mtight" style="border-bottom-width:0.049em;"></span></span><span style="top:-3.387em;"><span class="pstrut" style="height:3em;"></span><span class="mord mtight"><span class="mord mathnormal mtight">u</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.532em;"><span></span></span></span></span></span><span class="mclose nulldelimiter sizing reset-size1 size6"></span></span></span></span></span></span></span></span></span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.5602050000000001em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span><span style="top:-3.2369999999999997em;"><span class="pstrut" style="height:3.8em;"></span><span class="hide-tail" style="min-width:1.02em;height:1.8800000000000001em;"><svg width='400em' height='1.8800000000000001em' viewBox='0 0 400000 1944' preserveAspectRatio='xMinYMin slice'><path d='M983 90l0 -0c4,-6.7,10,-10,18,-10 H400000v40H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5c53.7,-170.3,84.5,-266.8,92.5,-289.5zM1001 80h400000v40h-400000z'/></svg></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.5630000000000002em;"><span></span></span></span></span></span><span class="mclose"><span class="delimsizing mult"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.4799700000000002em;"><span style="top:-1.65598em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.25698em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.85798em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.87897em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-3.47997em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.9500199999999999em;"><span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mord mathnormal" style="margin-right:0.07153em;">C</span></span></span><span style="top:0.5908690000000008em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"><span class="mop">ln</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="minner"><span class="mopen"><span class="delimsizing mult"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8679800000000001em;"><span style="top:-2.2559899999999997em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.26698em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.86798em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.35000999999999993em;"><span></span></span></span></span></span></span><span class="mop">tan</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.695392em;"><span style="top:-2.6550000000000002em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">2</span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">u</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mclose"><span class="delimsizing mult"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8679800000000001em;"><span style="top:-2.2559899999999997em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.26698em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.86798em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.35000999999999993em;"><span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mord mathnormal" style="margin-right:0.07153em;">C</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:4.540869000000001em;"><span></span></span></span></span></span><span class="arraycolsep" style="width:0.5em;"></span></span></span></span></span></span></span></p><p class='katex-block'><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.15999999999999992em" columnalign="right center left" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mo>∫</mo><mi>csc</mi><mo>⁡</mo><mi>u</mi><mi>d</mi><mi>u</mi></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mo lspace="0em" rspace="0em">=</mo></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mo>∫</mo><mstyle displaystyle="true" scriptlevel="0"><mfrac><mrow><mi>sin</mi><mo>⁡</mo><mi>u</mi></mrow><mrow><msup><mo><mi>sin</mi><mo>⁡</mo></mo><mn>2</mn></msup><mi>u</mi></mrow></mfrac></mstyle><mi>d</mi><mi>u</mi><mo>=</mo><mo>−</mo><mo>∫</mo><mstyle displaystyle="true" scriptlevel="0"><mfrac><mrow><mi>d</mi><mo stretchy="false">(</mo><mi>cos</mi><mo>⁡</mo><mi>u</mi><mo stretchy="false">)</mo></mrow><mrow><mn>1</mn><mo>−</mo><msup><mo><mi>cos</mi><mo>⁡</mo></mo><mn>2</mn></msup><mi>u</mi></mrow></mfrac></mstyle></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mo lspace="0em" rspace="0em">=</mo></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mo>−</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mo>∫</mo><mo stretchy="false">(</mo><mstyle displaystyle="true" scriptlevel="0"><mfrac><mn>1</mn><mrow><mn>1</mn><mo>−</mo><mi>cos</mi><mo>⁡</mo><mi>u</mi></mrow></mfrac></mstyle><mo>+</mo><mstyle displaystyle="true" scriptlevel="0"><mfrac><mn>1</mn><mrow><mn>1</mn><mo>+</mo><mi>cos</mi><mo>⁡</mo><mi>u</mi></mrow></mfrac></mstyle><mo stretchy="false">)</mo><mi>d</mi><mo stretchy="false">(</mo><mi>cos</mi><mo>⁡</mo><mi>u</mi><mo stretchy="false">)</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mo lspace="0em" rspace="0em">=</mo></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mo>−</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mo stretchy="false">[</mo><mo>−</mo><mi>ln</mi><mo>⁡</mo><mo stretchy="false">(</mo><mn>1</mn><mo>−</mo><mi>cos</mi><mo>⁡</mo><mi>u</mi><mo stretchy="false">)</mo><mo>+</mo><mi>ln</mi><mo>⁡</mo><mo stretchy="false">(</mo><mn>1</mn><mo>+</mo><mi>cos</mi><mo>⁡</mo><mi>u</mi><mo stretchy="false">)</mo><mo>+</mo><mi>C</mi><mo stretchy="false">]</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mo lspace="0em" rspace="0em">=</mo></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mi>ln</mi><mo>⁡</mo><mrow><mo fence="true">∣</mo><msqrt><mfrac><mrow><mn>1</mn><mo>−</mo><mi>cos</mi><mo>⁡</mo><mi>u</mi></mrow><mrow><mn>1</mn><mo>+</mo><mi>cos</mi><mo>⁡</mo><mi>u</mi></mrow></mfrac></msqrt><mo fence="true">∣</mo></mrow><mo>+</mo><mi>C</mi><mo>=</mo><mi>ln</mi><mo>⁡</mo><mrow><mo fence="true">∣</mo><msqrt><mfrac><mrow><mn>2</mn><msup><mo><mi>sin</mi><mo>⁡</mo></mo><mfrac><mi>u</mi><mn>2</mn></mfrac></msup></mrow><mrow><mn>2</mn><msup><mo><mi>cos</mi><mo>⁡</mo></mo><mfrac><mi>u</mi><mn>2</mn></mfrac></msup></mrow></mfrac></msqrt><mo fence="true">∣</mo></mrow><mo>+</mo><mi>C</mi></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mo lspace="0em" rspace="0em">=</mo></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mi>ln</mi><mo>⁡</mo><mrow><mo fence="true">∣</mo><mi>tan</mi><mo>⁡</mo><mfrac><mi>u</mi><mn>2</mn></mfrac><mo fence="true">∣</mo></mrow><mo>+</mo><mi>C</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{array}{rcl}\int \csc udu &amp;=&amp; \int\cfrac{\sin u}{\sin^2 u}du=-\int\cfrac{d(\cos u)}{1-\cos^2 u} \\&amp;=&amp; -\frac{1}{2}\int(\cfrac{1}{1-\cos u}+\cfrac{1}{1+\cos u})d(\cos u)\\\\&amp;=&amp; -\frac{1}{2}[-\ln(1-\cos u)+\ln(1+\cos u)+C]\\\\&amp;=&amp; \ln\left|\sqrt{\frac{1-\cos u}{1+\cos u}}\right|+C=\ln\left|\sqrt{\frac{2\sin^ \frac{u}{2}}{2\cos^ \frac{u}{2}}}\right|+C\\\\&amp;=&amp; \ln\left|\tan\frac{u}{2}\right|+C\end{array}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:13.181738em;vertical-align:-6.340869em;"></span><span class="mord"><span class="mtable"><span class="arraycolsep" style="width:0.5em;"></span><span class="col-align-r"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:6.840868999999999em;"><span style="top:-8.840868999999998em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"><span class="mop op-symbol small-op" style="margin-right:0.19445em;position:relative;top:-0.0005599999999999772em;">∫</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mop">csc</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span><span class="mord mathnormal">d</span><span class="mord mathnormal">u</span></span></span><span style="top:-6.481538999999999em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"></span></span><span style="top:-4.872208999999999em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"></span></span><span style="top:-3.6671009999999984em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"></span></span><span style="top:-2.467100999999998em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"></span></span><span style="top:-0.627130999999999em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"></span></span><span style="top:1.162889000000001em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"></span></span><span style="top:2.390869em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:6.340869em;"><span></span></span></span></span></span><span class="arraycolsep" style="width:0.5em;"></span><span class="arraycolsep" style="width:0.5em;"></span><span class="col-align-c"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:6.840868999999999em;"><span style="top:-8.840868999999998em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"><span class="mrel">=</span></span></span><span style="top:-6.481538999999999em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"><span class="mrel">=</span></span></span><span style="top:-3.6671009999999984em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"><span class="mrel">=</span></span></span><span style="top:-0.627130999999999em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"><span class="mrel">=</span></span></span><span style="top:2.390869em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"><span class="mrel">=</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:6.340869em;"><span></span></span></span></span></span><span class="arraycolsep" style="width:0.5em;"></span><span class="arraycolsep" style="width:0.5em;"></span><span class="col-align-l"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:6.840868999999999em;"><span style="top:-8.840868999999998em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"><span class="mop op-symbol small-op" style="margin-right:0.19445em;position:relative;top:-0.0005599999999999772em;">∫</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.5899999999999999em;"><span style="top:-2.2381320000000002em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mop"><span class="mop">sin</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.871868em;"><span style="top:-3.12076em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.74em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mop">sin</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.761868em;"><span></span></span></span></span></span><span></span></span><span class="mord mathnormal">d</span><span class="mord mathnormal">u</span><span class="mspace" style="margin-right:0.2777777777777778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2777777777777778em;"></span><span class="mord">−</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mop op-symbol small-op" style="margin-right:0.19445em;position:relative;top:-0.0005599999999999772em;">∫</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.5899999999999999em;"><span style="top:-2.314em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord">1</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mop"><span class="mop">cos</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.740108em;"><span style="top:-2.9890000000000003em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.74em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord mathnormal">d</span><span class="mopen">(</span><span class="mop">cos</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span><span class="mclose">)</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.7693300000000001em;"><span></span></span></span></span></span><span></span></span></span></span><span style="top:-6.481538999999999em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"><span class="mord">−</span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.845108em;"><span style="top:-2.6550000000000002em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">2</span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mop op-symbol small-op" style="margin-right:0.19445em;position:relative;top:-0.0005599999999999772em;">∫</span><span class="mopen">(</span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.5899999999999999em;"><span style="top:-2.314em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord">1</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mop">cos</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.74em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.7693300000000001em;"><span></span></span></span></span></span><span></span></span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.5899999999999999em;"><span style="top:-2.314em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord">1</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mop">cos</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.74em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.7693300000000001em;"><span></span></span></span></span></span><span></span></span><span class="mclose">)</span><span class="mord mathnormal">d</span><span class="mopen">(</span><span class="mop">cos</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span><span class="mclose">)</span></span></span><span style="top:-3.6671009999999984em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"><span class="mord">−</span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.845108em;"><span style="top:-2.6550000000000002em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">2</span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mopen">[</span><span class="mord">−</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mop">ln</span><span class="mopen">(</span><span class="mord">1</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mop">cos</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mop">ln</span><span class="mopen">(</span><span class="mord">1</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mop">cos</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mord mathnormal" style="margin-right:0.07153em;">C</span><span class="mclose">]</span></span></span><span style="top:-0.627130999999999em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"><span class="mop">ln</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="minner"><span class="mopen"><span class="delimsizing mult"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.173975em;"><span style="top:-1.955985em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.556985em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.572975em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-3.173975em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.6500149999999999em;"><span></span></span></span></span></span></span><span class="mord sqrt"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.2058885em;"><span class="svg-align" style="top:-3.8em;"><span class="pstrut" style="height:3.8em;"></span><span class="mord" style="padding-left:1em;"><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.845108em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span><span class="mbin mtight">+</span><span class="mop mtight"><span class="mtight">c</span><span class="mtight">o</span><span class="mtight">s</span></span><span class="mspace mtight" style="margin-right:0.19516666666666668em;"></span><span class="mord mathnormal mtight">u</span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span><span class="mbin mtight">−</span><span class="mop mtight"><span class="mtight">c</span><span class="mtight">o</span><span class="mtight">s</span></span><span class="mspace mtight" style="margin-right:0.19516666666666668em;"></span><span class="mord mathnormal mtight">u</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.403331em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span><span style="top:-3.1658885em;"><span class="pstrut" style="height:3.8em;"></span><span class="hide-tail" style="min-width:1.02em;height:1.8800000000000001em;"><svg width='400em' height='1.8800000000000001em' viewBox='0 0 400000 1944' preserveAspectRatio='xMinYMin slice'><path d='M983 90l0 -0c4,-6.7,10,-10,18,-10 H400000v40H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5c53.7,-170.3,84.5,-266.8,92.5,-289.5zM1001 80h400000v40h-400000z'/></svg></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.6341115em;"><span></span></span></span></span></span><span class="mclose"><span class="delimsizing mult"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.173975em;"><span style="top:-1.955985em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.556985em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.572975em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-3.173975em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.6500149999999999em;"><span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mord mathnormal" style="margin-right:0.07153em;">C</span><span class="mspace" style="margin-right:0.2777777777777778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2777777777777778em;"></span><span class="mop">ln</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="minner"><span class="mopen"><span class="delimsizing mult"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.4799700000000002em;"><span style="top:-1.65598em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.25698em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.85798em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.87897em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-3.47997em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.9500199999999999em;"><span></span></span></span></span></span></span><span class="mord sqrt"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.277em;"><span class="svg-align" style="top:-3.8em;"><span class="pstrut" style="height:3.8em;"></span><span class="mord" style="padding-left:1em;"><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.144205em;"><span style="top:-2.439795em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">2</span><span class="mspace mtight" style="margin-right:0.19516666666666668em;"></span><span class="mop mtight"><span class="mop mtight"><span class="mtight">c</span><span class="mtight">o</span><span class="mtight">s</span></span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:1.0717214285714287em;"><span style="top:-3.48775em;margin-right:0.07142857142857144em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mtight"><span class="mopen nulldelimiter sizing reset-size1 size6"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8175600000000001em;"><span style="top:-2.468em;"><span class="pstrut" style="height:3em;"></span><span class="mord mtight"><span class="mord mtight">2</span></span></span><span style="top:-3.2255000000000003em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line mtight" style="border-bottom-width:0.049em;"></span></span><span style="top:-3.387em;"><span class="pstrut" style="height:3em;"></span><span class="mord mtight"><span class="mord mathnormal mtight">u</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.532em;"><span></span></span></span></span></span><span class="mclose nulldelimiter sizing reset-size1 size6"></span></span></span></span></span></span></span></span></span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">2</span><span class="mspace mtight" style="margin-right:0.19516666666666668em;"></span><span class="mop mtight"><span class="mop mtight"><span class="mtight">s</span><span class="mtight">i</span><span class="mtight">n</span></span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:1.0717214285714287em;"><span style="top:-3.48775em;margin-right:0.07142857142857144em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mtight"><span class="mopen nulldelimiter sizing reset-size1 size6"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8175600000000001em;"><span style="top:-2.468em;"><span class="pstrut" style="height:3em;"></span><span class="mord mtight"><span class="mord mtight">2</span></span></span><span style="top:-3.2255000000000003em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line mtight" style="border-bottom-width:0.049em;"></span></span><span style="top:-3.387em;"><span class="pstrut" style="height:3em;"></span><span class="mord mtight"><span class="mord mathnormal mtight">u</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.532em;"><span></span></span></span></span></span><span class="mclose nulldelimiter sizing reset-size1 size6"></span></span></span></span></span></span></span></span></span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.5602050000000001em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span><span style="top:-3.2369999999999997em;"><span class="pstrut" style="height:3.8em;"></span><span class="hide-tail" style="min-width:1.02em;height:1.8800000000000001em;"><svg width='400em' height='1.8800000000000001em' viewBox='0 0 400000 1944' preserveAspectRatio='xMinYMin slice'><path d='M983 90l0 -0c4,-6.7,10,-10,18,-10 H400000v40H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5c53.7,-170.3,84.5,-266.8,92.5,-289.5zM1001 80h400000v40h-400000z'/></svg></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.5630000000000002em;"><span></span></span></span></span></span><span class="mclose"><span class="delimsizing mult"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.4799700000000002em;"><span style="top:-1.65598em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.25698em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.85798em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.87897em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-3.47997em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.9500199999999999em;"><span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mord mathnormal" style="margin-right:0.07153em;">C</span></span></span><span style="top:2.390869em;"><span class="pstrut" style="height:3.59em;"></span><span class="mord"><span class="mop">ln</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="minner"><span class="mopen"><span class="delimsizing mult"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8679800000000001em;"><span style="top:-2.2559899999999997em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.26698em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.86798em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.35000999999999993em;"><span></span></span></span></span></span></span><span class="mop">tan</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.695392em;"><span style="top:-2.6550000000000002em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">2</span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">u</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mclose"><span class="delimsizing mult"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8679800000000001em;"><span style="top:-2.2559899999999997em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.26698em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.86798em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.35000999999999993em;"><span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mord mathnormal" style="margin-right:0.07153em;">C</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:6.340869em;"><span></span></span></span></span></span><span class="arraycolsep" style="width:0.5em;"></span></span></span></span></span></span></span></p><p>这属于治标不治本的方法，所以在有时间的时候还是寻求根本的解决方法。</p><p>于是开始了满满的搜索之路，结果找到了三个方案，实际上是三个插件或者说是渲染器：</p><h2 class="tag-plugin quot" type="text" id="hexo-renderer-pandoc"><a href="#hexo-renderer-pandoc" class="headerlink" title="hexo-renderer-pandoc"></a>hexo-renderer-pandoc</h2><p>官网：<a href="https://pandoc.org/">https://pandoc.org/</a><br />npmjs：<a href="https://www.npmjs.com/package/hexo-renderer-pandoc">https://www.npmjs.com/package/hexo-renderer-pandoc</a><br />github：<a href="https://github.com/wzpan/hexo-renderer-pandoc">https://github.com/wzpan/hexo-renderer-pandoc</a></p><p>这个插件用过的人都说好，是一个不错的解决方案，使用时需要先卸载原生渲染器，再下载该插件：</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">npm uninstall hexo-renderer-marked --save</span><br><span class="line">npm install hexo-renderer-pandoc --save</span><br></pre></td></tr></table></figure><p>如果这时重新生成博客的话，一定会报错，原因是没有找到 <code>pandoc</code><br />啊，明明下载了插件为什么还会报错？因为它还需要 <code>pandoc</code> 软件本地支持。在本地没问题，安装一个最新版本的就可以，<a href="https://pandoc.org/installing.html#github-actions">获取本地软件-windows版</a>。如果要使用 <code>Githua Actions</code> 自动发布博客，那还需要为pandoc进行额外配置：<br />根据<a href="https://github.com/pandoc/pandoc-action-example">官方文档</a>，该配置如下：</p><figure class="highlight yml"><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></pre></td><td class="code"><pre><span class="line"><span class="attr">name:</span> <span class="string">Simple</span> <span class="string">Usage</span></span><br><span class="line"></span><br><span class="line"><span class="attr">on:</span> <span class="string">push</span></span><br><span class="line"></span><br><span class="line"><span class="attr">jobs:</span></span><br><span class="line">  <span class="attr">convert_via_pandoc:</span></span><br><span class="line">    <span class="attr">runs-on:</span> <span class="string">ubuntu-18.04</span></span><br><span class="line">    <span class="attr">steps:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">uses:</span> <span class="string">docker://pandoc/core:2.9</span></span><br><span class="line">        <span class="attr">with:</span></span><br><span class="line">          <span class="attr">args:</span> <span class="string">&quot;--help&quot;</span> <span class="comment"># gets appended to pandoc command</span></span><br></pre></td></tr></table></figure><p>这个 <code>Github Actions</code> 我没有试验，不过本地渲染效果确实还可以。</p><p><code>pandoc</code> 的优点显而易见，渲染效果好。缺点也很明显，部署麻烦，而且据搜索到的结果显示耗费资源多，加载缓慢。如果我目前使用的渲染器不行了之后，或许会回过头来研究 <code>pandoc</code>。</p><h2 class="tag-plugin quot" type="text" id="markdown-it-latex2img"><a href="#markdown-it-latex2img" class="headerlink" title="markdown-it-latex2img"></a>markdown-it-latex2img</h2><p>npmjs：<a href="https://www.npmjs.com/package/markdown-it-latex2img">https://www.npmjs.com/package/markdown-it-latex2img</a><br />github：<a href="https://github.com/MakerGYT/markdown-it-latex2img#hexo">https://github.com/MakerGYT/markdown-it-latex2img#hexo</a></p><p>严格意义上讲，它不是一个渲染器，而是一个渲染器的拓展：<br />它不使用原生渲染器，以及任何其他的渲染器，而是 <code>hexo-renderer-markdown-it</code>，安装：</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">npm i hexo-renderer-markdown-it --save</span><br><span class="line">npm i markdown-it-latex2img --save</span><br></pre></td></tr></table></figure><p>它是在服务器上工作的，可以成功渲染多行公式 <code>\begin&#123;align&#125; \end&#123;align&#125;</code>，但对于一些显然的内容却不能成功渲染: <code>\Alpha</code><br />从名字上也可以看出来，返回的公式是图片形式的。简短的，不占用篇幅的公式呈现效果没什么大问题，但是大片的公式图片就会随着页面的放缩而放缩，影响阅读效果。<br />另外，如果他的服务器坏掉了，公式图片也就呈现不了，搜索中发现有用户出现过这个问题。<br />在这里提供在 <code>_config.yml</code> 中的配置：</p><figure class="highlight yml"><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></pre></td><td class="code"><pre><span class="line"><span class="attr">markdown:</span></span><br><span class="line">  <span class="attr">plugins:</span></span><br><span class="line">    <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">markdown-it-latex2img</span></span><br><span class="line">      <span class="attr">options:</span></span><br><span class="line">        <span class="attr">style:</span> <span class="string">&#x27;filter: opacity(90%);transform:scale(0.85);vertical-align:middle;text-align:center;&#x27;</span></span><br></pre></td></tr></table></figure><h2 class="tag-plugin quot" type="text" id="hexo-renderer-markdown-it-plus"><a href="#hexo-renderer-markdown-it-plus" class="headerlink" title="hexo-renderer-markdown-it-plus"></a>hexo-renderer-markdown-it-plus</h2><p>github：<a href="https://github.com/KaTeX/KaTeX">https://github.com/KaTeX/KaTeX</a><br />官网：<a href="https://katex.org/docs/browser.html">https://katex.org/docs/browser.html</a></p><p>这是我目前正在使用的公式渲染器，十分优雅。但是会出现开篇所说的多行公式显示的问题。实际上，该问题的原因不在该渲染器，因为渲染效果是依靠引入的 <code>katex</code>。所以我把目光放在 <code>katex</code> 上。通过搜索，我发现 <a href="https://github.com/KaTeX/KaTeX/issues/445">Issue #445</a>，在当时（16年左右）以及后续相当长一段时间，<code>equation</code> 环境不被支持，同时不能支持的还有 <code>aligned</code>、<code>aligne</code> 等语法。而我引入的 <code>js</code> 和 <code>css</code> 是早期的版本（0.12版），当时并没有解决这一问题。现在我将其更换为目前最新的 0.16 版本，即可完美支持。示例如下：</p><p class='katex-block'><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.24999999999999992em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mo>∫</mo><mi>csc</mi><mo>⁡</mo><mi>u</mi><mi>d</mi><mi>u</mi></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mo>∫</mo><mfrac><mrow><mi>sin</mi><mo>⁡</mo><mi>u</mi></mrow><mrow><msup><mo><mi>sin</mi><mo>⁡</mo></mo><mn>2</mn></msup><mi>u</mi></mrow></mfrac><mi>d</mi><mi>u</mi><mo>=</mo><mo>−</mo><mo>∫</mo><mfrac><mrow><mi>d</mi><mo stretchy="false">(</mo><mi>cos</mi><mo>⁡</mo><mi>u</mi><mo stretchy="false">)</mo></mrow><mrow><mn>1</mn><mo>−</mo><msup><mo><mi>cos</mi><mo>⁡</mo></mo><mn>2</mn></msup><mi>u</mi></mrow></mfrac></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mo>−</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mo>∫</mo><mo stretchy="false">(</mo><mfrac><mn>1</mn><mrow><mn>1</mn><mo>−</mo><mi>cos</mi><mo>⁡</mo><mi>u</mi></mrow></mfrac><mo>+</mo><mfrac><mn>1</mn><mrow><mn>1</mn><mo>+</mo><mi>cos</mi><mo>⁡</mo><mi>u</mi></mrow></mfrac><mo stretchy="false">)</mo><mi>d</mi><mo stretchy="false">(</mo><mi>cos</mi><mo>⁡</mo><mi>u</mi><mo stretchy="false">)</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mo>−</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mo stretchy="false">[</mo><mo>−</mo><mi>ln</mi><mo>⁡</mo><mo stretchy="false">(</mo><mn>1</mn><mo>−</mo><mi>cos</mi><mo>⁡</mo><mi>u</mi><mo stretchy="false">)</mo><mo>+</mo><mi>ln</mi><mo>⁡</mo><mo stretchy="false">(</mo><mn>1</mn><mo>+</mo><mi>cos</mi><mo>⁡</mo><mi>u</mi><mo stretchy="false">)</mo><mo>+</mo><mi>C</mi><mo stretchy="false">]</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mi>ln</mi><mo>⁡</mo><mrow><mo fence="true">∣</mo><msqrt><mfrac><mrow><mn>1</mn><mo>−</mo><mi>cos</mi><mo>⁡</mo><mi>u</mi></mrow><mrow><mn>1</mn><mo>+</mo><mi>cos</mi><mo>⁡</mo><mi>u</mi></mrow></mfrac></msqrt><mo fence="true">∣</mo></mrow><mo>+</mo><mi>C</mi><mo>=</mo><mi>ln</mi><mo>⁡</mo><mrow><mo fence="true">∣</mo><msqrt><mfrac><mrow><mn>2</mn><msup><mo><mi>sin</mi><mo>⁡</mo></mo><mfrac><mi>u</mi><mn>2</mn></mfrac></msup></mrow><mrow><mn>2</mn><msup><mo><mi>cos</mi><mo>⁡</mo></mo><mfrac><mi>u</mi><mn>2</mn></mfrac></msup></mrow></mfrac></msqrt><mo fence="true">∣</mo></mrow><mo>+</mo><mi>C</mi></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mi>ln</mi><mo>⁡</mo><mrow><mo fence="true">∣</mo><mi>tan</mi><mo>⁡</mo><mfrac><mi>u</mi><mn>2</mn></mfrac><mo fence="true">∣</mo></mrow><mo>+</mo><mi>C</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{aligned}\int \csc udu &amp;= \int\cfrac{\sin u}{\sin^2 u}du=-\int\cfrac{d(\cos u)}{1-\cos^2 u}\\&amp;= -\frac{1}{2}\int(\cfrac{1}{1-\cos u}+\cfrac{1}{1+\cos u})d(\cos u)\\&amp;= -\frac{1}{2}[-\ln(1-\cos u)+\ln(1+\cos u)+C]\\&amp;= \ln\left|\sqrt{\frac{1-\cos u}{1+\cos u}}\right|+C=\ln\left|\sqrt{\frac{2\sin^ \frac{u}{2}}{2\cos^ \frac{u}{2}}}\right|+C\\&amp;= \ln\left|\tan\frac{u}{2}\right|+C\end{aligned}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:13.913905em;vertical-align:-6.7069525em;"></span><span class="mord"><span class="mtable"><span class="col-align-r"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:7.206952500000001em;"><span style="top:-9.7089125em;"><span class="pstrut" style="height:4.09196em;"></span><span class="mord"><span class="mop op-symbol large-op" style="margin-right:0.44445em;position:relative;top:-0.0011249999999999316em;">∫</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mop">csc</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span><span class="mord mathnormal">d</span><span class="mord mathnormal">u</span></span></span><span style="top:-6.956662500000001em;"><span class="pstrut" style="height:4.09196em;"></span><span class="mord"></span></span><span style="top:-4.472972500000001em;"><span class="pstrut" style="height:4.09196em;"></span><span class="mord"></span></span><span style="top:-1.3950125000000013em;"><span class="pstrut" style="height:4.09196em;"></span><span class="mord"></span></span><span style="top:1.6289924999999994em;"><span class="pstrut" style="height:4.09196em;"></span><span class="mord"></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:6.7069525em;"><span></span></span></span></span></span><span class="col-align-l"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:7.206952500000001em;"><span style="top:-9.7089125em;"><span class="pstrut" style="height:4.09196em;"></span><span class="mord"><span class="mord"></span><span class="mspace" style="margin-right:0.2777777777777778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2777777777777778em;"></span><span class="mop op-symbol large-op" style="margin-right:0.44445em;position:relative;top:-0.0011249999999999316em;">∫</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.5899999999999999em;"><span style="top:-2.2381320000000002em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mop"><span class="mop">sin</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.871868em;"><span style="top:-3.12076em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.74em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mop">sin</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.761868em;"><span></span></span></span></span></span><span></span></span><span class="mord mathnormal">d</span><span class="mord mathnormal">u</span><span class="mspace" style="margin-right:0.2777777777777778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2777777777777778em;"></span><span class="mord">−</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mop op-symbol large-op" style="margin-right:0.44445em;position:relative;top:-0.0011249999999999316em;">∫</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.5899999999999999em;"><span style="top:-2.314em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord">1</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mop"><span class="mop">cos</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.740108em;"><span style="top:-2.9890000000000003em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.74em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord mathnormal">d</span><span class="mopen">(</span><span class="mop">cos</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span><span class="mclose">)</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.7693300000000001em;"><span></span></span></span></span></span><span></span></span></span></span><span style="top:-6.956662500000001em;"><span class="pstrut" style="height:4.09196em;"></span><span class="mord"><span class="mord"></span><span class="mspace" style="margin-right:0.2777777777777778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2777777777777778em;"></span><span class="mord">−</span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.32144em;"><span style="top:-2.314em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord">2</span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.677em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.686em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mop op-symbol large-op" style="margin-right:0.44445em;position:relative;top:-0.0011249999999999316em;">∫</span><span class="mopen">(</span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.5899999999999999em;"><span style="top:-2.314em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord">1</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mop">cos</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.74em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.7693300000000001em;"><span></span></span></span></span></span><span></span></span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.5899999999999999em;"><span style="top:-2.314em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord">1</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mop">cos</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.74em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.7693300000000001em;"><span></span></span></span></span></span><span></span></span><span class="mclose">)</span><span class="mord mathnormal">d</span><span class="mopen">(</span><span class="mop">cos</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span><span class="mclose">)</span></span></span><span style="top:-4.472972500000001em;"><span class="pstrut" style="height:4.09196em;"></span><span class="mord"><span class="mord"></span><span class="mspace" style="margin-right:0.2777777777777778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2777777777777778em;"></span><span class="mord">−</span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.32144em;"><span style="top:-2.314em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord">2</span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.677em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.686em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mopen">[</span><span class="mord">−</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mop">ln</span><span class="mopen">(</span><span class="mord">1</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mop">cos</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mop">ln</span><span class="mopen">(</span><span class="mord">1</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mop">cos</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mord mathnormal" style="margin-right:0.07153em;">C</span><span class="mclose">]</span></span></span><span style="top:-1.3950125000000013em;"><span class="pstrut" style="height:4.09196em;"></span><span class="mord"><span class="mord"></span><span class="mspace" style="margin-right:0.2777777777777778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2777777777777778em;"></span><span class="mop">ln</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="minner"><span class="mopen"><span class="delimsizing mult"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.785965em;"><span style="top:-1.355975em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-1.956975em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.557975em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-3.158975em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-3.184965em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-3.785965em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.250025em;"><span></span></span></span></span></span></span><span class="mord sqrt"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.6099299999999999em;"><span class="svg-align" style="top:-4.4em;"><span class="pstrut" style="height:4.4em;"></span><span class="mord" style="padding-left:1em;"><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.32144em;"><span style="top:-2.314em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord">1</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mop">cos</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.677em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord">1</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mop">cos</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord mathnormal">u</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.7693300000000001em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span><span style="top:-3.5699300000000003em;"><span class="pstrut" style="height:4.4em;"></span><span class="hide-tail" style="min-width:1.02em;height:2.48em;"><svg width='400em' height='2.48em' viewBox='0 0 400000 2592' preserveAspectRatio='xMinYMin slice'><path d='M424,2478c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081l0 -0c4,-6.7,10,-10,18,-10 H400000v40H1014.6s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185c-2,6,-10,9,-24,9c-8,0,-12,-0.7,-12,-2z M1001 80h400000v40h-400000z'/></svg></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.8300700000000001em;"><span></span></span></span></span></span><span class="mclose"><span class="delimsizing mult"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.785965em;"><span style="top:-1.355975em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-1.956975em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.557975em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-3.158975em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-3.184965em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-3.785965em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.250025em;"><span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mord mathnormal" style="margin-right:0.07153em;">C</span><span class="mspace" style="margin-right:0.2777777777777778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2777777777777778em;"></span><span class="mop">ln</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="minner"><span class="mopen"><span class="delimsizing mult"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:2.0919600000000003em;"><span style="top:-1.05597em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-1.65697em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.2579700000000003em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.8589700000000002em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-3.45997em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-3.4909600000000003em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-4.09196em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.5500299999999998em;"><span></span></span></span></span></span></span><span class="mord sqrt"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:2.0634799999999998em;"><span class="svg-align" style="top:-5em;"><span class="pstrut" style="height:5em;"></span><span class="mord" style="padding-left:1em;"><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.5818400000000001em;"><span style="top:-2.27737em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord">2</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mop"><span class="mop">cos</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.83263em;"><span style="top:-3.3485500000000004em;margin-right:0.05em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mopen nulldelimiter sizing reset-size3 size6"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.6915428571428572em;"><span style="top:-2.656em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mtight"><span class="mord mtight">2</span></span></span></span><span style="top:-3.2255000000000003em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line mtight" style="border-bottom-width:0.049em;"></span></span><span style="top:-3.384em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">u</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.344em;"><span></span></span></span></span></span><span class="mclose nulldelimiter sizing reset-size3 size6"></span></span></span></span></span></span></span></span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.677em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord">2</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mop"><span class="mop">sin</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.9048400000000001em;"><span style="top:-3.42076em;margin-right:0.05em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mopen nulldelimiter sizing reset-size3 size6"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.6915428571428572em;"><span style="top:-2.656em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mtight"><span class="mord mtight">2</span></span></span></span><span style="top:-3.2255000000000003em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line mtight" style="border-bottom-width:0.049em;"></span></span><span style="top:-3.384em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">u</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.344em;"><span></span></span></span></span></span><span class="mclose nulldelimiter sizing reset-size3 size6"></span></span></span></span></span></span></span></span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.72263em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span><span style="top:-4.023479999999999em;"><span class="pstrut" style="height:5em;"></span><span class="hide-tail" style="min-width:1.02em;height:3.08em;"><svg width='400em' height='3.08em' viewBox='0 0 400000 3240' preserveAspectRatio='xMinYMin slice'><path d='M473,2793c339.3,-1799.3,509.3,-2700,510,-2702 l0 -0c3.3,-7.3,9.3,-11,18,-11 H400000v40H1017.7s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,606zM1001 80h400000v40H1017.7z'/></svg></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.9765200000000003em;"><span></span></span></span></span></span><span class="mclose"><span class="delimsizing mult"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:2.0919600000000003em;"><span style="top:-1.05597em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-1.65697em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.2579700000000003em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.8589700000000002em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-3.45997em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-3.4909600000000003em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-4.09196em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.5500299999999998em;"><span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mord mathnormal" style="margin-right:0.07153em;">C</span></span></span><span style="top:1.6289924999999994em;"><span class="pstrut" style="height:4.09196em;"></span><span class="mord"><span class="mord"></span><span class="mspace" style="margin-right:0.2777777777777778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2777777777777778em;"></span><span class="mop">ln</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="minner"><span class="mopen"><span class="delimsizing mult"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.173975em;"><span style="top:-1.955985em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.556985em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.572975em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-3.173975em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.6500149999999999em;"><span></span></span></span></span></span></span><span class="mop">tan</span><span class="mspace" style="margin-right:0.16666666666666666em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.10756em;"><span style="top:-2.314em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord">2</span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.677em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord mathnormal">u</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.686em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mclose"><span class="delimsizing mult"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.173975em;"><span style="top:-1.955985em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.556985em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-2.572975em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span><span style="top:-3.173975em;"><span class="pstrut" style="height:2.606em;"></span><span class="delimsizinginner delim-size1"><span>∣</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.6500149999999999em;"><span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mord mathnormal" style="margin-right:0.07153em;">C</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:6.7069525em;"><span></span></span></span></span></span></span></span></span></span></span></span></p><p class='katex-block katex-error' title='ParseError: KaTeX parse error: No such environment: align at position 7: \begin{̲a̲l̲i̲g̲n̲}̲f(x)&amp;=(m+n)^2\…'>\begin{align}f(x)&amp;=(m+n)^2\\&amp;=m^2+2mn+n^2\\ \end{align}</p><p class='katex-block katex-error' title='ParseError: KaTeX parse error: No such environment: alignat at position 7: \begin{̲a̲l̲i̲g̲n̲a̲t̲}̲{2}f(x) &amp; = (m…'>\begin{alignat}{2}f(x) &amp; = (m-n)^2 \\f(x) &amp; = (-m+n)^2 \\&amp; = m^2-2mn+n^2 \\\end{alignat}</p><p>代码如下：</p><figure class="highlight plaintext"><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></pre></td><td class="code"><pre><span class="line">$$</span><br><span class="line">\begin&#123;aligned&#125;</span><br><span class="line">\int \csc udu &amp;= \int\cfrac&#123;\sin u&#125;&#123;\sin^2 u&#125;du=-\int\cfrac&#123;d(\cos u)&#125;&#123;1-\cos^2 u&#125;\\</span><br><span class="line">&amp;= -\frac&#123;1&#125;&#123;2&#125;\int(\cfrac&#123;1&#125;&#123;1-\cos u&#125;+\cfrac&#123;1&#125;&#123;1+\cos u&#125;)d(\cos u)\\</span><br><span class="line">&amp;= -\frac&#123;1&#125;&#123;2&#125;[-\ln(1-\cos u)+\ln(1+\cos u)+C]\\</span><br><span class="line">&amp;= \ln\left|\sqrt&#123;\frac&#123;1-\cos u&#125;&#123;1+\cos u&#125;&#125;\right|+C=\ln\left|\sqrt&#123;\frac&#123;2\sin^ \frac&#123;u&#125;&#123;2&#125;&#125;&#123;2\cos^ \frac&#123;u&#125;&#123;2&#125;&#125;&#125;\right|+C\\</span><br><span class="line">&amp;= \ln\left|\tan\frac&#123;u&#125;&#123;2&#125;\right|+C</span><br><span class="line">\end&#123;aligned&#125;</span><br><span class="line">$$</span><br><span class="line"></span><br><span class="line">$$</span><br><span class="line">\begin&#123;align&#125;</span><br><span class="line">f(x)&amp;=(m+n)^2\\</span><br><span class="line">&amp;=m^2+2mn+n^2\\ </span><br><span class="line">\end&#123;align&#125;</span><br><span class="line">$$</span><br><span class="line"></span><br><span class="line">$$</span><br><span class="line">\begin&#123;alignat&#125;&#123;2&#125;</span><br><span class="line">f(x) &amp; = (m-n)^2 \\</span><br><span class="line">f(x) &amp; = (-m+n)^2 \\</span><br><span class="line">&amp; = m^2-2mn+n^2 \\</span><br><span class="line">\end&#123;alignat&#125;</span><br><span class="line">$$</span><br></pre></td></tr></table></figure><p>这里提供最新的引入内容：</p><figure class="highlight yml"><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></pre></td><td class="code"><pre><span class="line"><span class="string">&lt;link</span> <span class="string">rel=&quot;stylesheet&quot;</span> <span class="string">href=&quot;https://fastly.jsdelivr.net/npm/katex@0.16.0/dist/katex.min.css&quot;</span> <span class="string">integrity=&quot;sha384-Xi8rHCmBmhbuyyhbI88391ZKP2dmfnOl4rT9ZfRI7mLTdk1wblIUnrIq35nqwEvC&quot;</span> <span class="string">crossorigin=&quot;anonymous&quot;&gt;</span></span><br><span class="line"></span><br><span class="line"><span class="string">&lt;!--</span> <span class="string">The</span> <span class="string">loading</span> <span class="string">of</span> <span class="string">KaTeX</span> <span class="string">is</span> <span class="string">deferred</span> <span class="string">to</span> <span class="string">speed</span> <span class="string">up</span> <span class="string">page</span> <span class="string">rendering</span> <span class="string">--&gt;</span></span><br><span class="line"><span class="string">&lt;script</span> <span class="string">defer</span> <span class="string">src=&quot;https://fastly.jsdelivr.net/npm/katex@0.16.0/dist/katex.min.js&quot;</span> <span class="string">integrity=&quot;sha384-X/XCfMm41VSsqRNQgDerQczD69XqmjOOOwYQvr/uuC+j4OPoNhVgjdGFwhvN02Ja&quot;</span> <span class="string">crossorigin=&quot;anonymous&quot;&gt;&lt;/script&gt;</span></span><br><span class="line"></span><br><span class="line"><span class="string">&lt;!--</span> <span class="string">To</span> <span class="string">automatically</span> <span class="string">render</span> <span class="string">math</span> <span class="string">in</span> <span class="string">text</span> <span class="string">elements,</span> <span class="attr">include the auto-render extension:</span> <span class="string">--&gt;</span></span><br><span class="line"><span class="string">&lt;script</span> <span class="string">defer</span> <span class="string">src=&quot;https://fastly.jsdelivr.net/npm/katex@0.16.0/dist/contrib/auto-render.min.js&quot;</span> <span class="string">integrity=&quot;sha384-+XBljXPPiv+OzfbB3cVmLHf4hdUFHlWNZN5spNQ7rmHTXpd7WvJum6fIACpNNfIR&quot;</span> <span class="string">crossorigin=&quot;anonymous&quot;onload=&quot;renderMathInElement(document.body);&quot;&gt;&lt;/script&gt;</span></span><br></pre></td></tr></table></figure><p>最后补充一点，<code>hexo-renderer-markdown-it-plus</code> 是 <code>hexo-renderer-markdown-it</code> 的升级版，渲染速度更快，同时也具备增加各类插件的功能。这里需要提到 <code>markdown-it-katex</code> 这个插件，它实际上是对 <code>katex</code> 的支持。但我不建议使用，原因在于它很久没有维护了，也就无法更新 <code>katex</code> 的最新特性，而且它也要额外引入 <code>katex</code> 的 <code>.css</code> 文件，所以为何不直接引用 <code>katex</code> 的 <code>js</code> 与 <code>css</code>呢？</p>]]></content>
    
    
    <summary type="html">&lt;p&gt;  Hexo 公式显示问题苦天下久矣。&lt;/p&gt;</summary>
    
    
    
    <category term="博客折腾" scheme="https://www.hermitlsr.top/blog/categories/%E5%8D%9A%E5%AE%A2%E6%8A%98%E8%85%BE/"/>
    
    
    <category term="Hexo" scheme="https://www.hermitlsr.top/blog/tags/Hexo/"/>
    
    <category term="Katex" scheme="https://www.hermitlsr.top/blog/tags/Katex/"/>
    
  </entry>
  
  <entry>
    <title>BBer：哔哔点啥-配置记录</title>
    <link href="https://www.hermitlsr.top/2022-01-19/%E5%93%94%E5%93%94%E7%82%B9%E5%95%A5-%E9%85%8D%E7%BD%AE%E8%AE%B0%E5%BD%95/"/>
    <id>https://www.hermitlsr.top/2022-01-19/%E5%93%94%E5%93%94%E7%82%B9%E5%95%A5-%E9%85%8D%E7%BD%AE%E8%AE%B0%E5%BD%95/</id>
    <published>2022-01-19T08:54:32.000Z</published>
    <updated>2022-01-19T08:54:32.000Z</updated>
    
    <content type="html"><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="/assets/css/APlayer.min.css"><script src="/assets/js/APlayer.min.js" class="aplayer-secondary-script-marker"></script><script class="meting-secondary-script-marker" src="/assets/js/Meting.min.js"></script><p>   配置 <code>哔哔点啥</code> 的记录和踩坑，前部分是哔哔发展历程，后部分是 哔哔点啥2.0 配置</p><span id="more"></span><div class="tag-plugin note" ><div class="title"><strong>red</strong></div><div class="body"><p>bbtalk 已死，使用 bbtalk 需要云开发的触发事件功能，而这一功能仅支持按量计费，一月二十，腾讯云抢钱了。</p></div></div><h2 id="1-哔哔发展历程"><a class="markdownIt-Anchor" href="#1-哔哔发展历程"></a> 1 哔哔发展历程</h2><h3 id="artitalkjs"><a class="markdownIt-Anchor" href="#artitalkjs"></a> <a href="https://artitalk.js.org/">Artitalk.js</a></h3><p>这个应该是比较早的 <code>说说</code> 了，基于 <code>LeanCloud</code>，很多博客都集成了这个说说功能，可以说是现在说说的开山？</p><p>a. 基本功能具备：<br />支持增删查改，支持对每条说说的评论，支持 Markdown、html语法，支持图片上传。</p><p>b. 配置方便灵活：<br />后端 leancloud 配置过程简单，前端就是一般的 <code>html</code> 几乎可用于任何框架。</p><p>c. 安全性一般：</p><blockquote><p>由于 leancloud 的机制，应用的 Appid 以及 Appkey 均会暴漏在前端，可能会遭受到其他人的恶意攻击。 如果你在担心这个问题，你可以使用 Artitalk_SafeMode。</p></blockquote><p>问题是，每次发布说说需要打开博客说说页面登录，发布一条说说和发布一个评论差不多，比较麻烦。</p><h3 id="bbtalk"><a class="markdownIt-Anchor" href="#bbtalk"></a> <a href="https://bb.js.org/">BBtalk</a></h3><p>该说说，由 <code>heson</code> 大佬开发，最开始在其博客连载开发过程。</p><p>开发历程可见大佬博客 ：<a href="https://www.heson10.com/categories/hexo/%E5%93%94%E5%93%94/">黑石博客分类“哔哔”下的文章</a></p><p>其起源于 熊野大佬 的 <a href="https://bearye.cn/archives/488">哔哔点啥，换个舒服的姿势</a> ，基于静态存储+云函数+微信公众号开发</p><p>黑石大佬将其适配了多个主题，并开发了 <code>Hexo-bb</code> 插件，可以方便的在任何一个主题使用，后端依然使用 <code>leancloud</code> ，支持微信公众号发文。</p><h3 id="bber哔哔点啥-微信公众号-20"><a class="markdownIt-Anchor" href="#bber哔哔点啥-微信公众号-20"></a> <a href="https://immmmm.com/bb-by-wechat-pro/#%e9%99%84%e8%b5%a01-alfred-workflow">BBer：哔哔点啥 微信公众号 2.0</a></h3><p>这是 熊野大佬 哔哔点啥的升级版，由 林帅 开发，看博客评论都叫他木老师，事实上第一版的公众号发文也是放到了木老师的公众号上。</p><p>所以，实际上，<code>BBtalk</code> 和 <code>BBer</code> 是同源的，都是来自 <code>熊野大佬</code> 的版本。</p><p>2.0 和 1.0 的主要区别在于，使用的后端平台由 <code>LeandCLoud</code> 变化为 <code>腾讯 CLoudBase</code>，公众号支持由单用户扩展为多用户。</p><p>说说可以通过微信公众号发布（看文章封面图，就是那个公众号），目前已支持用户名绑定、解绑、发文字、发图片、追加、合并、删除、替换文字，还有显示哔哔列表、哔哔搜索！<br />目前支持的命令如下：</p><figure class="highlight plaintext"><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></pre></td><td class="code"><pre><span class="line">「哔哔秘笈」</span><br><span class="line">==================</span><br><span class="line">/l - 显示最近哔哔</span><br><span class="line">/s 关键词 - 搜索内容</span><br><span class="line">---------------</span><br><span class="line">/a 文字 - 追加文字到第1条</span><br><span class="line">/a数字 文字 - 追加文字到第几条，如 /a2 文字</span><br><span class="line">---------------</span><br><span class="line">/c - 合并前2条</span><br><span class="line">/c数字 - 合并前几条，如 /c3</span><br><span class="line">---------------</span><br><span class="line">/d - 删除第1条</span><br><span class="line">/d数字 - 删除第几条，如 /d2</span><br><span class="line">---------------</span><br><span class="line">/e 文字- 编辑替换第1条</span><br><span class="line">/e数字 文字 - 编辑替换第几条，如 /e2 文字</span><br><span class="line">---------------</span><br><span class="line">/f数字 - 批量删除前几条，如 /f2</span><br><span class="line">---------------</span><br><span class="line">/nobber - 解除绑定</span><br></pre></td></tr></table></figure><p>同时 2.0 提供了 <code>BBer-weixin</code> 微信公众号的后端配置，可以完全把所有数据掌握在自己手里【用自己的公众号】</p><p>另外，有不少大佬给 <code>BBer</code> 扩展了功能，主要是前端部分以及发布方式<br />小康大佬 提供了美化的前端页面 和 浏览器扩展插件发布说说<br />Guo Le 在此基础上，加入了歌曲分享支持，对浏览器插件，不同浏览器设置不同的 <code>from</code> 源<br />同时由于 BBer 的发布接口简洁，可以通过 <code>ios</code> 快捷指令发布，android 也有 apk 支持。</p><p>所以本站选择了功能丰富的 <code>哔哔点啥 2.0</code>。</p><h2 id="2-哔哔点啥-后端配置"><a class="markdownIt-Anchor" href="#2-哔哔点啥-后端配置"></a> 2 哔哔点啥-后端配置</h2><p>这部分主要是原作者教程的搬运：<a href="https://immmmm.com/bb-by-wechat-pro/#%e9%99%84%e8%b5%a01-alfred-workflow">BBer：哔哔点啥 微信公众号 2.0</a> ，但更详细了些。<br />原作者提供了腾讯云开发一键部署，但是其支持按量计费，不太经济。个人建议，手动部署就好了，麻烦是麻烦了点，但是有本文的帮助，相信一定不会有问题。<br />配置的时候最好手机在身边，需要多次扫码验证身份。</p><p>默认大家都有腾讯云的账号，我是在一开始建站的时候就用的腾讯云，没有的话先注册一个。</p><h3 id="21-创建应用"><a class="markdownIt-Anchor" href="#21-创建应用"></a> 2.1 创建应用</h3><h4 id="211-新建环境"><a class="markdownIt-Anchor" href="#211-新建环境"></a> 2.1.1 <a href="https://console.cloud.tencent.com/tcb/">新建环境</a></h4><p>这里，选择空模板进入下一步，环境名称自由填写，推荐选择计费方式包年包月，实际上按小站的访问量和发说说的次数， <mark class="tag-plugin mark" color="blue">免费版</mark> 就够用了，不放心的话就采用基础版套餐1，先买个一个月，选择环境到期后自动降为免费版，到时候根据实际使用情况进行续费或者继续使用免费版。<br />唯一值得注意的是，建议创建上海环境，否则在前端页面配置时要指定 <code>region: “ap-guangzhou”</code></p><table margin:auto><tr><td><div class="tag-plugin image"><div class="image-bg"><img src="https://cdn.hermitlsr.top/images/post/bber/20220119184545.png!watermark" alt="[2.1.1 新建环境 1]" fancybox="true"/></div><div class="image-meta"><span class="image-caption center">[2.1.1 新建环境 1]</span></div></div></td><td><div class="tag-plugin image"><div class="image-bg"><img src="https://cdn.hermitlsr.top/images/post/bber/20220119184650.png!watermark" alt="[2.1.1 新建环境 2]" fancybox="true"/></div><div class="image-meta"><span class="image-caption center">[2.1.1 新建环境 2]</span></div></div></td><td><div class="tag-plugin image"><div class="image-bg"><img src="https://cdn.hermitlsr.top/images/post/bber/20220119184714.png!watermark" alt="[2.1.1 新建环境 3]" fancybox="true"/></div><div class="image-meta"><span class="image-caption center">[2.1.1 新建环境 3]</span></div></div></td></tr></table><h4 id="212-环境-登录授权"><a class="markdownIt-Anchor" href="#212-环境-登录授权"></a> 2.1.2 <a href="https://console.cloud.tencent.com/tcb/env/login">环境-登录授权</a></h4><p>选择 “匿名登录”</p><div class="tag-plugin image"><div class="image-bg"><img src="https://cdn.hermitlsr.top/images/post/bber/20220119190000.png!watermark" fancybox="true"/></div></div><h4 id="213-环境-安全配置"><a class="markdownIt-Anchor" href="#213-环境-安全配置"></a> 2.1.3 <a href="https://console.cloud.tencent.com/tcb/env/safety">环境-安全配置</a></h4><p>将你要使用哔哔页面的个人网站域名添加到 “WEB安全域名”<br />最好将你平时本地调试用的 <code>localhost:</code> 也添加进去，例如 <code>hexo</code> 本地发布默认 <code>localhost:4000</code></p><table margin:auto><tr><td><div class="tag-plugin image"><div class="image-bg"><img src="https://cdn.hermitlsr.top/images/post/bber/20220119190450.png!watermark" alt="[2.1.3 环境-安全配置 1]" fancybox="true"/></div><div class="image-meta"><span class="image-caption center">[2.1.3 环境-安全配置 1]</span></div></div></td><td><div class="tag-plugin image"><div class="image-bg"><img src="https://cdn.hermitlsr.top/images/post/bber/20220119190540.png!watermark" alt="[2.1.3 环境-安全配置 2]" fancybox="true"/></div><div class="image-meta"><span class="image-caption center">[2.1.3 环境-安全配置 2]</span></div></div></td></tr></table><h4 id="214-新建数据集合"><a class="markdownIt-Anchor" href="#214-新建数据集合"></a> 2.1.4 <a href="https://console.cloud.tencent.com/tcb/db/">新建数据集合</a></h4><p>进入数据库，新建数据集合，命名为 <code>talks</code><br />点击创建好的数据集合 <code>talks</code> ➡ 点击 <code>权限设置</code> ➡ 权限设置为 “所有用户可读，仅管理员可写”</p><table margin:auto><tr><td><div class="tag-plugin image"><div class="image-bg"><img src="https://cdn.hermitlsr.top/images/post/bber/20220119190930.png!watermark" alt="[2.1.4 新建数据集合 1]" fancybox="true"/></div><div class="image-meta"><span class="image-caption center">[2.1.4 新建数据集合 1]</span></div></div></td><td><div class="tag-plugin image"><div class="image-bg"><img src="https://cdn.hermitlsr.top/images/post/bber/20220119191027.png!watermark" alt="[2.1.4 新建数据集合 2]" fancybox="true"/></div><div class="image-meta"><span class="image-caption center">[2.1.4 新建数据集合 2]</span></div></div></td></tr></table>第一个坑来了：点击文档列表 ➡ 点击添加文档 字段设置为 `content` 值设置 为任意文本。这一步是为了避免数据库中没有记录导致微信发布时写入失败，前人遇到的贼大的一个坑，直接在创建的时候解决。<div class="tag-plugin image"><div class="image-bg"><img src="https://cdn.hermitlsr.top/images/post/bber/20220119200323.png!watermark" fancybox="true"/></div></div><h3 id="22-云函数部署"><a class="markdownIt-Anchor" href="#22-云函数部署"></a> 2.2 云函数部署</h3><h4 id="221-新建云函数"><a class="markdownIt-Anchor" href="#221-新建云函数"></a> 2.2.1 <a href="https://console.cloud.tencent.com/tcb/scf/index">新建云函数</a></h4><ol><li>点击侧边栏 基础服务-云函数 ➡ 点击新建云函数 ➡ 运行环境选择 <code>Nodejs 10.15</code> ➡ 函数名称设置 <code>bber</code> （可自定义）</li><li>点击下一步 ➡ 描述部分随意，函数代码部分 复制 <a href="https://github.com/lmm214/bber/blob/main/bber/index.js">index.js</a> 代码到函数代码框中，点确定。</li><li>点击创建好的 <code>bber</code> ， 点击函数代码，右键新建文件 <code>package.json</code> 文件</li><li>复制 <a href="https://github.com/lmm214/bber/blob/main/bber/package.json">package.json</a> 代码丢入 <code>package.json</code>，点击 <code>保存并安装依赖</code>。<br />成功后，文件目录会出现 <code>node_modules</code> 文件夹</li></ol><table margin:auto><tr><td><div class="tag-plugin image"><div class="image-bg"><img src="https://cdn.hermitlsr.top/images/post/bber/20220119192915.png!watermark" alt="[2.2.1 新建云函数 1]" fancybox="true"/></div><div class="image-meta"><span class="image-caption center">[2.2.1 新建云函数 1]</span></div></div></td><td><div class="tag-plugin image"><div class="image-bg"><img src="https://cdn.hermitlsr.top/images/post/bber/20220119192854.png!watermark" alt="[2.2.1 新建云函数 2]" fancybox="true"/></div><div class="image-meta"><span class="image-caption center">[2.2.1 新建云函数 2]</span></div></div></td><td><div class="tag-plugin image"><div class="image-bg"><img src="https://cdn.hermitlsr.top/images/post/bber/20220119193201.png!watermark" alt="[2.2.1 新建云函数 3]" fancybox="true"/></div><div class="image-meta"><span class="image-caption center">[2.2.1 新建云函数 3]</span></div></div></td><td><div class="tag-plugin image"><div class="image-bg"><img src="https://cdn.hermitlsr.top/images/post/bber/20220119193340.png!watermark" alt="[2.2.1 新建云函数 4]" fancybox="true"/></div><div class="image-meta"><span class="image-caption center">[2.2.1 新建云函数 4]</span></div></div></td></tr></table><div class="tag-plugin note" color="red"><div class="body"><p>这里需要注意的是，目前云开发的运行环境 默认是 <code>Nodejs 12.16</code> 但作者采用的是 <code>Nodejs 10.15</code><br />此处是否采用最新的运行环境没啥影响，但是在微信公众号配置的时候却是一个大坑，建议遵循作者的运行环境。</p></div></div><h4 id="222-环境-访问服务"><a class="markdownIt-Anchor" href="#222-环境-访问服务"></a> 2.2.2 <a href="https://console.cloud.tencent.com/tcb/env/access">环境-访问服务</a></h4><p>新建，路径与云函数名匹配。</p><div class="tag-plugin image"><div class="image-bg"><img src="https://cdn.hermitlsr.top/images/post/bber/20220119195114.png!watermark" fancybox="true"/></div></div><p>大概需要3-5分钟时间创建，创建好之后，点击触发路径或在浏览器中输入</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">https://你后台显示的.ap-shanghai.app.tcloudbase.com/bber</span><br></pre></td></tr></table></figure><p>会出现 <code>&#123;&quot;content&quot;:&quot;key不匹配&quot;&#125;</code> 则说明配置好了</p><div class="tag-plugin note" color="red"><div class="title"><strong>原文提到</strong></div><div class="body"><p>！！！注意：第一时间修改云函数中 bber 这个预设的「自定义apikey」！！！</p></div></div><p>这里说的 <code>apikey</code> 在云函数 <code>index.js</code> 的第8行，<code>const serverkey = 'bber'</code>，将其改为你自定义的 key 值，避免别人拿到你的信息绑定之后乱搞。</p><p>配置到这个地方，就可以绑定微信公众号发说说，可以直接使用作者的公众号【见封面，或者搜索哔哔点啥】<br />发送如下即可绑定成功</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">/bber key值,https://你的云函数HTTP访问地址/bber</span><br></pre></td></tr></table></figure><p>key 值为你自定义的 <code>const serverkey</code>，<br /><code>https://你的云函数HTTP访问地址/bber</code> 为你的触发路径<br />绑定成功后就可以发送哔哔了，数据都会储存在 前面创建的 <code>talks</code> 中。</p><div class="tag-plugin note" color="red"><div class="title"><strong>额外的建议</strong></div><div class="body"><p>这里建议自定义一个域名代替原有的 <code>××××××.ap-shanghai.app.tcloudbase.com</code> 格式的默认域名，避免有的时候微信屏蔽</p></div></div><h2 id="3-哔哔点啥-前端配置"><a class="markdownIt-Anchor" href="#3-哔哔点啥-前端配置"></a> 3 哔哔点啥-前端配置</h2><p>虽然目前后端可以接收到数据，并存储数据，但是，还是需要在页面呈现<br />这里可以直接使用小康大佬的美化 <a href="https://www.antmoe.com/posts/7ec820ee/">给 bber 换个皮肤</a> 、<a href="https://gitlab.com/DreamyTZK/ispeak-bber">ispeak-bber</a> ：</p><figure class="highlight html"><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></pre></td><td class="code"><pre><span class="line"><span class="tag">&lt;<span class="name">div</span> <span class="attr">id</span>=<span class="string">&#x27;speak&#x27;</span>&gt;</span><span class="tag">&lt;/<span class="name">speak</span>&gt;</span></span><br><span class="line"><span class="comment">&lt;!-- 使用markdown渲染 --&gt;</span></span><br><span class="line"><span class="comment">&lt;!-- &lt;script type=&quot;text/javascript&quot; src=&quot;https://cdn.jsdelivr.net/npm/ispeak-bber/ispeak-bber-md.min.js&quot; charset=&quot;utf-8&quot; &gt;&lt;/script&gt; --&gt;</span></span><br><span class="line"><span class="comment">&lt;!-- 不使用markdown渲染 --&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">script</span> <span class="attr">type</span>=<span class="string">&quot;text/javascript&quot;</span> <span class="attr">src</span>=<span class="string">&quot;https://cdn.jsdelivr.net/npm/ispeak-bber/ispeak-bber.min.js&quot;</span> <span class="attr">charset</span>=<span class="string">&quot;utf-8&quot;</span> &gt;</span><span class="tag">&lt;/<span class="name">script</span>&gt;</span></span><br><span class="line"><span class="comment">&lt;!-- 解析微信表情（参考：https://github.com/buddys/qq-wechat-emotion-parser） --&gt;</span></span><br><span class="line"><span class="comment">&lt;!-- &lt;script src=&quot;https://cdn.jsdelivr.net/gh/buddys/qq-wechat-emotion-parser@master/dist/qq-wechat-emotion-parser.min.js&quot;&gt;&lt;/script&gt; --&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">script</span>&gt;</span><span class="language-javascript"></span></span><br><span class="line"><span class="language-javascript">ispeakBber</span></span><br><span class="line"><span class="language-javascript">    .<span class="title function_">init</span>(&#123;</span></span><br><span class="line"><span class="language-javascript">      <span class="attr">el</span>: <span class="string">&#x27;#speak&#x27;</span>, <span class="comment">// 容器选择器</span></span></span><br><span class="line"><span class="language-javascript">      <span class="attr">name</span>: <span class="string">&#x27;DreamyTZK 🦄&#x27;</span>, <span class="comment">// 显示的昵称</span></span></span><br><span class="line"><span class="language-javascript">      <span class="attr">envId</span>: <span class="string">&#x27;腾讯云开发环境id&#x27;</span>, <span class="comment">// 环境id</span></span></span><br><span class="line"><span class="language-javascript">      <span class="attr">region</span>: <span class="string">&#x27;ap-shanghai&#x27;</span>, <span class="comment">// 腾讯云地址，默认为上海</span></span></span><br><span class="line"><span class="language-javascript">      <span class="attr">limit</span>: <span class="number">10</span>, <span class="comment">// 每次加载的条数，默认为5</span></span></span><br><span class="line"><span class="language-javascript">      <span class="attr">avatar</span>: <span class="string">&#x27;https://cdn.jsdelivr.net/npm/kang-static@latest/avatar.jpg&#x27;</span>,</span></span><br><span class="line"><span class="language-javascript">      <span class="attr">fromColor</span>:<span class="string">&#x27;rgb(245, 150, 170)&#x27;</span>, <span class="comment">// 下方标签背景颜色 默认 rgb(245, 150, 170)</span></span></span><br><span class="line"><span class="language-javascript">      <span class="attr">loadingImg</span>: <span class="string">&#x27;https://7.dusays.com/2021/03/04/d2d5e983e2961.gif&#x27;</span>, <span class="comment">// 自定义loading的图片，示例值为默认值</span></span></span><br><span class="line"><span class="language-javascript">      <span class="attr">dbName</span>:<span class="string">&#x27;talks&#x27;</span> <span class="comment">// 数据的名称，默认talks，避免有人的命名不是这个，所以加入此配置字段。</span></span></span><br><span class="line"><span class="language-javascript">    &#125;)</span></span><br><span class="line"><span class="language-javascript">    .<span class="title function_">then</span>(<span class="keyword">function</span>(<span class="params"></span>) &#123;</span></span><br><span class="line"><span class="language-javascript">      <span class="comment">// 哔哔加载完成后的回调函数，你可以写你自己的功能</span></span></span><br><span class="line"><span class="language-javascript">      <span class="variable language_">console</span>.<span class="title function_">log</span>(<span class="string">&#x27;哔哔 加载完成&#x27;</span>)</span></span><br><span class="line"><span class="language-javascript">    &#125;)</span></span><br><span class="line"><span class="language-javascript"></span><span class="tag">&lt;/<span class="name">script</span>&gt;</span></span><br></pre></td></tr></table></figure><p>如果需要支持歌曲分享，请看：<a href="https://guole.fun/posts/34234/">ispeak-bber 前端美化增强版，支持歌曲分享</a></p><p>目前我的说说页面，说说总量的计算是没有显示的，这个问题有待研究。</p><p>具体到每个主题的配置要看每个主题的页面情况，大体都是新建 <code>index.md</code> 文件，将其直接复制进去就可以了。<br />stellar 适配：<a href="http://www.hermitlsr.top/2022-01-19/%E5%93%94%E5%93%94%E7%82%B9%E5%95%A5-%E9%85%8D%E7%BD%AE%E8%AE%B0%E5%BD%95/#4-%E5%89%8D%E7%AB%AF%E9%A1%B5%E9%9D%A2%E7%9A%84-stellar-%E4%B8%BB%E9%A2%98%E9%80%82%E9%85%8D">可见本文下方:前端页面的-stellar-主题适配</a><br />Butterfly 适配：<a href="https://blog.zhheo.com/p/a6947667.html">Hexo-Butterfly说说朋友圈适配（哔哔 for 腾讯云）自用</a></p><h2 id="4-哔哔点啥-微信公众号配置"><a class="markdownIt-Anchor" href="#4-哔哔点啥-微信公众号配置"></a> 4 哔哔点啥-微信公众号配置</h2><p>这个配置因人而异，嫌麻烦可以直接用原作者的微信公众号，但是我希望将所有数据放在自己手里，所以用自己的公众号<br />这里的公众号个人的就可以，新注册的就行，没什么别的要求。</p><h3 id="41-新建云函数"><a class="markdownIt-Anchor" href="#41-新建云函数"></a> 4.1 <a href="https://console.cloud.tencent.com/tcb/scf/index">新建云函数</a></h3><p>参考前面 哔哔点啥后端的配置过程。</p><p>创建云函数的时候一定记得修改运行环境为：<code>Nodejs 10.15</code><br />如果使用默认的 <code>Nodejs 12.16</code> 需要将 <code>package.json</code> 中的 <code>&quot;type&quot;: &quot;module&quot;,</code> 删掉<br />原因在于作者发布的教程的这段时间里，<code>ES Module</code> 的版本迭代，一开始不再支持 <code>require</code> 而采用 <code>import</code>，除非在 <code>package.json</code> 中加入 <code>&quot;type&quot;: &quot;module&quot;,</code>。而最新版的 <code>js</code> 好像又解决了这个问题，不需要加入 <code>&quot;type&quot;: &quot;module&quot;,</code>，加入了反而会报错。</p><p>云函数命名为 <code>bber-weixin</code><br /><code>index.js</code> 和 <code>package.json</code> 来自于 <a href="https://github.com/lmm214/bber-weixin/tree/main/bber-weixin">https://github.com/lmm214/bber-weixin/tree/main/bber-weixin</a></p><h3 id="42-获取公网-ip"><a class="markdownIt-Anchor" href="#42-获取公网-ip"></a> 4.2 获取公网 Ip</h3><p>点击 <a href="https://console.cloud.tencent.com/tcb/scf/index">bber-weixin</a> 云函数，右上角 <strong>【编辑】</strong>，开启 <strong>【固定IP】</strong>，留存 <strong>公网固定IP</strong>。</p><table margin:auto><tr><td><div class="tag-plugin image"><div class="image-bg"><img src="https://cdn.hermitlsr.top/images/post/bber/20220119205230.png!watermark" alt="[4.2 获取公网 Ip 1]" fancybox="true"/></div><div class="image-meta"><span class="image-caption center">[4.2 获取公网 Ip 1]</span></div></div></td><td><div class="tag-plugin image"><div class="image-bg"><img src="https://cdn.hermitlsr.top/images/post/bber/20220119205354.png!watermark" alt="[4.2 获取公网 Ip 2]" fancybox="true"/></div><div class="image-meta"><span class="image-caption center">[4.2 获取公网 Ip 2]</span></div></div></td></tr></table><p>保存成功后，固定 IP 那里会出现一个 IP 地址，留存这个地址备用。</p><h3 id="43-新建数据集合"><a class="markdownIt-Anchor" href="#43-新建数据集合"></a> 4.3 <a href="https://console.cloud.tencent.com/tcb/db/">新建数据集合</a></h3><p>进入数据库，新建数据集合，命名为 <code>users</code><br />点击创建好的数据集合 <code>users</code> ➡ 点击 <code>权限设置</code> ➡ 权限设置为 <code>仅创建者及管理员可读写</code><br />该数据集合用于存储公众号的绑定的哔哔用户。</p><h3 id="44-获取触发路径链接"><a class="markdownIt-Anchor" href="#44-获取触发路径链接"></a> 4.4 <a href="https://console.cloud.tencent.com/tcb/env/access">获取触发路径链接</a></h3><p>进入 <a href="https://console.cloud.tencent.com/tcb/env/access">环境-访问服务</a> ，新建 <code>/bber-weixin</code> 触发路径<br />获取这个触发路径链接并留存，如以下格式：</p><figure class="highlight plaintext"><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><span class="line">https://××××××.ap-shanghai.app.tcloudbase.com/bber-weixin</span><br><span class="line">或者</span><br><span class="line">https://自定义域名/bber-weixin</span><br></pre></td></tr></table></figure><h3 id="45-微信公众平台配置"><a class="markdownIt-Anchor" href="#45-微信公众平台配置"></a> 4.5 <a href="https://mp.weixin.qq.com/">微信公众平台配置</a></h3><p>打开 <a href="https://mp.weixin.qq.com/">微信公众平台</a>，进入开发-基本配置，获取 <code>AppID</code> 和 <code>AppSecret</code> 留存，修改IP白名单为上一步的 <code>公网固定IP</code> 。<br />继续服务器配置:</p><div class="tag-plugin image"><div class="image-bg"><img src="https://cdn.hermitlsr.top/images/post/bber/20220119210322.png!watermark" fancybox="true"/></div></div><p><code>URL</code> 为 <a href="https://hermitlsr.top/2022-01-19/%E5%93%94%E5%93%94%E7%82%B9%E5%95%A5-%E9%85%8D%E7%BD%AE%E8%AE%B0%E5%BD%95/#44-%E8%8E%B7%E5%8F%96%E8%A7%A6%E5%8F%91%E8%B7%AF%E5%BE%84%E9%93%BE%E6%8E%A5">4.4</a> 留存的触发链接；<br /><code>Token</code> 可以自定义，原始代码中预设为 <code>weixin</code><br />此时先不点提交，还要回到 云函数 配置。</p><h3 id="46-回-bber-weixin-云函数"><a class="markdownIt-Anchor" href="#46-回-bber-weixin-云函数"></a> 4.6 回 <a href="https://console.cloud.tencent.com/tcb/scf/index">bber-weixin</a> 云函数</h3><p>回 <a href="https://console.cloud.tencent.com/tcb/scf/index">bber-weixin</a> 云函数，填入微信公众号 <code>AppID</code> 和 <code>AppSecret</code> 保存。</p><figure class="highlight js"><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></pre></td><td class="code"><pre><span class="line"><span class="keyword">const</span> token = <span class="string">&#x27;weixin&#x27;</span> <span class="comment">// 微信公众号的服务器验证用的令牌 token，我自定义为了 ceshi123，这里就填 ceshi23</span></span><br><span class="line"><span class="comment">//填入自己的微信公众号appid和appsecret</span></span><br><span class="line"><span class="keyword">var</span> wxappid = <span class="string">&#x27;微信公众号appid&#x27;</span>,</span><br><span class="line">    wxappsecret = <span class="string">&#x27;微信公众号appsecret&#x27;</span>,</span><br></pre></td></tr></table></figure><h3 id="46-回-微信公众平台"><a class="markdownIt-Anchor" href="#46-回-微信公众平台"></a> 4.6 回 <a href="https://mp.weixin.qq.com/">微信公众平台</a></h3><p>点击提交，显示提交成功，之后启用服务器配置，很快就会生效。</p><h3 id="47-回-bber-weixin-云函数"><a class="markdownIt-Anchor" href="#47-回-bber-weixin-云函数"></a> 4.7 回 <a href="https://console.cloud.tencent.com/tcb/scf/index">bber-weixin</a> 云函数</h3><p>注释第44行代码，保存:</p><figure class="highlight plaintext"><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></pre></td><td class="code"><pre><span class="line">if(tmpStr == signature)&#123;</span><br><span class="line">    //请求来源鉴权</span><br><span class="line">    //成功后注释下行代码</span><br><span class="line">    //return event.queryStringParameters.echostr //成功后注释本行代码</span><br><span class="line">    //成功后注释上行代码</span><br></pre></td></tr></table></figure><p>到此，公众号配置完成，可以绑定自己的公众愉快的发布哔哔了。</p><p>我是自己手动部署，在这里踩得坑主要是运行环境不匹配和未建立 <code>users</code> 数据集，如果直接使用作者的一键部署可以避免这个问题，但是按量计费属实划不来</p><h2 id="5-前端页面的-stellar-主题适配"><a class="markdownIt-Anchor" href="#5-前端页面的-stellar-主题适配"></a> 5 前端页面的 stellar 主题适配</h2><p>stellar 主题没有给出太多自定义的空间，可以看到我的说说页面在顶部的 <code>归档旁边</code></p><div class="tag-plugin image"><div class="image-bg"><img src="https://cdn.hermitlsr.top/images/post/bber/20220119202332.png!watermark" fancybox="true"/></div></div><p>实际上的配置并不复杂</p><h3 id="51-在根目录-source-新建-bbtalk-文件夹"><a class="markdownIt-Anchor" href="#51-在根目录-source-新建-bbtalk-文件夹"></a> 5.1 在根目录 <code>source</code> 新建 <code>bbtalk</code> 文件夹</h3><p>文件夹建好后，新建一个 <code>index.md</code> 文件，这个文件用于存放前端代码 ，也就是哔哔页面</p><details class="tag-plugin folding" color="gray"><summary><span>查看代码</span></summary><div class="body"><figure class="highlight plaintext"><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></pre></td><td class="code"><pre><span class="line">---</span><br><span class="line">menu_id: more</span><br><span class="line">sidebar: [welcome, recent]</span><br><span class="line">seo_title: 闲话</span><br><span class="line">comments: false</span><br><span class="line">breadcrumb: false</span><br><span class="line">header: false</span><br><span class="line">---</span><br><span class="line"></span><br><span class="line">&lt;div id=&#x27;speak&#x27;&gt;&lt;/speak&gt;</span><br><span class="line">&lt;!-- 使用markdown渲染 --&gt;</span><br><span class="line">&lt;!-- &lt;script type=&quot;text/javascript&quot; src=&quot;https://cdn.jsdelivr.net/npm/ispeak-bber/ispeak-bber-md.min.js&quot; charset=&quot;utf-8&quot; &gt;&lt;/script&gt; --&gt;</span><br><span class="line">&lt;!-- 不使用markdown渲染 --&gt;</span><br><span class="line">&lt;script type=&quot;text/javascript&quot; src=&quot;https://cdn.jsdelivr.net/npm/ispeak-bber/ispeak-bber.min.js&quot; charset=&quot;utf-8&quot; &gt;&lt;/script&gt;</span><br><span class="line">&lt;!-- 解析微信表情（参考：https://github.com/buddys/qq-wechat-emotion-parser） --&gt;</span><br><span class="line">&lt;!-- &lt;script src=&quot;https://cdn.jsdelivr.net/gh/buddys/qq-wechat-emotion-parser@master/dist/qq-wechat-emotion-parser.min.js&quot;&gt;&lt;/script&gt; --&gt;</span><br><span class="line">&lt;script&gt;</span><br><span class="line">ispeakBber</span><br><span class="line">    .init(&#123;</span><br><span class="line">      el: &#x27;#speak&#x27;, // 容器选择器</span><br><span class="line">      name: &#x27;DreamyTZK 🦄&#x27;, // 显示的昵称</span><br><span class="line">      envId: &#x27;腾讯云开发环境id&#x27;, // 环境id</span><br><span class="line">      region: &#x27;ap-shanghai&#x27;, // 腾讯云地址，默认为上海</span><br><span class="line">      limit: 10, // 每次加载的条数，默认为5</span><br><span class="line">      avatar: &#x27;https://cdn.jsdelivr.net/npm/kang-static@latest/avatar.jpg&#x27;,</span><br><span class="line">      fromColor:&#x27;rgb(245, 150, 170)&#x27;, // 下方标签背景颜色 默认 rgb(245, 150, 170)</span><br><span class="line">      loadingImg: &#x27;https://7.dusays.com/2021/03/04/d2d5e983e2961.gif&#x27;, // 自定义loading的图片，示例值为默认值</span><br><span class="line">      dbName:&#x27;talks&#x27; // 数据的名称，默认talks，避免有人的命名不是这个，所以加入此配置字段。</span><br><span class="line">    &#125;)</span><br><span class="line">    .then(function() &#123;</span><br><span class="line">      // 哔哔加载完成后的回调函数，你可以写你自己的功能</span><br><span class="line">      console.log(&#x27;哔哔 加载完成&#x27;)</span><br><span class="line">    &#125;)</span><br><span class="line">&lt;/script&gt;</span><br></pre></td></tr></table></figure></div></details><h3 id="52-配置到首页"><a class="markdownIt-Anchor" href="#52-配置到首页"></a> 5.2 配置到首页</h3><p>事实上，此时在发布网站后，已经可以直接通过 <a href="https://hermitlsr.top/bbtalk/">https://hermitlsr.top/bbtalk/</a> 访问到页面<br />一开始我是把这个页面放在 <code>about</code> 页的导航栏里的 直接写相对路径就行。<br />后来我突发奇想，把这个放到首页去，大概需要这几步：</p><ol><li>修改主题文件 <code>languages</code></li><li>修改主题文件 <code>\themes\stellar\layout\_partial\main\navbar\list_post.ejs</code></li><li>修改网站设置 <code>_config.yml</code></li></ol><h4 id="521-修改主题文件-languages"><a class="markdownIt-Anchor" href="#521-修改主题文件-languages"></a> 5.2.1 修改主题文件 <code>languages</code></h4><p>这一步是进行语言配置，在 <code>btn</code> 部分添加 <code>bbtalk</code></p><figure class="highlight plaintext"><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></pre></td><td class="code"><pre><span class="line"># zh-CN.yml</span><br><span class="line">btn:</span><br><span class="line">  bbtalk: 闲话</span><br><span class="line"></span><br><span class="line"># zh-TW.yml</span><br><span class="line">btn:</span><br><span class="line">  bbtalk: 閒話  </span><br></pre></td></tr></table></figure><p>没设置英语，实在不知道咋翻译合适。</p><h4 id="522-修改主题文件-themesstellarlayout_partialmainnavbarlist_postejs"><a class="markdownIt-Anchor" href="#522-修改主题文件-themesstellarlayout_partialmainnavbarlist_postejs"></a> 5.2.2 修改主题文件 <code>\themes\stellar\layout\_partial\main\navbar\list_post.ejs</code></h4><p>找到 <code>\themes\stellar\layout\_partial\main\navbar\list_post.ejs</code> 在其第 32 行后 添加如下代码：</p><figure class="highlight plaintext"><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><span class="line">&lt;% if (config.bbtalk) &#123; %&gt;</span><br><span class="line">&lt;a  href=&#x27;/bbtalk/&#x27;&gt;&lt;%- __(&#x27;btn.bbtalk&#x27;) %&gt;&lt;/a&gt;</span><br><span class="line">&lt;% &#125; %&gt;</span><br></pre></td></tr></table></figure><p>意思是，如果站点根设置中 <code>bbtalk</code> 的值为 <code>true</code> 则显示相对链接为 <code>/bbtalk/</code> 的页面。<br />当然，你要乐意，改成 <code>theme.bbtalk</code> 放到主题设置里也行，不过没必要。</p><h4 id="523-修改网站设置-_configyml"><a class="markdownIt-Anchor" href="#523-修改网站设置-_configyml"></a> 5.2.3 修改网站设置 <code>_config.yml</code></h4><p>在设置的最下面添加：</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">bbtalk:</span> <span class="literal">true</span></span><br></pre></td></tr></table></figure><p>重新发布网站就可以看到了。</p><h2 id="6-踩坑点汇总"><a class="markdownIt-Anchor" href="#6-踩坑点汇总"></a> 6 踩坑点汇总</h2><ol><li>运行环境问题，最好使用作者原始运行环境：<code>Nodejs 10.15</code>；</li><li>记得新建数据集 <code>users</code>；</li><li>记得在 <code>talks</code> 数据集中提前创建数据。</li></ol>]]></content>
    
    
    <summary type="html">&lt;p&gt;   配置 &lt;code&gt;哔哔点啥&lt;/code&gt; 的记录和踩坑，前部分是哔哔发展历程，后部分是 哔哔点啥2.0 配置&lt;/p&gt;</summary>
    
    
    
    <category term="博客折腾" scheme="https://www.hermitlsr.top/blog/categories/%E5%8D%9A%E5%AE%A2%E6%8A%98%E8%85%BE/"/>
    
    
    <category term="Hexo" scheme="https://www.hermitlsr.top/blog/tags/Hexo/"/>
    
    <category term="tencent cloud，bber" scheme="https://www.hermitlsr.top/blog/tags/tencent-cloud%EF%BC%8Cbber/"/>
    
  </entry>
  
  <entry>
    <title>重启博客，重启时光</title>
    <link href="https://www.hermitlsr.top/2022-01-12/%E9%87%8D%E5%90%AF%E5%8D%9A%E5%AE%A2/"/>
    <id>https://www.hermitlsr.top/2022-01-12/%E9%87%8D%E5%90%AF%E5%8D%9A%E5%AE%A2/</id>
    <published>2022-01-12T08:00:00.000Z</published>
    <updated>2022-01-12T08:00:00.000Z</updated>
    
    <content type="html"><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="/assets/css/APlayer.min.css"><script src="/assets/js/APlayer.min.js" class="aplayer-secondary-script-marker"></script><script class="meting-secondary-script-marker" src="/assets/js/Meting.min.js"></script><p>搁着半年多，继续写博客。</p><span id="more"></span><p>  博客被搁着了差不多半年吧。这半年多也发生了不少事情，让我没有精力，也找不到太多想写的东西，于是就搁置了。</p><p>  事实上，半年前，也没有产出多少高质量的博客，主要是一些建站的记录。但不得不说，这些记录让我迁移博客数据，重新部署的过程十分顺畅。毕竟不再需要去搜索各种资料，去搞清楚怎么用 <code>github action</code> 了。</p><p>  之后的博客内容应该是分为四个部分：<br />   1. 首页上的 <code>blog</code> 内容，应该是日常的一些记录，和一些单独不成系统的技术博客和笔记博客；<br />   2. 项目页的 <code>wiki</code> 内容，应该是整理好的一些项目记录，和经过归纳整理的笔记专题；<br />   3. <a href="https://notestree.hermitlsr.top/">笔记分站</a> ，一些日常笔记，多为学习时直接记录的内容和疑惑。<br />   4. 便笺页的 <code>note</code> 内容，一些简短的，杂乱的技巧。<br />无奈，水平有限，主要还是以个人学习记录为主。</p><p>  题外话说一下 <code>hexo-theme-tree</code> 这个主题，是我用在笔记分站的主题，十分简洁，拿来放笔记再合适不过了，我个人移植了标签，然后加上一些标签插件基本上是完全够用的。</p><p>  下面谈谈，这半年发生了什么，大概就是重回单身，考研失利，失去亲人，咳疾继续。</p><p>  第一个是感情问题，就不多扯淡了，没什么意思。第二个就是二战失利，准确来说是自己昼夜颠倒，沉迷刷剧，无心学习，然后理所当然的看到题目不知所措，最后不出意外的话继续名落孙山，送自己一句话，该。第三个是，自己的二爸，也就是老爹的哥哥旧疾复发去世了，在所有这些亲戚中，我印象中对我最好的就是他们家了，所以应该是伤心的。最后就是自高二以来每年必有的咳疾又发生了，和去年一样都是在考研的时候，不一样的是，去年被隔离了，大晚上被装进医院一宿没睡，今年没被隔离，然后到现在还在咳咳咳。坦率来讲，这半年其实过得挺糟糕的。后面不出意外的话应该是找个工作，然后继续准备考研。争取这一年把要看的书都看完，到时候应该会产出不少笔记。</p><p>  这大半年最后悔的事情应该是没怎么好好看书了，准确来说之前大学期间最后回到事情也是没好好看书，无论是那些数分高代，概率论随机过程，还是一些史书名著，都没怎么好好看，搞得现在脑子一团浆糊。突然想起来以前高考前一两个月抱着红楼梦囫囵吞枣看完的事情，当时也是心大，不过挺开心的。</p><p>  扯了一些有的没的，也没啥主题，主要就是说，后面应该继续写博客了。</p>]]></content>
    
    
    <summary type="html">&lt;p&gt;搁着半年多，继续写博客。&lt;/p&gt;</summary>
    
    
    
    <category term="生活纪事" scheme="https://www.hermitlsr.top/blog/categories/%E7%94%9F%E6%B4%BB%E7%BA%AA%E4%BA%8B/"/>
    
    
    <category term="杂叙" scheme="https://www.hermitlsr.top/blog/tags/%E6%9D%82%E5%8F%99/"/>
    
  </entry>
  
  <entry>
    <title>档案风波2</title>
    <link href="https://www.hermitlsr.top/2021-09-30/%E6%A1%A3%E6%A1%88%E9%A3%8E%E6%B3%A22/"/>
    <id>https://www.hermitlsr.top/2021-09-30/%E6%A1%A3%E6%A1%88%E9%A3%8E%E6%B3%A22/</id>
    <published>2021-09-30T18:00:00.000Z</published>
    <updated>2021-09-30T18:00:00.000Z</updated>
    
    <content type="html"><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="/assets/css/APlayer.min.css"><script src="/assets/js/APlayer.min.js" class="aplayer-secondary-script-marker"></script><script class="meting-secondary-script-marker" src="/assets/js/Meting.min.js"></script><p>我好像很倒霉，又好像没有那么倒霉，大概就是凭自己的本事把事情给办砸了。</p><span id="more"></span><p>前情提要：<a href="https://www.hermitlsr.top/2021-09-23/6bc6f272.html">档案风波</a></p><p>准确来说所有的倒霉的问题都是自己作出来的，所有没那么倒霉乃至幸运的事情都是因为好心人。</p><p>继上次确定档案在28号可以寄出，而社区又表示可以缓两天之后，就没太在意这件事情了。</p><p>今天查了下档案，发现在中午的时候已经被档案馆签收了。所以下午直接打电话去档案馆问一下过去复印档案要什么材料或者手续什么的，这个时间大概是三点左右。结果被告知，没有我的档案信息，说是可能快递员还没投递就直接先点了收件，让我确认一下。</p><p>不幸从这里开始了。</p><p>我按派送信息上的联系方式打了派送员的电话，发现是璧山区（我家所在区的隔壁区）的派送员，说是没有这个信息，当时我就很纳闷啊，确认下他是不是叫 ✖✖，结果回答是，我更纳闷了。<br />遂拨打 EMS 投揽部的电话，期间报错快递单号不表，客服人员表示给我核实一下在回我电话。<br />就这样时间大概到了四点二十，再次打电话给 EMS，发现人家已经忘记有这回事了，然后让我自己和派送员核实一下，然后开始报电话号码，听前面的数字和我打的一样啊，我就说我打过这个电话，但是不是本地的快递员啊，紧接着听到了最后一位。<br />你猜怎么着，不一样！！！最后一位数字，它不一样！！！<br />只差一位的电话号码还都是 EMS 派送员的电话，这两快递员还都一个姓，甚至同名。<br />赶忙挂了电话，又打正确的派送员的电话。<br />小哥非常耐心的给我解释了一下快件确实送到了，可能是档案馆那边没录入进去。随即表示，抱歉，打扰，都是我的锅。<br />好的，第一个乌龙结束。</p><p>接下来和档案馆沟通，答：档案刚刚送过来正在录系统。又问，那下午还来得急复印档案么，一问我的名字，确认我的档案刚录入进系统，说可以。<br />赶紧打个的，往大学生就业创新中心跑，这个时候是四点半。<br />但实际上我要去的地方不是这里，那为什么又要去这个地方呢，因为当初问档案的时候让我关注了个公众号就是这个名字，走得急也没细想。<br />上天还是给过我纠正的机会的，的哥师傅没去过那里，我说我开个导航吧。<br />直到到了地方，一问，这地和档案馆压根就没啥关系。<br />突然想起来当初给学校就业处寄送地址的时候，是希尔康大道。那档案馆不就在我家那边么，骑个永久10分钟就到了，结果饶了这么远。<br />好的，第二个乌龙结束。</p><p>此时已经四点五十了，骑车估计是来不及了，打车又打不到，心想算了算了，今天估计是办不了。<br />这个时候一位摩的师傅，骑车路过的时候，估计是看到了我焦急的样子，停下来问我：<br />“走哪点嘛”<br />“合川档案馆，区政府那边那个”<br />“我晓得那点，走嘛”<br />“好多钱”<br />竖起一跟手指头<br />“十块哈，走嘛师傅”</p><p>紧接着师傅带我领略了摩托车的风驰电掣，还有一系列骚操作。举个例子，在一个红绿灯路口，红灯大概还有一分半左右，但不限右转，他直接右转到右侧垂直的一条道，然后插入到那条道的右转道，五秒钟之后，右转灯亮了，于是在路口后方的车还在等着的时候，这辆摩托已经奔向了下一个路口。<br />当然，我在车后座上个几分钟看个时间就不赘述了。<br />最后，在五点十五分的时候，师傅直接把我送到了档案馆门口。<br />不是常见的那种路边办事大楼的门口，而是七拐八拐直接把我送到了办事单位的门口。<br />下车扫码，师傅说：<br />“进切再付，进切再付，莫耽误你办事情。”<br />说着头也不回的就骑走了，这个信任啊，搞得我还有点想哭（不是）。<br />最后我给师傅转了15块。<br />幸运的事情一结束。</p><p>进到大厅问工作人员那里是复印档案的地方，答：<br />“哦，是要复印档案那个大学生哈，lei（语气词），在那点（头偏向左侧）”<br />走过去一看，有位孃孃正在帮我复印档案，已经复印一部分了。<br />看我过去了就让我自己复印一下。<br />当然，应该是看到我复印得太慢，又复印废了几张纸。孃孃决定还是自己来，我就在旁边整理复印好的档案顺序。<br />复印完成之后，向孃孃们为我的档案的操心表示了由衷的感谢，以及对我跑错了地方耽误他们下班表示了深刻的歉意。<br />但他们大概，好像觉得无所谓，并且他们的眼神仿佛在说这么憨的人，是怎么大学毕业的！！！<br />此时大概五点四十五。<br />幸运的事情二结束。</p><p>出门扫辆单车，打算直接骑去社区，争取六点前到，把材料早交了早了事。<br />结果，我扫的车是个坏的啊，他还坏的很奇特，车锁打开了，又没有打开，关上了又没有关上。<br />小程序显示，车子开锁了，但是，嗯？这分明还是锁着的啊，用手也掰不动。<br />算了算了，还车再扫另一辆。<br />欸，小程序显示，请关车锁！你这车锁开都没开我怎么关，你告诉没打开的车锁怎么关上，怎么关上！！！<br />眼睁睁看着倒计时30s结束，而车锁显示未关。<br />折腾了许久，终于，在没有关上已经关上的车锁的情况下还了车。<br />但是好像有点不对，为啥还要我付钱，我骑都没骑啷个还要花一块钱。<br />但为了骑下一辆车，我在纠结斗争中向单车妥协了，付了这一块钱，并开了新的一辆车。</p><p>最后当我骑到社区的时候，刚好六点钟。<br />但是门已经锁了。<br />大概国庆之后我还要再跑一趟吧。</p>]]></content>
    
    
    <summary type="html">&lt;p&gt;我好像很倒霉，又好像没有那么倒霉，大概就是凭自己的本事把事情给办砸了。&lt;/p&gt;</summary>
    
    
    
    <category term="生活纪事" scheme="https://www.hermitlsr.top/blog/categories/%E7%94%9F%E6%B4%BB%E7%BA%AA%E4%BA%8B/"/>
    
    
    <category term="杂叙" scheme="https://www.hermitlsr.top/blog/tags/%E6%9D%82%E5%8F%99/"/>
    
  </entry>
  
  <entry>
    <title>档案风波</title>
    <link href="https://www.hermitlsr.top/2021-09-23/%E6%A1%A3%E6%A1%88%E9%A3%8E%E6%B3%A2/"/>
    <id>https://www.hermitlsr.top/2021-09-23/%E6%A1%A3%E6%A1%88%E9%A3%8E%E6%B3%A2/</id>
    <published>2021-09-23T15:39:10.000Z</published>
    <updated>2021-09-23T15:39:10.000Z</updated>
    
    <content type="html"><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="/assets/css/APlayer.min.css"><script src="/assets/js/APlayer.min.js" class="aplayer-secondary-script-marker"></script><script class="meting-secondary-script-marker" src="/assets/js/Meting.min.js"></script><p>档案一定要跟人走，切身体会，减少麻烦。</p><span id="more"></span><p>事情大概是这样的，毕业的时候为了图方便就把档案留在了学校，本来也要继续考研嘛，就懒得再动档案了。但是，党组织关系转回了本地社区，由此开始了麻烦的历程。</p><p>第一次是在办组织关系转移的时候，被要求需要入党志愿书复印件，于是拜托导员抽时间帮我跑去档案馆复印出来再寄给我。<br />第二次也就是这一次，被通知需要将所有入党相关的材料复印件交社区备份，然而学校档案不允许复印所有材料，所以不得不选择把档案调回本地的人才中心。</p><p>比较欣慰的是打的几个咨询电话得到的回应都比较明确，相关负责人也比较体谅我的难处，并且因为是当年毕业，所以暂时还不需要调档函，学校招就处的小姐姐也比较热情帮我直接办理了。</p><p>现在还是要等着档案寄回来，然后去档案中心把需要的东西复印出来再交到社区。</p><p>仔细想想要是当初直接把档案转回来哪有那么多事啊，以后档案材料这些一定要跟人走，跟人走。</p>]]></content>
    
    
    <summary type="html">&lt;p&gt;档案一定要跟人走，切身体会，减少麻烦。&lt;/p&gt;</summary>
    
    
    
    <category term="生活纪事" scheme="https://www.hermitlsr.top/blog/categories/%E7%94%9F%E6%B4%BB%E7%BA%AA%E4%BA%8B/"/>
    
    
    <category term="杂叙" scheme="https://www.hermitlsr.top/blog/tags/%E6%9D%82%E5%8F%99/"/>
    
  </entry>
  
  <entry>
    <title>寅哥儿</title>
    <link href="https://www.hermitlsr.top/2021-08-30/%E5%AF%85%E5%93%A5%E5%84%BF/"/>
    <id>https://www.hermitlsr.top/2021-08-30/%E5%AF%85%E5%93%A5%E5%84%BF/</id>
    <published>2021-08-30T15:00:00.000Z</published>
    <updated>2021-08-30T15:00:00.000Z</updated>
    
    <content type="html"><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="/assets/css/APlayer.min.css"><script src="/assets/js/APlayer.min.js" class="aplayer-secondary-script-marker"></script><script class="meting-secondary-script-marker" src="/assets/js/Meting.min.js"></script><p>  我的好兄弟，是寅哥儿。寅哥儿，是我的好兄弟。</p><span id="more"></span><p>  我的好兄弟，是寅哥儿。寅哥儿，是我的好兄弟。</p><p>  我跛了脚，他也跛了脚。两个一晃一摇的走着，也还整齐。</p><p>  那个桥洞是我栖身的地方，能遮住天上的雨。对，那雨还在天上的时候，哪怕砸到桥面上，不会与我有任何关系。可它偏机灵，不断向下淌，向着我这扑来。但不吼叫，不撕扯，只是要渐渐的让这干涸的桥洞重温水的滋养，好像这桥洞欢迎它似的。它与桥洞似有不解的缘。或许正是从前流淌的那抚摸着桥洞沧桑脸庞中的一滴。我为它的专情所打动，却不得不教它认清现实，这桥洞已被我占据，这是我的领土，这是寅哥儿栖身的地方。</p><p>  摸了几块石，垒成一圈石栅，庄重地宣誓我的主权。我握着这根发黑的手杖，挥舞着，敲打着。一阵怪风竟让我旋了一圈，扑倒在地上。你凭什么帮它，这与你何干，多事的风！快走，滚开，滚开啊！竟忽的挑起个什么，是块布？是寅哥儿留下的？顾不得，一挑，裹在身上。来吧，你来吧，我不怕你的。哈，可怜的雨水，可怜的河水，你终是回不来了吧。</p><p>  忽的一束白光，拉过一声轰响。先是一惊，亮堂堂的，不一会儿，这桥洞便又是最黑暗的地方了。黑暗得让人难以喘息，颤抖，白茫茫的一片。踱到稍高一点的泥板子上，斜靠在洞壁上。慢慢蹲下，手向下探，摸到底，用力按几下，又怯怯坐下。躺着，蜷成一团，紧握着手杖。恍惚间，静了，没甚生息了，我只知道我还在喘气，是风走了吧，水去了吧，，没了丁点喧闹，都趋于沉寂，又在消逝吧。觉得自己正被什么一点一点吞没。想喊叫，却只有嘶哑的喘息。“哐”的一阵轰响，我被拉了出来，是先前的石头塌了。寅哥儿在就好了。他虽讲不了什么话，但至少在我身边，至少听我的呜咽。寅哥儿去哪了，我的寅哥儿。</p><p>  我看到了，他们都围在我身旁。还有寅哥儿，他回来了，也在我身旁。</p><p>  他们或议论惋惜，或不语呆望。却有几个毛孩子要踢那些石块。我大叫着别动，他们不听，还越发有劲了。甚至跑过来，要抢我的木杖，还要拿我的布，我死死的抓着，只能抓着，尽力的抓着。对他们咆哮一分，便是对他们鼓励十分。好似我的咆哮，在为他们助威。幸运的，我快不能坚持时，十分庆幸，他们也烦了，嬉笑着站在一旁。</p><p>  “多活泼的孩子啊”</p><p>  “不，应该是群机灵鬼”</p><p>  “瞧，他们玩得真是有趣啊”</p><p>  是赞叹、是褒奖。我只求他们离开这里。没办法啊，他们偏不离开，我有什么可看的？寅哥儿？更没什么可提的了。</p><p>  过不多时，围的人越来越多了。</p><p>  突然，他们却让了一条路来，还恭敬的把我们请出去。不及清洗我们身上的泥垢，只急忙领我们去参加什么仪式，说会很庄严肃穆，而且我们是主角。难怪被那般注视呢。这仪式也没什么排场，我甚至曾遇见过，还去同着唏嘘几声，讨了杯酒的。也不能说是讨，是换，是拿眼泪换的。我自然已熟悉，也就无需排演了。几阵喧闹，几场诉说，又是几批如我一般讨酒的。木杖敲打着碗，过就过了吧。又如昨一般的死寂，仅握着我的木杖，裹着我的布，却不见了寅哥儿，伴着我的兄弟。</p><p>  寅哥儿，我的兄弟，你在哪里。</p><p>  什么都看不见了。</p><p align="right">——2017.5.24</p><p align="right">偊由 夜书</p>]]></content>
    
    
    <summary type="html">&lt;p&gt;  我的好兄弟，是寅哥儿。寅哥儿，是我的好兄弟。&lt;/p&gt;</summary>
    
    
    
    <category term="杂文杂续" scheme="https://www.hermitlsr.top/blog/categories/%E6%9D%82%E6%96%87%E6%9D%82%E7%BB%AD/"/>
    
    
    <category term="杂文" scheme="https://www.hermitlsr.top/blog/tags/%E6%9D%82%E6%96%87/"/>
    
  </entry>
  
  <entry>
    <title>腾讯云 Serverless + Github Action 自动部署 Hexo 博客</title>
    <link href="https://www.hermitlsr.top/2021-08-30/%E8%85%BE%E8%AE%AF%E4%BA%91-Serverless-Github-Action-%E8%87%AA%E5%8A%A8%E9%83%A8%E7%BD%B2-Hexo-%E5%8D%9A%E5%AE%A2/"/>
    <id>https://www.hermitlsr.top/2021-08-30/%E8%85%BE%E8%AE%AF%E4%BA%91-Serverless-Github-Action-%E8%87%AA%E5%8A%A8%E9%83%A8%E7%BD%B2-Hexo-%E5%8D%9A%E5%AE%A2/</id>
    <published>2021-08-30T14:08:17.000Z</published>
    <updated>2021-08-30T14:08:17.000Z</updated>
    
    <content type="html"><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="/assets/css/APlayer.min.css"><script src="/assets/js/APlayer.min.js" class="aplayer-secondary-script-marker"></script><script class="meting-secondary-script-marker" src="/assets/js/Meting.min.js"></script><p>   看过很多使用 Github Action 自动部署 Hexo 博客的教程，但是部署到 腾讯云 Serverless framework 的几乎没有，而且对于 GitHub 身份验证也比较麻烦，综合各家之长有了本篇小文，力求详细。</p><span id="more"></span><h2 id="1-github-action"><a class="markdownIt-Anchor" href="#1-github-action"></a> 1 Github Action</h2><details class="tag-plugin folding" color="gray"><summary><span>Github Action 是什么</span></summary><div class="body"><p><a href="https://docs.github.com/cn/actions">官方文档</a><br /><a href="https://www.ruanyifeng.com/blog/2019/09/getting-started-with-github-actions.html">入门教程——阮一峰</a></p></div></details><h2 id="2-自动部署"><a class="markdownIt-Anchor" href="#2-自动部署"></a> 2 自动部署</h2><p>设置步骤：</p><ol><li>博客文件管理</li><li>生成权限密码</li><li>配置 secret</li><li>配置 workflows</li></ol><h3 id="21-博客文件管理"><a class="markdownIt-Anchor" href="#21-博客文件管理"></a> 2.1 博客文件管理</h3><p>博客文件的版本管理是通过使用 GitHub 仓库来实现，基本步骤如下：</p><p>在命令行中：</p><ol><li>在需要的位置通过 <code>hexo init blog</code> 初始化博客环境。</li><li>使用 <code>git init</code> 命令初始化 Git 仓库，此时仓库内没有文件。</li><li>使用 <code>git add .</code> 命令添加所有文件到 Git 仓库中。可以在 <code>.gitignore</code> 文件中设置忽略的文件，此文件中标明的文件不会被加入仓库中。注意此时还没有把这个更改加入到版本库。<details class="tag-plugin folding" color="gray" child="codeblock"><summary><span>我的 .gitignore 文件</span></summary><div class="body"><figure class="highlight plaintext"><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></pre></td><td class="code"><pre><span class="line">.DS_Store</span><br><span class="line">Thumbs.db</span><br><span class="line">db.json</span><br><span class="line">*.log</span><br><span class="line">node_modules/</span><br><span class="line">public/</span><br><span class="line">.deploy*/</span><br><span class="line">.idea</span><br></pre></td></tr></table></figure></div></details></li><li>使用 <code>git submodule add https://github.com/#yourname#/#theme.git themes/#themename</code> 命令添加主题文件子模块。主题文件将会作为子模块存在，<code>git push</code> 父模块时只会上传引用的子模块版本。<br />例如我使用的是 stellar 主题，相应的命令为 <code>git submodule add https://github.com/hermitlsr/hexo-theme-stellar.git themes/stellar</code> 。执行完成后会在根站点出现 <code>.gitmodules</code> ，它记录了子模块的原仓库地址和本地相对地址。</li></ol><p>注意以上关于 git 的操作可能会因为网络的问题报错 一般是 <mark class="tag-plugin mark" color="red">10054 错误</mark>，很正常，网络 ok 了就行。<br />此时，父模块还没有被 push 到 GitHub 上，子模块是和原仓库地址对应的。</p><p>由于我不太熟悉 命令行 管理 git 仓库，所以后面的操作在 GitHub Desktop ( <a href="https://desktop.github.com/">点我下载</a> )中完成：<br />只需要登录自己的 GitHub 账号即可进行版本管理操作：</p><ol><li>添加本地仓库到 <mark class="tag-plugin mark" color="blue">GitHub Desktop</mark>：使用快捷键 <code>ctrl O</code>，或者在菜单中找到 add。然后选取你 <code>git init</code> 操作的那个文件夹即可。</li><li>将更改添加到版本中，在 <mark class="tag-plugin mark" color="blue">Current repository</mark> 下找到你添加的仓库，文件名应该是你本地的文件名。<details class="tag-plugin folding" color="gray"><summary><span>详情图片</span></summary><div class="body"><div class="tag-plugin image"><div class="image-bg"><img src="https://cdn.hermitlsr.top/images/post/github-action/20210830171716.png!watermark" fancybox="true"/></div></div></div></details>把 <mark class="tag-plugin mark" color="blue">Changes</mark> 的内容全选，在下方的 <code>commit</code> 的标题部分填入 <code>first commit</code> 点击 <mark class="tag-plugin mark" color="blue">commit</mark> 按钮推送到版本库中。<br />推送成功后可以在 <mark class="tag-plugin mark" color="blue">History</mark> 中看到历史版本。但注意到此时更新的版本里有向上的箭头，表明该版本还没有提交到 GitHub 仓库中。</li><li>提交到 Github 仓库：点击上方的 <mark class="tag-plugin mark" color="blue">Publish repository</mark>，勾选 <mark class="tag-plugin mark" color="blue">Keep this code private</mark>，发布到私有仓库，毕竟源文件中可能会涉及到各种隐私文件。<details class="tag-plugin folding" color="gray"><summary><span>详情图片</span></summary><div class="body"><div class="tag-plugin image"><div class="image-bg"><img src="https://cdn.hermitlsr.top/images/post/github-action/20210830173247.png!watermark" fancybox="true"/></div></div><div class="tag-plugin image"><div class="image-bg"><img src="https://cdn.hermitlsr.top/images/post/github-action/20210830173526.png!watermark" fancybox="true"/></div></div></div></details>该过程可能会因为网络原因失败，但是重复推送即可。</li></ol><p>此时博客文件管理已经完成，以后如有修改文件，只需在 <mark class="tag-plugin mark" color="blue">GitHub Desktop</mark> 中添加对应版本并推送上去即可。有时使用客户端推送会失败，也可以在命令行中使用 <code>git push</code> 命令。</p><h3 id="22-生成权限密码"><a class="markdownIt-Anchor" href="#22-生成权限密码"></a> 2.2 生成权限密码</h3><p>在使用 Github Action 时需要配置权限密码，一是 Github 的访问令牌，二是 腾讯云的 API密钥管理，三是 qmsg 酱的访问密匙。</p><ol><li>Github 的访问令牌<br /><a href="https://docs.github.com/cn/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token">官方文档——创建个人访问令牌</a></li><li>腾讯云的 API密钥管理<br /><a href="https://console.cloud.tencent.com/cam/capi">点这里创建</a></li><li>qmsg 酱的访问密匙<br /><a href="https://qmsg.zendee.cn/me.html">点这里获取</a></li></ol><p>注意，这些的访问权限都比较高，建议定期设置失效更新。</p><h3 id="23-配置-secret"><a class="markdownIt-Anchor" href="#23-配置-secret"></a> 2.3 配置 secret</h3><p>将 <a href="https://www.hermitlsr.top/2021-08-30/b387ac98.html#%E7%94%9F%E6%88%90%E6%9D%83%E9%99%90%E5%AF%86%E7%A0%81">生成权限密码</a> 中取得的密码配置到 Github 仓库的 secret 中：<br />在仓库的 Setting.Secrets.Actions 中设置</p><details class="tag-plugin folding" color="gray"><summary><span>详情图片</span></summary><div class="body"><div class="tag-plugin image"><div class="image-bg"><img src="https://cdn.hermitlsr.top/images/post/github-action/20210830175723.png!watermark" fancybox="true"/></div></div></div></details><p>注意：这里的命名要和下面设置的 workflows 中的变量对应。</p><h3 id="24-配置-workflows"><a class="markdownIt-Anchor" href="#24-配置-workflows"></a> 2.4 配置 workflows</h3><p>在根目录的 <code>.github</code> 文件夹中新建 <code>workflows</code> 文件夹，这是存放 Github Action 配置的文件夹，在该文件夹中新建一个 <code>.yml</code> 文件，命名随意。</p><p>我的 workflow 源码：</p><details class="tag-plugin folding" color="gray" child="codeblock"><summary><span>workflow 源码</span></summary><div class="body"><figure class="highlight yml"><figcaption><span>.github/workflows/deploy.yml</span></figcaption><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><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">name:</span> <span class="string">www.hermitlsr.top</span></span><br><span class="line"></span><br><span class="line"><span class="attr">on:</span></span><br><span class="line">  <span class="attr">push:</span></span><br><span class="line">    <span class="attr">branches:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">master</span>  <span class="comment"># 触发事件</span></span><br><span class="line"></span><br><span class="line"><span class="attr">jobs:</span></span><br><span class="line">  <span class="attr">build:</span></span><br><span class="line">    <span class="attr">runs-on:</span> <span class="string">ubuntu-latest</span> <span class="comment"># 运行环境为最新版 Ubuntu</span></span><br><span class="line">    <span class="attr">name:</span> <span class="string">auto</span> <span class="string">deploy</span></span><br><span class="line">    <span class="attr">steps:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Checkout</span></span><br><span class="line">        <span class="attr">uses:</span> <span class="string">actions/checkout@v2</span></span><br><span class="line">        <span class="attr">with:</span> <span class="comment"># 条件</span></span><br><span class="line">          <span class="attr">submodules:</span> <span class="literal">true</span> <span class="comment"># Checkout private submodules(themes or something else). 当有子模块时切换分支？</span></span><br><span class="line"></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Setup</span> <span class="string">Node.js</span> <span class="number">16.</span><span class="string">x</span></span><br><span class="line">        <span class="attr">uses:</span> <span class="string">actions/setup-node@master</span></span><br><span class="line">        <span class="attr">with:</span></span><br><span class="line">          <span class="attr">node-version:</span> <span class="string">&quot;16.x&quot;</span> <span class="comment"># node 版本设置</span></span><br><span class="line"></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Cache</span> <span class="string">node</span> <span class="string">modules</span></span><br><span class="line">        <span class="comment"># 设置包缓存目录，避免每次下载</span></span><br><span class="line">        <span class="attr">uses:</span> <span class="string">actions/cache@v1</span></span><br><span class="line">        <span class="attr">with:</span></span><br><span class="line">          <span class="attr">path:</span> <span class="string">~/.npm</span></span><br><span class="line">          <span class="attr">key:</span> <span class="string">$&#123;&#123;</span> <span class="string">runner.os</span> <span class="string">&#125;&#125;-node-$&#123;&#123;</span> <span class="string">hashFiles(&#x27;**/package-lock.json&#x27;)</span> <span class="string">&#125;&#125;</span></span><br><span class="line"></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Install</span> <span class="string">dependencies</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">          npm install -g serverless</span></span><br><span class="line"><span class="string">          npm install hexo-cli -g</span></span><br><span class="line"><span class="string">          npm install</span></span><br><span class="line"><span class="string"></span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">init</span> <span class="string">public</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">          hexo clean</span></span><br><span class="line"><span class="string">          hexo generate</span></span><br><span class="line"><span class="string"></span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Deploy</span> <span class="string">tecent</span></span><br><span class="line">        <span class="attr">env:</span></span><br><span class="line">          <span class="attr">SERVERLESS_PLATFORM_VENDOR:</span> <span class="string">tencent</span> <span class="comment"># 外网环境下需要设置</span></span><br><span class="line">          <span class="attr">TENCENT_SECRET_ID:</span> <span class="string">$&#123;&#123;</span> <span class="string">secrets.TENCENT_SECRET_ID</span> <span class="string">&#125;&#125;</span></span><br><span class="line">          <span class="attr">TENCENT_SECRET_KEY:</span> <span class="string">$&#123;&#123;</span> <span class="string">secrets.TENCENT_SECRET_KEY</span> <span class="string">&#125;&#125;</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">          sls deploy -debug</span></span><br><span class="line"><span class="string"></span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Deploy</span> <span class="string">to</span> <span class="string">GitHub</span> <span class="string">Pages</span></span><br><span class="line">        <span class="attr">uses:</span> <span class="string">peaceiris/actions-gh-pages@v3</span></span><br><span class="line">        <span class="attr">with:</span></span><br><span class="line">          <span class="attr">personal_token:</span> <span class="string">$&#123;&#123;</span> <span class="string">secrets.ACCESS_TOKEN</span> <span class="string">&#125;&#125;</span></span><br><span class="line">          <span class="attr">external_repository:</span> <span class="string">hermitlsr/hermitlsr.github.io</span></span><br><span class="line">          <span class="attr">publish_branch:</span> <span class="string">master</span></span><br><span class="line">          <span class="attr">publish_dir:</span> <span class="string">./public</span></span><br><span class="line">          <span class="attr">commit_message:</span> <span class="string">$&#123;&#123;</span> <span class="string">github.event.head_commit.message</span> <span class="string">&#125;&#125;</span></span><br><span class="line">          <span class="attr">user_name:</span> <span class="string">&#x27;github-actions[bot]&#x27;</span></span><br><span class="line">          <span class="attr">user_email:</span> <span class="string">&#x27;github-actions[bot]@users.noreply.github.com&#x27;</span></span><br><span class="line"></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">notification</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">|</span> <span class="comment"># 部署成功后通过 qmsg 推送到 qq 提示部署成功</span></span><br><span class="line">          <span class="string">curl</span> <span class="string">https://qmsg.zendee.cn/send/$&#123;&#123;secrets.QMSG_KEY&#125;&#125;</span> <span class="string">-X</span> <span class="string">POST</span> <span class="string">-d</span> <span class="string">&#x27;msg=部署成功, 请访问 https://www.hermitlsr.top/ 进行确认 &#x27;</span></span><br></pre></td></tr></table></figure></div></details><p>代码主要分两部分，一是触发条件，二是工作流。</p><h4 id="241-触发条件"><a class="markdownIt-Anchor" href="#241-触发条件"></a> 2.4.1 触发条件</h4><figure class="highlight yml"><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></pre></td><td class="code"><pre><span class="line"><span class="attr">on:</span></span><br><span class="line">  <span class="attr">push:</span></span><br><span class="line">    <span class="attr">branches:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">master</span>  <span class="comment"># 触发事件</span></span><br></pre></td></tr></table></figure><p>该代码表面仓库的 master 有更新时触发 Github Action。</p><h4 id="242-工作流"><a class="markdownIt-Anchor" href="#242-工作流"></a> 2.4.2 工作流</h4><h5 id="创建运行环境"><a class="markdownIt-Anchor" href="#创建运行环境"></a> 创建运行环境</h5><figure class="highlight yml"><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></pre></td><td class="code"><pre><span class="line"><span class="attr">jobs:</span></span><br><span class="line">  <span class="attr">build:</span></span><br><span class="line">    <span class="attr">runs-on:</span> <span class="string">ubuntu-latest</span> <span class="comment"># 运行环境为最新版 Ubuntu</span></span><br><span class="line">    <span class="attr">name:</span> <span class="string">auto</span> <span class="string">deploy</span></span><br><span class="line">    <span class="attr">steps:</span></span><br></pre></td></tr></table></figure><p>后面的具体工作按 <code>steps</code> 中的顺序执行。</p><h5 id="检出仓库文件"><a class="markdownIt-Anchor" href="#检出仓库文件"></a> 检出仓库文件</h5><figure class="highlight yml"><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></pre></td><td class="code"><pre><span class="line"><span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Checkout</span></span><br><span class="line">  <span class="attr">uses:</span> <span class="string">actions/checkout@v2</span></span><br><span class="line">  <span class="attr">with:</span> <span class="comment"># 条件</span></span><br><span class="line">    <span class="attr">submodules:</span> <span class="literal">true</span> <span class="comment"># Checkout private submodules(themes or something else). 当有子模块时切换分支？</span></span><br></pre></td></tr></table></figure><p>这里除了检出本仓库中的文件，还会检出子仓库中的文件，当子仓库为私有仓库时会失败，需要额外配置权限。</p><h5 id="安装-node-和-相关依赖"><a class="markdownIt-Anchor" href="#安装-node-和-相关依赖"></a> 安装 node 和 相关依赖</h5><figure class="highlight yml"><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></pre></td><td class="code"><pre><span class="line"><span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Setup</span> <span class="string">Node.js</span> <span class="number">16.</span><span class="string">x</span></span><br><span class="line">  <span class="attr">uses:</span> <span class="string">actions/setup-node@master</span></span><br><span class="line">  <span class="attr">with:</span></span><br><span class="line">    <span class="attr">node-version:</span> <span class="string">&quot;16.x&quot;</span> <span class="comment"># node 版本设置</span></span><br><span class="line"></span><br><span class="line"><span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Cache</span> <span class="string">node</span> <span class="string">modules</span></span><br><span class="line">  <span class="comment"># 设置包缓存目录，避免每次下载</span></span><br><span class="line">  <span class="attr">uses:</span> <span class="string">actions/cache@v1</span></span><br><span class="line">  <span class="attr">with:</span></span><br><span class="line">    <span class="attr">path:</span> <span class="string">~/.npm</span></span><br><span class="line">    <span class="attr">key:</span> <span class="string">$&#123;&#123;</span> <span class="string">runner.os</span> <span class="string">&#125;&#125;-node-$&#123;&#123;</span> <span class="string">hashFiles(&#x27;**/package-lock.json&#x27;)</span> <span class="string">&#125;&#125;</span></span><br><span class="line"></span><br><span class="line"><span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Install</span> <span class="string">dependencies</span></span><br><span class="line">  <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">    npm install -g serverless</span></span><br><span class="line"><span class="string">    npm install hexo-cli -g</span></span><br><span class="line"><span class="string">    npm install</span></span><br></pre></td></tr></table></figure><p>我这里使用了最新的 “16.x” 版本，并设置了缓存目录，避免每次重复安装。</p><p><code>npm install -g serverless</code> 是安装 <code>serverless</code> 用于使用 <code>serverless framework</code> 部署到腾讯云。</p><h5 id="生成网页文件"><a class="markdownIt-Anchor" href="#生成网页文件"></a> 生成网页文件</h5><figure class="highlight yml"><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></pre></td><td class="code"><pre><span class="line"><span class="bullet">-</span> <span class="attr">name:</span> <span class="string">init</span> <span class="string">public</span></span><br><span class="line">  <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">    hexo clean</span></span><br><span class="line"><span class="string">    hexo generate</span></span><br></pre></td></tr></table></figure><p>生成 public 文件夹。后续也发布 Github 仓库 时不会使用 <code>hexo deploy</code> ，而是直接将该生成文件推送到目标仓库中，或者使用另一个第三方工具。</p><h5 id="部署到腾讯云"><a class="markdownIt-Anchor" href="#部署到腾讯云"></a> 部署到腾讯云</h5><figure class="highlight yml"><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></pre></td><td class="code"><pre><span class="line"><span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Deploy</span> <span class="string">tecent</span></span><br><span class="line">  <span class="attr">env:</span></span><br><span class="line">    <span class="attr">SERVERLESS_PLATFORM_VENDOR:</span> <span class="string">tencent</span> <span class="comment"># 外网环境下需要设置</span></span><br><span class="line">    <span class="attr">TENCENT_SECRET_ID:</span> <span class="string">$&#123;&#123;</span> <span class="string">secrets.TENCENT_SECRET_ID</span> <span class="string">&#125;&#125;</span></span><br><span class="line">    <span class="attr">TENCENT_SECRET_KEY:</span> <span class="string">$&#123;&#123;</span> <span class="string">secrets.TENCENT_SECRET_KEY</span> <span class="string">&#125;&#125;</span></span><br><span class="line">  <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line">    <span class="string">sls</span> <span class="string">deploy</span> <span class="string">-debug</span></span><br></pre></td></tr></table></figure><p><code>SERVERLESS_PLATFORM_VENDOR: tencent</code> 一定要设置，不设置的话会显示登录失败，这个是来自于腾讯云的技术顾问。<br /><code>TENCENT_SECRET_ID</code> 和 <code>TENCENT_SECRET_KEY</code> 都是前面设置的腾讯云的 API 访问令牌。注意变量名。本身在本地使用的时候会创建 <code>.env</code> 文件存放令牌，但这里为了防止令牌泄露，采用 <code>secret</code> 的形式，<code>.env</code> 文件无需上传。<br /><code>sls deploy -debug</code> 这个命令用于将生成好的文件推送到腾讯云上，不熟悉该命令的可以看 <a href="https://www.hermitlsr.top/2021-08-24/2a44b50c.html">腾讯云serverless托管Hexo静态博客</a> 。</p><h5 id="部署到-github-page"><a class="markdownIt-Anchor" href="#部署到-github-page"></a> 部署到 Github page</h5><p>这里有多种方法进行，我选取了两种使用令牌的方法放在这里：</p><p>第一种方法：</p><figure class="highlight yml"><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></pre></td><td class="code"><pre><span class="line"><span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Deploy</span> <span class="string">github</span></span><br><span class="line">  <span class="attr">env:</span></span><br><span class="line">    <span class="attr">DEPLOY_REPO:</span> <span class="string">github.com/hermitlsr/hermitlsr.github.io</span></span><br><span class="line">  <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">    cd ./public &amp;&amp; git init &amp;&amp; git add .</span></span><br><span class="line"><span class="string">    git config --global user.name $GIT_USER</span></span><br><span class="line"><span class="string">    git config --global user.email $GIT_EMAIL</span></span><br><span class="line"><span class="string">    git add .</span></span><br><span class="line"><span class="string">    git commit -m &quot;GitHub Actions Auto Builder at $(date +&#x27;%Y-%m-%d %H:%M:%S&#x27;)&quot;</span></span><br><span class="line"><span class="string">    git push --force --quiet &quot;https://$&#123;&#123; secrets.ACCESS_TOKEN &#125;&#125;@$DEPLOY_REPO&quot; master:master</span></span><br></pre></td></tr></table></figure><p>该部署方式是直接将生成的 public 文件夹推送到目标仓库的方式。<br /><code>DEPLOY_REPO</code> 设置目标仓库。<br />首先进入到 <code>public</code> 文件夹中，并初始化 github 仓库，并设置所有者为自己，然后设置推送命令，最后通过访问令牌的验证方式强制推送。该种方式会强制覆盖仓库内的内容。</p><p>另一种推送到 Github 的方式是使用 <code>peaceiris/actions-gh-pages@v3</code></p><figure class="highlight yml"><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></pre></td><td class="code"><pre><span class="line"><span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Deploy</span> <span class="string">to</span> <span class="string">GitHub</span> <span class="string">Pages</span></span><br><span class="line">  <span class="attr">uses:</span> <span class="string">peaceiris/actions-gh-pages@v3</span></span><br><span class="line">  <span class="attr">with:</span></span><br><span class="line">    <span class="attr">personal_token:</span> <span class="string">$&#123;&#123;</span> <span class="string">secrets.ACCESS_TOKEN</span> <span class="string">&#125;&#125;</span></span><br><span class="line">    <span class="attr">external_repository:</span> <span class="string">hermitlsr/hermitlsr.github.io</span></span><br><span class="line">    <span class="attr">publish_branch:</span> <span class="string">master</span></span><br><span class="line">    <span class="attr">publish_dir:</span> <span class="string">./public</span></span><br><span class="line">    <span class="attr">commit_message:</span> <span class="string">$&#123;&#123;</span> <span class="string">github.event.head_commit.message</span> <span class="string">&#125;&#125;</span></span><br><span class="line">    <span class="attr">user_name:</span> <span class="string">&#x27;github-actions[bot]&#x27;</span></span><br><span class="line">    <span class="attr">user_email:</span> <span class="string">&#x27;github-actions[bot]@users.noreply.github.com&#x27;</span></span><br></pre></td></tr></table></figure><p>注意：</p><ul><li><code>personal_token: $&#123;&#123; secrets.ACCESS_TOKEN &#125;&#125;</code> ：这里如果是推送到相同的仓库，可以直接使用 <code>github_token:$&#123;&#123; secrets.GITHUB_TOKEN &#125;&#125;</code>，该 token 无需额外生成；当如果是不同的仓库，需要使用 <code>personal_token</code> ，<code>Protocol</code> 为 <code>HTTPS</code> 或者 <code>deploy_key</code> ，<code>Protocol</code> 为 <code>SSH</code> 进行部署。</li><li><code>external_repository</code>： 推送的仓库，设置为你要使用 Github Pages 的仓库就可以了。</li><li><code>publish_branch</code>：要推送到目标仓库的分支，非默认分支需提前创建。</li><li><code>publish_dir</code>：推送内容所在的文件相对地址。</li><li><code>commit_message</code>：推送信息。</li><li>具体可 <a href="https://github.com/peaceiris/actions-gh-pages">见文档</a> 。</li></ul><h5 id="qmsg-酱推送成功信息"><a class="markdownIt-Anchor" href="#qmsg-酱推送成功信息"></a> qmsg 酱推送成功信息</h5><figure class="highlight yml"><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><span class="line"><span class="bullet">-</span> <span class="attr">name:</span> <span class="string">notification</span></span><br><span class="line">  <span class="attr">run:</span> <span class="string">|</span> <span class="comment"># 部署成功后通过 qmsg 推送到 qq 提示部署成功</span></span><br><span class="line">    <span class="string">curl</span> <span class="string">https://qmsg.zendee.cn/send/$&#123;&#123;secrets.QMSG_KEY&#125;&#125;</span> <span class="string">-X</span> <span class="string">POST</span> <span class="string">-d</span> <span class="string">&#x27;msg=部署成功, 请访问 https://www.hermitlsr.top/ 进行确认 &#x27;</span></span><br></pre></td></tr></table></figure><p>该信息可以自定义，这里的 <code>&#123;&#123;secrets.QMSG_KEY&#125;&#125;</code> 为之前设置的 qmsg 的权限密码。这不是一个必要的流程，只是为了让之前注册的 qmsg 酱不要闲置。</p><p>至此配置完成，将所有修改推送到 Github 即可。</p><div class="tag-plugin note" color="red"><div class="title"><strong>注意</strong></div><div class="body"><p>不过需要注意的是，Github action 私有库每个月只有 2000  分钟的时间。部署一次博客大概 1-2 分钟左右，一个月 1000 次左右肯定够了。万一用完了可以直接本地发布。</p></div></div><h2 id="3-最后一些常用的-action-获取"><a class="markdownIt-Anchor" href="#3-最后一些常用的-action-获取"></a> 3 最后一些常用的 action 获取</h2><p><a href="https://github.com/actions">GitHub 官方的 action</a><br /><a href="https://github.com/marketplace?type=actions">GitHub 官方市场中的 action</a><br /><a href="https://github.com/sdras/awesome-actions">第三方收集的有用的 action</a></p>]]></content>
    
    
    <summary type="html">&lt;p&gt;   看过很多使用 Github Action 自动部署 Hexo 博客的教程，但是部署到 腾讯云 Serverless framework 的几乎没有，而且对于 GitHub 身份验证也比较麻烦，综合各家之长有了本篇小文，力求详细。&lt;/p&gt;</summary>
    
    
    
    <category term="博客折腾" scheme="https://www.hermitlsr.top/blog/categories/%E5%8D%9A%E5%AE%A2%E6%8A%98%E8%85%BE/"/>
    
    
    <category term="Hexo" scheme="https://www.hermitlsr.top/blog/tags/Hexo/"/>
    
    <category term="Github Action" scheme="https://www.hermitlsr.top/blog/tags/Github-Action/"/>
    
    <category term="tencent cloud" scheme="https://www.hermitlsr.top/blog/tags/tencent-cloud/"/>
    
    <category term="Severless" scheme="https://www.hermitlsr.top/blog/tags/Severless/"/>
    
  </entry>
  
  <entry>
    <title>腾讯云 Serverless 托管 Hexo 静态博客</title>
    <link href="https://www.hermitlsr.top/2021-08-24/%E8%85%BE%E8%AE%AF%E4%BA%91serverless%E6%89%98%E7%AE%A1Hexo%E9%9D%99%E6%80%81%E5%8D%9A%E5%AE%A2/"/>
    <id>https://www.hermitlsr.top/2021-08-24/%E8%85%BE%E8%AE%AF%E4%BA%91serverless%E6%89%98%E7%AE%A1Hexo%E9%9D%99%E6%80%81%E5%8D%9A%E5%AE%A2/</id>
    <published>2021-08-24T12:46:50.000Z</published>
    <updated>2021-08-24T12:46:50.000Z</updated>
    
    <content type="html"><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="/assets/css/APlayer.min.css"><script src="/assets/js/APlayer.min.js" class="aplayer-secondary-script-marker"></script><script class="meting-secondary-script-marker" src="/assets/js/Meting.min.js"></script><p>  使用腾讯云 serverless 托管静态博客，让静态博客托管更简单。</p><span id="more"></span><h2 id="1-写在前面"><a class="markdownIt-Anchor" href="#1-写在前面"></a> 1 写在前面</h2><ol><li><p>域名需要备案<br />和 coding 可以不备案使用香港的资源部署不同，使用该服务域名必须进行备案。不过，腾讯云提供的三种备案<a href="https://cloud.tencent.com/document/product/243/18793">云服务资源</a> 包含了 Serverless 服务， 可以购买 <a href="https://buy.cloud.tencent.com/scf">云函数 (SCF) 备案资源包</a> 100rmb (新用户有卷 55rmb)，直接进行备案，和购买服务器进行备案的方式差不多。但是，如果只是用 serverless 来部署博客，这个资源包就基本用不上。</p></li><li><p>无需服务器<br />无需服务器可以降低学习成本和经济成本。但是需要使用额外的 severless 插件。</p></li><li><p>额外的部署命令<br />使用该服务不能如同 coding 那样直接放在 <code>_config.yml.deploy</code> 中，需要额外的命令 <code>sls deploy -debug</code> 进行部署。</p></li><li><p>可自由选择部署应用所在地<br />这是对比 coding 只能默认选择上海，该服务可自由选择所在地，我选择离所在地近的。</p></li><li><p>可自由选择使用腾讯云的 CDN 服务<br />新用户可以白嫖六个月 120G 的 CDN。不过小站访问量不高，开了与源站一致每月也就是几百兆。</p></li></ol><p>题外话：可以看到我基本都在与 coding 进行对比。我开始建站的时候看了很多白嫖 coding 部署博客的文章，但是 coding 被腾讯云收购了，白嫖是不可能白嫖了。在部署到 coding 上后，我发现静态文件都在腾讯云的 cos 存储桶里，在 severless 应用服务中创建了 <code>app</code> ，所以实际上部署到 coding 就是在使用腾讯云的 serverless 应用服务，而且自由度还不高。</p><h2 id="2-serverless-应用中心"><a class="markdownIt-Anchor" href="#2-serverless-应用中心"></a> 2 Serverless 应用中心</h2><p>关于 Serverless 的概念可以参考：<a href="https://zhuanlan.zhihu.com/p/391723046">Serverless 多函数开发示例</a> 、<a href="https://www.jianshu.com/p/92632d6c2269">Serverless</a><br />简单讲就是指构建和运行不需要服务器管理的应用程序的概念。</p><p>腾讯云的介绍：腾讯云中的 <a href="https://cloud.tencent.com/document/product/1154">Serverless 应用中心</a> 是腾讯云与 <a href="http://Serverless.com">Serverless.com</a> 战略合作，基于无服务器应用框架 Serverless Framework， 为用户提供的 Serverless 应用开发管理平台。开发者无需关心底层资源，即可快速部署完整可用的 Serverless 应用架构，具有资源编排、自动伸缩、事件驱动等能力，覆盖编码-调试-测试-部署等全生命周期，帮助开发者通过联动云资源，迅速构建 Serverless 应用。</p><p>该服务提供了部署 Hexo 博客的接口 ：<a href="https://cloud.tencent.com/document/product/1154/40217">部署 Hexo 博客</a> ，如果有经验的话可以直接根据这份文档进行部署，我一开始就是这么做的。</p><h2 id="3-部署博客"><a class="markdownIt-Anchor" href="#3-部署博客"></a> 3 部署博客</h2><p>按文档的要求：</p><ul><li>已安装 Node.js（2020年9月1日起，Serverless 组件不再支持 Node.js10.0 以下版本，请注意升级）</li><li>已安装 Git<br />这个一般不用管，毕竟博客搭建好之后这些都是已经安装好的。</li></ul><p>部署流程：</p><ol><li>安装 Serverless Framework。</li><li>创建 <code>serverless.yml</code> 文件。</li><li>使用 <code>sls deploy</code> 进行部署。</li><li>自定义域名。</li></ol><h3 id="31-安装-serverless-framework"><a class="markdownIt-Anchor" href="#31-安装-serverless-framework"></a> 3.1 安装 Serverless Framework</h3><p>通过 npm 安装 Serverless Framework：</p><div class="tag-plugin copy"><input class="copy-area" readonly id="copy_4" value="npm install -g serverless"><button class="copy-btn" onclick="util.copy(&quot;copy_4&quot;,&quot;Copied!&quot;)"><svg class="icon copy-btn" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M5.75 1a.75.75 0 00-.75.75v3c0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75v-3a.75.75 0 00-.75-.75h-4.5zm.75 3V2.5h3V4h-3zm-2.874-.467a.75.75 0 00-.752-1.298A1.75 1.75 0 002 3.75v9.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-9.5a1.75 1.75 0 00-.874-1.515.75.75 0 10-.752 1.298.25.25 0 01.126.217v9.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-9.5a.25.25 0 01.126-.217z"></path></svg></button></div><h3 id="32-创建-serverlessyml-文件"><a class="markdownIt-Anchor" href="#32-创建-serverlessyml-文件"></a> 3.2 创建 <code>serverless.yml</code> 文件</h3><p>在站点根目录创建 <code>serverless.yml</code> 文件：</p><figure class="highlight yml"><figcaption><span>serverless.yml</span></figcaption><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></pre></td><td class="code"><pre><span class="line"><span class="attr">component:</span> <span class="string">&#x27;website&#x27;</span> <span class="comment"># (必填) 引用 component 的名称，当前用到的是 tencent-website 组件</span></span><br><span class="line"><span class="attr">name:</span> <span class="string">hermitlsr-blog</span> <span class="comment"># (必填) 该 website 组件创建的实例名称</span></span><br><span class="line"><span class="attr">app:</span> <span class="string">hermitlsr-blog-app</span> <span class="comment"># (可选) 该 website 应用名称</span></span><br><span class="line"><span class="attr">stage:</span> <span class="string">dev</span> <span class="comment"># (可选) 用于区分环境信息，默认值是 dev</span></span><br><span class="line"><span class="attr">inputs:</span></span><br><span class="line"> <span class="attr">src:</span></span><br><span class="line">   <span class="attr">src:</span> <span class="string">./public</span> <span class="comment"># Upload static files generated by HEXO</span></span><br><span class="line">   <span class="attr">index:</span> <span class="string">index.html</span></span><br><span class="line">   <span class="comment"># dist: ./dist</span></span><br><span class="line">   <span class="comment"># hook: npm run build</span></span><br><span class="line">   <span class="comment"># websitePath: ./</span></span><br><span class="line"> <span class="attr">region:</span> <span class="string">ap-chengdu</span>  <span class="comment"># 部署的位置</span></span><br><span class="line"> <span class="attr">bucketName:</span> <span class="string">hermitlsr-blog-bucket</span></span><br><span class="line"> <span class="attr">protocol:</span> <span class="string">https</span></span><br></pre></td></tr></table></figure><p>这是我的配置，可根据需要自行配置。</p><h3 id="33-使用-sls-deploy-进行部署"><a class="markdownIt-Anchor" href="#33-使用-sls-deploy-进行部署"></a> 3.3 使用 <code>sls deploy</code> 进行部署</h3><p>直接使用 <code>sls deploy</code> 是看不到部署细节的，需使用 <code>sls deploy -debug</code>。另外，每次部署时需同过登录链接登录腾讯云验证，或者配置全局用户授权。<br />由于我还需要部署到 github 上，我的部署命令一般如下：</p><div class="tag-plugin copy"><input class="copy-area" readonly id="copy_5" value="hexo clean && hexo g && hexo d && sls deploy -debug"><button class="copy-btn" onclick="util.copy(&quot;copy_5&quot;,&quot;Copied!&quot;)"><svg class="icon copy-btn" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M5.75 1a.75.75 0 00-.75.75v3c0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75v-3a.75.75 0 00-.75-.75h-4.5zm.75 3V2.5h3V4h-3zm-2.874-.467a.75.75 0 00-.752-1.298A1.75 1.75 0 002 3.75v9.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-9.5a1.75 1.75 0 00-.874-1.515.75.75 0 10-.752 1.298.25.25 0 01.126.217v9.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-9.5a.25.25 0 01.126-.217z"></path></svg></button></div><div class="tag-plugin image"><div class="image-bg"><img src="https://cdn.hermitlsr.top/images/post/serverless/20210824143928.png!watermark" fancybox="true"/></div></div><p>部署完成后，进入腾讯云的控制台可以发现在 Serverless 应用中创建了名为 <code>hermitlsr-blog-app</code> 的应用，点击访问应用即可访问到你部署的博客。</p><div class="tag-plugin image"><div class="image-bg"><img src="https://cdn.hermitlsr.top/images/post/serverless/20210824144313.png!watermark" fancybox="true"/></div></div><p>博客的所有静态资源都在 腾讯云的 cos 存储桶中，它创建了一个名为 <code>hermitlsr-blog-bucket-appID</code> 的存储桶：</p><div class="tag-plugin image"><div class="image-bg"><img src="https://cdn.hermitlsr.top/images/post/serverless/20210824223347.png!watermark" fancybox="true"/></div></div><p>到目前为止博客已经部署到通过 <code>serverless 应用</code> 部署到腾讯云上了，但是还没有 <code>CNAM</code> 到自己的域名。</p><h3 id="34-自定义域名"><a class="markdownIt-Anchor" href="#34-自定义域名"></a> 3.4 自定义域名</h3><p>自定义域名都是通过在域名解析上使用 <code>CNAME</code> 重定向实现。<br />首先需要在站点的 <code>source</code> 文件夹中新建 <code>CNAME</code> 文件，该文件没有后缀名，在其中填入的你的自定义域名。<br />其次在域名解析中设置 <code>CNAME</code><br />我自定义域名是分两条线路国外访问走 github page ，国内访问走腾讯云。无论是哪一种都需要设置两种主机记录值 <code>@</code> 和 <code>www</code>，这两种对应的访问域名分别为 <code>hermitlsr.top</code> 和 <code>www.hermitlsr.top</code><br />而对于两种记录值的设置，除了记录值不同外其他 <code>CNAM</code> 等选项都是一样的。</p><p>以我的 github page 为例，其设置为：</p><table><thead><tr><th style="text-align:center">主机记录</th><th style="text-align:center">记录类型</th><th style="text-align:center">线路类型</th><th style="text-align:center">记录值</th><th style="text-align:center">MX优先级</th><th style="text-align:center">TTL(秒)</th></tr></thead><tbody><tr><td style="text-align:center">@</td><td style="text-align:center">CNAME</td><td style="text-align:center">境外</td><td style="text-align:center"><a href="http://hermitlsr.github.io">hermitlsr.github.io</a>.</td><td style="text-align:center">-</td><td style="text-align:center">600</td></tr><tr><td style="text-align:center">www</td><td style="text-align:center">CNAME</td><td style="text-align:center">境外</td><td style="text-align:center"><a href="http://hermitlsr.github.io">hermitlsr.github.io</a>.</td><td style="text-align:center">-</td><td style="text-align:center">600</td></tr></tbody></table><p>而对于腾讯云，使用 CDN 和不使用 CDN 记录值是不一样的。</p><p>不使用 CDN :</p><p>进入存储桶，打开域名与传输管理部分，其中在<mark class="tag-plugin label red">自定义源站域名</mark>中添加自己的自定义域名，注意源站类型选择 <mark class="tag-plugin label red">静态网址源站</mark>，其中 CNAME 为解析里要设置的记录值。</p><div class="tag-plugin image"><div class="image-bg"><img src="https://cdn.hermitlsr.top/images/post/serverless/20210824170021.png!watermark" fancybox="true"/></div></div><p>设置如下：</p><table><thead><tr><th style="text-align:center">主机记录</th><th style="text-align:center">记录类型</th><th style="text-align:center">线路类型</th><th style="text-align:center">记录值</th><th style="text-align:center">MX优先级</th><th style="text-align:center">TTL(秒)</th></tr></thead><tbody><tr><td style="text-align:center">@</td><td style="text-align:center">CNAME</td><td style="text-align:center">境内</td><td style="text-align:center"><a href="https://hermitlsr-blog-bucket-appID.cos-website.ap-chengdu.myqcloud.com">https://hermitlsr-blog-bucket-appID.cos-website.ap-chengdu.myqcloud.com</a></td><td style="text-align:center">-</td><td style="text-align:center">600</td></tr><tr><td style="text-align:center">www</td><td style="text-align:center">CNAME</td><td style="text-align:center">境内</td><td style="text-align:center"><a href="https://hermitlsr-blog-bucket-appID.cos-website.ap-chengdu.myqcloud.com">https://hermitlsr-blog-bucket-appID.cos-website.ap-chengdu.myqcloud.com</a></td><td style="text-align:center">-</td><td style="text-align:center">600</td></tr></tbody></table><p>使用 CDN 要麻烦一些，首先要设置 CDN (这不废话么)：</p><p>还是刚才的页面，在上面的<mark class="tag-plugin label red">自定义</mark>中添加自己的自定义域名，其中 CNAME 为解析里要设置的记录值。</p><div class="tag-plugin image"><div class="image-bg"><img src="https://cdn.hermitlsr.top/images/post/serverless/20210824154657.png!watermark" fancybox="true"/></div></div><p>设置如下：</p><table><thead><tr><th style="text-align:center">主机记录</th><th style="text-align:center">记录类型</th><th style="text-align:center">线路类型</th><th style="text-align:center">记录值</th><th style="text-align:center">MX优先级</th><th style="text-align:center">TTL(秒)</th></tr></thead><tbody><tr><td style="text-align:center">@</td><td style="text-align:center">CNAME</td><td style="text-align:center">境内</td><td style="text-align:center">表中的 CNAME 值</td><td style="text-align:center">-</td><td style="text-align:center">600</td></tr><tr><td style="text-align:center">www</td><td style="text-align:center">CNAME</td><td style="text-align:center">境内</td><td style="text-align:center">表中的 CNAME 值</td><td style="text-align:center">-</td><td style="text-align:center">600</td></tr></tbody></table><p>这里看起来好像和源站区别不大，为什么说还要麻烦些呢，因为还涉及证书的管理和 CDN 的具体设置。</p><p>进入到控制台的<mark class="tag-plugin label blue">内容分发</mark>部分，在证书管理中确认配置的证书和你前面存储桶中绑定的证书是一致的，否则会导致证书不通过而无法访问，我一开始被这个坑惨了。<br />再进入到<mark class="tag-plugin label blue">域名管理</mark>，在<mark class="tag-plugin label blue">基础配置</mark>中可以看到具体信息，可以随时修改。在<mark class="tag-plugin label blue">访问控制</mark>中可以进行防盗链配置，在<mark class="tag-plugin label blue">缓存配置</mark>中可以进行节点缓存过期配置，建站初期经常修改可以选择<mark class="tag-plugin label green">遵循源站</mark>，后期可以选择高级缓存过期设置，先设置全部文件，缓存时间为15天，在设置按文件后缀 <code>js;css;ejs;styl</code> 为 0 秒。</p><h2 id="4-最后"><a class="markdownIt-Anchor" href="#4-最后"></a> 4 最后</h2><p>如果没有其他需求，仅需要部署静态博客，使用 serverless 应用是一个省时省力省钱的操作。</p>]]></content>
    
    
    <summary type="html">&lt;p&gt;  使用腾讯云 serverless 托管静态博客，让静态博客托管更简单。&lt;/p&gt;</summary>
    
    
    
    <category term="博客折腾" scheme="https://www.hermitlsr.top/blog/categories/%E5%8D%9A%E5%AE%A2%E6%8A%98%E8%85%BE/"/>
    
    
    <category term="Hexo" scheme="https://www.hermitlsr.top/blog/tags/Hexo/"/>
    
    <category term="tencent cloud，serverless" scheme="https://www.hermitlsr.top/blog/tags/tencent-cloud%EF%BC%8Cserverless/"/>
    
  </entry>
  
  <entry>
    <title>请作者喝咖啡--sponsor-page</title>
    <link href="https://www.hermitlsr.top/2021-08-14/%E8%AF%B7%E4%BD%9C%E8%80%85%E5%96%9D%E5%92%96%E5%95%A1-sponsor-page/"/>
    <id>https://www.hermitlsr.top/2021-08-14/%E8%AF%B7%E4%BD%9C%E8%80%85%E5%96%9D%E5%92%96%E5%95%A1-sponsor-page/</id>
    <published>2021-08-14T23:41:59.000Z</published>
    <updated>2021-08-14T23:41:59.000Z</updated>
    
    <content type="html"><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="/assets/css/APlayer.min.css"><script src="/assets/js/APlayer.min.js" class="aplayer-secondary-script-marker"></script><script class="meting-secondary-script-marker" src="/assets/js/Meting.min.js"></script><p>赞赏是不可能赞赏的，只有白嫖才能勉强维持得了生活这样子。但是多一个好看的赞赏键拿来做装饰不好么？</p><span id="more"></span><h2 id="sponsor-介绍"><a class="markdownIt-Anchor" href="#sponsor-介绍"></a> sponsor 介绍</h2><p>sponsor-page 是 <a href="https://github.com/Kaiyuan">Kaiyuan Xie</a> 大佬的开源项目：</p><div class="tag-plugin ghcard"><a class="ghcard" rel="external nofollow noopener noreferrer" href="https://github.com/Kaiyuan/sponsor-page"><img src="https://github-readme-stats.xaoxuu.com/api/pin/?username=Kaiyuan&repo=sponsor-page&&show_owner=true"/></a></div><p>作者提供了两种样式的捐赠部件，美中不足的是其提供了比特币但没有提供QQ的图标 <del>好像也不是很重要，反正也没人打钱</del>。</p><table margin:auto><tr><td><img src="https://camo.githubusercontent.com/9cff31a8a217b9cbd82b160fd4a18f9cb30a6e455bae19fcad02d139dac93211/68747470733a2f2f692e696d6775722e636f6d2f4430516578426c2e676966" style="width: 250px"></td><td><img src="https://camo.githubusercontent.com/81b5a58e19fdb3a278e49bf7520970ed5a5b91240e9070e9889a342029a3e428/68747470733a2f2f692e696d6775722e636f6d2f4179414d6b6a522e676966" style="width: 250px"></td></tr></table><p><code>kelecn</code> 在该项目上增加了QQ图标，不过好像大概就是换了下 <code>bitcoin.svg</code> logo，可看参考资料。</p><p>我个人比较喜欢 <code>drink</code> 样式的背景，但又喜欢 <code>sample</code> 样式的白底彩色图标效果，就自己动动手把他们综合了一下，不过最后好像也只是换了下logo？</p><p>最后它在我站点上的效果：</p><div class="tag-plugin image"><div class="image-bg"><img src="https://cdn.hermitlsr.top/images/post/sponsor/20210814235243.png!watermark" fancybox="true"/></div></div><h2 id="1-修改"><a class="markdownIt-Anchor" href="#1-修改"></a> 1 修改</h2><p>经过研究源代码，确定两种样式是独立的，他们的 <code>js</code> 和 <code>css</code> 并不相互共用，交叉使用的只是 <code>images</code> 。而仔细分析我的需求，只是展示样式的问题，并不涉及二维码的展示逻辑，所以重点在 <code>css</code> 的修改上。</p><h3 id="11-css修改"><a class="markdownIt-Anchor" href="#11-css修改"></a> 1.1 css修改</h3><p>我的需求主要在于颜色，不想让它蓝蓝的，想让它白白的<span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/13.png"/></span>，这里就直接定位到含有颜色的部分，并通过 f12 大法确定它的用处</p><ol><li><code>#donate-buttons</code></li></ol><p>该 <code>class</code> 下的颜色是按钮的背景色，就是他让整个按钮是蓝蓝的。这里将其修改为：</p><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><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="selector-id">#donate-buttons</span> &#123;</span><br><span class="line">    <span class="attribute">background-color</span>: <span class="number">#F8F8F8</span>;</span><br><span class="line">    <span class="attribute">box-shadow</span>: <span class="number">0</span> <span class="number">10px</span> <span class="number">20px</span> <span class="number">1px</span> <span class="built_in">rgba</span>(<span class="number">221</span>, <span class="number">221</span>, <span class="number">221</span>, <span class="number">0.5</span>);</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p>为什么是 <code>#F8F8F8</code> ，因为这是我的主题色，纯白色太亮眼的了，和主题色一致不至于有违和感。</p><ol start="2"><li><code>li[id$=&quot;_donate&quot;]::after</code></li></ol><p>该 <code>class</code> 下的颜色是鼠标放在某个按钮上时，按钮上方出现的小倒三角，意味着选择的那一个。因为我并不想看到这个三角，所以直接按之前的颜色处理：</p><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><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="selector-tag">li</span><span class="selector-attr">[id$=<span class="string">&quot;_donate&quot;</span>]</span><span class="selector-pseudo">::after</span> &#123;</span><br><span class="line"><span class="attribute">border</span>: <span class="number">5px</span> solid <span class="number">#F8F8F8</span>;</span><br><span class="line"><span class="attribute">border-color</span>: <span class="number">#F8F8F8</span> transparent transparent transparent;</span><br><span class="line"></span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><ol start="3"><li><code>#drinks-qrcode</code></li></ol><p>该 <code>class</code> 下的颜色是弹出的二维码边框颜色，同样设置为 <code>#F8F8F8</code>：</p><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><span class="line"><span class="selector-id">#drinks-qrcode</span> &#123;</span><br><span class="line"><span class="attribute">background</span>: <span class="number">#F8F8F8</span> no-repeat center center <span class="built_in">url</span>();</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><ol start="4"><li>更换图标</li></ol><p>按这个顺序做的，会在 <code>1.</code> 做完后发现图标不见了。事实上，不是不见了，而是因为默认调用的是可调色的图标，前面设置成了白色自然无法看见。这里就需要更换彩色图片。</p><p>彩色图片来自于 <code>sample</code> 样式中的 <code>images</code> ，QQ的图标我采用了参考资料中的文件，不想自己找了。</p><p>但这里遇到一个问题就是更换完成之后还是无法显示，后来发现是缓存问题，为了稳妥，将所有涉及的图片都放在了图床上。当然最主要的原因还是为了方便部署在博客上。以下例举需要更换的地方。</p><details class="tag-plugin folding" color="gray" child="codeblock"><summary><span>查看代码</span></summary><div class="body"><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><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></pre></td><td class="code"><pre><span class="line"><span class="comment">/*1*/</span></span><br><span class="line"><span class="selector-id">#drinks-icons</span> &#123;</span><br><span class="line">    <span class="attribute">background</span>: no-repeat center center <span class="built_in">url</span>(<span class="string">https://cdn.hermitlsr.top/ky/donate/image/text-new.png</span>);</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="comment">/*2*/</span></span><br><span class="line"><span class="selector-id">#github-box</span> &#123;</span><br><span class="line">    <span class="attribute">background</span>: no-repeat center center <span class="built_in">url</span>(<span class="string">https://cdn.hermitlsr.top/ky/donate/image/github.svg</span>);</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="comment">/*3*/</span></span><br><span class="line"><span class="selector-id">#paypal_donate</span> &#123;</span><br><span class="line">    <span class="attribute">background-image</span>: <span class="built_in">url</span>(<span class="string">https://cdn.hermitlsr.top/ky/donate/image/paypal.svg</span>);</span><br><span class="line">&#125;</span><br><span class="line"><span class="selector-id">#qq_donate</span> &#123;</span><br><span class="line">    <span class="attribute">background-image</span>: <span class="built_in">url</span>(<span class="string">https://cdn.hermitlsr.top/ky/donate/image/qq.svg</span>);</span><br><span class="line">&#125;</span><br><span class="line"><span class="selector-id">#alipay_donate</span>&#123;</span><br><span class="line">    <span class="attribute">background-image</span>: <span class="built_in">url</span>(<span class="string">https://cdn.hermitlsr.top/ky/donate/image/alipay.svg</span>);</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-id">#wechat_donate</span>&#123;</span><br><span class="line">    <span class="attribute">background-image</span>: <span class="built_in">url</span>(<span class="string">https://cdn.hermitlsr.top/ky/donate/image/wechat.svg</span>);</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="comment">/*4*/</span></span><br><span class="line"></span><br><span class="line"><span class="selector-id">#drinks-qrcode</span> &#123;</span><br><span class="line"><span class="attribute">background</span>: <span class="number">#F8F8F8</span> no-repeat center center <span class="built_in">url</span>(<span class="string">https://cdn.hermitlsr.top/ky/donate/image/WeChanSQ.png</span>);</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure></div></details><p>经此4步，<code>css</code> 部分就基本修改完了。</p><h3 id="12-js修改"><a class="markdownIt-Anchor" href="#12-js修改"></a> 1.2 js修改</h3><p><code>js</code> 中需要修改的内容不多，主要是二维码的路径：</p><figure class="highlight js"><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></pre></td><td class="code"><pre><span class="line"><span class="keyword">var</span> <span class="title class_">PayPalLink</span>  =   <span class="string">&quot;https://www.paypal.me/KaiyuanXie&quot;</span>; <span class="comment">// 我不用这个所以直接没改。</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">var</span> qrcodes = &#123;</span><br><span class="line">    <span class="string">&#x27;qq_donate&#x27;</span>:<span class="string">&#x27;https://cdn.hermitlsr.top/ky/donate/image/qqQR.png&#x27;</span>,<span class="comment">// 二维码路径</span></span><br><span class="line">    <span class="string">&#x27;alipay_donate&#x27;</span>:<span class="string">&#x27;https://cdn.hermitlsr.top/ky/donate/image/AliPayQR.png&#x27;</span>,<span class="comment">// 支付宝二维码</span></span><br><span class="line">    <span class="string">&#x27;alipay_donate_link&#x27;</span>   :   <span class="string">&#x27;https://qr.alipay.com/fkx03277sywmqzbvpjow76&#x27;</span>,   <span class="comment">// 支付宝二维码上的链接，必须换成自己的连接！！！手机点击会自动跳转到支付宝。</span></span><br><span class="line">    <span class="string">&#x27;wechat_donate&#x27;</span>:<span class="string">&#x27;https://cdn.hermitlsr.top/ky/donate/image/WeChanSQ.png&#x27;</span></span><br><span class="line">&#125;;</span><br></pre></td></tr></table></figure><p>另外你应该发现，这里是 ‘qq_donate’ 而没有 <code>btc_donate</code>，是的，因为不需要比特币，所以把所有关于 <code>btc</code> 的类都改成了 <code>qq</code>。这个直接在 <code>html</code> 、<code>js</code> 和 <code>css</code> 三个文件中搜索替换即可。</p><h3 id="13-html修改"><a class="markdownIt-Anchor" href="#13-html修改"></a> 1.3 html修改</h3><p>这里的修改主要是：</p><ol><li>将图片链接替换掉</li><li>将 <code>li id=&quot;paypal_donate&quot;&gt;&lt;a href=&quot;https://www.paypal.me/KaiyuanXie&quot; target=&quot;_blank&quot;&gt;Paypal&lt;/a&gt;&lt;/li&gt;</code> 删掉，。</li><li>在顶内部添加：</li></ol><figure class="highlight md"><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></pre></td><td class="code"><pre><span class="line">---</span><br><span class="line"><span class="section">layout: false</span></span><br><span class="line"><span class="section">---</span></span><br><span class="line"></span><br></pre></td></tr></table></figure><p>作为独立页面，便于后续使用 <code>&lt;iframe&gt;</code> 放在文章里</p><p>至此基本修改就已经完成了。本地看起来基本没有问题，剩下的就是让它能够在博客上顺利展示。</p><h2 id="2-部署"><a class="markdownIt-Anchor" href="#2-部署"></a> 2 部署</h2><p>这里遇到的问题是，直接将 <code>donate</code> 复制在 <code>source</code> 中，发现只出现了背景图片，但点击无反应。原因在于 hexo 在编译时，这种情况提取不到 <code>js</code> 和 <code>css</code> 文件，解决方法是将他们托管到图床上。</p><p>所以在 <code>source/donate</code> 里只放置了 <code>index.html</code> 。记得修改 <code>index.html</code>：</p><figure class="highlight html"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="tag">&lt;<span class="name">link</span> <span class="attr">rel</span>=<span class="string">&quot;stylesheet&quot;</span> <span class="attr">href</span>=<span class="string">&quot;https://cdn.hermitlsr.top/ky/donate/donate.css&quot;</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">script</span> <span class="attr">src</span>=<span class="string">&quot;https://cdn.hermitlsr.top/ky/donate/donate.js&quot;</span>&gt;</span><span class="tag">&lt;/<span class="name">script</span>&gt;</span></span><br></pre></td></tr></table></figure><p>最后在文章底部加入：</p><figure class="highlight md"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="language-xml"><span class="tag">&lt;<span class="name">hr</span>&gt;</span></span></span><br><span class="line"><span class="language-xml"><span class="tag">&lt;<span class="name">iframe</span> <span class="attr">src</span>=<span class="string">&quot;/donate/&quot;</span> <span class="attr">style</span>=<span class="string">&quot;overflow-x:hidden;overflow-y:hidden; border:0xp none #fff; min-height:240px; width:100%;&quot;</span>  <span class="attr">frameborder</span>=<span class="string">&quot;0&quot;</span> <span class="attr">scrolling</span>=<span class="string">&quot;no&quot;</span>&gt;</span></span><span class="language-xml"><span class="tag">&lt;/<span class="name">iframe</span>&gt;</span></span></span><br></pre></td></tr></table></figure><p>就可以得到开篇的效果。</p><p>另外，为了不要每次写文章时都粘贴一次这个代码，可以直接放在 <code>scaffolds/post.md</code> 中：</p><details class="tag-plugin folding" color="gray" child="codeblock"><summary><span>看博主的模板</span></summary><div class="body"><figure class="highlight md"><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></pre></td><td class="code"><pre><span class="line">---</span><br><span class="line">title: &#123;&#123; title &#125;&#125;</span><br><span class="line">date: &#123;&#123; date &#125;&#125;</span><br><span class="line">mathjax: true</span><br><span class="line">comments: false</span><br><span class="line">tags:</span><br><span class="line"><span class="section">categories:</span></span><br><span class="line"><span class="section">---</span></span><br><span class="line"></span><br><span class="line">&amp;emsp;&amp;emsp;</span><br><span class="line"></span><br><span class="line">&lt;!--more--&gt;</span><br><span class="line"></span><br><span class="line"></span><br><span class="line">![](<span class="link">https://cdn.hermitlsr.top/images/post/line.gif</span>)</span><br><span class="line"><span class="language-xml"><span class="tag">&lt;<span class="name">iframe</span> <span class="attr">src</span>=<span class="string">&quot;/donate/&quot;</span> <span class="attr">style</span>=<span class="string">&quot;overflow-x:hidden;overflow-y:hidden; border:0xp none #fff; min-height:240px; width:100%;&quot;</span>  <span class="attr">frameborder</span>=<span class="string">&quot;0&quot;</span> <span class="attr">scrolling</span>=<span class="string">&quot;no&quot;</span>&gt;</span></span><span class="language-xml"><span class="tag">&lt;/<span class="name">iframe</span>&gt;</span></span></span><br></pre></td></tr></table></figure></div></details><h2 id="3-部署升级版"><a class="markdownIt-Anchor" href="#3-部署升级版"></a> 3 部署升级版</h2><div class="tag-plugin note" color="red"><div class="body"><p>2022.5.26更新</p></div></div><p>2 中的部署方式也是可行，只不过还是较麻烦，而且与文章主体以及下方的额外信息割裂，下面的部署方式将其直接作为 article.footer 的一部分。</p><p>在 <code>&quot;...\layout\_partial\main\article\article_footer.ejs&quot;</code> 文件的 107 行后添加如下代码：</p><figure class="highlight plaintext"><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></pre></td><td class="code"><pre><span class="line">if (theme.article.donate &amp;&amp; page.donate != false) &#123;</span><br><span class="line">  el += &#x27;&lt;section id=&quot;donate&quot;&gt;&#x27;;</span><br><span class="line">  el += &#x27;&lt;div class=&quot;header&quot;&gt;&#x27;;</span><br><span class="line">  el += &#x27;&lt;span&gt;&#x27; + __(&#x27;meta.donate&#x27;) + &#x27;&lt;/span&gt;&#x27;;</span><br><span class="line">  el += &#x27;&lt;div&gt;&#x27;;</span><br><span class="line">  el += &#x27;&lt;iframe src=&quot;/donate/&quot; style=&quot;overflow-x:hidden;overflow-y:hidden; border:0xp none #fff; min-height:240px; width:100%;&quot;  frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;&#x27;;</span><br><span class="line">  el += &#x27;&lt;/div&gt;&#x27;;</span><br><span class="line">  el += &#x27;&lt;/section&gt;&#x27;;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p>并在 <code>_config.stellar.yml</code> 的 article 部分，添加：</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">article:</span></span><br><span class="line">  <span class="attr">donate:</span> <span class="literal">true</span></span><br></pre></td></tr></table></figure><p>若设置为 donate.true 则启用打赏部件，反正关闭。<br />效果图可见本文下方。</p><h2 id="4-注意"><a class="markdownIt-Anchor" href="#4-注意"></a> 4 注意</h2><ol><li>嫌麻烦，可直接使用原作的部件，其实一样美滋滋。但无论如何，只要用了请去给原作 <code>star</code>。</li><li>一定要将图片资源放在没有防盗链的图床上，否则不显示；<code>js</code> 和 <code>css</code> 托管到 <code>github</code> 或者 <code>gitee</code> ，当然有服务器放服务器最好。</li><li>二维码可以用<a href="https://cli.im/">草料二维码</a> ，先从app下载官方二维码再解码，再生成二维码。当然我知道你们的办法更多。</li><li>喜欢我改后的样式的可以直接下载我的 <code>js</code> 和 <code>css</code> 文件，前文有。</li><li><u>最后，记得请我喝咖啡</u> <span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/18.png"/></span> 。</li></ol><p>最后真诚的感谢原作 <a href="https://github.com/Kaiyuan">Kaiyuan Xie</a> ，这个部件是真好看。</p>]]></content>
    
    
    <summary type="html">&lt;p&gt;赞赏是不可能赞赏的，只有白嫖才能勉强维持得了生活这样子。但是多一个好看的赞赏键拿来做装饰不好么？&lt;/p&gt;</summary>
    
    
    
    <category term="博客折腾" scheme="https://www.hermitlsr.top/blog/categories/%E5%8D%9A%E5%AE%A2%E6%8A%98%E8%85%BE/"/>
    
    
    <category term="Hexo" scheme="https://www.hermitlsr.top/blog/tags/Hexo/"/>
    
    <category term="Stellar" scheme="https://www.hermitlsr.top/blog/tags/Stellar/"/>
    
  </entry>
  
  <entry>
    <title>Stellar表情标签索引</title>
    <link href="https://www.hermitlsr.top/2021-08-02/stellar%E8%A1%A8%E6%83%85%E6%8F%92%E4%BB%B6%E7%B4%A2%E5%BC%95/"/>
    <id>https://www.hermitlsr.top/2021-08-02/stellar%E8%A1%A8%E6%83%85%E6%8F%92%E4%BB%B6%E7%B4%A2%E5%BC%95/</id>
    <published>2021-08-02T17:31:32.000Z</published>
    <updated>2021-08-02T17:31:32.000Z</updated>
    
    <content type="html"><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="/assets/css/APlayer.min.css"><script src="/assets/js/APlayer.min.js" class="aplayer-secondary-script-marker"></script><script class="meting-secondary-script-marker" src="/assets/js/Meting.min.js"></script><p>这里放置 <code>stellar</code> 主题 <code>emoji</code> 标签的图片及对应索引，方便自己调用，暂时只做了 <code>aru</code> 和 <code>aru-l</code> 的，毕竟其他的有汉字不是<span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0140.gif" style="height:2.5em"/></span>。</p><span id="more"></span><details class="tag-plugin folding" color="blue" open><summary><span>写在前面</span></summary><div class="body"><p>作者 <a href="https://xaoxuu.com"><code>xaoxuu</code></a> 引用的是 <a href="https://github.com/volantis-x/cdn-emoji"><code>volantis-x/cdn-emoji</code></a> 仓库中的表情包文件。发现aru表情包有两个文件，这里我将其都定义了下：</p><figure class="highlight yaml"><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></pre></td><td class="code"><pre><span class="line"><span class="attr">emoji:</span></span><br><span class="line">  <span class="attr">default:</span> <span class="string">https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/qq/%s.gif</span></span><br><span class="line">  <span class="attr">twemoji:</span> <span class="string">https://fastly.jsdelivr.net/gh/twitter/twemoji/assets/svg/%s.svg</span></span><br><span class="line">  <span class="attr">qq:</span> <span class="string">https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/qq/%s.gif</span></span><br><span class="line">  <span class="attr">aru:</span> <span class="string">https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/%s.png</span></span><br><span class="line">  <span class="attr">aru-l:</span> <span class="string">https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/%s.gif</span></span><br><span class="line">  <span class="attr">tieba:</span> <span class="string">https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/tieba/%s.png</span></span><br></pre></td></tr></table></figure></div></details><h2 id="aru"><a class="markdownIt-Anchor" href="#aru"></a> aru</h2><table><thead><tr><th style="text-align:center">表情</th><th style="text-align:center">索引</th><th style="text-align:center">表情</th><th style="text-align:center">索引</th><th style="text-align:center">表情</th><th style="text-align:center">索引</th><th style="text-align:center">表情</th><th style="text-align:center">索引</th><th style="text-align:center">表情</th><th style="text-align:center">索引</th></tr></thead><tbody><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/1.png"/></span></td><td style="text-align:center">1</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/2.png"/></span></td><td style="text-align:center">2</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/3.png"/></span></td><td style="text-align:center">3</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/4.png"/></span></td><td style="text-align:center">4</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/5.png"/></span></td><td style="text-align:center">5</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/6.png"/></span></td><td style="text-align:center">6</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/7.png"/></span></td><td style="text-align:center">7</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/8.png"/></span></td><td style="text-align:center">8</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/9.png"/></span></td><td style="text-align:center">9</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/10.png"/></span></td><td style="text-align:center">10</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/11.png"/></span></td><td style="text-align:center">11</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/12.png"/></span></td><td style="text-align:center">12</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/13.png"/></span></td><td style="text-align:center">13</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/14.png"/></span></td><td style="text-align:center">14</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/15.png"/></span></td><td style="text-align:center">15</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/16.png"/></span></td><td style="text-align:center">16</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/17.png"/></span></td><td style="text-align:center">17</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/18.png"/></span></td><td style="text-align:center">18</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/19.png"/></span></td><td style="text-align:center">19</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/20.png"/></span></td><td style="text-align:center">20</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/21.png"/></span></td><td style="text-align:center">21</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/22.png"/></span></td><td style="text-align:center">22</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/23.png"/></span></td><td style="text-align:center">23</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/24.png"/></span></td><td style="text-align:center">24</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/25.png"/></span></td><td style="text-align:center">25</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/26.png"/></span></td><td style="text-align:center">26</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/27.png"/></span></td><td style="text-align:center">27</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/28.png"/></span></td><td style="text-align:center">28</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/29.png"/></span></td><td style="text-align:center">29</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/30.png"/></span></td><td style="text-align:center">30</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/31.png"/></span></td><td style="text-align:center">31</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/32.png"/></span></td><td style="text-align:center">32</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/33.png"/></span></td><td style="text-align:center">33</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/34.png"/></span></td><td style="text-align:center">34</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/35.png"/></span></td><td style="text-align:center">35</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/36.png"/></span></td><td style="text-align:center">36</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/37.png"/></span></td><td style="text-align:center">37</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/38.png"/></span></td><td style="text-align:center">38</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/39.png"/></span></td><td style="text-align:center">39</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/40.png"/></span></td><td style="text-align:center">40</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/41.png"/></span></td><td style="text-align:center">41</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/42.png"/></span></td><td style="text-align:center">42</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/43.png"/></span></td><td style="text-align:center">43</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/44.png"/></span></td><td style="text-align:center">44</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/45.png"/></span></td><td style="text-align:center">45</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/46.png"/></span></td><td style="text-align:center">46</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/47.png"/></span></td><td style="text-align:center">47</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/48.png"/></span></td><td style="text-align:center">48</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/49.png"/></span></td><td style="text-align:center">49</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/50.png"/></span></td><td style="text-align:center">50</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/51.png"/></span></td><td style="text-align:center">51</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/52.png"/></span></td><td style="text-align:center">52</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/53.png"/></span></td><td style="text-align:center">53</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/54.png"/></span></td><td style="text-align:center">54</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/55.png"/></span></td><td style="text-align:center">55</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/56.png"/></span></td><td style="text-align:center">56</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/57.png"/></span></td><td style="text-align:center">57</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/58.png"/></span></td><td style="text-align:center">58</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/59.png"/></span></td><td style="text-align:center">59</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/60.png"/></span></td><td style="text-align:center">60</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/61.png"/></span></td><td style="text-align:center">61</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/62.png"/></span></td><td style="text-align:center">62</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/63.png"/></span></td><td style="text-align:center">63</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/64.png"/></span></td><td style="text-align:center">64</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/65.png"/></span></td><td style="text-align:center">65</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/66.png"/></span></td><td style="text-align:center">66</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/67.png"/></span></td><td style="text-align:center">67</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/68.png"/></span></td><td style="text-align:center">68</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/69.png"/></span></td><td style="text-align:center">69</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/70.png"/></span></td><td style="text-align:center">70</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/71.png"/></span></td><td style="text-align:center">71</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/72.png"/></span></td><td style="text-align:center">72</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/73.png"/></span></td><td style="text-align:center">73</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/74.png"/></span></td><td style="text-align:center">74</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/75.png"/></span></td><td style="text-align:center">75</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/76.png"/></span></td><td style="text-align:center">76</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/77.png"/></span></td><td style="text-align:center">77</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/78.png"/></span></td><td style="text-align:center">78</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/79.png"/></span></td><td style="text-align:center">79</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/80.png"/></span></td><td style="text-align:center">80</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/81.png"/></span></td><td style="text-align:center">81</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/82.png"/></span></td><td style="text-align:center">82</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/83.png"/></span></td><td style="text-align:center">83</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/84.png"/></span></td><td style="text-align:center">84</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/85.png"/></span></td><td style="text-align:center">85</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/86.png"/></span></td><td style="text-align:center">86</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/87.png"/></span></td><td style="text-align:center">87</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/88.png"/></span></td><td style="text-align:center">88</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/89.png"/></span></td><td style="text-align:center">89</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/90.png"/></span></td><td style="text-align:center">90</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/91.png"/></span></td><td style="text-align:center">91</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/92.png"/></span></td><td style="text-align:center">92</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/93.png"/></span></td><td style="text-align:center">93</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/94.png"/></span></td><td style="text-align:center">94</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/95.png"/></span></td><td style="text-align:center">95</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/96.png"/></span></td><td style="text-align:center">96</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/97.png"/></span></td><td style="text-align:center">97</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/98.png"/></span></td><td style="text-align:center">98</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/99.png"/></span></td><td style="text-align:center">99</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/100.png"/></span></td><td style="text-align:center">100</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/101.png"/></span></td><td style="text-align:center">101</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/102.png"/></span></td><td style="text-align:center">102</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/103.png"/></span></td><td style="text-align:center">103</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/104.png"/></span></td><td style="text-align:center">104</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/105.png"/></span></td><td style="text-align:center">105</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/106.png"/></span></td><td style="text-align:center">106</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/107.png"/></span></td><td style="text-align:center">107</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/108.png"/></span></td><td style="text-align:center">108</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/109.png"/></span></td><td style="text-align:center">109</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/110.png"/></span></td><td style="text-align:center">110</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/111.png"/></span></td><td style="text-align:center">111</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/112.png"/></span></td><td style="text-align:center">112</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/113.png"/></span></td><td style="text-align:center">113</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/114.png"/></span></td><td style="text-align:center">114</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/115.png"/></span></td><td style="text-align:center">115</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/116.png"/></span></td><td style="text-align:center">116</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/117.png"/></span></td><td style="text-align:center">117</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/118.png"/></span></td><td style="text-align:center">118</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/119.png"/></span></td><td style="text-align:center">119</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/120.png"/></span></td><td style="text-align:center">120</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/121.png"/></span></td><td style="text-align:center">121</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/122.png"/></span></td><td style="text-align:center">122</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/123.png"/></span></td><td style="text-align:center">123</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/124.png"/></span></td><td style="text-align:center">124</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/125.png"/></span></td><td style="text-align:center">125</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/126.png"/></span></td><td style="text-align:center">126</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/127.png"/></span></td><td style="text-align:center">127</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/128.png"/></span></td><td style="text-align:center">128</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/129.png"/></span></td><td style="text-align:center">129</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/130.png"/></span></td><td style="text-align:center">130</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/131.png"/></span></td><td style="text-align:center">131</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/132.png"/></span></td><td style="text-align:center">132</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/133.png"/></span></td><td style="text-align:center">133</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/134.png"/></span></td><td style="text-align:center">134</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/135.png"/></span></td><td style="text-align:center">135</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/136.png"/></span></td><td style="text-align:center">136</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/137.png"/></span></td><td style="text-align:center">137</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/138.png"/></span></td><td style="text-align:center">138</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/139.png"/></span></td><td style="text-align:center">139</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/140.png"/></span></td><td style="text-align:center">140</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/141.png"/></span></td><td style="text-align:center">141</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/142.png"/></span></td><td style="text-align:center">142</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/143.png"/></span></td><td style="text-align:center">143</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/144.png"/></span></td><td style="text-align:center">144</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/145.png"/></span></td><td style="text-align:center">145</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/146.png"/></span></td><td style="text-align:center">146</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/147.png"/></span></td><td style="text-align:center">147</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/148.png"/></span></td><td style="text-align:center">148</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/149.png"/></span></td><td style="text-align:center">149</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/150.png"/></span></td><td style="text-align:center">150</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/151.png"/></span></td><td style="text-align:center">151</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/152.png"/></span></td><td style="text-align:center">152</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/153.png"/></span></td><td style="text-align:center">153</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/154.png"/></span></td><td style="text-align:center">154</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/155.png"/></span></td><td style="text-align:center">155</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/156.png"/></span></td><td style="text-align:center">156</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/157.png"/></span></td><td style="text-align:center">157</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/158.png"/></span></td><td style="text-align:center">158</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/159.png"/></span></td><td style="text-align:center">159</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/160.png"/></span></td><td style="text-align:center">160</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/161.png"/></span></td><td style="text-align:center">161</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/162.png"/></span></td><td style="text-align:center">162</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/163.png"/></span></td><td style="text-align:center">163</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru/164.png"/></span></td><td style="text-align:center">164</td><td style="text-align:center"></td><td style="text-align:center"></td></tr></tbody></table><h2 id="aru-l"><a class="markdownIt-Anchor" href="#aru-l"></a> aru-l</h2><table><thead><tr><th style="text-align:center">表情</th><th style="text-align:center">索引</th><th style="text-align:center">表情</th><th style="text-align:center">索引</th><th style="text-align:center">表情</th><th style="text-align:center">索引</th><th style="text-align:center">表情</th><th style="text-align:center">索引</th><th style="text-align:center">表情</th><th style="text-align:center">索引</th></tr></thead><tbody><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0000.gif"/></span></td><td style="text-align:center">0000</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0010.gif"/></span></td><td style="text-align:center">0010</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0020.gif"/></span></td><td style="text-align:center">0020</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0030.gif"/></span></td><td style="text-align:center">0030</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0040.gif"/></span></td><td style="text-align:center">0040</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0050.gif"/></span></td><td style="text-align:center">0050</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0060.gif"/></span></td><td style="text-align:center">0060</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0070.gif"/></span></td><td style="text-align:center">0070</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0080.gif"/></span></td><td style="text-align:center">0080</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0090.gif"/></span></td><td style="text-align:center">0090</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0100.gif"/></span></td><td style="text-align:center">0100</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0110.gif"/></span></td><td style="text-align:center">0110</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0120.gif"/></span></td><td style="text-align:center">0120</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0130.gif"/></span></td><td style="text-align:center">0130</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0140.gif"/></span></td><td style="text-align:center">0140</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0150.gif"/></span></td><td style="text-align:center">0150</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0160.gif"/></span></td><td style="text-align:center">0160</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0170.gif"/></span></td><td style="text-align:center">0170</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0171.gif"/></span></td><td style="text-align:center">0171</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0180.gif"/></span></td><td style="text-align:center">0180</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0181.gif"/></span></td><td style="text-align:center">0181</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0190.gif"/></span></td><td style="text-align:center">0190</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0200.gif"/></span></td><td style="text-align:center">0200</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0210.gif"/></span></td><td style="text-align:center">0210</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0220.gif"/></span></td><td style="text-align:center">0220</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0230.gif"/></span></td><td style="text-align:center">0230</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0240.gif"/></span></td><td style="text-align:center">0240</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0241.gif"/></span></td><td style="text-align:center">0241</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0250.gif"/></span></td><td style="text-align:center">0250</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0260.gif"/></span></td><td style="text-align:center">0260</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0270.gif"/></span></td><td style="text-align:center">0270</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0280.gif"/></span></td><td style="text-align:center">0280</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0290.gif"/></span></td><td style="text-align:center">0290</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0300.gif"/></span></td><td style="text-align:center">0300</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0310.gif"/></span></td><td style="text-align:center">0310</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0320.gif"/></span></td><td style="text-align:center">0320</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0330.gif"/></span></td><td style="text-align:center">0330</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0331.gif"/></span></td><td style="text-align:center">0331</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0340.gif"/></span></td><td style="text-align:center">0340</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0350.gif"/></span></td><td style="text-align:center">0350</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0360.gif"/></span></td><td style="text-align:center">0360</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0370.gif"/></span></td><td style="text-align:center">0370</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0380.gif"/></span></td><td style="text-align:center">0380</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0390.gif"/></span></td><td style="text-align:center">0390</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0391.gif"/></span></td><td style="text-align:center">0391</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0400.gif"/></span></td><td style="text-align:center">0400</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0410.gif"/></span></td><td style="text-align:center">0410</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0420.gif"/></span></td><td style="text-align:center">0420</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0430.gif"/></span></td><td style="text-align:center">0430</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0431.gif"/></span></td><td style="text-align:center">0431</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0440.gif"/></span></td><td style="text-align:center">0440</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0450.gif"/></span></td><td style="text-align:center">0450</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0451.gif"/></span></td><td style="text-align:center">0451</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0460.gif"/></span></td><td style="text-align:center">0460</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0461.gif"/></span></td><td style="text-align:center">0461</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0462.gif"/></span></td><td style="text-align:center">0462</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0470.gif"/></span></td><td style="text-align:center">0470</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0480.gif"/></span></td><td style="text-align:center">0480</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0490.gif"/></span></td><td style="text-align:center">0490</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0500.gif"/></span></td><td style="text-align:center">0500</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0510.gif"/></span></td><td style="text-align:center">0510</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0520.gif"/></span></td><td style="text-align:center">0520</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0530.gif"/></span></td><td style="text-align:center">0530</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0540.gif"/></span></td><td style="text-align:center">0540</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0550.gif"/></span></td><td style="text-align:center">0550</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0560.gif"/></span></td><td style="text-align:center">0560</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0570.gif"/></span></td><td style="text-align:center">0570</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0580.gif"/></span></td><td style="text-align:center">0580</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0590.gif"/></span></td><td style="text-align:center">0590</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0600.gif"/></span></td><td style="text-align:center">0600</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0610.gif"/></span></td><td style="text-align:center">0610</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0620.gif"/></span></td><td style="text-align:center">0620</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/1010.gif"/></span></td><td style="text-align:center">1010</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/1011.gif"/></span></td><td style="text-align:center">1011</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/1020.gif"/></span></td><td style="text-align:center">1020</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/1030.gif"/></span></td><td style="text-align:center">1030</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/1040.gif"/></span></td><td style="text-align:center">1040</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/1050.gif"/></span></td><td style="text-align:center">1050</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/1060.gif"/></span></td><td style="text-align:center">1060</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/1070.gif"/></span></td><td style="text-align:center">1070</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/1080.gif"/></span></td><td style="text-align:center">1080</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/2010.gif"/></span></td><td style="text-align:center">2010</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/2020.gif"/></span></td><td style="text-align:center">2020</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/2030.gif"/></span></td><td style="text-align:center">2030</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/2040.gif"/></span></td><td style="text-align:center">2040</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/2050.gif"/></span></td><td style="text-align:center">2050</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/2060.gif"/></span></td><td style="text-align:center">2060</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/2070.gif"/></span></td><td style="text-align:center">2070</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/2080.gif"/></span></td><td style="text-align:center">2080</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/2090.gif"/></span></td><td style="text-align:center">2090</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/2100.gif"/></span></td><td style="text-align:center">2100</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/2101.gif"/></span></td><td style="text-align:center">2101</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/2110.gif"/></span></td><td style="text-align:center">2110</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/2120.gif"/></span></td><td style="text-align:center">2120</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/2130.gif"/></span></td><td style="text-align:center">2130</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/2140.gif"/></span></td><td style="text-align:center">2410</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/2141.gif"/></span></td><td style="text-align:center">2141</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/2145.gif"/></span></td><td style="text-align:center">2145</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/2150.gif"/></span></td><td style="text-align:center">2150</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/2151.gif"/></span></td><td style="text-align:center">2151</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/2152.gif"/></span></td><td style="text-align:center">2152</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/2160.gif"/></span></td><td style="text-align:center">2160</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/2161.gif"/></span></td><td style="text-align:center">2161</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/2165.gif"/></span></td><td style="text-align:center">2165</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/2170.gif"/></span></td><td style="text-align:center">2170</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/2171.gif"/></span></td><td style="text-align:center">2171</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/3010.gif"/></span></td><td style="text-align:center">3010</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/3011.gif"/></span></td><td style="text-align:center">3011</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/3020.gif"/></span></td><td style="text-align:center">3020</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/3030.gif"/></span></td><td style="text-align:center">3030</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/3040.gif"/></span></td><td style="text-align:center">3040</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/3050.gif"/></span></td><td style="text-align:center">3050</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/3060.gif"/></span></td><td style="text-align:center">3060</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/3061.gif"/></span></td><td style="text-align:center">3061</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4010.gif"/></span></td><td style="text-align:center">4010</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4020.gif"/></span></td><td style="text-align:center">4020</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4021.gif"/></span></td><td style="text-align:center">4021</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4022.gif"/></span></td><td style="text-align:center">4022</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4023.gif"/></span></td><td style="text-align:center">4023</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4024.gif"/></span></td><td style="text-align:center">4024</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4025.gif"/></span></td><td style="text-align:center">4025</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4030.gif"/></span></td><td style="text-align:center">4030</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4031.gif"/></span></td><td style="text-align:center">4031</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4040.gif"/></span></td><td style="text-align:center">4040</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4041.gif"/></span></td><td style="text-align:center">4041</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4042.gif"/></span></td><td style="text-align:center">4042</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4100.gif"/></span></td><td style="text-align:center">4100</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4110.gif"/></span></td><td style="text-align:center">4110</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4111.gif"/></span></td><td style="text-align:center">4111</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4112.gif"/></span></td><td style="text-align:center">4112</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4113.gif"/></span></td><td style="text-align:center">4113</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4114.gif"/></span></td><td style="text-align:center">4114</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4115.gif"/></span></td><td style="text-align:center">4115</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4120.gif"/></span></td><td style="text-align:center">4120</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4121.gif"/></span></td><td style="text-align:center">4121</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4130.gif"/></span></td><td style="text-align:center">4130</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4140.gif"/></span></td><td style="text-align:center">4140</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4200.gif"/></span></td><td style="text-align:center">4200</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4201.gif"/></span></td><td style="text-align:center">4201</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4210.gif"/></span></td><td style="text-align:center">4210</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4211.gif"/></span></td><td style="text-align:center">4211</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4212.gif"/></span></td><td style="text-align:center">4212</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4213.gif"/></span></td><td style="text-align:center">4213</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4220.gif"/></span></td><td style="text-align:center">4220</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4300.gif"/></span></td><td style="text-align:center">4300</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4301.gif"/></span></td><td style="text-align:center">4301</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4302.gif"/></span></td><td style="text-align:center">4302</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4303.gif"/></span></td><td style="text-align:center">4303</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4304.gif"/></span></td><td style="text-align:center">4304</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/4310.gif"/></span></td><td style="text-align:center">4310</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5000.gif"/></span></td><td style="text-align:center">5000</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5001.gif"/></span></td><td style="text-align:center">5001</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5002.gif"/></span></td><td style="text-align:center">5002</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5003.gif"/></span></td><td style="text-align:center">5003</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5010.gif"/></span></td><td style="text-align:center">5010</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5020.gif"/></span></td><td style="text-align:center">5020</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5030.gif"/></span></td><td style="text-align:center">5030</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5040.gif"/></span></td><td style="text-align:center">5040</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5050.gif"/></span></td><td style="text-align:center">5050</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5060.gif"/></span></td><td style="text-align:center">5060</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5069.gif"/></span></td><td style="text-align:center">5069</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5070.gif"/></span></td><td style="text-align:center">5070</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5080.gif"/></span></td><td style="text-align:center">5080</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5090.gif"/></span></td><td style="text-align:center">5090</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5091.gif"/></span></td><td style="text-align:center">5091</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5100.gif"/></span></td><td style="text-align:center">5100</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5110.gif"/></span></td><td style="text-align:center">5110</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5120.gif"/></span></td><td style="text-align:center">5120</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5130.gif"/></span></td><td style="text-align:center">5130</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5131.gif"/></span></td><td style="text-align:center">5131</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5140.gif"/></span></td><td style="text-align:center">5140</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5141.gif"/></span></td><td style="text-align:center">5141</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5150.gif"/></span></td><td style="text-align:center">5150</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5151.gif"/></span></td><td style="text-align:center">5151</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5160.gif"/></span></td><td style="text-align:center">5160</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5161.gif"/></span></td><td style="text-align:center">5161</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5170.gif"/></span></td><td style="text-align:center">5170</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5180.gif"/></span></td><td style="text-align:center">5180</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5190.gif"/></span></td><td style="text-align:center">5190</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5200.gif"/></span></td><td style="text-align:center">5200</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5210.gif"/></span></td><td style="text-align:center">5210</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5220.gif"/></span></td><td style="text-align:center">5220</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5230.gif"/></span></td><td style="text-align:center">5230</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/6000.gif"/></span></td><td style="text-align:center">6000</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/6001.gif"/></span></td><td style="text-align:center">6001</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/6010.gif"/></span></td><td style="text-align:center">6010</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/6020.gif"/></span></td><td style="text-align:center">6020</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/6030.gif"/></span></td><td style="text-align:center">6030</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/6040.gif"/></span></td><td style="text-align:center">6040</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/6050.gif"/></span></td><td style="text-align:center">6050</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/6051.gif"/></span></td><td style="text-align:center">6051</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/6060.gif"/></span></td><td style="text-align:center">6060</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/6061.gif"/></span></td><td style="text-align:center">6061</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/6070.gif"/></span></td><td style="text-align:center">6070</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/6080.gif"/></span></td><td style="text-align:center">6080</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/6090.gif"/></span></td><td style="text-align:center">6090</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/6091.gif"/></span></td><td style="text-align:center">6091</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/6092.gif"/></span></td><td style="text-align:center">6092</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/6100.gif"/></span></td><td style="text-align:center">6100</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/6110.gif"/></span></td><td style="text-align:center">6110</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/6120.gif"/></span></td><td style="text-align:center">6120</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/6121.gif"/></span></td><td style="text-align:center">6121</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/6130.gif"/></span></td><td style="text-align:center">6130</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/6131.gif"/></span></td><td style="text-align:center">6131</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/6132.gif"/></span></td><td style="text-align:center">6132</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/6140.gif"/></span></td><td style="text-align:center">6140</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/6150.gif"/></span></td><td style="text-align:center">6150</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/6151.gif"/></span></td><td style="text-align:center">6151</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/6160.gif"/></span></td><td style="text-align:center">6160</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/6500.gif"/></span></td><td style="text-align:center">6500</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/6510.gif"/></span></td><td style="text-align:center">6510</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/6520.gif"/></span></td><td style="text-align:center">6520</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/6530.gif"/></span></td><td style="text-align:center">6530</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7000.gif"/></span></td><td style="text-align:center">7000</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7010.gif"/></span></td><td style="text-align:center">7010</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7011.gif"/></span></td><td style="text-align:center">7011</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7012.gif"/></span></td><td style="text-align:center">7012</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7020.gif"/></span></td><td style="text-align:center">7020</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7021.gif"/></span></td><td style="text-align:center">7021</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7030.gif"/></span></td><td style="text-align:center">7030</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7040.gif"/></span></td><td style="text-align:center">7040</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7045.gif"/></span></td><td style="text-align:center">7045</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7046.gif"/></span></td><td style="text-align:center">7046</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7050.gif"/></span></td><td style="text-align:center">7050</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7051.gif"/></span></td><td style="text-align:center">7051</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7052.gif"/></span></td><td style="text-align:center">7052</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7053.gif"/></span></td><td style="text-align:center">7053</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7054.gif"/></span></td><td style="text-align:center">7054</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7060.gif"/></span></td><td style="text-align:center">7060</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7061.gif"/></span></td><td style="text-align:center">7061</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7062.gif"/></span></td><td style="text-align:center">7062</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7070.gif"/></span></td><td style="text-align:center">7070</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7071.gif"/></span></td><td style="text-align:center">7071</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7080.gif"/></span></td><td style="text-align:center">7080</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7081.gif"/></span></td><td style="text-align:center">7081</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7090.gif"/></span></td><td style="text-align:center">7090</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7100.gif"/></span></td><td style="text-align:center">7100</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7110.gif"/></span></td><td style="text-align:center">7110</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7111.gif"/></span></td><td style="text-align:center">7111</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7112.gif"/></span></td><td style="text-align:center">7112</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7113.gif"/></span></td><td style="text-align:center">7113</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7200.gif"/></span></td><td style="text-align:center">7200</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7201.gif"/></span></td><td style="text-align:center">7201</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7210.gif"/></span></td><td style="text-align:center">7210</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7220.gif"/></span></td><td style="text-align:center">7220</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/7230.gif"/></span></td><td style="text-align:center">7230</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/8000.gif"/></span></td><td style="text-align:center">8000</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/8001.gif"/></span></td><td style="text-align:center">8001</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/8010.gif"/></span></td><td style="text-align:center">8010</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/8020.gif"/></span></td><td style="text-align:center">8020</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/8021.gif"/></span></td><td style="text-align:center">8021</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/8030.gif"/></span></td><td style="text-align:center">8030</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/8040.gif"/></span></td><td style="text-align:center">8040</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/8041.gif"/></span></td><td style="text-align:center">8041</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/8042.gif"/></span></td><td style="text-align:center">8042</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/8050.gif"/></span></td><td style="text-align:center">8050</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/8051.gif"/></span></td><td style="text-align:center">8051</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/8060.gif"/></span></td><td style="text-align:center">8060</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/8062.gif"/></span></td><td style="text-align:center">8062</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/8070.gif"/></span></td><td style="text-align:center">8070</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/8071.gif"/></span></td><td style="text-align:center">8071</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/8072.gif"/></span></td><td style="text-align:center">8072</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/8080.gif"/></span></td><td style="text-align:center">8080</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/8081.gif"/></span></td><td style="text-align:center">8081</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/8082.gif"/></span></td><td style="text-align:center">8082</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/8083.gif"/></span></td><td style="text-align:center">8083</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/8084.gif"/></span></td><td style="text-align:center">8084</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/8085.gif"/></span></td><td style="text-align:center">8085</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/8090.gif"/></span></td><td style="text-align:center">8090</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/8091.gif"/></span></td><td style="text-align:center">8091</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/8092.gif"/></span></td><td style="text-align:center">8092</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/8100.gif"/></span></td><td style="text-align:center">8100</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/8101.gif"/></span></td><td style="text-align:center">8101</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/8102.gif"/></span></td><td style="text-align:center">8102</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/8103.gif"/></span></td><td style="text-align:center">8103</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/8110.gif"/></span></td><td style="text-align:center">8110</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/8111.gif"/></span></td><td style="text-align:center">8111</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/x010.gif"/></span></td><td style="text-align:center">x010</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/x011.gif"/></span></td><td style="text-align:center">x011</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/x012.gif"/></span></td><td style="text-align:center">x012</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/x013.gif"/></span></td><td style="text-align:center">x013</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/x014.gif"/></span></td><td style="text-align:center">x014</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/x021.gif"/></span></td><td style="text-align:center">x021</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/x022.gif"/></span></td><td style="text-align:center">x022</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/x031.gif"/></span></td><td style="text-align:center">x031</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/x032.gif"/></span></td><td style="text-align:center">x032</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/x041.gif"/></span></td><td style="text-align:center">x041</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/x042.gif"/></span></td><td style="text-align:center">x042</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/x050.gif"/></span></td><td style="text-align:center">x050</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/x060.gif"/></span></td><td style="text-align:center">x060</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/x061.gif"/></span></td><td style="text-align:center">x061</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/x062.gif"/></span></td><td style="text-align:center">x062</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/x063.gif"/></span></td><td style="text-align:center">x063</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/x069.gif"/></span></td><td style="text-align:center">x069</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/x070.gif"/></span></td><td style="text-align:center">x070</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/x071.gif"/></span></td><td style="text-align:center">x071</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/x080.gif"/></span></td><td style="text-align:center">x080</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/x081.gif"/></span></td><td style="text-align:center">x081</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/x082.gif"/></span></td><td style="text-align:center">x082</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/x083.gif"/></span></td><td style="text-align:center">x083</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/x090.gif"/></span></td><td style="text-align:center">x090</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/x091.gif"/></span></td><td style="text-align:center">x091</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/x092.gif"/></span></td><td style="text-align:center">x092</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/x093.gif"/></span></td><td style="text-align:center">x093</td><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/x094.gif"/></span></td><td style="text-align:center">x094</td></tr><tr><td style="text-align:center"><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/x099.gif"/></span></td><td style="text-align:center">x099</td><td style="text-align:center"></td><td style="text-align:center"></td><td style="text-align:center"></td><td style="text-align:center"></td><td style="text-align:center"></td><td style="text-align:center"></td><td style="text-align:center"></td><td style="text-align:center"></td></tr></tbody></table><h2 id="未完待续"><a class="markdownIt-Anchor" href="#未完待续"></a> 未完待续</h2><span class="tag-plugin emoji"><img no-lazy="" class="inline" src="https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/x071.gif" style="height:6em"/></span>]]></content>
    
    
    <summary type="html">&lt;p&gt;这里放置 &lt;code&gt;stellar&lt;/code&gt; 主题 &lt;code&gt;emoji&lt;/code&gt; 标签的图片及对应索引，方便自己调用，暂时只做了 &lt;code&gt;aru&lt;/code&gt; 和 &lt;code&gt;aru-l&lt;/code&gt; 的，毕竟其他的有汉字不是&lt;span class=&quot;tag-plugin emoji&quot;&gt;&lt;img no-lazy=&quot;&quot; class=&quot;inline&quot; src=&quot;https://fastly.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0140.gif&quot; style=&quot;height:2.5em&quot;/&gt;&lt;/span&gt;。&lt;/p&gt;</summary>
    
    
    
    <category term="博客折腾" scheme="https://www.hermitlsr.top/blog/categories/%E5%8D%9A%E5%AE%A2%E6%8A%98%E8%85%BE/"/>
    
    
    <category term="Hexo" scheme="https://www.hermitlsr.top/blog/tags/Hexo/"/>
    
    <category term="Stellar" scheme="https://www.hermitlsr.top/blog/tags/Stellar/"/>
    
  </entry>
  
  <entry>
    <title>百度收录推送</title>
    <link href="https://www.hermitlsr.top/2021-07-30/%E7%99%BE%E5%BA%A6%E6%94%B6%E5%BD%95%E6%8E%A8%E9%80%81/"/>
    <id>https://www.hermitlsr.top/2021-07-30/%E7%99%BE%E5%BA%A6%E6%94%B6%E5%BD%95%E6%8E%A8%E9%80%81/</id>
    <published>2021-07-30T21:19:40.000Z</published>
    <updated>2021-07-30T21:19:40.000Z</updated>
    
    <content type="html"><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="/assets/css/APlayer.min.css"><script src="/assets/js/APlayer.min.js" class="aplayer-secondary-script-marker"></script><script class="meting-secondary-script-marker" src="/assets/js/Meting.min.js"></script><p>  本文将介绍如何将自己的博客文章主动推送到百度收录</p><span id="more"></span><p>通过 <code>hexo</code> 框架搭建的个人站，可以被 Google 主动爬取，像我这样的新站，在建站几天之后就被收录了。但是百度站一般不会主动去爬取这类站点，需要站长主动推送站点文章，当然推送了也不一定收录，无奈。</p><p>百度收录目前可以通过三个方式：<code>API 提交</code>、<code>sitemap</code> 和 <code>手动提交</code>，本文主要是介绍通过插件实现前两种方式的自动提交。</p><h2 id="api-提交"><a class="markdownIt-Anchor" href="#api-提交"></a> API 提交</h2><p>这里主要使用的是 <a href="https://github.com/huiwang/hexo-baidu-url-submit"><code>hexo-baidu-url-submit</code></a> 插件，它可以在每次使用 <code>hexo s</code> 或 <code>hexo d</code> 命令时主动将 <code>_post</code> 内的文章推送到百度</p><p>具体配置步骤如下：</p><ol><li>安装插件</li><li>配置站点根目录 <code>_config.yml</code></li></ol><h3 id="安装插件"><a class="markdownIt-Anchor" href="#安装插件"></a> 安装插件</h3><div class="tag-plugin copy"><input class="copy-area" readonly id="copy_2" value="npm install hexo-baidu-url-submit --save"><button class="copy-btn" onclick="util.copy(&quot;copy_2&quot;,&quot;Copied!&quot;)"><svg class="icon copy-btn" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M5.75 1a.75.75 0 00-.75.75v3c0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75v-3a.75.75 0 00-.75-.75h-4.5zm.75 3V2.5h3V4h-3zm-2.874-.467a.75.75 0 00-.752-1.298A1.75 1.75 0 002 3.75v9.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-9.5a1.75 1.75 0 00-.874-1.515.75.75 0 10-.752 1.298.25.25 0 01.126.217v9.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-9.5a.25.25 0 01.126-.217z"></path></svg></button></div><h3 id="配置站点根目录-_configyml"><a class="markdownIt-Anchor" href="#配置站点根目录-_configyml"></a> 配置站点根目录 <code>_config.yml</code></h3><ol><li>在站点点根目录 <code>_config.yml</code> 的最下方加入如下内容：</li></ol><figure class="highlight yaml"><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></pre></td><td class="code"><pre><span class="line"><span class="attr">baidu_url_submit:</span></span><br><span class="line">  <span class="attr">count:</span> <span class="number">100</span> <span class="comment"># 提交最新的一个链接</span></span><br><span class="line">  <span class="attr">host:</span> <span class="string">www.hermitlsr.top</span> <span class="comment"># 在百度站长平台中注册的域名</span></span><br><span class="line">  <span class="attr">token:</span> <span class="string">xxxxx</span> <span class="comment"># 请注意这是您的秘钥， 所以请不要把博客源代码发布在公众仓库里!</span></span><br><span class="line">  <span class="attr">path:</span> <span class="string">baidu_urls.txt</span> <span class="comment"># 文本文档的地址， 新链接会保存在此文本文档里</span></span><br></pre></td></tr></table></figure><p>注意 <code>token</code> 部分可在百度收录站普通收录 <code>API提交</code> 部分找到，具体如下图：</p><p><img src="https://cdn.hermitlsr.top/images/post/baidushoulu/20210730214855.png!watermark" alt="token 位置" /></p><ol start="2"><li><p>修改 <code>_config.yml</code> 的 <code>url</code>，这个一般在建站的时候都有修改，这里注意和百度添加的域名保持一致就可以了。</p></li><li><p>修改 <code>_config.yml</code> 的 <code>deploy</code> 部分：</p></li></ol><figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">deploy:</span></span><br><span class="line"><span class="bullet">-</span> <span class="attr">type:</span> <span class="string">baidu_url_submitter</span></span><br></pre></td></tr></table></figure><p>当执行 <code>hexo s</code> 或 <code>hexo d</code> 时，出现如下内容即为配置成功：</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">INFO  Generating Baidu urls for last 100 posts</span><br><span class="line">INFO  Posts urls generated in baidu_urls.txt</span><br></pre></td></tr></table></figure><h3 id="通过添加代码实现自动推送"><a class="markdownIt-Anchor" href="#通过添加代码实现自动推送"></a> 通过添加代码实现自动推送</h3><p>这种推送方式在之前的百度推送站中被称为自动推送，其通过在网页的 <code>&lt;head&gt;</code> 与 <code>&lt;/head&gt;</code> 标签之间添加安装自动推送JS代码，实现当页面被访问时，页面URL将立即被推送到百度收录。这个方法在现在的百度收录站中已经找不到了，但代码还是被留存了下来，可以考虑使用。</p><p>在主题文件夹中找到 <code>head.ejs</code> 文件，定位到 <code>&lt;head&gt;</code> ，在其下方添加如下代码即可：</p><figure class="highlight plaintext"><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></pre></td><td class="code"><pre><span class="line">&lt;!-- 百度主动推送 --&gt;</span><br><span class="line">&lt;script&gt;</span><br><span class="line">  (function () &#123;</span><br><span class="line">    var bp = document.createElement(&#x27;script&#x27;);</span><br><span class="line">    var curProtocol = window.location.protocol.split(&#x27;:&#x27;)[0];</span><br><span class="line">    if (curProtocol === &#x27;https&#x27;) &#123;</span><br><span class="line">      bp.src = &#x27;https://zz.bdstatic.com/linksubmit/push.js&#x27;;</span><br><span class="line">    &#125; else &#123;</span><br><span class="line">      bp.src = &#x27;http://push.zhanzhang.baidu.com/push.js&#x27;;</span><br><span class="line">    &#125;</span><br><span class="line">    var s = document.getElementsByTagName(&quot;script&quot;)[0];</span><br><span class="line">    s.parentNode.insertBefore(bp, s);</span><br><span class="line">  &#125;)();</span><br><span class="line">&lt;/script&gt;</span><br></pre></td></tr></table></figure><h2 id="sitemap"><a class="markdownIt-Anchor" href="#sitemap"></a> <code>sitemap</code></h2><p>在百度收录站中使用 <code>sitemap</code>，只需要在相应位置填写数据文件地址即可：</p><p><img src="https://cdn.hermitlsr.top/images/post/baidushoulu/20210730220424.png!watermark" alt="百度收录站填写数据文件地址" /></p><p>这里介绍一个生成网址地图的插件：<a href="https://github.com/ludoviclefevre/hexo-generator-seo-friendly-sitemap"><code>hexo-generator-seo-friendly-sitemap</code></a>，之前我有用另一个插件 <code>hexo-generator-sitemap</code>，基本配置都差不多，但还是觉得前者要好一些。</p><p>通过 <div class="tag-plugin copy"><input class="copy-area" readonly id="copy_3" value="npm install hexo-generator-seo-friendly-sitemap --save"><button class="copy-btn" onclick="util.copy(&quot;copy_3&quot;,&quot;Copied!&quot;)"><svg class="icon copy-btn" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M5.75 1a.75.75 0 00-.75.75v3c0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75v-3a.75.75 0 00-.75-.75h-4.5zm.75 3V2.5h3V4h-3zm-2.874-.467a.75.75 0 00-.752-1.298A1.75 1.75 0 002 3.75v9.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-9.5a1.75 1.75 0 00-.874-1.515.75.75 0 10-.752 1.298.25.25 0 01.126.217v9.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-9.5a.25.25 0 01.126-.217z"></path></svg></button></div> 下载好插件之后，只需在站点根目录 <code>_config.yml</code>添加如下内容：</p><figure class="highlight yaml"><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></pre></td><td class="code"><pre><span class="line"><span class="attr">sitemap:</span></span><br><span class="line">  <span class="attr">path:</span> <span class="string">sitemap.xml</span></span><br><span class="line">  <span class="attr">tag:</span> <span class="literal">true</span></span><br><span class="line">  <span class="attr">category:</span> <span class="literal">true</span></span><br><span class="line">  <span class="attr">page_priority:</span> <span class="number">0.4</span></span><br><span class="line">  <span class="attr">post_priority:</span> <span class="number">0.6</span></span><br></pre></td></tr></table></figure><p>这里可以根据自己的需要选择是否生成 <code>tag</code>、<code>category</code> 的网址地图。<br />当执行 <code>hexo s</code> 或 <code>hexo d</code> 后，<code>public</code> 将出现如下内容：</p><figure class="highlight plaintext"><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></pre></td><td class="code"><pre><span class="line">sitemap.xml</span><br><span class="line">post-sitemap.xml</span><br><span class="line">page-sitemap.xml</span><br><span class="line">category-sitemap.xml</span><br><span class="line">tag-sitemap.xml</span><br></pre></td></tr></table></figure><p>可以通过自己的域名+文件名的方式访问到这些网址地图 (如：<a href="https://www.hermitlsr.top/sitemap.xml">https://www.hermitlsr.top/sitemap.xml</a>)。上面提到的填写数据文件地址就是指这个地址。</p><p>通过这个方式的缺点就是一开始推送的时候要很久才生效，我是等了三天之后状态才从等待中转为已生效，建议多种方式共同使用。</p>]]></content>
    
    
    <summary type="html">&lt;p&gt;  本文将介绍如何将自己的博客文章主动推送到百度收录&lt;/p&gt;</summary>
    
    
    
    <category term="博客折腾" scheme="https://www.hermitlsr.top/blog/categories/%E5%8D%9A%E5%AE%A2%E6%8A%98%E8%85%BE/"/>
    
    
    <category term="Hexo" scheme="https://www.hermitlsr.top/blog/tags/Hexo/"/>
    
  </entry>
  
  <entry>
    <title>Stellar 建站记录</title>
    <link href="https://www.hermitlsr.top/2021-07-29/Stellar-%E5%BB%BA%E7%AB%99%E8%AE%B0%E5%BD%95/"/>
    <id>https://www.hermitlsr.top/2021-07-29/Stellar-%E5%BB%BA%E7%AB%99%E8%AE%B0%E5%BD%95/</id>
    <published>2021-07-29T20:56:44.000Z</published>
    <updated>2021-07-29T20:56:44.000Z</updated>
    
    <content type="html"><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="/assets/css/APlayer.min.css"><script src="/assets/js/APlayer.min.js" class="aplayer-secondary-script-marker"></script><script class="meting-secondary-script-marker" src="/assets/js/Meting.min.js"></script><p>  本文记录了自己使用Stellar主题建站时操作的一些内容，或简或繁，主要是为了方便日后主题升级，设备更换时能够顺利迁移。</p><span id="more"></span><h2 id="footer-设置"><a class="markdownIt-Anchor" href="#footer-设置"></a> <code>footer</code> 设置</h2><p>目前我使用的<del>`stellar 1.4.0` 版本还不支持自定义 `footer`</del> (注:<a href="https://www.hermitlsr.top/2021-07-29/6cccfa3e.html#%E4%B8%8A%E8%BF%B0%E6%96%B9%E6%B3%95%E4%BB%85%E4%BE%9B%E5%8F%82%E8%80%83%E4%B8%BB%E9%A2%98%E5%B7%B2%E6%94%AF%E6%8C%81%E8%AF%A5%E8%AE%BE%E7%BD%AE">新版本已支持</a>) ，但我需要放上 icp 备案等信息，于是修改了部分源码。我需要新设置两排内容，一排展示部署和图床信息，一排展示 icp 备案信息，最终呈现效果如下图：</p><div class="tag-plugin image"><div class="image-bg"><img src="https://cdn.hermitlsr.top/images/post/20210729212708.png" fancybox="true"/></div></div><p>需要设置三个部分</p><ol><li><code>zh-CN.yml.footer</code> 语言设置</li><li><code>footer.ejs</code> 设置</li><li><code>_config.stellar.yml.footer</code> 主题设置</li></ol><h3 id="zh-cnymlfooter-语言设置"><a class="markdownIt-Anchor" href="#zh-cnymlfooter-语言设置"></a> <code>zh-CN.yml.footer</code> 语言设置</h3><p>在 <code>..\themes\stellar\languages\zh-CN.yml</code> 文件中设置：</p><figure class="highlight yaml"><figcaption><span>..\themes\stellar\languages\zh-CN.yml</span></figcaption><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></pre></td><td class="code"><pre><span class="line"><span class="attr">footer:</span></span><br><span class="line">  <span class="attr">license:</span> <span class="string">&#x27;本博客所有文章除特别声明外，均采用 %s 许可协议，转载请注明出处。&#x27;</span></span><br><span class="line">  <span class="attr">info_not_open_source:</span> <span class="string">&#x27;本站由 %s 创建，使用 %s 作为主题。&#x27;</span></span><br><span class="line">  <span class="attr">info_open_source:</span> <span class="string">&#x27;本站由 %s 创建，使用 %s 作为主题，您可以在 %s 找到本站源码。&#x27;</span></span><br><span class="line">  <span class="comment"># 自定义部分</span></span><br><span class="line">  <span class="attr">web_serve:</span> <span class="string">&#x27;本站托管于 %s ，使用 %s 作为图床。&#x27;</span> <span class="comment"># 用于展示部署信息</span></span><br><span class="line">  <span class="attr">icp:</span> <span class="string">&#x27;%s&#x27;</span> <span class="comment"># 用于展示 icp 备案信息</span></span><br></pre></td></tr></table></figure><p>其中 <code>%s</code> 为占位符，若使用多语言还需如此设置 <code>zh-TW.yml</code> 、<code>en.yml</code>。</p><h3 id="footerejs-设置"><a class="markdownIt-Anchor" href="#footerejs-设置"></a> <code>footer.ejs</code> 设置</h3><p>在 <code>..\themes\stellar\layout\_partial\main\footer.ejs</code> 文件中设置：</p><figure class="highlight yaml"><figcaption><span>..\themes\stellar\layout\_partial\main\footer.ejs</span></figcaption><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></pre></td><td class="code"><pre><span class="line"><span class="comment"># 顶部 `const source = theme.footer.source;` 之后</span></span><br><span class="line"><span class="string">const</span> <span class="string">icp</span> <span class="string">=</span> <span class="string">theme.footer.icp;</span></span><br><span class="line"><span class="string">const</span> <span class="string">cloud_server</span> <span class="string">=</span> <span class="string">theme.footer.cloud_server;</span></span><br><span class="line"><span class="string">const</span> <span class="string">picture_bed</span> <span class="string">=</span> <span class="string">theme.footer.picture_bed;</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 下方 `if(source)&#123;...&#125;` 之后</span></span><br><span class="line">  <span class="string">if</span> <span class="string">(theme.footer.cloud_server)</span> &#123;</span><br><span class="line">    <span class="string">el</span> <span class="string">+=</span> <span class="string">markdown(__(&#x27;footer.web_serve&#x27;</span>,  <span class="string">cloud_server</span>, <span class="string">picture_bed));</span></span><br><span class="line">  &#125;</span><br><span class="line">  <span class="string">if</span> <span class="string">(theme.footer.icp)&#123;</span></span><br><span class="line">    <span class="string">el</span> <span class="string">+=</span> <span class="string">markdown(__(&#x27;footer.icp&#x27;,</span> <span class="string">icp));</span></span><br><span class="line">  <span class="string">&#125;</span></span><br></pre></td></tr></table></figure><p>上述代码第一部分是传入主题设置中的内容，其对应着语言设置部分中的占位符内容：</p><ul><li><code>icp</code>: 要展示的icp信息</li><li><code>cloud_server</code> : 要展示的部署信息</li><li><code>pictuer_bed</code> : 要展示的图床信息</li></ul><p>上述代码第二部分为插入要展示的信息。</p><h3 id="_configstellarymlfooter-主题设置"><a class="markdownIt-Anchor" href="#_configstellarymlfooter-主题设置"></a> <code>_config.stellar.yml.footer</code> 主题设置</h3><p>在 <code>footer</code> 部分添加如下内容：</p><figure class="highlight yaml"><figcaption><span>_config.stellar.yml</span></figcaption><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><span class="line"><span class="attr">icp:</span> <span class="string">&#x27;渝ICP备[2021006569](https://beian.miit.gov.cn/)号，公安备[50011702500564](https://beian.miit.gov.cn/)号，萌ICP备[20201324](https://icp.gov.moe/?keyword=20201324)号&#x27;</span></span><br><span class="line"><span class="attr">cloud_server:</span> <span class="string">&#x27;[腾讯云](https://cloud.tencent.com/)，[Github](https://github.com/)&#x27;</span></span><br><span class="line"><span class="attr">picture_bed:</span> <span class="string">&#x27;[又拍云](https://www.upyun.com/?utm_source=lianmeng&amp;utm_medium=referral)&#x27;</span></span><br></pre></td></tr></table></figure><p>其对应第二步中的 <code>theme.footer.icp</code>、<code>theme.footer.cloud_server</code>、<code>theme.footer.picture_bed</code>。</p><h3 id="上述方法仅供参考主题已支持该设置"><a class="markdownIt-Anchor" href="#上述方法仅供参考主题已支持该设置"></a> 上述方法仅供参考，主题已支持该设置</h3><p><a href="https://github.com/xaoxuu/hexo-theme-stellar/commit/0d9ebb54c59e37b6183e970223b619e21f8239f9">2021.7.31 主题更新 Commit: custom footer </a> ，可以使用 <code>more</code> 更优雅的实现上述内容，主题配置 <code>footer.more</code> 设置：</p><figure class="highlight yaml"><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><span class="line"><span class="attr">more:</span> <span class="comment"># string or array (support markdown)</span></span><br><span class="line">  <span class="bullet">-</span> <span class="string">&#x27;本站托管于 [腾讯云](https://cloud.tencent.com/)，[Github](https://github.com/) ，使用 [又拍云](https://www.upyun.com/?utm_source=lianmeng&amp;utm_medium=referral) 作为图床。&#x27;</span></span><br><span class="line">  <span class="bullet">-</span> <span class="string">&#x27;渝ICP备[2021006569](https://beian.miit.gov.cn/)号，公安备[50011702500564](https://beian.miit.gov.cn/)号，萌ICP备[20201324](https://icp.gov.moe/?keyword=20201324)号&#x27;</span></span><br></pre></td></tr></table></figure><h2 id="百度收录"><a class="markdownIt-Anchor" href="#百度收录"></a> 百度收录</h2><p>见：<a href="https://www.hermitlsr.top/2021-07-30/74f32e90.html">百度收录推送</a></p><h2 id="stellar-表情标签索引"><a class="markdownIt-Anchor" href="#stellar-表情标签索引"></a> stellar 表情标签索引</h2><p>见：<a href="https://www.hermitlsr.top/2021-08-02/36b0e529.html">stellar表情标签索引</a></p><h2 id="调整最大边距"><a class="markdownIt-Anchor" href="#调整最大边距"></a> 调整最大边距</h2><p>修改 <code>themes/stellar/source/css/_custom.styl</code> :</p><figure class="highlight stylus"><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><span class="line"><span class="comment">// 可以动态变化的属性</span></span><br><span class="line"><span class="selector-pseudo">:root</span></span><br><span class="line">  <span class="attr">--width-main</span>: <span class="number">820px</span>  <span class="comment">//680</span></span><br></pre></td></tr></table></figure><h2 id="赞赏部件sponsor-page"><a class="markdownIt-Anchor" href="#赞赏部件sponsor-page"></a> 赞赏部件–sponsor-page</h2><p>见：<a href="https://www.hermitlsr.top/2021-08-14/274dc0d.html">请作者喝咖啡–sponsor-page</a></p><p>示例：</p><div class="tag-plugin image"><div class="image-bg"><img src="https://cdn.hermitlsr.top/images/post/sponsor/20210814235243.png!watermark" fancybox="true"/></div></div><h2 id="移植-next-主题的-label-标签"><a class="markdownIt-Anchor" href="#移植-next-主题的-label-标签"></a> 移植 <code>next</code> 主题的 <code>label</code> 标签</h2><p>仅对纯文本有效：</p><p>class: <code>gray</code> <code>purple</code> <code>blue</code> <code>green</code> <code>orange</code> <code>yellow</code> <code>red</code></p><p>示例：</p><mark class="tag-plugin label gray">gray</mark><mark class="tag-plugin label purple">purple</mark><mark class="tag-plugin label blue">blue</mark><mark class="tag-plugin label green">green</mark><mark class="tag-plugin label orange">orange</mark><mark class="tag-plugin label yellow">yellow</mark><mark class="tag-plugin label red">red</mark><details class="tag-plugin folding" child="codeblock"><summary><span>查看代码</span></summary><div class="body"><figure class="highlight md"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">&#123;% label gray gray %&#125;&#123;% label purple purple %&#125;&#123;% label blue blue %&#125;&#123;% label green green %&#125;&#123;% label orange orange %&#125;&#123;% label yellow yellow %&#125;&#123;% label red red %&#125;</span><br></pre></td></tr></table></figure></div></details><p>主题已集成 : <a href="https://github.com/xaoxuu/hexo-theme-stellar/commit/8460505e0a7671816f0191e0a8de3b67e4665b39"><code>mark</code> 标签 </a><br />官方效果：支持多彩标记标签，包括：<mark class="tag-plugin mark" >默认</mark><mark class="tag-plugin mark" color="red">红</mark><mark class="tag-plugin mark" color="orange">橙</mark><mark class="tag-plugin mark" color="yellow">黄</mark><mark class="tag-plugin mark" color="green">绿</mark><mark class="tag-plugin mark" color="cyan">青</mark><mark class="tag-plugin mark" color="blue">蓝</mark><mark class="tag-plugin mark" color="purple">紫</mark><mark class="tag-plugin mark" color="light">浅</mark><mark class="tag-plugin mark" color="dark">深</mark> 一共 10 种颜色</p><h2 id="related_posts-随机选取图片作为相关文章封面"><a class="markdownIt-Anchor" href="#related_posts-随机选取图片作为相关文章封面"></a> related_posts 随机选取图片作为相关文章封面</h2><p>已与下面 <a href="http://www.hermitlsr.top/2021-07-29/Stellar-%E5%BB%BA%E7%AB%99%E8%AE%B0%E5%BD%95/#%E6%B7%BB%E5%8A%A0%E9%9A%8F%E6%9C%BA%E8%87%AA%E5%AE%9A%E4%B9%89%E5%B0%81%E9%9D%A2%E5%92%8C%E6%A8%AA%E5%B9%85">添加随机自定义封面和横幅</a> 合并</p><del>我也不知道为什么，这个东西在我这里就是有问题，不会提取到 `frontmatter.cover` ，而是采用文章的第一个图片。</del> 后面成功实现了 Github Action 自动部署，发现正常了，但是把推送上去的 public 下载到本地进行 `hexo s` 还是有问题，总之就是很迷，以后应该会采用 action 自动部署的方式。之前改的源码也不能浪费，调整了一下设置为没有 `cover` 时，考虑自定义图片随机挑选，放弃了原来的根据 tags 搜索图片的设置，如果没有自定义图片就使用默认图片：<figure class="highlight diff"><figcaption><span>related_posts.js</span></figcaption><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></pre></td><td class="code"><pre><span class="line">    if (p) &#123;</span><br><span class="line">      if (p.cover) &#123;</span><br><span class="line">        if (p.cover.includes(&#x27;/&#x27;)) &#123;</span><br><span class="line">          list.img = p.cover;</span><br><span class="line">        &#125; else &#123;</span><br><span class="line">          list.img = &#x27;https://source.unsplash.com/1280x640/?&#x27; + p.cover;</span><br><span class="line">        &#125;</span><br><span class="line"><span class="addition">+      &#125; else if (cfg.selfimg.enable &amp;&amp; cfg.selfimg.imgs &amp;&amp; cfg.selfimg.imgs.length &gt; 0) &#123;</span></span><br><span class="line"><span class="addition">+        list.img = cfg.selfimg.imgs[Math.floor(Math.random() * cfg.selfimg.imgs.length)]</span></span><br><span class="line">      &#125;else if (cfg.auto_cover &amp;&amp; p.tags &amp;&amp; p.tags.length &gt; 0) &#123;</span><br><span class="line">        var params = &#x27;&#x27;;</span><br><span class="line">        p.tags.reverse().forEach((tag, i) =&gt; &#123;</span><br><span class="line">          if (i &gt; 0) &#123;</span><br><span class="line">            params += &#x27;,&#x27;;</span><br><span class="line">          &#125;</span><br><span class="line">          params += tag.name;</span><br><span class="line">        &#125;);</span><br><span class="line">        list.img = &#x27;https://source.unsplash.com/1280x640/?&#x27; + params;</span><br><span class="line">      &#125;</span><br><span class="line">    &#125;</span><br></pre></td></tr></table></figure><p>related_posts 的问题在我本地上还是没有解决，如果我是通过本地发布，那么相关文章的图片将会是我自己设置的，如果是通过 Github Action 自动部署的那么将会是 <code>cover</code> 图片。所以看一下我文章相关文章大概就知道我最后一次发布是怎么发布的了。</p><p>部署效果：</p><table margin:auto><tr><td><img src="https://cdn.hermitlsr.top/images/post/stellar-jzjl/20210830145610.png!watermark" style="width: 400px"></td><td><img src="https://cdn.hermitlsr.top/images/post/stellar-jzjl/20210830145831.png!watermark" style="width: 400px"></td></tr></table><h2 id="github-action"><a class="markdownIt-Anchor" href="#github-action"></a> Github Action</h2><p><a href="https://www.hermitlsr.top/2021-08-30/b387ac98.html">腾讯云 Serverless + Github Action 自动部署 Hexo 博客</a></p><h2 id="设置-footer-链接不显示下划线"><a class="markdownIt-Anchor" href="#设置-footer-链接不显示下划线"></a> 设置 footer 链接不显示下划线</h2><figure class="highlight diff"><figcaption><span>footer.styl</span></figcaption><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></pre></td><td class="code"><pre><span class="line">    margin: 4px 0</span><br><span class="line">    line-height: 1.2</span><br><span class="line">  a</span><br><span class="line"><span class="deletion">-    text-decoration: underline</span></span><br><span class="line"><span class="addition">+    text-decoration: none</span></span><br></pre></td></tr></table></figure><h2 id="添加音乐播放器"><a class="markdownIt-Anchor" href="#添加音乐播放器"></a> 添加音乐播放器</h2><p>播放器官网：<a href="https://myhkw.cn/">myhkw</a><br />在 <code>body</code> 标签之前加入：</p><figure class="highlight plaintext"><figcaption><span>layout.ejs</span></figcaption><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">&lt;script src=&quot;https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</span><br><span class="line">&lt;script src=&quot;https://myhkw.cn/api/player/163072767496&quot; id=&quot;myhk&quot; key=&quot;&quot; m=&quot;1&quot;&gt;&lt;/script&gt;</span><br></pre></td></tr></table></figure><h2 id="添加哔哔点啥"><a class="markdownIt-Anchor" href="#添加哔哔点啥"></a> 添加哔哔点啥</h2><p>见：<a href="https://hermitlsr.top/2022-01-19/%E5%93%94%E5%93%94%E7%82%B9%E5%95%A5-%E9%85%8D%E7%BD%AE%E8%AE%B0%E5%BD%95/">BBer：哔哔点啥-配置记录</a></p><h2 id="自定义封面"><a class="markdownIt-Anchor" href="#自定义封面"></a> 自定义封面</h2><p>已与下面 <a href="http://www.hermitlsr.top/2021-07-29/Stellar-%E5%BB%BA%E7%AB%99%E8%AE%B0%E5%BD%95/#%E6%B7%BB%E5%8A%A0%E9%9A%8F%E6%9C%BA%E8%87%AA%E5%AE%9A%E4%B9%89%E5%B0%81%E9%9D%A2%E5%92%8C%E6%A8%AA%E5%B9%85">添加随机自定义封面和横幅</a> 合并</p><figure class="highlight diff"><figcaption><span>layout\_partial\main\post_list\post_card.ejs</span></figcaption><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></pre></td><td class="code"><pre><span class="line">    &#125; else if (theme.article.auto_cover) &#123;</span><br><span class="line">      // 自动以 tags 作为关键词搜索封面</span><br><span class="line">      if (post.tags) &#123;</span><br><span class="line">        var params = &#x27;&#x27;;</span><br><span class="line">        post.tags.reverse().forEach((tag, i) =&gt; &#123;</span><br><span class="line">          if (i &gt; 0) &#123;</span><br><span class="line">            params += &#x27;,&#x27;;</span><br><span class="line">          &#125;</span><br><span class="line">          params += tag.name;</span><br><span class="line">        &#125;);</span><br><span class="line">        cover_url = &#x27;https://source.unsplash.com/1280x640/?&#x27; + params;</span><br><span class="line">      &#125; else &#123;</span><br><span class="line">        cover_url = &#x27;https://source.unsplash.com/random/1280x640&#x27;;</span><br><span class="line">      &#125;</span><br><span class="line"><span class="addition">+    &#125; else if (theme.article.default_cover.enable) &#123;</span></span><br><span class="line"><span class="addition">+        cover_url = theme.article.default_cover.imgs[Math.floor(Math.random() * theme.article.default_cover.imgs.length)]</span></span><br><span class="line">    &#125;</span><br></pre></td></tr></table></figure><h2 id="更换-harmonyos-字体"><a class="markdownIt-Anchor" href="#更换-harmonyos-字体"></a> 更换 HarmonyOS 字体</h2><p>参考：<a href="https://www.panoshu.top/blog/7f3b7e3a/">Hexo Stellar 主题和 Next 主题使用 HarmonyOS 字体</a></p><div class="tag-plugin note" color="blue"><div class="title"><strong>22.10.13更新：</strong></div><div class="body"><p>主题在设置中可直接更换字体：</p><div class="tag-plugin note" color="blue" child="codeblock"><div class="body"><figure class="highlight plaintext"><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></pre></td><td class="code"><pre><span class="line">style:</span><br><span class="line">  font-family:</span><br><span class="line">    logo: system-ui, &quot;Microsoft Yahei&quot;, &quot;Segoe UI&quot;, -apple-system, Roboto, Ubuntu, &quot;Helvetica Neue&quot;, Arial, &quot;WenQuanYi Micro Hei&quot;, sans-serif</span><br><span class="line">    body: HarmonyOS_Regular</span><br><span class="line">    code: Menlo, Monaco, Consolas, system-ui, &quot;Courier New&quot;, monospace, sans-serif</span><br></pre></td></tr></table></figure></div></div></div></div><ol><li>修改主题文件 <code>/source/css/_custom.styl</code>，39行：</li></ol><figure class="highlight styl"><figcaption><span>/source/css/_custom.styl</span></figcaption><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="variable">$ff</span>-<span class="selector-tag">body</span> = HarmonyOS_Regular</span><br></pre></td></tr></table></figure><ol start="2"><li>站点根目录设置文件 _config.yml 中添加 :</li></ol><figure class="highlight yml"><figcaption><span>_config.yml</span></figcaption><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></pre></td><td class="code"><pre><span class="line"><span class="attr">inject:</span></span><br><span class="line">  <span class="attr">head:</span></span><br><span class="line">    <span class="bullet">-</span> <span class="string">&lt;link</span> <span class="string">rel=&quot;preconnect&quot;</span> <span class="string">href=&quot;https://s1.hdslb.com/&quot;</span> <span class="string">/&gt;</span></span><br><span class="line">    <span class="bullet">-</span> <span class="string">&lt;link</span> <span class="string">rel=&quot;stylesheet&quot;</span> <span class="string">href=&quot;//s1.hdslb.com/bfs/static/jinkela/long/font/regular.css&quot;</span> <span class="string">media=&quot;all&quot;</span> <span class="string">onload=&quot;this.media=&#x27;all&#x27;&quot;</span> <span class="string">/&gt;</span></span><br><span class="line">    <span class="bullet">-</span> <span class="string">&lt;link</span> <span class="string">rel=&quot;stylesheet&quot;</span> <span class="string">href=&quot;//s1.hdslb.com/bfs/static/jinkela/long/font/medium.css&quot;</span> <span class="string">media=&quot;all&quot;</span> <span class="string">onload=&quot;this.media=&#x27;all&#x27;&quot;</span> <span class="string">/&gt;</span></span><br></pre></td></tr></table></figure><h2 id="打印本文"><a class="markdownIt-Anchor" href="#打印本文"></a> 打印本文：</h2><p>在 <code>&quot;...\layout\_partial\main\article\article_footer.ejs&quot;</code> 文件添加如下代码：</p><figure class="highlight plaintext"><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></pre></td><td class="code"><pre><span class="line">if (theme.article.printpost &amp;&amp; page.printpost != false) &#123;</span><br><span class="line">  el += &#x27;&lt;section id=&quot;printpost&quot;&gt;&#x27;;</span><br><span class="line">  el += &#x27;&lt;div class=&quot;header&quot;&gt;&#x27;;</span><br><span class="line">  el += &#x27;&lt;span&gt;&#x27; + __(&#x27;meta.printpost&#x27;) + &#x27;&lt;/span&gt;&#x27;;</span><br><span class="line">  el += &#x27;&lt;script&gt;&#x27;;</span><br><span class="line">  el += &#x27;var pfHeaderImgUrl = &quot;&quot;;var pfHeaderTagline = &quot;&quot;;var pfdisableClickToDel = 0;var pfHideImages = 0;var pfImageDisplayStyle = &quot;block&quot;;var pfDisablePDF = 0;var pfDisableEmail = 1;var pfDisablePrint = 0;var pfCustomCSS = &quot;&quot;;var pfEncodeImages = 0;var pfShowHiddenContent = 0;var pfBtVersion=&quot;2&quot;;(function()&#123;var js,pf;pf=document.createElement(&quot;script&quot;);pf.type=&quot;text/javascript&quot;;pf.src=&quot;//cdn.printfriendly.com/printfriendly.js&quot;;document.getElementsByTagName(&quot;head&quot;)[0].appendChild(pf)&#125;)();&lt;/script&gt;&lt;a href=&quot;https://www.printfriendly.com&quot; style=&quot;color:#6D9F00;text-decoration:none;&quot; class=&quot;printfriendly&quot; onclick=&quot;window.print();return false;&quot; title=&quot;Printer Friendly and PDF&quot;&gt;&lt;img style=&quot;border:none;-webkit-box-shadow:none;box-shadow:none;&quot; src=&quot;//cdn.printfriendly.com/buttons/printfriendly-pdf-button-nobg-md.png&quot; alt=&quot;Print Friendly and PDF&quot;/&gt;&#x27;;</span><br><span class="line">  el += &#x27;&lt;/a&gt;&#x27;;</span><br><span class="line">  el += &#x27;&lt;/section&gt;&#x27;;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p>注意 ‘meta.printpost’ 是主题文件中的 <code>languages</code> 文件，记得在其中设置相应的中英文。 并在 <code>_config.stellar.yml</code> 的 article 部分，添加：</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">article:</span></span><br><span class="line">  <span class="attr">printpost:</span> <span class="literal">true</span></span><br></pre></td></tr></table></figure><p>若设置为 printpost: true 则启用打印本文，反正关闭。</p><h2 id="为-katex-配置滚动条"><a class="markdownIt-Anchor" href="#为-katex-配置滚动条"></a> 为 Katex 配置滚动条</h2><p><code>xaoxuu</code> 大佬在评论区提供了 <code>Katex</code> 公式在移动设备下超出显示的解决方案，用滚动条。为了避免在桌面端出现滚动条，加上主题原生的设备控制就好了：</p><figure class="highlight styl"><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><span class="line"><span class="selector-class">.md</span> <span class="selector-tag">p</span><span class="selector-class">.katex-block</span></span><br><span class="line">  <span class="keyword">@media</span> screen <span class="keyword">and</span> (<span class="attribute">max-width</span>: $device-tablet)</span><br><span class="line">    overflow: scroll;</span><br></pre></td></tr></table></figure><h2 id="添加随机自定义封面和横幅"><a class="markdownIt-Anchor" href="#添加随机自定义封面和横幅"></a> 添加随机自定义封面和横幅</h2><p>这部分的随机自定义封面与 <a href="http://www.hermitlsr.top/2021-07-29/Stellar-%E5%BB%BA%E7%AB%99%E8%AE%B0%E5%BD%95/#related_posts-%E9%9A%8F%E6%9C%BA%E9%80%89%E5%8F%96%E5%9B%BE%E7%89%87%E4%BD%9C%E4%B8%BA%E7%9B%B8%E5%85%B3%E6%96%87%E7%AB%A0%E5%B0%81%E9%9D%A2">related_posts 随机选取图片作为相关文章封面</a> 共用一个图片源，文章的 “banner” 用另一个图片库<br />有时候懒得找图片有没有什么关键词，就直接用自己预定好的图片随机当个封面，省时省力，主题自带的功能不受影响</p><p>需要修改三处主题代码：layout_partial\cover\post_cover.ejs、layout_partial\main\post_list\post_card.ejs、scripts\helpers\related_posts.js<br />然后在主题设置中添加相应的图片源即可</p><p>三处代码修改如下：</p><ol><li>layout_partial\cover\post_cover.ejs</li></ol><figure class="highlight diff"><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></pre></td><td class="code"><pre><span class="line"> &lt;%</span><br><span class="line">function div() &#123;</span><br><span class="line">  var el = &#x27;&#x27;;</span><br><span class="line"><span class="deletion">-  if ((page.banner == undefined || page.banner == false) &amp;&amp; !theme.article.auto_banner) &#123;</span></span><br><span class="line"><span class="addition">+  if (page.banner == false) &#123;</span></span><br><span class="line">    return el;</span><br><span class="line">  &#125;</span><br><span class="line">  var url;</span><br><span class="line">  if (page.banner != undefined) &#123;</span><br><span class="line">    if (page.banner.includes(&#x27;/&#x27;)) &#123;</span><br><span class="line">      url = page.banner;</span><br><span class="line">    &#125; else &#123;</span><br><span class="line">      url = &#x27;https://source.unsplash.com/2000x400/?&#x27; + page.banner;</span><br><span class="line">    &#125;</span><br><span class="line"><span class="deletion">-  &#125; else &#123;</span></span><br><span class="line"><span class="addition">+  &#125;  else if (theme.article.auto_banner &amp;&amp; !theme.article.default_banner.enable) &#123;</span></span><br><span class="line">    // 自动以 tags 作为关键词搜索封面</span><br><span class="line">    if (page.tags) &#123;</span><br><span class="line">      var params = &#x27;&#x27;;</span><br><span class="line">      page.tags.reverse().forEach((tag, i) =&gt; &#123;</span><br><span class="line">        if (i &gt; 0) &#123;</span><br><span class="line">          params += &#x27;,&#x27;;</span><br><span class="line">        &#125;</span><br><span class="line">        params += tag.name;</span><br><span class="line">      &#125;);</span><br><span class="line">      url = &#x27;https://source.unsplash.com/2000x400/?&#x27; + params;</span><br><span class="line">    &#125; else &#123;</span><br><span class="line">      url = &#x27;https://source.unsplash.com/random/2000x400&#x27;;</span><br><span class="line">    &#125;</span><br><span class="line"><span class="addition">+  &#125; else if (theme.article.default_banner.enable) &#123;</span></span><br><span class="line"><span class="addition">+        url = theme.article.default_banner.imgs[Math.floor(Math.random() * theme.article.default_cover.imgs.length)]</span></span><br><span class="line">  &#125;</span><br></pre></td></tr></table></figure><ol start="2"><li>layout_partial\main\post_list\post_card.ejs</li></ol><figure class="highlight diff"><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></pre></td><td class="code"><pre><span class="line"><span class="deletion">-  if (post.cover || theme.article.auto_cover) &#123;</span></span><br><span class="line"><span class="addition">+  if (post.cover || theme.article.auto_cover || theme.article.default_cover.enable) &#123;</span></span><br><span class="line">    var cover_url;</span><br><span class="line">    if (post.cover != undefined) &#123;</span><br><span class="line">      if (post.cover.includes(&#x27;/&#x27;)) &#123;</span><br><span class="line">        cover_url = post.cover;</span><br><span class="line">      &#125; else &#123;</span><br><span class="line">        cover_url = &#x27;https://source.unsplash.com/1280x640/?&#x27; + post.cover;</span><br><span class="line">      &#125;</span><br><span class="line"><span class="deletion">-    &#125; else &#123;</span></span><br><span class="line"><span class="addition">+    &#125; else if (theme.article.auto_cover &amp;&amp; !theme.article.default_cover.enable) &#123;</span></span><br><span class="line">      // 自动以 tags 作为关键词搜索封面</span><br><span class="line">      if (post.tags) &#123;</span><br><span class="line">        var params = &#x27;&#x27;;</span><br><span class="line">        post.tags.reverse().forEach((tag, i) =&gt; &#123;</span><br><span class="line">          if (i &gt; 0) &#123;</span><br><span class="line">            params += &#x27;,&#x27;;</span><br><span class="line">          &#125;</span><br><span class="line">          params += tag.name;</span><br><span class="line">        &#125;);</span><br><span class="line">        cover_url = &#x27;https://source.unsplash.com/1280x640/?&#x27; + params;</span><br><span class="line">      &#125; else &#123;</span><br><span class="line">        cover_url = &#x27;https://source.unsplash.com/random/1280x640&#x27;;</span><br><span class="line">      &#125;</span><br><span class="line"><span class="addition">+    &#125; else if (theme.article.default_cover.enable) &#123;</span></span><br><span class="line"><span class="addition">+        cover_url = theme.article.default_cover.imgs[Math.floor(Math.random() * theme.article.default_cover.imgs.length)]</span></span><br><span class="line">    &#125;</span><br><span class="line"></span><br></pre></td></tr></table></figure><ol start="3"><li>scripts\helpers\related_posts.js</li></ol><figure class="highlight diff"><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></pre></td><td class="code"><pre><span class="line">    return &#x27;&#x27;;</span><br><span class="line">  &#125;</span><br><span class="line">  const cfg = hexo.theme.config.article.related_posts;</span><br><span class="line"><span class="addition">+  const dfc = hexo.theme.config.article.default_cover;</span></span><br><span class="line">  if (cfg.enable != true) return;</span><br><span class="line">  var returnHTML = &quot;&quot;;</span><br><span class="line">  var div = `</span><br><span class="line">@ -42,7 +43,9 @@ hexo.extend.helper.register(&#x27;popular_posts_wrapper&#x27;, function(args)&#123;</span><br><span class="line">        &#125; else &#123;</span><br><span class="line">          list.img = &#x27;https://source.unsplash.com/1280x640/?&#x27; + p.cover;</span><br><span class="line">        &#125;</span><br><span class="line"><span class="deletion">-      &#125; else if (cfg.auto_cover &amp;&amp; p.tags &amp;&amp; p.tags.length &gt; 0) &#123;</span></span><br><span class="line"><span class="addition">+      &#125; else if (dfc.enable &amp;&amp; dfc.imgs &amp;&amp; dfc.imgs.length &gt; 0) &#123;</span></span><br><span class="line"><span class="addition">+        list.img = dfc.imgs[Math.floor(Math.random() *dfc.imgs.length)]</span></span><br><span class="line"><span class="addition">+        &#125; else if (cfg.auto_cover &amp;&amp; p.tags &amp;&amp; p.tags.length &gt; 0) &#123;</span></span><br><span class="line">        var params = &#x27;&#x27;;</span><br><span class="line">        p.tags.reverse().forEach((tag, i) =&gt; &#123;</span><br><span class="line">          if (i &gt; 0) &#123;</span><br><span class="line"></span><br></pre></td></tr></table></figure><ol start="4"><li>添加图片源</li></ol><figure class="highlight diff"><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></pre></td><td class="code"><pre><span class="line">article:</span><br><span class="line">  # 如果没有指定封面，是否根据 tags 作为关键词搜索封面？</span><br><span class="line">  auto_cover: true # search from https://source.unsplash.com/</span><br><span class="line">  auto_banner: true # search from https://source.unsplash.com/</span><br><span class="line"><span class="addition">+  default_cover:</span></span><br><span class="line"><span class="addition">+    enable: true</span></span><br><span class="line"><span class="addition">+    imgs:</span></span><br><span class="line"><span class="addition">+  default_banner:</span></span><br><span class="line"><span class="addition">+    enable: true</span></span><br><span class="line"><span class="addition">+    imgs:    </span></span><br></pre></td></tr></table></figure>]]></content>
    
    
    <summary type="html">&lt;p&gt;  本文记录了自己使用Stellar主题建站时操作的一些内容，或简或繁，主要是为了方便日后主题升级，设备更换时能够顺利迁移。&lt;/p&gt;</summary>
    
    
    
    <category term="博客折腾" scheme="https://www.hermitlsr.top/blog/categories/%E5%8D%9A%E5%AE%A2%E6%8A%98%E8%85%BE/"/>
    
    
    <category term="Hexo" scheme="https://www.hermitlsr.top/blog/tags/Hexo/"/>
    
    <category term="Stellar" scheme="https://www.hermitlsr.top/blog/tags/Stellar/"/>
    
  </entry>
  
  <entry>
    <title>建站序言</title>
    <link href="https://www.hermitlsr.top/2021-06-28/%E5%BB%BA%E7%AB%99%E5%BA%8F%E8%A8%80/"/>
    <id>https://www.hermitlsr.top/2021-06-28/%E5%BB%BA%E7%AB%99%E5%BA%8F%E8%A8%80/</id>
    <published>2021-06-28T10:38:05.000Z</published>
    <updated>2021-06-28T10:38:05.000Z</updated>
    
    <content type="html"><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="/assets/css/APlayer.min.css"><script src="/assets/js/APlayer.min.js" class="aplayer-secondary-script-marker"></script><script class="meting-secondary-script-marker" src="/assets/js/Meting.min.js"></script><p>  欢迎来到在下的小站，本站自2021.6.29正式发布，今后这里将存放一些自己的笔记和生活记录，或者放一些好玩的东东。</p><span id="more"></span><h2 id="建站初衷"><a class="markdownIt-Anchor" href="#建站初衷"></a> 建站初衷</h2><p>  搭建个人站主要目的是为了存放自己的一些 <code>.md</code> 的笔记。在电脑上实在不好管理，也不好查看。通过个人站的形式呈现出来一目了然，十分方便。<s>Volantis 中的 <code>group</code> front-matter 可以基本呈现出书籍文档类的效果，基本满足了我的需求。于是这个基于Hexo -Volantis 主题的小站就此开始建设了。</s> 在 Volantis 博主群里发现了 xaoxuu 大佬开发的 stellar 主题，研究过后发现非常优雅，于是将站点更换为 stellar 主题，volantis 主题作为分站存在，等待5.0版。</p><h2 id="建站历程"><a class="markdownIt-Anchor" href="#建站历程"></a> 建站历程</h2><p>  萌生搭建个人站的想法已经有几年了，之所以直到现在才搭建自己的个人站主要还是因为时间不够和畏难心理。一开始考虑到需要购置服务器，自己写网页前端，设计各种素材等等，就头大。没错，对于一个程序语言就能勉强写点python和r的人，完全不沾边啊。当然如果我早点知道有这么多静态博客的框架可以直接用，或许这个站点可以提早出生几年(不是)。<br />  前段时间，也是机缘巧合发现了Hexo这个博客架构，本着程序员(伪)决不重复造轮子的心态，果断采用了简洁的 Next 主题。无他，页面简洁教程多，结果当事人是非常的后悔。 由于太过简洁，需要自己魔改的内容就非常多，而网上的一些教程也不适配现在的 8.0 版本，就踩了很多坑，不过也因此接触了一些 js、css等内容，这为后面顺利美化博客打了基础。<br />  万幸偶遇到 <a href="https://wenchong.space/"><code>翀翀</code></a>，给我指了一条明路，虽然当时没放在心上，不过现在嘛，是真的香。中间经历了一个Butterfly主题，据官方说也是从 <code>Material X</code> 演变过来的，各种配置文档什么的都不错，集成了很多功能，基本只需要自己配置一下设置文档，但体验了一下太花里胡哨，不符合在下矜(古)持(板)的形象。最后还是选择 <code>Volantis</code> 够香，好滋味。<br />  站点基本建设起来之后，考虑到国内访问的问题(<a href="http://github.io">github.io</a> 域名被有的浏览器ban了)，决定还是买一个域名，顺便备个案，以便可以在国内愉快的玩耍。在这途中偶然发现目前 <code>coding</code> 的持续部署是使用了腾讯云的 <code>serverless</code>和<code>cos存储</code> ，而腾讯的云函数文档中也直接提供了使用云函数直接部署 Hexo 博客的接口，简直不要太方便。最后就直接买了一个五年的云函数服务一则用来备案，二来则用来部署生成的静态页面。</p><h2 id="最后"><a class="markdownIt-Anchor" href="#最后"></a> 最后</h2><p>  希望自己能够坚持写学习笔记，坚持记录，想必过几年来看也是一个不错的回忆和知识储备。也希望巧合来到本站的你，幸福开心。</p>]]></content>
    
    
    <summary type="html">&lt;p&gt;  欢迎来到在下的小站，本站自2021.6.29正式发布，今后这里将存放一些自己的笔记和生活记录，或者放一些好玩的东东。&lt;/p&gt;</summary>
    
    
    
    
  </entry>
  
  <entry>
    <title>Volantis 建站记录</title>
    <link href="https://www.hermitlsr.top/2021-06-26/Volantis-%E5%BB%BA%E7%AB%99%E8%AE%B0%E5%BD%95/"/>
    <id>https://www.hermitlsr.top/2021-06-26/Volantis-%E5%BB%BA%E7%AB%99%E8%AE%B0%E5%BD%95/</id>
    <published>2021-06-26T22:04:56.000Z</published>
    <updated>2021-06-26T22:04:56.000Z</updated>
    
    <content type="html"><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="/assets/css/APlayer.min.css"><script src="/assets/js/APlayer.min.js" class="aplayer-secondary-script-marker"></script><script class="meting-secondary-script-marker" src="/assets/js/Meting.min.js"></script><p>  本文记录了我在使用Volantis主题建站时操作的一些内容，或简或繁，主要是为了方便日后主题升级，设备更换时能够顺利迁移，同时向参考的一些站点博主表示感谢。</p><span id="more"></span><h2 id="站点参考"><a class="markdownIt-Anchor" href="#站点参考"></a> 站点参考</h2><p>本站参考了一些博客站点的设置及美化，或受其启发，或用到其类似的功能或配置，不能一应俱全的列举出来，都一并表示感谢。</p><div class="tag-plugin sites-wrap"><div class="group-body"><div class="site-card"><a class="card-link" target="_blank" rel="external nofollow noopener noreferrer" href="https://www.itrhx.com/"><img src="https://7.dusays.com/2021/06/24/9c135cc8bfcd3.png" onerror="javascript:this.removeAttribute(&quot;data-src&quot;);this.src=&quot;https://fastly.jsdelivr.net/gh/hermitlsr/image-for-hermitlsr.top/web/752273.png&quot;;"/><div class="info"><img src="https://www.itrhx.com/images/trhx.png" onerror="javascript:this.removeAttribute(&quot;data-src&quot;);this.src=&quot;https://fastly.jsdelivr.net/gh/cdn-x/placeholder@1.0.1/link/8f277b4ee0ecd.svg&quot;;"/><span class="title">TRHX’S BLOG</span><span class="desc">https://www.itrhx.com/</span></div></a></div><div class="site-card"><a class="card-link" target="_blank" rel="external nofollow noopener noreferrer" href="https://www.heson10.com"><img src="https://7.dusays.com/2020/10/02/3835c34bd8b64.png" onerror="javascript:this.removeAttribute(&quot;data-src&quot;);this.src=&quot;https://fastly.jsdelivr.net/gh/hermitlsr/image-for-hermitlsr.top/web/752273.png&quot;;"/><div class="info"><img src="https://cdn.jsdelivr.net/gh/heson525/pic@master/pic/avatar03.png" onerror="javascript:this.removeAttribute(&quot;data-src&quot;);this.src=&quot;https://fastly.jsdelivr.net/gh/cdn-x/placeholder@1.0.1/link/8f277b4ee0ecd.svg&quot;;"/><span class="title">黑石博客</span><span class="desc">https://www.heson10.com</span></div></a></div><div class="site-card"><a class="card-link" target="_blank" rel="external nofollow noopener noreferrer" href="https://inkss.cn"><img src="https://7.dusays.com/2021/06/27/e2ea41f4736af.png" onerror="javascript:this.removeAttribute(&quot;data-src&quot;);this.src=&quot;https://fastly.jsdelivr.net/gh/hermitlsr/image-for-hermitlsr.top/web/752273.png&quot;;"/><div class="info"><img src="https://cdn.jsdelivr.net/gh/inkss/common@master/static/web/avatar.jpg" onerror="javascript:this.removeAttribute(&quot;data-src&quot;);this.src=&quot;https://fastly.jsdelivr.net/gh/cdn-x/placeholder@1.0.1/link/8f277b4ee0ecd.svg&quot;;"/><span class="title">inkss</span><span class="desc">https://inkss.cn</span></div></a></div><div class="site-card"><a class="card-link" target="_blank" rel="external nofollow noopener noreferrer" href="https://colsrch.cn"><img src="https://i.loli.net/2020/08/22/dFRWXm52OVu8qfK.png" onerror="javascript:this.removeAttribute(&quot;data-src&quot;);this.src=&quot;https://fastly.jsdelivr.net/gh/hermitlsr/image-for-hermitlsr.top/web/752273.png&quot;;"/><div class="info"><img src="https://cdn.jsdelivr.net/gh/Colsrch/images/Colsrch/avatar.jpg" onerror="javascript:this.removeAttribute(&quot;data-src&quot;);this.src=&quot;https://fastly.jsdelivr.net/gh/cdn-x/placeholder@1.0.1/link/8f277b4ee0ecd.svg&quot;;"/><span class="title">Colsrch</span><span class="desc">https://colsrch.cn</span></div></a></div><div class="site-card"><a class="card-link" target="_blank" rel="external nofollow noopener noreferrer" href="https://vlts.hin.cool"><img src="https://i.loli.net/2021/04/08/VfYXGSs6M32UeLw.jpg" onerror="javascript:this.removeAttribute(&quot;data-src&quot;);this.src=&quot;https://fastly.jsdelivr.net/gh/hermitlsr/image-for-hermitlsr.top/web/752273.png&quot;;"/><div class="info"><img src="https://cdn2.hin.cool/pic/my/dl3.png" onerror="javascript:this.removeAttribute(&quot;data-src&quot;);this.src=&quot;https://fastly.jsdelivr.net/gh/cdn-x/placeholder@1.0.1/link/8f277b4ee0ecd.svg&quot;;"/><span class="title">W4J1e</span><span class="desc">https://vlts.hin.cool</span></div></a></div></div></div><h2 id="恶搞标题"><a class="markdownIt-Anchor" href="#恶搞标题"></a> 恶搞标题</h2><p>当用户在访问站点切换到其他网页时，可以呈现恶搞标题效果。</p><ol><li><p>新建 <code>FunnyTitle.js</code></p><p>在主题文件夹<code>\themes\volantis\source\js</code> 中新建 <code>FunnyTitle.js</code> ，在其中添加如下代码：</p><figure class="highlight js"><figcaption><span>\themes\volantis\source\js\FunnyTitle.js</span></figcaption><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></pre></td><td class="code"><pre><span class="line"><span class="comment">// 浏览器搞笑标题</span></span><br><span class="line"><span class="keyword">var</span> <span class="title class_">OriginTitle</span> = <span class="variable language_">document</span>.<span class="property">title</span>;</span><br><span class="line"><span class="keyword">var</span> titleTime;</span><br><span class="line"><span class="variable language_">document</span>.<span class="title function_">addEventListener</span>(<span class="string">&#x27;visibilitychange&#x27;</span>, <span class="keyword">function</span> (<span class="params"></span>) &#123;</span><br><span class="line">    <span class="keyword">if</span> (<span class="variable language_">document</span>.<span class="property">hidden</span>) &#123;</span><br><span class="line">        $(<span class="string">&#x27;[rel=&quot;icon&quot;]&#x27;</span>).<span class="title function_">attr</span>(<span class="string">&#x27;href&#x27;</span>, <span class="string">&quot;/funny.ico&quot;</span>);</span><br><span class="line">        <span class="variable language_">document</span>.<span class="property">title</span> = <span class="string">&#x27;╭(°A°`)╮ 呀怎么舍得走哇 ~&#x27;</span>;</span><br><span class="line">        <span class="built_in">clearTimeout</span>(titleTime);</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="keyword">else</span> &#123;</span><br><span class="line">        $(<span class="string">&#x27;[rel=&quot;icon&quot;]&#x27;</span>).<span class="title function_">attr</span>(<span class="string">&#x27;href&#x27;</span>, <span class="string">&quot;/favicon.ico&quot;</span>);</span><br><span class="line">        <span class="variable language_">document</span>.<span class="property">title</span> = <span class="string">&#x27;(ฅ&gt;ω&lt;*ฅ) 噫又回来了耶 ~&#x27;</span> + <span class="title class_">OriginTitle</span>;</span><br><span class="line">        titleTime = <span class="built_in">setTimeout</span>(<span class="keyword">function</span> (<span class="params"></span>) &#123;</span><br><span class="line">            <span class="variable language_">document</span>.<span class="property">title</span> = <span class="title class_">OriginTitle</span>;</span><br><span class="line">        &#125;, <span class="number">2000</span>);</span><br><span class="line">    &#125;</span><br><span class="line">&#125;);</span><br></pre></td></tr></table></figure><p>其中<code>favicon.ico</code> 是正常图标， <code>funny.ico</code> 是用户切换到其它标签后你网站的图标。</p></li><li><p>启用这个 <code>.js</code> 文件</p><p>在 <code>\themes\volantis\layout\layout.ejs </code> 文件中的 <code>&lt;body&gt;</code> 下面添加如下代码：</p><figure class="highlight js"><figcaption><span>\themes\volantis\layout\layout.ejs</span></figcaption><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">&lt;!--浏览器搞笑标题--&gt;</span><br><span class="line"><span class="language-xml"><span class="tag">&lt;<span class="name">script</span> <span class="attr">type</span>=<span class="string">&quot;text/javascript&quot;</span> <span class="attr">src</span>=<span class="string">&quot;/js/FunnyTitle.js&quot;</span>&gt;</span><span class="tag">&lt;/<span class="name">script</span>&gt;</span></span></span><br></pre></td></tr></table></figure><p>另外，也可以将上述 <code>FunnyTitle.js</code>  托管到 <code>Github</code>上，在此引用 <code>jsdelivr</code> 的加速链接。</p></li></ol><h2 id="底部建站时间"><a class="markdownIt-Anchor" href="#底部建站时间"></a> 底部建站时间</h2><ol><li><p>设置 <code>footer.ejs</code>  文件</p><p>这里首先需要设置 <code>footer.ejs</code>  文件，其在 <code>Volantis</code> 主题的位置是 <code>\themes\volantis\layout\_partial\footer.ejs</code> 。在其中的第48行的位置后添加如下代码：</p><figure class="highlight js"><figcaption><span>\themes\volantis\layout\_partial\footer.ejs</span></figcaption><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></pre></td><td class="code"><pre><span class="line"><span class="keyword">else</span> <span class="keyword">if</span> (item == <span class="string">&#x27;runtime_count&#x27;</span>) &#123; %&gt;</span><br><span class="line">        <span class="language-xml"><span class="tag">&lt;<span class="name">span</span> <span class="attr">id</span>=<span class="string">&quot;runtime_span&quot;</span>&gt;</span><span class="tag">&lt;/<span class="name">span</span>&gt;</span></span></span><br><span class="line">        <span class="language-xml"><span class="tag">&lt;<span class="name">script</span> <span class="attr">type</span>=<span class="string">&quot;text/javascript&quot;</span>&gt;</span><span class="language-javascript"><span class="keyword">function</span> <span class="title function_">show_runtime</span>(<span class="params"></span>)&#123;<span class="variable language_">window</span>.<span class="built_in">setTimeout</span>(<span class="string">&quot;show_runtime()&quot;</span>,<span class="number">1000</span>);X=<span class="keyword">new</span></span></span></span><br><span class="line"><span class="language-javascript"><span class="language-xml">        <span class="title class_">Date</span>(<span class="string">&quot;5/25/2021 00:00:00&quot;</span>);</span></span></span><br><span class="line"><span class="language-javascript"><span class="language-xml">        Y=<span class="keyword">new</span> <span class="title class_">Date</span>();T=(Y.<span class="title function_">getTime</span>()-X.<span class="title function_">getTime</span>());M=<span class="number">24</span>*<span class="number">60</span>*<span class="number">60</span>*<span class="number">1000</span>;</span></span></span><br><span class="line"><span class="language-javascript"><span class="language-xml">        a=T/M; dnum=<span class="title class_">Math</span>.<span class="title function_">floor</span>(a); b=(a-dnum)*<span class="number">24</span>; hnum=<span class="title class_">Math</span>.<span class="title function_">floor</span>(b);c=(b-hnum)*<span class="number">60</span>; mnum=<span class="title class_">Math</span>.<span class="title function_">floor</span>((b-hnum)*<span class="number">60</span>); snum=<span class="title class_">Math</span>.<span class="title function_">floor</span>((c-mnum)*<span class="number">60</span>);</span></span></span><br><span class="line"><span class="language-javascript"><span class="language-xml">        runtime_span.<span class="property">innerText</span> =<span class="string">&quot;⚡&quot;</span>+<span class="string">&quot;本站在风雨飘摇中度过了 &quot;</span> + dnum + <span class="string">&quot; 天 &quot;</span> + hnum + <span class="string">&quot; 小时 &quot;</span> + mnum + <span class="string">&quot; 分 &quot;</span> + snum + <span class="string">&quot; 秒&quot;</span> + <span class="string">&quot;⚡&quot;</span>&#125;;<span class="title function_">show_runtime</span>();</span><span class="tag">&lt;/<span class="name">script</span>&gt;</span></span></span><br><span class="line"></span><br></pre></td></tr></table></figure><p>可以根据需要修改 <code>runtime_span.innerText</code> 中的文本。</p><p>注意 <code>item == 'runtime_count'</code> 其中 <code>runtime_count</code> 可以自定义，在主题配置文件中引用相同的名称即可。需要引用的内容只有 <code>&lt;span id=&quot;runtime_span&quot;&gt;&lt;/span&gt;</code>，具体看下面。</p></li><li><p>启用该设置</p><p>在 <code>Volantis</code> 中启用它，找到 <code>site_footer</code> 部分，在其下加入：</p><figure class="highlight yml"><figcaption><span>_config.volantis.yml</span></figcaption><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">runtime_count:</span></span><br><span class="line">  <span class="string">&lt;span</span> <span class="string">id=&quot;runtime_span&quot;&gt;&lt;/span&gt;</span></span><br></pre></td></tr></table></figure><p>别忘了在前面的 <code>layout:[]</code> 部分中加入 <code>runtime_count</code> 。</p></li></ol><h2 id="网页弹窗"><a class="markdownIt-Anchor" href="#网页弹窗"></a> 网页弹窗</h2><p>这里主要运用 <code>javascript</code> 插件 ：[ <a href="https://sweetalert.js.org/docs/"><code>Sweetalert</code></a> 、<a href="https://github.com/t4t5/sweetalert"><code>Sweetalert-github</code></a>]</p><p>具体安装和使用方法可见其 <a href="https://sweetalert.js.org/docs/"><code>官网</code></a> 和 <a href="https://github.com/t4t5/sweetalert"><code>Github</code></a> 。我采用了直接引用的方法。</p><p>在 <code>\themes\volantis\layout\_partial\head.ejs</code> 文件中的第二行 <code>&lt;meta charset=&quot;utf-8&quot;&gt;</code> 后加入：</p><figure class="highlight js"><figcaption><span>\themes\volantis\layout\_partial\head.ejs</span></figcaption><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><span class="line">&lt;meta charset=<span class="string">&quot;utf-8&quot;</span>&gt;&lt;!-- 在此后加入 --&gt;</span><br><span class="line">&lt;!-- <span class="title class_">Sweetalert</span>弹窗显示 --&gt;</span><br><span class="line">  <span class="language-xml"><span class="tag">&lt;<span class="name">script</span> <span class="attr">src</span>=<span class="string">&quot;https://unpkg.com/sweetalert/dist/sweetalert.min.js&quot;</span>&gt;</span><span class="tag">&lt;/<span class="name">script</span>&gt;</span></span></span><br></pre></td></tr></table></figure><p>或者使用 <code>jsdeliver</code> ：</p><figure class="highlight js"><figcaption><span>\themes\volantis\layout/_partial/head.ejs</span></figcaption><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><span class="line">&lt;meta charset=<span class="string">&quot;utf-8&quot;</span>&gt;&lt;!-- 在此后加入 --&gt;</span><br><span class="line">&lt;!-- <span class="title class_">Sweetalert</span>弹窗显示 --&gt;</span><br><span class="line">  <span class="language-xml"><span class="tag">&lt;<span class="name">script</span> <span class="attr">src</span>=<span class="string">&quot;https://cdn.jsdelivr.net/npm/sweetalert&quot;</span>&gt;</span><span class="tag">&lt;/<span class="name">script</span>&gt;</span></span></span><br></pre></td></tr></table></figure><p>并由此实现了以下几个功能 (目前网页只保留了2) ：</p><ol><li>进入网站弹窗</li><li>复制网站内容弹窗<ul><li>复制代码弹窗</li><li>右键复制弹窗</li></ul></li><li>网站弹窗+自动切换暗黑主题</li></ol><h3 id="进入网站弹窗"><a class="markdownIt-Anchor" href="#进入网站弹窗"></a> 进入网站弹窗</h3><p>这里参考了：<a href="https://luosw.fun/post/e281.html">https://luosw.fun/post/e281.html</a> ，但这篇博文提到的关于自动调整暗黑模式+弹窗的逻辑反了，随后又看了一下<code>colsrch</code> 大佬的博文  <a href="https://colsrch.cn/posts/9eae9d7b/">https://colsrch.cn/posts/9eae9d7b/</a></p><p>这里直接设置 <code>\themes\volantis\layout\index.ejs</code> 文件就可以了，在其开头加入：</p><figure class="highlight js"><figcaption><span>\themes\volantis\layout\index.ejs</span></figcaption><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></pre></td><td class="code"><pre><span class="line">&lt;!-- 网页访问欢迎弹窗 --&gt;</span><br><span class="line"><span class="language-xml"><span class="tag">&lt;<span class="name">script</span>&gt;</span><span class="language-javascript"></span></span></span><br><span class="line"><span class="language-javascript"><span class="language-xml"><span class="title function_">swal</span>(&#123;</span></span></span><br><span class="line"><span class="language-javascript"><span class="language-xml">        <span class="attr">title</span>: <span class="string">&#x27;花径不曾缘客扫，蓬门今始为君开。&#x27;</span>,</span></span></span><br><span class="line"><span class="language-javascript"><span class="language-xml">        <span class="attr">text</span>: <span class="string">&quot;在下是博主hemitlsr，这里作为个人学习生活的记录而存在。\n 在这里可以看博文，玩游戏，交朋友。\n 欢迎留言，交换友链。\n 但请不要留下不友好的痕迹，不然在下隔着屏幕咬你啊。&quot;</span>,</span></span></span><br><span class="line"><span class="language-javascript"><span class="language-xml">        <span class="attr">icon</span>: <span class="string">&#x27;https://cdn.jsdelivr.net/gh/hermitlsr/image-for-hermitlsr.top/web/rickavatar.png&#x27;</span>,</span></span></span><br><span class="line"><span class="language-javascript"><span class="language-xml">        <span class="attr">button</span>: <span class="string">&quot;好的，已知晓&quot;</span>,</span></span></span><br><span class="line"><span class="language-javascript"><span class="language-xml">&#125;);</span></span></span><br><span class="line"><span class="language-javascript"><span class="language-xml"></span><span class="tag">&lt;/<span class="name">script</span>&gt;</span></span></span><br></pre></td></tr></table></figure><p>这里 <code>swal()</code> 是引用该弹窗的函数，其有四个可选参数：<code>title</code> 、<code>text</code> 、<code>icon</code>  、<code>button</code> 。其中 <code>icon</code> 有四个默认的选项，可设置为 <code>icon</code> 图标，这里在下使用的是图片。</p><h3 id="复制网站内容弹窗"><a class="markdownIt-Anchor" href="#复制网站内容弹窗"></a> 复制网站内容弹窗</h3><h4 id="复制代码弹窗"><a class="markdownIt-Anchor" href="#复制代码弹窗"></a> 复制代码弹窗</h4><p>这里需要设置 <code>layout\third-party\clipboard\script.ejs</code> 文件，在后20行 <code>clipboard.off('success').on('success', function (e) &#123;&#125;</code> 中：</p><figure class="highlight js"><figcaption><span>layout\third-party\clipboard\script.ejs</span></figcaption><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></pre></td><td class="code"><pre><span class="line">&lt;!-- 复制代码弹窗 --&gt;</span><br><span class="line"><span class="title function_">swal</span>(&#123;</span><br><span class="line"><span class="attr">title</span>: <span class="string">&#x27;复制成功&#x27;</span>,</span><br><span class="line">    <span class="attr">text</span>: <span class="string">&quot;代码已复制，请遵守相关授权协议。\n 转载请记得注明出处&quot;</span>,</span><br><span class="line">    <span class="attr">icon</span>: <span class="string">&#x27;success&#x27;</span>,</span><br><span class="line">    <span class="attr">button</span>: <span class="string">&quot;我承诺遵守&quot;</span>,</span><br><span class="line">&#125;);</span><br></pre></td></tr></table></figure><h4 id="右键复制弹窗"><a class="markdownIt-Anchor" href="#右键复制弹窗"></a> 右键复制弹窗</h4><p>这里需要设置两项内容：</p><ul><li>链接地址复制弹窗</li><li>文本复制弹窗</li></ul><p>均在 <code>layout\_partial\rightmenu.ejs</code> 文件中进行设置</p><ol><li><p>链接地址复制弹窗</p><p>在上述文件末尾的 <code>function copyString(str) &#123;&#125;</code> 函数中 <code>document.body.removeChild(input);</code> 后面添加如下内容：</p><figure class="highlight js"><figcaption><span>layout\_partial\rightmenu.ejs</span></figcaption><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></pre></td><td class="code"><pre><span class="line">&lt;!-- 右键菜单栏复制弹窗 --&gt;</span><br><span class="line"><span class="title function_">swal</span>(&#123;</span><br><span class="line"><span class="attr">title</span>: <span class="string">&#x27;复制成功&#x27;</span>,</span><br><span class="line"><span class="attr">text</span>: <span class="string">&quot;文本/链接已复制，请遵守相关授权协议。\n 转载请记得注明出处&quot;</span>,</span><br><span class="line"><span class="attr">icon</span>: <span class="string">&#x27;success&#x27;</span>,</span><br><span class="line"><span class="attr">button</span>: <span class="string">&quot;我承诺遵守&quot;</span>,</span><br><span class="line">&#125;);</span><br></pre></td></tr></table></figure></li><li><p>文本复制弹窗</p><p>还是在上述文件中，找到 <code>if ('&lt;%= theme.plugins.clipboard.enable %&gt;' == 'true') &#123;&#125;</code>将其设置为如下：</p><figure class="highlight js"><figcaption><span>layout\_partial\rightmenu.ejs</span></figcaption><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></pre></td><td class="code"><pre><span class="line"><span class="keyword">if</span> (<span class="string">&#x27;&lt;%= theme.plugins.clipboard.enable %&gt;&#x27;</span> == <span class="string">&#x27;true&#x27;</span>) &#123;</span><br><span class="line">    &lt;!-- 文本复制弹窗 --&gt;</span><br><span class="line">    <span class="keyword">let</span> str_luosw = <span class="variable language_">window</span>.<span class="title function_">getSelection</span>().<span class="title function_">toString</span>();</span><br><span class="line"></span><br><span class="line">    copyText.<span class="property">style</span>.<span class="property">display</span> = <span class="string">&#x27;block&#x27;</span>;</span><br><span class="line">    hrText.<span class="property">style</span>.<span class="property">display</span> = <span class="string">&#x27;block&#x27;</span>;</span><br><span class="line">    &lt;!-- 文本复制弹窗 --&gt;</span><br><span class="line">    copyText.<span class="title function_">addEventListener</span>(<span class="string">&quot;click&quot;</span>, <span class="keyword">function</span> (<span class="params">e</span>) &#123;</span><br><span class="line">    <span class="title function_">copyString</span>(str_luosw);</span><br><span class="line">    &#125;, &#123;</span><br><span class="line">    <span class="attr">once</span>: <span class="literal">true</span></span><br><span class="line">  &#125;);</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure></li></ol><h3 id="网站弹窗自动切换暗黑主题"><a class="markdownIt-Anchor" href="#网站弹窗自动切换暗黑主题"></a> 网站弹窗+自动切换暗黑主题</h3><p>这里需要设置的是 <code>layout\_partial\scripts\darkmode.ejs</code>  。</p><p>首先在该文件开头第一行加入：</p><figure class="highlight js"><figcaption><span>layout\_partial\scripts\darkmode.ejs</span></figcaption><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">&lt;script type=<span class="string">&quot;text/javascript&quot;</span> src=<span class="string">&quot;https://cdn.jsdelivr.net/gh/hermitlsr/CDN@master/judge_time/js.js&quot;</span>&gt;&lt;/script&gt;</span><br></pre></td></tr></table></figure><p>再在文件底部 <code>&lt;script&gt;</code> 前加入：</p><details class="tag-plugin folding" color="gray" child="codeblock"><summary><span>查看代码</span></summary><div class="body"><figure class="highlight js"><figcaption><span>layout\_partial\scripts\darkmode.ejs</span></figcaption><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><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br><span class="line">113</span><br><span class="line">114</span><br><span class="line">115</span><br><span class="line">116</span><br><span class="line">117</span><br></pre></td><td class="code"><pre><span class="line">&lt;!-- 自动夜间模式加弹窗 --&gt;</span><br><span class="line"><span class="comment">// 自动夜间模式</span></span><br><span class="line">  <span class="keyword">if</span> (navigator.<span class="property">geolocation</span>) &#123; <span class="comment">//获取地理位置 用于判断日出日落时间</span></span><br><span class="line">    navigator.<span class="property">geolocation</span>.<span class="title function_">getCurrentPosition</span>(</span><br><span class="line">      <span class="keyword">function</span> (<span class="params">position</span>) &#123;</span><br><span class="line">        <span class="keyword">var</span> res = <span class="title function_">computeSunRiseSunSet</span>(position.<span class="property">coords</span>.<span class="property">latitude</span>, position.<span class="property">coords</span>.<span class="property">longitude</span>, <span class="number">8</span>);</span><br><span class="line">        <span class="variable language_">console</span>.<span class="title function_">log</span>(res.<span class="property">str</span>)</span><br><span class="line">        <span class="title function_">adjust_time</span>(res.<span class="property">strSunRise</span>, res.<span class="property">strSunSet</span>, <span class="string">&quot;08:00&quot;</span>, <span class="string">&quot;12:00&quot;</span>, <span class="string">&quot;14:00&quot;</span>, <span class="string">&quot;23:00&quot;</span>)</span><br><span class="line">      &#125;,</span><br><span class="line">      <span class="keyword">function</span> (<span class="params">e</span>) &#123;</span><br><span class="line">        <span class="title function_">adjust_time</span>(<span class="string">&quot;7:00&quot;</span>, <span class="string">&quot;17:30&quot;</span>, <span class="string">&quot;08:00&quot;</span>, <span class="string">&quot;12:00&quot;</span>, <span class="string">&quot;14:00&quot;</span>, <span class="string">&quot;23:00&quot;</span>) <span class="comment">//未允许获取地理位置时，使用默认时间</span></span><br><span class="line">        <span class="variable language_">console</span>.<span class="title function_">log</span>(<span class="string">&quot;未允许获取地理位置，使用默认配置时间&quot;</span>)</span><br><span class="line">        <span class="keyword">throw</span> (e.<span class="property">message</span>);</span><br><span class="line">      &#125;</span><br><span class="line">    )</span><br><span class="line">  &#125;</span><br><span class="line"></span><br><span class="line">  <span class="keyword">function</span> <span class="title function_">adjust_time</span>(<span class="params">beginTime, endTime, morningTime, noonTime, afternoonTime, nightTime</span>) &#123;</span><br><span class="line">    <span class="keyword">const</span> rootElement = <span class="variable language_">document</span>.<span class="property">documentElement</span>;</span><br><span class="line">    <span class="keyword">var</span> strb = beginTime.<span class="title function_">split</span>(<span class="string">&quot;:&quot;</span>);</span><br><span class="line">    <span class="keyword">if</span> (strb.<span class="property">length</span> != <span class="number">2</span>) &#123;</span><br><span class="line">      <span class="keyword">return</span> <span class="literal">false</span>;</span><br><span class="line">    &#125;</span><br><span class="line"></span><br><span class="line">    <span class="keyword">var</span> stre = endTime.<span class="title function_">split</span>(<span class="string">&quot;:&quot;</span>);</span><br><span class="line">    <span class="keyword">if</span> (stre.<span class="property">length</span> != <span class="number">2</span>) &#123;</span><br><span class="line">      <span class="keyword">return</span> <span class="literal">false</span>;</span><br><span class="line">    &#125;</span><br><span class="line"></span><br><span class="line">    <span class="keyword">var</span> strmorning = morningTime.<span class="title function_">split</span>(<span class="string">&quot;:&quot;</span>); <span class="comment">//12点</span></span><br><span class="line">    <span class="keyword">if</span> (stre.<span class="property">length</span> != <span class="number">2</span>) &#123;</span><br><span class="line">      <span class="keyword">return</span> <span class="literal">false</span>;</span><br><span class="line">    &#125;</span><br><span class="line"></span><br><span class="line">    <span class="keyword">var</span> strnoon = noonTime.<span class="title function_">split</span>(<span class="string">&quot;:&quot;</span>); <span class="comment">//12点</span></span><br><span class="line">    <span class="keyword">if</span> (stre.<span class="property">length</span> != <span class="number">2</span>) &#123;</span><br><span class="line">      <span class="keyword">return</span> <span class="literal">false</span>;</span><br><span class="line">    &#125;</span><br><span class="line"></span><br><span class="line">    <span class="keyword">var</span> strafternoon = afternoonTime.<span class="title function_">split</span>(<span class="string">&quot;:&quot;</span>); <span class="comment">//13点</span></span><br><span class="line">    <span class="keyword">if</span> (stre.<span class="property">length</span> != <span class="number">2</span>) &#123;</span><br><span class="line">      <span class="keyword">return</span> <span class="literal">false</span>;</span><br><span class="line">    &#125;</span><br><span class="line"></span><br><span class="line">    <span class="keyword">var</span> strnight = nightTime.<span class="title function_">split</span>(<span class="string">&quot;:&quot;</span>); <span class="comment">//23点</span></span><br><span class="line">    <span class="keyword">if</span> (stre.<span class="property">length</span> != <span class="number">2</span>) &#123;</span><br><span class="line">      <span class="keyword">return</span> <span class="literal">false</span>;</span><br><span class="line">    &#125;</span><br><span class="line"></span><br><span class="line">    <span class="keyword">var</span> b = <span class="keyword">new</span> <span class="title class_">Date</span>();</span><br><span class="line">    <span class="keyword">var</span> e = <span class="keyword">new</span> <span class="title class_">Date</span>();</span><br><span class="line">    <span class="keyword">var</span> n = <span class="keyword">new</span> <span class="title class_">Date</span>();</span><br><span class="line">    <span class="keyword">var</span> morning = <span class="keyword">new</span> <span class="title class_">Date</span>();</span><br><span class="line">    <span class="keyword">var</span> noon = <span class="keyword">new</span> <span class="title class_">Date</span>();</span><br><span class="line">    <span class="keyword">var</span> afternoon = <span class="keyword">new</span> <span class="title class_">Date</span>();</span><br><span class="line">    <span class="keyword">var</span> night = <span class="keyword">new</span> <span class="title class_">Date</span>();</span><br><span class="line"></span><br><span class="line">    b.<span class="title function_">setHours</span>(strb[<span class="number">0</span>]);</span><br><span class="line">    b.<span class="title function_">setMinutes</span>(strb[<span class="number">1</span>]);</span><br><span class="line">    e.<span class="title function_">setHours</span>(stre[<span class="number">0</span>]);</span><br><span class="line">    e.<span class="title function_">setMinutes</span>(stre[<span class="number">1</span>]);</span><br><span class="line">    morning.<span class="title function_">setHours</span>(strmorning[<span class="number">0</span>]);</span><br><span class="line">    morning.<span class="title function_">setMinutes</span>(strmorning[<span class="number">1</span>]);</span><br><span class="line">    noon.<span class="title function_">setHours</span>(strnoon[<span class="number">0</span>]);</span><br><span class="line">    noon.<span class="title function_">setMinutes</span>(strnoon[<span class="number">1</span>]);</span><br><span class="line">    afternoon.<span class="title function_">setHours</span>(strafternoon[<span class="number">0</span>]);</span><br><span class="line">    afternoon.<span class="title function_">setMinutes</span>(strafternoon[<span class="number">1</span>]);</span><br><span class="line">    night.<span class="title function_">setHours</span>(strnight[<span class="number">0</span>]);</span><br><span class="line">    night.<span class="title function_">setMinutes</span>(strnight[<span class="number">1</span>]);</span><br><span class="line"></span><br><span class="line"></span><br><span class="line">    <span class="comment">//在这里面处理获得的数据</span></span><br><span class="line">    <span class="keyword">if</span> (n.<span class="title function_">getTime</span>() - b.<span class="title function_">getTime</span>() &gt; <span class="number">0</span> &amp;&amp; n.<span class="title function_">getTime</span>() - e.<span class="title function_">getTime</span>() &lt; <span class="number">0</span>) &#123;</span><br><span class="line">      <span class="keyword">var</span> daytimetitle = <span class="string">&quot;&quot;</span>;</span><br><span class="line">      <span class="keyword">var</span> daytimemessage = <span class="string">&quot;&quot;</span>;</span><br><span class="line">      <span class="keyword">if</span> (n.<span class="title function_">getTime</span>() - morning.<span class="title function_">getTime</span>() &lt; <span class="number">0</span>) &#123;</span><br><span class="line">        <span class="comment">// 早上</span></span><br><span class="line">        daytimetitle = <span class="string">&quot;早安( •̀ ω •́ )✧&quot;</span>;</span><br><span class="line">      &#125; <span class="keyword">else</span> <span class="keyword">if</span> (n.<span class="title function_">getTime</span>() - noon.<span class="title function_">getTime</span>() &lt; <span class="number">0</span>) &#123;</span><br><span class="line">        <span class="comment">// 上午</span></span><br><span class="line">        daytimetitle = <span class="string">&quot;上午好§(*￣▽￣*)§&quot;</span>;</span><br><span class="line">      &#125; <span class="keyword">else</span> <span class="keyword">if</span> (n.<span class="title function_">getTime</span>() - afternoon.<span class="title function_">getTime</span>() &lt; <span class="number">0</span>) &#123;</span><br><span class="line">        <span class="comment">// 中午</span></span><br><span class="line">        daytimetitle = <span class="string">&quot;中午好( *︾▽︾)&quot;</span>;</span><br><span class="line">        daytimemessage = <span class="string">&quot;Hi~ o(*￣▽￣*)ブ要注意休息哦&quot;</span>;</span><br><span class="line">      &#125; <span class="keyword">else</span> &#123;</span><br><span class="line">        <span class="comment">// 下午</span></span><br><span class="line">        daytimetitle = <span class="string">&quot;下午好&quot;</span>;</span><br><span class="line">      &#125; <span class="comment">// 判断是否已经开启夜间模式</span></span><br><span class="line">      <span class="keyword">if</span> (rootElement.<span class="title function_">getAttribute</span>(<span class="string">&#x27;data-user-color-scheme&#x27;</span>, <span class="string">&#x27;dark&#x27;</span>)) &#123; <span class="comment">// 已开启夜间模式，修改按钮状态</span></span><br><span class="line">          <span class="title function_">swal</span>(<span class="string">&quot;操作通知&quot;</span>, daytimetitle + <span class="string">&quot;，已自动为您切换为日间模式。&quot;</span> + daytimemessage, <span class="string">&quot;success&quot;</span>);</span><br><span class="line">          <span class="keyword">const</span> mode = <span class="title function_">toggleCustomDarkMode</span>();</span><br><span class="line">          <span class="title function_">applyCustomDarkModeSettings</span>(mode);</span><br><span class="line">      &#125; <span class="keyword">else</span> &#123; <span class="comment">// 未开启夜间模式，不执行操作</span></span><br><span class="line">        <span class="title function_">swal</span>(daytimetitle, daytimemessage, <span class="string">&quot;info&quot;</span>);</span><br><span class="line">        <span class="keyword">return</span> <span class="literal">true</span>;</span><br><span class="line">      &#125;</span><br><span class="line">    &#125; <span class="keyword">else</span> &#123; <span class="comment">// 晚上</span></span><br><span class="line">      <span class="keyword">var</span> nighttitle = <span class="string">&quot;&quot;</span>;</span><br><span class="line">      <span class="keyword">var</span> nightmessage = <span class="string">&quot;&quot;</span>;</span><br><span class="line">      <span class="keyword">if</span> (night.<span class="title function_">getTime</span>() - n.<span class="title function_">getTime</span>() &lt; <span class="number">0</span> || n.<span class="title function_">getTime</span>() - b.<span class="title function_">getTime</span>() &lt; <span class="number">0</span>) &#123;</span><br><span class="line">        nighttitle = <span class="string">&quot;夜深了&quot;</span>;</span><br><span class="line">        nightmessage = <span class="string">&quot;该睡觉啦(∪.∪ )...zzz&quot;</span>;</span><br><span class="line">      &#125; <span class="keyword">else</span> &#123;</span><br><span class="line">        nighttitle = <span class="string">&quot;晚上好&quot;</span>;</span><br><span class="line">        nightmessage = <span class="string">&quot;吃晚饭了吗？要注意眼睛哦(づ￣ 3￣)づ&quot;</span>;</span><br><span class="line">      &#125; <span class="comment">// 判断是否已经开启夜间模式</span></span><br><span class="line">      <span class="keyword">if</span> (rootElement.<span class="title function_">getAttribute</span>(<span class="string">&#x27;data-user-color-scheme&#x27;</span>, <span class="string">&#x27;dark&#x27;</span>)) &#123; <span class="comment">// 已开启夜间模式，不执行操作</span></span><br><span class="line">          <span class="title function_">swal</span>(nighttitle, nightmessage, <span class="string">&quot;info&quot;</span>);</span><br><span class="line">          <span class="keyword">return</span> <span class="literal">true</span>;</span><br><span class="line">      &#125; <span class="keyword">else</span> &#123; <span class="comment">// 未开启夜间模式，修改按钮状态</span></span><br><span class="line">          <span class="title function_">swal</span>(<span class="string">&quot;操作通知&quot;</span>, nighttitle + <span class="string">&quot;，已自动为您切换为夜间模式。&quot;</span> + nightmessage, <span class="string">&quot;success&quot;</span>);</span><br><span class="line">          <span class="keyword">const</span> mode = <span class="title function_">toggleCustomDarkMode</span>();</span><br><span class="line">          <span class="title function_">applyCustomDarkModeSettings</span>(mode);</span><br><span class="line">      &#125;</span><br><span class="line">    &#125;</span><br><span class="line">  &#125;</span><br></pre></td></tr></table></figure></div></details><h2 id="百宝箱页面设置"><a class="markdownIt-Anchor" href="#百宝箱页面设置"></a> 百宝箱页面设置</h2><p><img src="https://7.dusays.com/2021/06/28/3e2db8bfceefc.png" alt="image.png" /></p><p>这是 <a href="http://viggoz.com/"><code>Viggo</code></a> 大佬制作的一个网站导航项目 <a href="https://github.com/WebStackPage/WebStackPage.github.io"><code>WebStackPage</code></a>，并由 <a href="https://www.hclonely.com/"><code>HCLonely</code></a> 制作为 <a href="https://github.com/HCLonely/hexo-theme-webstack"><code>hexo-theme-webstack</code></a></p><p>引用这个页面实际上是做一个新的主题网页，使用二级域名指向它。也可以做成分站形式，但是对于这样需要经常添加修改的网页不是很方便。</p><p>这里具体可以参考：</p><ul><li>黑石大佬：<a href="https://www.heson10.com/posts/46324.html">为Hexo博客建立其他主题分站</a></li><li>诗颂：<a href="https://hassanwong.top/posts/61c6c2e8/#%E5%8F%AF%E8%83%BD%E6%9C%89%E7%9A%84%E5%85%AB%E9%98%BF%E5%93%A5">搭建Hexo-WebStack网址导航</a></li></ul><p>我主要是在页面抬头位置添加了几个链接，并引入了心知天气插件，这部分也是参考了黑石大佬和TRXH的百宝箱页面。</p><p>在主题文件夹下设置 <code>themes/webstack/index.js</code> 文件：</p><figure class="highlight js"><figcaption><span>themes/webstack/index.js</span></figcaption><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></pre></td><td class="code"><pre><span class="line">&lt;li <span class="keyword">class</span>=<span class="string">&quot;hover-line&quot;</span> style=<span class="string">&quot;min-height: 75px;&quot;</span>&gt;</span><br><span class="line">  <span class="language-xml"><span class="tag">&lt;<span class="name">a</span> <span class="attr">target</span>=<span class="string">&quot;_blank&quot;</span> <span class="attr">rel</span>=<span class="string">&quot;noopener&quot;</span> <span class="attr">href</span>=<span class="string">&quot;http://localhost:500&quot;</span>&gt;</span>博客首页<span class="tag">&lt;/<span class="name">a</span>&gt;</span></span>   &lt;!--<span class="attr">https</span>:<span class="comment">//www.hermitlsr.top--&gt;</span></span><br><span class="line">&lt;/li&gt;</span><br><span class="line"><span class="language-xml"><span class="tag">&lt;<span class="name">li</span> <span class="attr">class</span>=<span class="string">&quot;hover-line&quot;</span> <span class="attr">style</span>=<span class="string">&quot;min-height: 75px;&quot;</span>&gt;</span></span></span><br><span class="line"><span class="language-xml">  <span class="tag">&lt;<span class="name">a</span> <span class="attr">target</span>=<span class="string">&quot;_blank&quot;</span> <span class="attr">rel</span>=<span class="string">&quot;noopener&quot;</span> <span class="attr">href</span>=<span class="string">&quot;https://www.hermitlsr.top/categories/&quot;</span>&gt;</span>文章分类 <span class="tag">&lt;/<span class="name">a</span>&gt;</span></span></span><br><span class="line"><span class="language-xml"><span class="tag">&lt;/<span class="name">li</span>&gt;</span></span></span><br><span class="line"><span class="language-xml"><span class="tag">&lt;<span class="name">li</span> <span class="attr">class</span>=<span class="string">&quot;hover-line&quot;</span> <span class="attr">style</span>=<span class="string">&quot;min-height: 75px;&quot;</span>&gt;</span></span></span><br><span class="line"><span class="language-xml">  <span class="tag">&lt;<span class="name">a</span> <span class="attr">target</span>=<span class="string">&quot;_blank&quot;</span> <span class="attr">rel</span>=<span class="string">&quot;noopener&quot;</span> <span class="attr">href</span>=<span class="string">&quot;https://www.hermitlsr.top/messages/&quot;</span>&gt;</span>留言灌水 <span class="tag">&lt;/<span class="name">a</span>&gt;</span></span></span><br><span class="line"><span class="language-xml"><span class="tag">&lt;/<span class="name">li</span>&gt;</span></span></span><br><span class="line"><span class="language-xml"><span class="tag">&lt;<span class="name">li</span> <span class="attr">class</span>=<span class="string">&quot;hover-line&quot;</span> <span class="attr">style</span>=<span class="string">&quot;min-height: 75px;&quot;</span>&gt;</span></span></span><br><span class="line"><span class="language-xml">  <span class="tag">&lt;<span class="name">a</span> <span class="attr">target</span>=<span class="string">&quot;_blank&quot;</span> <span class="attr">rel</span>=<span class="string">&quot;noopener&quot;</span> <span class="attr">href</span>=<span class="string">&quot;https://www.hermitlsr.top/friends/&quot;</span>&gt;</span>友情链接 <span class="tag">&lt;/<span class="name">a</span>&gt;</span></span></span><br><span class="line"><span class="language-xml"><span class="tag">&lt;/<span class="name">li</span>&gt;</span></span></span><br></pre></td></tr></table></figure><p>引入心知天气插件，这部分主题代码可以直接在<a href="https://www.seniverse.com/">心知天气官网</a>生成：</p><figure class="highlight js"><figcaption><span>themes/webstack/index.js</span></figcaption><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></pre></td><td class="code"><pre><span class="line">  &lt;li <span class="keyword">class</span>=<span class="string">&quot;hover-line&quot;</span> style=<span class="string">&quot;min-height: 75px; &quot;</span>&gt;</span><br><span class="line">    <span class="language-xml"><span class="tag">&lt;<span class="name">div</span> <span class="attr">id</span>=<span class="string">&quot;tp-weather-widget&quot;</span> <span class="attr">style</span>=<span class="string">&quot;padding: 25px 20px !important; &quot;</span>&gt;</span><span class="tag">&lt;/<span class="name">div</span>&gt;</span></span></span><br><span class="line">    <span class="language-xml"><span class="tag">&lt;<span class="name">script</span>&gt;</span><span class="language-javascript"></span></span></span><br><span class="line"><span class="language-javascript"><span class="language-xml">      (<span class="keyword">function</span>(<span class="params">a,h,g,f,e,d,c,b</span>)&#123;b=<span class="keyword">function</span>(<span class="params"></span>)&#123;d=h.<span class="title function_">createElement</span>(g);c=h.<span class="title function_">getElementsByTagName</span>(g)[<span class="number">0</span>];d.<span class="property">src</span>=e;d.<span class="property">charset</span>=<span class="string">&quot;utf-8&quot;</span>;d.<span class="property">async</span>=<span class="number">1</span>;c.<span class="property">parentNode</span>.<span class="title function_">insertBefore</span>(d,c)&#125;;a[<span class="string">&quot;SeniverseWeatherWidgetObject&quot;</span>]=f;a[f]||(a[f]=<span class="keyword">function</span>(<span class="params"></span>)&#123;(a[f].<span class="property">q</span>=a[f].<span class="property">q</span>||[]).<span class="title function_">push</span>(<span class="variable language_">arguments</span>)&#125;);a[f].<span class="property">l</span>=+<span class="keyword">new</span> <span class="title class_">Date</span>();<span class="keyword">if</span>(a.<span class="property">attachEvent</span>)&#123;a.<span class="title function_">attachEvent</span>(<span class="string">&quot;onload&quot;</span>,b)&#125;<span class="keyword">else</span>&#123;a.<span class="title function_">addEventListener</span>(<span class="string">&quot;load&quot;</span>,b,<span class="literal">false</span>)&#125;&#125;(<span class="variable language_">window</span>,<span class="variable language_">document</span>,<span class="string">&quot;script&quot;</span>,<span class="string">&quot;SeniverseWeatherWidget&quot;</span>,<span class="string">&quot;//cdn.sencdn.com/widget2/static/js/bundle.js?t=&quot;</span>+<span class="built_in">parseInt</span>((<span class="keyword">new</span> <span class="title class_">Date</span>().<span class="title function_">getTime</span>() / <span class="number">100000000</span>).<span class="title function_">toString</span>(),<span class="number">10</span>)));</span></span></span><br><span class="line"><span class="language-javascript"><span class="language-xml">      <span class="variable language_">window</span>.<span class="title class_">SeniverseWeatherWidget</span>(<span class="string">&#x27;show&#x27;</span>, &#123;</span></span></span><br><span class="line"><span class="language-javascript"><span class="language-xml">        <span class="attr">flavor</span>: <span class="string">&quot;slim&quot;</span>,</span></span></span><br><span class="line"><span class="language-javascript"><span class="language-xml">        <span class="attr">location</span>: <span class="string">&quot;&quot;</span>,</span></span></span><br><span class="line"><span class="language-javascript"><span class="language-xml">        <span class="attr">geolocation</span>: <span class="literal">true</span>,</span></span></span><br><span class="line"><span class="language-javascript"><span class="language-xml">        <span class="attr">language</span>: <span class="string">&quot;zh-Hans&quot;</span>,</span></span></span><br><span class="line"><span class="language-javascript"><span class="language-xml">        <span class="attr">unit</span>: <span class="string">&quot;c&quot;</span>,</span></span></span><br><span class="line"><span class="language-javascript"><span class="language-xml">        <span class="attr">theme</span>: <span class="string">&quot;auto&quot;</span>,</span></span></span><br><span class="line"><span class="language-javascript"><span class="language-xml">        <span class="attr">token</span>: <span class="string">&quot;&quot;</span>,</span></span></span><br><span class="line"><span class="language-javascript"><span class="language-xml">        <span class="attr">hover</span>: <span class="string">&quot;enabled&quot;</span>,</span></span></span><br><span class="line"><span class="language-javascript"><span class="language-xml">        <span class="attr">container</span>: <span class="string">&quot;tp-weather-widget&quot;</span></span></span></span><br><span class="line"><span class="language-javascript"><span class="language-xml">      &#125;)</span></span></span><br><span class="line"><span class="language-javascript"><span class="language-xml">    </span><span class="tag">&lt;/<span class="name">script</span>&gt;</span></span></span><br><span class="line">  &lt;/li&gt;</span><br><span class="line">&lt;/ul&gt;</span><br></pre></td></tr></table></figure><p>注意 <code>style=&quot;padding: 29px 20px;</code> 这里设置的数值是为了使其与其他元素保持水平。</p><p>由于心知天气会自定义样式，为了保持样式一致，还重新定义了字体颜色，在 <code>source\css\hclonely.css</code> 中设置如下：</p><figure class="highlight css"><figcaption><span>source\css\hclonely.css</span></figcaption><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><span class="line"><span class="selector-class">.dsrBSL</span> &#123;</span><br><span class="line">  <span class="attribute">color</span>: <span class="number">#979898</span> <span class="meta">!important</span>;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><h2 id="导航栏全屏以及页面透明度"><a class="markdownIt-Anchor" href="#导航栏全屏以及页面透明度"></a> 导航栏全屏以及页面透明度</h2><h3 id="导航栏全屏"><a class="markdownIt-Anchor" href="#导航栏全屏"></a> 导航栏全屏</h3><p>当时看到几个博客页面导航栏占据全屏之后设置透明效果还蛮好看，就迫不及待自己搞一搞，当然纯靠 <code>F12</code> 的方法失败了，最后这个是 <code>inkss</code> 大佬提供的方法。后面又去 <code>Volantis</code> 官方文档里翻东西的时候偶然发现这个问题在鸣谢板块的评论区有一个很长的讨论，更觉得当时自己很憨了。</p><img src="https://7.dusays.com/2021/06/27/6725fa20a1b52.png" alt="image.png" style="zoom: 67%;" /><p>在 <code>\source\css\_layout\main.styl</code> 文件下按上述方法进行设置：</p><figure class="highlight stylus"><figcaption><span>\source\css\_layout\main.styl</span></figcaption><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></pre></td><td class="code"><pre><span class="line"><span class="selector-class">.l_header</span></span><br><span class="line">  <span class="keyword">@media</span> screen <span class="keyword">and</span> (<span class="attribute">max-width</span>: $device-<span class="number">2</span>k)</span><br><span class="line">    left: <span class="number">0</span> !important</span><br><span class="line">    border-radius: <span class="number">0</span> !important</span><br><span class="line">    <span class="attribute">max-width</span>: <span class="number">100%</span> !important</span><br></pre></td></tr></table></figure><p>在添加对移动端的设置</p><figure class="highlight stylus"><figcaption><span>\source\css\_layout\main.styl</span></figcaption><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></pre></td><td class="code"><pre><span class="line"><span class="comment">// 调整移动端的显示</span></span><br><span class="line"><span class="selector-id">#safearea</span></span><br><span class="line">  <span class="keyword">@media</span> screen <span class="keyword">and</span> (<span class="attribute">max-width</span>: $device-mobile)</span><br><span class="line">    margin: <span class="number">16px</span> <span class="number">0</span> <span class="number">0</span> !important</span><br><span class="line">    box-shadow: none !important</span><br><span class="line">    #l_main</span><br><span class="line">      article#comments,</span><br><span class="line">      article#friends,</span><br><span class="line">      article#post,</span><br><span class="line">      article#page,</span><br><span class="line">      article#arc      </span><br><span class="line">        border-radius: <span class="number">0</span> !important</span><br><span class="line">        margin-top: -<span class="number">16px</span> !important</span><br><span class="line">      article#cat,</span><br><span class="line">      article#tag</span><br><span class="line">        margin: -<span class="number">16px</span> -<span class="number">16px</span> <span class="number">0</span> !important</span><br></pre></td></tr></table></figure><h3 id="页面透明度"><a class="markdownIt-Anchor" href="#页面透明度"></a> 页面透明度</h3><p>这里使用了 <code>F12</code> 大法。页面透明度这里需要对 <code>导航栏</code>，<code>侧边栏</code>以及<code>文章主体</code> 三个位置分别进行设置。这里顺便调整了侧边栏的宽度。</p><figure class="highlight stylus"><figcaption><span>\source\css\_layout\main.styl</span></figcaption><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></pre></td><td class="code"><pre><span class="line"><span class="selector-class">.l_header</span><span class="selector-class">.auto</span><span class="selector-class">.show</span> &#123;</span><br><span class="line">  <span class="attribute">opacity</span>: <span class="number">0.85</span> <span class="meta">!important</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.l_side</span> &#123;</span><br><span class="line">  <span class="attribute">opacity</span>: <span class="number">0.9</span> <span class="meta">!important</span>;</span><br><span class="line">  <span class="attribute">width</span>: <span class="number">300px</span> <span class="meta">!important</span>;  <span class="comment">//不合适的设置</span></span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.l_main</span> &#123;</span><br><span class="line">  <span class="attribute">opacity</span>: <span class="number">0.95</span> <span class="meta">!important</span>;</span><br><span class="line">  <span class="attribute">width</span>: <span class="built_in">calc</span>(<span class="number">100%</span> - <span class="number">1</span> * <span class="number">300px</span>) <span class="meta">!important</span>; <span class="comment">//不合适的设置</span></span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p>另外侧边栏宽度和文章总宽度在 <code>Volantis</code> 主题中有一个总长度设置：<code>max_width: 1270px</code>。<br />页面宽度的设置已经取消了，由于固定了 <code>.l_side</code> 在移动端的距离就不会自动变化，就会导致 <code>.l_main</code> 部分变窄。这里直接修改 <code>layout.styl</code> ，其定义了侧边栏的基本参数，位于 <code>volantis\source\css\_defines\layout.styl</code> 。将其中 <code>$sidebar</code> 这个参数设置为 <code>260px</code></p><h2 id="念两句诗"><a class="markdownIt-Anchor" href="#念两句诗"></a> 念两句诗</h2><p><code>Volantis</code> 主题本身就集成了一个<code>每日一诗</code> 在侧边栏的 <code>blogger</code> 中，在下想用这类似的插件来修饰页面，于是就引入了 <code>今日诗词</code> 插件：</p><p><img src="https://7.dusays.com/2021/06/27/3c5c3116e6e5a.png" alt="image.png" /></p><ol><li><p>首先设置样式</p><p>在 <code>\source\css\_layout\main.styl</code> 中加入：</p><details class="tag-plugin folding" color="gray" child="codeblock"><summary><span>查看代码</span></summary><div class="body"><figure class="highlight stylus"><figcaption><span>\source\css\_layout\main.styl</span></figcaption><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><span class="line">48</span><br><span class="line">49</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">// 念两句诗</span></span><br><span class="line"><span class="selector-class">.poem-wrap</span> &#123;</span><br><span class="line">    <span class="attribute">position</span>: relative <span class="meta">!important</span>;</span><br><span class="line">    <span class="attribute">width</span>: <span class="number">730px</span> <span class="meta">!important</span>;</span><br><span class="line">    <span class="attribute">max-width</span>: <span class="number">80%</span> <span class="meta">!important</span>;</span><br><span class="line">    <span class="attribute">border</span>: <span class="number">2px</span> solid <span class="number">#797979</span> <span class="meta">!important</span>;</span><br><span class="line">    <span class="attribute">border-top</span>: none <span class="meta">!important</span>;</span><br><span class="line">    <span class="attribute">text-align</span>: center <span class="meta">!important</span>;</span><br><span class="line">    <span class="attribute">margin</span>: <span class="number">80px</span> auto <span class="meta">!important</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.poem-left</span> &#123;</span><br><span class="line">    <span class="attribute">left</span>: <span class="number">0</span> <span class="meta">!important</span>;</span><br><span class="line">&#125;</span><br><span class="line"><span class="selector-class">.poem-right</span> &#123;</span><br><span class="line">    <span class="attribute">right</span>: <span class="number">0</span><span class="meta">!important</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.poem-border</span> &#123;</span><br><span class="line">    <span class="attribute">position</span>: absolute <span class="meta">!important</span>;</span><br><span class="line">    <span class="attribute">height</span>: <span class="number">2px</span><span class="meta">!important</span>;</span><br><span class="line">    <span class="attribute">width</span>: <span class="number">35%</span><span class="meta">!important</span>; <span class="comment">//调整框线的长度</span></span><br><span class="line">    <span class="attribute">background-color</span>: <span class="number">#797979</span><span class="meta">!important</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.poem-wrap</span> <span class="selector-tag">p</span> &#123;</span><br><span class="line">    <span class="attribute">width</span>: <span class="number">70%</span><span class="meta">!important</span>;</span><br><span class="line">    <span class="attribute">margin</span>: auto<span class="meta">!important</span>;</span><br><span class="line">    <span class="attribute">line-height</span>: <span class="number">30px</span><span class="meta">!important</span>;</span><br><span class="line">    <span class="attribute">color</span>: <span class="number">#797979</span><span class="meta">!important</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.poem-wrap</span> <span class="selector-tag">h1</span> &#123;</span><br><span class="line">    <span class="attribute">position</span>: relative<span class="meta">!important</span>;</span><br><span class="line">    <span class="attribute">margin-top</span>: -<span class="number">100px</span><span class="meta">!important</span>;</span><br><span class="line">    <span class="attribute">display</span>: inline-block<span class="meta">!important</span>;</span><br><span class="line">    <span class="attribute">letter-spacing</span>: <span class="number">12px</span><span class="meta">!important</span>;</span><br><span class="line">    <span class="attribute">color</span>: <span class="number">#797979</span><span class="meta">!important</span>;</span><br><span class="line">    <span class="attribute">border-bottom</span>: <span class="number">1px</span> solid <span class="built_in">rgba</span>(<span class="number">68</span>,<span class="number">68</span>,<span class="number">68</span>,<span class="number">0</span>) <span class="meta">!important</span>;</span><br><span class="line">&#125;</span><br><span class="line"><span class="selector-class">.poem-wrap</span> p<span class="selector-id">#poem</span> &#123;</span><br><span class="line">    <span class="attribute">font-size</span>: <span class="number">25px</span><span class="meta">!important</span>;</span><br><span class="line">    <span class="attribute">text-align</span>: center <span class="meta">!important</span>;</span><br><span class="line">&#125;</span><br><span class="line"><span class="selector-class">.poem-wrap</span> p<span class="selector-id">#info</span> &#123;</span><br><span class="line">    <span class="attribute">font-size</span>: <span class="number">15px</span><span class="meta">!important</span>;</span><br><span class="line">    <span class="attribute">margin</span>: <span class="number">15px</span> auto<span class="meta">!important</span>;</span><br><span class="line">    <span class="attribute">text-align</span>: center <span class="meta">!important</span>;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure></div></details></li><li><p>在需要的地方加入 <code>Html</code> 语句</p><p>具体细节可以参考 <a href="https://www.jinrishici.com/">今日诗词官网</a></p> <figure class="highlight html"><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></pre></td><td class="code"><pre><span class="line"><span class="tag">&lt;<span class="name">div</span> <span class="attr">class</span>=<span class="string">&quot;poem-wrap&quot;</span>&gt;</span></span><br><span class="line">    <span class="tag">&lt;<span class="name">div</span> <span class="attr">class</span>=<span class="string">&quot;poem-border poem-left&quot;</span>&gt;</span><span class="tag">&lt;/<span class="name">div</span>&gt;</span></span><br><span class="line">    <span class="tag">&lt;<span class="name">div</span> <span class="attr">class</span>=<span class="string">&quot;poem-border poem-right&quot;</span>&gt;</span><span class="tag">&lt;/<span class="name">div</span>&gt;</span></span><br><span class="line">    <span class="tag">&lt;<span class="name">h1</span>&gt;</span>留言板<span class="tag">&lt;/<span class="name">h1</span>&gt;</span></span><br><span class="line">    <span class="tag">&lt;<span class="name">p</span> <span class="attr">id</span>=<span class="string">&quot;poem&quot;</span>&gt;</span><span class="tag">&lt;/<span class="name">p</span>&gt;</span></span><br><span class="line">    <span class="tag">&lt;<span class="name">p</span> <span class="attr">id</span>=<span class="string">&quot;info&quot;</span>&gt;</span><span class="tag">&lt;/<span class="name">p</span>&gt;</span></span><br><span class="line">    <span class="tag">&lt;<span class="name">script</span> <span class="attr">src</span>=<span class="string">&quot;https://sdk.jinrishici.com/v2/browser/jinrishici.js&quot;</span> <span class="attr">charset</span>=<span class="string">&quot;utf-8&quot;</span>&gt;</span><span class="tag">&lt;/<span class="name">script</span>&gt;</span></span><br><span class="line">    <span class="tag">&lt;<span class="name">script</span> <span class="attr">type</span>=<span class="string">&quot;text/javascript&quot;</span>&gt;</span><span class="language-javascript"></span></span><br><span class="line"><span class="language-javascript">    jinrishici.<span class="title function_">load</span>(<span class="keyword">function</span>(<span class="params">result</span>) &#123;</span></span><br><span class="line"><span class="language-javascript">    <span class="keyword">var</span> sentence = <span class="variable language_">document</span>.<span class="title function_">querySelector</span>(<span class="string">&quot;#poem&quot;</span>)</span></span><br><span class="line"><span class="language-javascript">    <span class="keyword">var</span> info_in = <span class="variable language_">document</span>.<span class="title function_">querySelector</span>(<span class="string">&quot;#info&quot;</span>)</span></span><br><span class="line"><span class="language-javascript">    sentence.<span class="property">innerHTML</span> = result.<span class="property">data</span>.<span class="property">content</span></span></span><br><span class="line"><span class="language-javascript">    info_in.<span class="property">innerHTML</span> = <span class="string">&#x27;【&#x27;</span> + result.<span class="property">data</span>.<span class="property">origin</span>.<span class="property">dynasty</span> + <span class="string">&#x27;】&#x27;</span> + result.<span class="property">data</span>.<span class="property">origin</span>.<span class="property">author</span> + <span class="string">&#x27;《&#x27;</span> + result.<span class="property">data</span>.<span class="property">origin</span>.<span class="property">title</span> + <span class="string">&#x27;》&#x27;</span></span></span><br><span class="line"><span class="language-javascript">    &#125;);</span></span><br><span class="line"><span class="language-javascript">    </span><span class="tag">&lt;/<span class="name">script</span>&gt;</span> </span><br><span class="line"><span class="tag">&lt;/<span class="name">div</span>&gt;</span></span><br></pre></td></tr></table></figure></li></ol><h2 id="页面的头像信息设置"><a class="markdownIt-Anchor" href="#页面的头像信息设置"></a> 页面的头像信息设置</h2><p><img src="https://7.dusays.com/2021/06/27/070ed1f6796b0.png" alt="image.png" /></p><p>这里参考了 <code>TRHX</code> 大佬的样式，然后直接用了一个较为简单的方法呈现出来：</p><figure class="highlight markdown"><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><span class="line"><span class="language-xml"><span class="tag">&lt;<span class="name">center</span>&gt;</span></span><span class="language-xml"><span class="tag">&lt;<span class="name">a</span> <span class="attr">href</span>=<span class="string">&quot;https://hermitlsr.top/about/&quot;</span>&gt;</span></span><span class="language-xml"><span class="tag">&lt;<span class="name">img</span> <span class="attr">src</span>=<span class="string">&quot;https://cdn.jsdelivr.net/gh/hermitlsr/image-for-hermitlsr.top/web/rickavatar.png&quot;</span> <span class="attr">width</span>=<span class="string">&quot;100&quot;</span> <span class="attr">height</span>=<span class="string">&quot;100&quot;</span>&gt;</span></span> <span class="language-xml"><span class="tag">&lt;/<span class="name">a</span>&gt;</span></span><span class="language-xml"><span class="tag">&lt;/<span class="name">center</span>&gt;</span></span></span><br><span class="line"><span class="language-xml"><span class="tag">&lt;<span class="name">center</span>&gt;</span></span><span class="language-xml"><span class="tag">&lt;<span class="name">a</span> <span class="attr">href</span>=<span class="string">&quot;https://www.hermitlsr.top/atom.xml&quot;</span> <span class="attr">rel</span>=<span class="string">&quot;RSS&quot;</span> <span class="attr">target</span>=<span class="string">&quot;_blank&quot;</span> <span class="attr">title</span>=<span class="string">&quot;RSS&quot;</span>&gt;</span></span><span class="language-xml"><span class="tag">&lt;<span class="name">i</span> <span class="attr">class</span>=<span class="string">&quot;fa fa-rss&quot;</span>&gt;</span></span><span class="language-xml"><span class="tag">&lt;/<span class="name">i</span>&gt;</span></span><span class="language-xml"><span class="tag">&lt;/<span class="name">a</span>&gt;</span></span>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;<span class="language-xml"><span class="tag">&lt;<span class="name">a</span> <span class="attr">href</span>=<span class="string">&quot;mailto:1165749128@qq.com&quot;</span> <span class="attr">rel</span>=<span class="string">&quot;Email&quot;</span> <span class="attr">target</span>=<span class="string">&quot;_blank&quot;</span> <span class="attr">title</span>=<span class="string">&quot;Email&quot;</span>&gt;</span></span><span class="language-xml"><span class="tag">&lt;<span class="name">i</span> <span class="attr">class</span>=<span class="string">&quot;fa fa-envelope&quot;</span>&gt;</span></span><span class="language-xml"><span class="tag">&lt;/<span class="name">i</span>&gt;</span></span><span class="language-xml"><span class="tag">&lt;/<span class="name">a</span>&gt;</span></span>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;<span class="language-xml"><span class="tag">&lt;<span class="name">a</span> <span class="attr">href</span>=<span class="string">&quot;https://github.com/hermitlsr&quot;</span> <span class="attr">rel</span>=<span class="string">&quot;GitHub&quot;</span> <span class="attr">target</span>=<span class="string">&quot;_blank&quot;</span> <span class="attr">title</span>=<span class="string">&quot;GitHub&quot;</span>&gt;</span></span><span class="language-xml"><span class="tag">&lt;<span class="name">i</span> <span class="attr">class</span>=<span class="string">&quot;fab fa-github&quot;</span>&gt;</span></span><span class="language-xml"><span class="tag">&lt;/<span class="name">i</span>&gt;</span></span><span class="language-xml"><span class="tag">&lt;/<span class="name">a</span>&gt;</span></span>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;<span class="language-xml"><span class="tag">&lt;<span class="name">a</span> <span class="attr">href</span>=<span class="string">&quot;http://wpa.qq.com/msgrd?v=3<span class="symbol">&amp;amp;</span>uin=1165749128<span class="symbol">&amp;amp;</span>site=qq<span class="symbol">&amp;amp;</span>menu=yes&quot;</span> <span class="attr">rel</span>=<span class="string">&quot;QQ&quot;</span> <span class="attr">target</span>=<span class="string">&quot;_blank&quot;</span> <span class="attr">title</span>=<span class="string">&quot;QQ&quot;</span>&gt;</span></span><span class="language-xml"><span class="tag">&lt;<span class="name">i</span> <span class="attr">class</span>=<span class="string">&quot;fab fa-qq&quot;</span>&gt;</span></span><span class="language-xml"><span class="tag">&lt;/<span class="name">i</span>&gt;</span></span><span class="language-xml"><span class="tag">&lt;/<span class="name">a</span>&gt;</span></span><span class="language-xml"><span class="tag">&lt;/<span class="name">center</span>&gt;</span></span></span><br><span class="line"></span><br></pre></td></tr></table></figure><h2 id="公式加载问题"><a class="markdownIt-Anchor" href="#公式加载问题"></a> 公式加载问题</h2><p>安装配置  <code>KaTeX</code>  基本没有问题 ，但是公式渲染还是有问题，这里根据官方推荐，参考了 <a href="https://www.micdz.cn/article/katex-on-volantis/">https://www.micdz.cn/article/katex-on-volantis/</a> ，完美解决。做法就是在 <code>themes\volantis\layout\_partial\head.ejs</code> 文件的最后添加：</p><figure class="highlight js"><figcaption><span>themes\volantis\layout\_partial\head.ejs</span></figcaption><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></pre></td><td class="code"><pre><span class="line">&lt;link rel=<span class="string">&quot;stylesheet&quot;</span> href=<span class="string">&quot;https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.css&quot;</span> integrity=<span class="string">&quot;sha384-zB1R0rpPzHqg7Kpt0Aljp8JPLqbXI3bhnPWROx27a9N0Ll6ZP/+DiW/UqRcLbRjq&quot;</span> crossorigin=<span class="string">&quot;anonymous&quot;</span>&gt;</span><br><span class="line"></span><br><span class="line">    &lt;!-- <span class="title class_">The</span> loading <span class="keyword">of</span> <span class="title class_">KaTeX</span> is deferred to speed up page rendering --&gt;</span><br><span class="line"><span class="language-xml"><span class="tag">&lt;<span class="name">script</span> <span class="attr">defer</span> <span class="attr">src</span>=<span class="string">&quot;https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.js&quot;</span> <span class="attr">integrity</span>=<span class="string">&quot;sha384-y23I5Q6l+B6vatafAwxRu/0oK/79VlbSz7Q9aiSZUvyWYIYsd+qj+o24G5ZU2zJz&quot;</span> <span class="attr">crossorigin</span>=<span class="string">&quot;anonymous&quot;</span>&gt;</span><span class="tag">&lt;/<span class="name">script</span>&gt;</span></span></span><br><span class="line"></span><br><span class="line">    &lt;!-- <span class="title class_">To</span> automatically render math <span class="keyword">in</span> text elements, include the auto-render <span class="attr">extension</span>: --&gt;</span><br><span class="line"><span class="language-xml"><span class="tag">&lt;<span class="name">script</span> <span class="attr">defer</span> <span class="attr">src</span>=<span class="string">&quot;https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/contrib/auto-render.min.js&quot;</span> <span class="attr">integrity</span>=<span class="string">&quot;sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI&quot;</span> <span class="attr">crossorigin</span>=<span class="string">&quot;anonymous&quot;</span></span></span></span><br><span class="line"><span class="tag"><span class="language-xml">        <span class="attr">onload</span>=<span class="string">&quot;renderMathInElement(document.body);&quot;</span>&gt;</span><span class="tag">&lt;/<span class="name">script</span>&gt;</span></span></span><br></pre></td></tr></table></figure><h2 id="电子时钟部件"><a class="markdownIt-Anchor" href="#电子时钟部件"></a> 电子时钟部件</h2><p>使用了插件：<code>hexo-electric-clock</code>   参考了： <code>https://zfe.space/post/hexo-electric-clock.html</code></p><p>该插件可以自动获取访问者的 ip 地址，同时以此 ip 地址展示天气时间等信息</p><p>步骤：</p><ol><li>下载该插件</li><li>配置插件</li><li>调整 <code>css</code> 样式</li></ol><h3 id="下载该插件"><a class="markdownIt-Anchor" href="#下载该插件"></a> 下载该插件</h3><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">npm i hexo-electric-clock --save</span><br></pre></td></tr></table></figure><p>按照参考中的建议，需要加上 <code>--save</code> 否则本地预览可能不生效。</p><h3 id="插件配置"><a class="markdownIt-Anchor" href="#插件配置"></a> 插件配置</h3><p>在博客根目录的配置文档 <code>_config.yml</code> 中 加入：</p><figure class="highlight yaml"><figcaption><span>../_config.yml</span></figcaption><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></pre></td><td class="code"><pre><span class="line"><span class="comment"># 电子钟</span></span><br><span class="line"><span class="attr">electric_clock:</span></span><br><span class="line">  <span class="attr">priority:</span> <span class="number">10</span></span><br><span class="line">  <span class="attr">enable:</span> <span class="literal">true</span></span><br><span class="line">  <span class="attr">enable_page:</span> <span class="string">all</span></span><br><span class="line">  <span class="attr">layout:</span></span><br><span class="line">    <span class="attr">type:</span> <span class="string">id</span></span><br><span class="line">    <span class="attr">name:</span> <span class="string">clock</span></span><br><span class="line">    <span class="attr">index:</span> <span class="number">0</span></span><br><span class="line">  <span class="attr">temple_html:</span> <span class="string">&#x27;&lt;div class=&quot;card-widget card-clock&quot;&gt;&lt;div class=&quot;card-glass&quot;&gt;&lt;div class=&quot;card-background&quot;&gt;&lt;div class=&quot;card-content&quot;&gt;&lt;div id=&quot;hexo_electric_clock&quot;&gt;&lt;img id=&quot;card-clock-loading&quot; src=&quot;https://cdn.jsdelivr.net/gh/Zfour/Butterfly-clock/clock/images/weather/loading.gif&quot; style=&quot;height: 120px; width: 100%;&quot; data-ll-status=&quot;loading&quot; class=&quot;entered loading&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#x27;</span></span><br></pre></td></tr></table></figure><p>主要需要修改的地方是 <code>layout</code> ，它决定了电子时钟的具体位置。<code>type</code> 有两个选项 <code>class</code> 和 <code>id</code> 对应着 <code>Html</code> 中的两种属性。其中 <code>class</code> 不具有唯一性，在一个小块中，常常有多个 <code>class</code> 嵌套，这就需要使用 <code>index</code> 指定是第几个 <code>class</code> 。这里为求方便，我在需要展示电子钟的位置新增了 一个<code>id</code>。</p><p>我希望放的位置是侧边栏的公告栏部分，在 <code>Volantis</code> 主题中，这是以文本部件的形式呈现 ( <code>class: widget text shadow floatable desktop</code> )，需要在 <code>content</code> 部分增加 <code>id</code> 。在主题文件夹中找到 <code>..\volantis\layout\_widget\text.ejs</code> 文件，在第4行 <code>&lt;div class='content'&gt;</code> 之后加入：</p><figure class="highlight plaintext"><figcaption><span>..\volantis\layout\_widget\text.ejs</span></figcaption><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">&lt;div id=&quot;clock&quot;&gt;&lt;/div&gt;</span><br><span class="line">&lt;div id=&quot;clock&quot;&gt;&lt;/div&gt;</span><br></pre></td></tr></table></figure><p>在其他部件中加入同理。</p><h3 id="调整-css-样式"><a class="markdownIt-Anchor" href="#调整-css-样式"></a> 调整 <code>css</code> 样式</h3><p>这里是根据自己的喜好进行设置。</p><p>在主题文件 <code>\source\css\_layout\main.styl</code> 文件中加入：</p><figure class="highlight stylus"><figcaption><span>\source\css\_layout\main.styl</span></figcaption><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></pre></td><td class="code"><pre><span class="line"><span class="selector-class">.card-background</span> &#123;</span><br><span class="line">    <span class="attribute">height</span>: auto <span class="meta">!important</span>;</span><br><span class="line">    <span class="attribute">margin</span>: <span class="number">0px</span> <span class="meta">!important</span>;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p>当然，也可以在插件的 <code>css</code> 中直接修改，位置是 <code>..\node_modules\hexo-electric-clock\clock.css</code></p><h2 id="增加朋友圈"><a class="markdownIt-Anchor" href="#增加朋友圈"></a> 增加朋友圈</h2><p>该功能由小冰大佬完成的，可以将友链网站中更新的文章集中展示，目前支持 volantis、butterfly 等五个主题的友链爬取，以及github和gitee友链的爬取，已经更新到 <code>beta1.5</code> 还在继续开发，可参见:<br />原项目地址：<a href="https://github.com/Rock-Candy-Tea/hexo-circle-of-friends">https://github.com/Rock-Candy-Tea/hexo-circle-of-friends</a><br />配置教程：<a href="https://zfe.space/post/friend-link-circle.html">https://zfe.space/post/friend-link-circle.html</a></p><p>配置的过程中遇到一些坑</p><ol><li><code>_config.yml</code> 中的 <code>github</code> 和 <code>gitee</code> 都需要取消注释，不需要的部分设置 <code>enable=false</code>。</li><li>如果在自己的友链界面加入了自己的链接，可以设置 <code> if user_info[1] != '你的链接':</code> ，排除自己的文章。</li><li>配置好后，一般是整点开始爬取，所以会延迟生效，不用担心没配置好。</li><li>在 <code>volantis</code> 中配置只需要新建一个 <code>page</code> ，然后加入 <code>&lt;div id=&quot;moments_container&quot;&gt;&lt;script src=&quot;/js/moments.js&quot;&gt;&lt;/script&gt;&lt;/div&gt;</code> 即可。</li></ol><h2 id="文章永久链接"><a class="markdownIt-Anchor" href="#文章永久链接"></a> 文章永久链接</h2><p>之前采用重设 <code>urlname</code> 的方式避免中文标题的编码问题，但是每次写文章都要自己输入一次，太麻烦。现在采用 <code>hexo-abbrlink</code> 插件进行生成。仅需在站点根目录的 <code>_config.yml</code> 中做如下设置</p><figure class="highlight yaml"><figcaption><span>\_config.yml</span></figcaption><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></pre></td><td class="code"><pre><span class="line"><span class="attr">permalink:</span> <span class="string">:year-:month-:day/:abbrlink.html</span>  </span><br><span class="line"><span class="attr">abbrlink:</span></span><br><span class="line">    <span class="attr">alg:</span> <span class="string">crc32</span>   <span class="comment">#算法： crc16(default) and crc32</span></span><br><span class="line">    <span class="attr">rep:</span> <span class="string">hex</span>     <span class="comment">#进制： dec(default) and hex</span></span><br></pre></td></tr></table></figure><p>最终生成的本文链接形式：<code>https://www.hermitlsr.top/2021-06-26/40ecd548.html</code></p><h2 id="未完待续"><a class="markdownIt-Anchor" href="#未完待续"></a> …未完待续</h2>]]></content>
    
    
    <summary type="html">&lt;p&gt;  本文记录了我在使用Volantis主题建站时操作的一些内容，或简或繁，主要是为了方便日后主题升级，设备更换时能够顺利迁移，同时向参考的一些站点博主表示感谢。&lt;/p&gt;</summary>
    
    
    
    <category term="博客折腾" scheme="https://www.hermitlsr.top/blog/categories/%E5%8D%9A%E5%AE%A2%E6%8A%98%E8%85%BE/"/>
    
    
    <category term="Hexo" scheme="https://www.hermitlsr.top/blog/tags/Hexo/"/>
    
    <category term="Volantis" scheme="https://www.hermitlsr.top/blog/tags/Volantis/"/>
    
  </entry>
  
  <entry>
    <title>Hexo 文章永久链接设置</title>
    <link href="https://www.hermitlsr.top/2021-06-22/Hexo%20%E6%96%87%E7%AB%A0%E6%B0%B8%E4%B9%85%E9%93%BE%E6%8E%A5%E8%AE%BE%E7%BD%AE/"/>
    <id>https://www.hermitlsr.top/2021-06-22/Hexo%20%E6%96%87%E7%AB%A0%E6%B0%B8%E4%B9%85%E9%93%BE%E6%8E%A5%E8%AE%BE%E7%BD%AE/</id>
    <published>2021-06-22T23:51:12.000Z</published>
    <updated>2021-06-22T23:51:12.000Z</updated>
    
    <content type="html"><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="/assets/css/APlayer.min.css"><script src="/assets/js/APlayer.min.js" class="aplayer-secondary-script-marker"></script><script class="meting-secondary-script-marker" src="/assets/js/Meting.min.js"></script><p>  在使用Hexo写博客时，使用中文博客标题生成的永久链接是冗长且无意义的，这不利于进行SEO，且不易读。一个好的永久链接应该体现文章内容，本文介绍在Hexo中如何自定义永久链接。</p><span id="more"></span><h2 id="永久链接介绍"><a class="markdownIt-Anchor" href="#永久链接介绍"></a> 永久链接介绍</h2><p>  永久链接是什么, <a href="https://hexo.io/zh-cn/docs/permalinks.html">Hexo官方介绍</a>：</p><details class="tag-plugin folding"  open><summary><span>维基百科的定义</span></summary><div class="body"><blockquote><p><strong>固定链接</strong>（<strong>PermaLink</strong>，<strong>Permanent Link</strong>的缩写）或称“<strong>永久链接</strong>”或“<strong>静态链接</strong>”，意指向一个特定<a href="https://zh.wikipedia.org/wiki/%E7%BD%91%E7%BB%9C%E6%97%A5%E5%BF%97">网络日志</a>（<a href="https://zh.wikipedia.org/w/index.php?title=WebLog&amp;action=edit&amp;redlink=1">WebLog</a>，<a href="https://zh.wikipedia.org/wiki/Blog">Blog</a>）的永久固定标识符。一般情况下，固定链接指向的均为一个网络日志条目（<a href="https://zh.wikipedia.org/w/index.php?title=Entry&amp;action=edit&amp;redlink=1">Entry</a>）的独立网页。默认存档设置包含基于<a href="https://zh.wikipedia.org/wiki/%E6%95%B0%E6%8D%AE%E5%BA%93">数据库</a>的存档和单独文件存档。默认情况下，固定链接被设置为链接到一个条目的单独存档页面中。你可以在网络日志的下方，或者在“发布时间”之后，看到 Permalink。点击 Permalink 将会把访问者导向到专属于该条目 (Entry) 的独立网页中，一般包含“添加评论”等功能。</p><p>如果可能的话，一般的静态链接会尽量使得网址本身是有意义（人类可读）的，例如网址本身就含有该篇博客的标题。然而由于<a href="https://zh.wikipedia.org/wiki/Unicode">Unicode</a>在网址需要特殊编码，因此非英文的语言比较难做到这点。</p></blockquote></div></details><details class="tag-plugin folding"  open><summary><span>最初作用</span></summary><div class="body"><blockquote><p>永久链接最初主要是为了做<a href="https://baike.baidu.com/item/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E%E4%BC%98%E5%8C%96/3132">搜索引擎优化</a>(SEO)，因为搜索引擎的机器人对静态的URL有偏好，所以对于动态生成的页面，人们想出了这么个办法来使其假扮成一个静态的页面，以便让搜索引擎更好的索引网站内容;另外一个初衷是增加URL地址的可读性。</p></blockquote></div></details><p>  简单来讲，永久链接是网页的完整网址 (url) ，这个网址永远不会改变的。一般而言，希望这个网址是有意义的 (人类可读)，例如网址中含有的博客标题。但是使用非英文语言作为标题会导致生成的永久链接是不可读的冗长的编码内容。Hexo默认使用博客文章标题作为永久链接，这就需要我们重新定义永久链接中的非英文语言部分。</p><h2 id="基本设置"><a class="markdownIt-Anchor" href="#基本设置"></a> 基本设置</h2><p>设置步骤：</p><ol><li>修改博客根目录中站点设置文件 <code>_config.yml</code></li><li>修改发布文章模板 <code>...\scaffolds\post.md</code></li></ol><h3 id="修改博客根目录中站点设置文件"><a class="markdownIt-Anchor" href="#修改博客根目录中站点设置文件"></a> 修改博客根目录中站点设置文件</h3><figure class="highlight yaml"><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></pre></td><td class="code"><pre><span class="line"><span class="comment"># URL</span></span><br><span class="line"><span class="comment">## Set your site url here. For example, if you use GitHub Page, set url as &#x27;https://username.github.io/project&#x27;</span></span><br><span class="line"><span class="attr">url:</span> <span class="string">https://hermitlsr.top</span></span><br><span class="line"><span class="string">permalink:year/:month/:day/:title/</span></span><br><span class="line"><span class="attr">permalink_defaults:</span></span><br><span class="line"><span class="attr">pretty_urls:</span></span><br><span class="line">  <span class="attr">trailing_index:</span> <span class="literal">true</span> <span class="comment"># Set to false to remove trailing &#x27;index.html&#x27; from permalinks</span></span><br><span class="line">  <span class="attr">trailing_html:</span> <span class="literal">true</span> <span class="comment"># Set to false to remove trailing &#x27;.html&#x27; from permalinks</span></span><br></pre></td></tr></table></figure><p>Hexo默认的永久链接格式是：<code>permalink:year/:month/:day/:title/</code> ，</p><p>例如本篇文章如果按照原始格式，其永久链接将是：<code>https://hermitlsr.top/2021/06/22/Hexo%20%E6%96%87%E7%AB%A0%E6%B0%B8%E4%B9%85%E9%93%BE%E6%8E%A5%E8%AE%BE%E7%BD%AE/</code></p><p>将在浏览器地址中显示： <code>https://hermitlsr.top/2021/06/22/Hexo%20文章永久链接设置/</code></p><p>  事实上如若复制浏览器中的地址得到的还是上面冗长的编码的，浏览器地址中的显示是编码过的。另外，默认格式中的日期格式是递进的关系，可以根据自己的需求进行设定删减，我减少了一些中间层次，直接设置为 <code>/2021-06-22/</code> ：</p><figure class="highlight yaml"><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></pre></td><td class="code"><pre><span class="line"><span class="comment"># URL</span></span><br><span class="line"><span class="comment">## Set your site url here. For example, if you use GitHub Page, set url as &#x27;https://username.github.io/project&#x27;</span></span><br><span class="line"><span class="attr">url:</span> <span class="string">https://hermitlsr.top</span></span><br><span class="line"><span class="attr">permalink:</span> <span class="string">:year-:month-:day/:urlname/</span> <span class="comment"># :year/:month/:day/:title/</span></span><br><span class="line"><span class="attr">permalink_defaults:</span></span><br><span class="line"><span class="attr">pretty_urls:</span></span><br><span class="line">  <span class="attr">trailing_index:</span> <span class="literal">true</span> <span class="comment"># Set to false to remove trailing &#x27;index.html&#x27; from permalinks</span></span><br><span class="line">  <span class="attr">trailing_html:</span> <span class="literal">true</span> <span class="comment"># Set to false to remove trailing &#x27;.html&#x27; from permalinks</span></span><br></pre></td></tr></table></figure><p>  将永久链接的格式设置为：<code>permalink: :year-:month-:day/:urlname/</code> ，其中 <code>urlname</code> 是自定义的文章地址，可以和文章标题不一致。可自由设置，这里采用的方式是使用文章标题拼音首字母代替原有的部分。</p><h3 id="修改发布文章模板"><a class="markdownIt-Anchor" href="#修改发布文章模板"></a> 修改发布文章模板</h3><p>  前面提到的 <code>urlname</code> 需要设置在文章开头的 <code>front-matter</code> 中，在 Volantis 主题中的详情参数可见 <a href="https://volantis.js.org/v5/page-settings">Volantis front-matter</a>，如：</p><figure class="highlight yaml"><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></pre></td><td class="code"><pre><span class="line"><span class="meta">---</span></span><br><span class="line"><span class="attr">title:</span> <span class="string">Hexo</span> <span class="string">文章永久链接设置</span></span><br><span class="line"><span class="attr">mathjax:</span> <span class="literal">true</span></span><br><span class="line"><span class="attr">urlname:</span> <span class="string">Hexo-wzyjljsz</span></span><br><span class="line"><span class="attr">date:</span> <span class="number">2021-06-22 23:51:12</span></span><br><span class="line"><span class="attr">tags:</span></span><br><span class="line"><span class="meta">---</span></span><br></pre></td></tr></table></figure><p>  这里将 <code>urlname</code> 设置为 <code>Hexo-wzyjljsz</code> ，此时的永久链接就变成了：<code>https://hermitlsr.top/2021-06-22/Hexo-wzyjljsz/</code> ，非常清爽明了。</p><p>  自定义永久链接的设置在这里基本完成了。如果不想每次写博文时都要再输入一遍 <code>urlname:</code> 需要修改发布文章的模板 (<code>post</code>)，对于草稿 (<code>draft</code>) 可一样处理。</p><p>在站点文件中找到 <code>...\scaffolds\post.md</code> 文件，在其中设置：</p><figure class="highlight yaml"><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></pre></td><td class="code"><pre><span class="line"><span class="meta">---</span></span><br><span class="line"><span class="attr">title:</span> &#123;&#123; <span class="string">title</span> &#125;&#125;</span><br><span class="line"><span class="attr">date:</span> &#123;&#123; <span class="string">date</span> &#125;&#125;</span><br><span class="line"><span class="attr">urlname:</span></span><br><span class="line"><span class="attr">mathjax:</span> <span class="literal">true</span></span><br><span class="line"><span class="attr">cover:</span> <span class="literal">true</span></span><br><span class="line"><span class="attr">comments:</span> <span class="literal">false</span></span><br><span class="line"><span class="attr">thumbnail:</span> <span class="literal">true</span></span><br><span class="line"><span class="attr">headimg:</span> </span><br><span class="line"><span class="attr">tags:</span></span><br><span class="line"><span class="attr">categories:</span></span><br><span class="line"><span class="meta">---</span></span><br></pre></td></tr></table></figure><p>因为文章基本都要进行公式渲染，所以还在这里设置了 <code>mathjax: true</code> ，具体需要设置的内容可根据自身需求而定。</p><h2 id="更多修改"><a class="markdownIt-Anchor" href="#更多修改"></a> 更多修改</h2><p>使用 <code>hexo new post &quot; &quot;</code> 新建文章的时候，默认文章命名不方便日后的文章查找整理，这里一并进行设置，最后的格式是这样的：<code>2021-06-22--Hexo 文章永久链接设置.md</code> ，加上文章前缀之后更便于管理。</p><p>这里只需要设置博客根目录站点设置文件 <code>_config.yml</code> 中 <code>new_post_name</code> 即可：</p><figure class="highlight yaml"><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><span class="line"><span class="attr">new_post_name:</span> <span class="string">:year-:month-:day--:title.md</span> <span class="comment"># File name of new posts</span></span><br><span class="line"><span class="attr">default_layout:</span> <span class="string">post</span></span><br><span class="line"><span class="attr">titlecase:</span> <span class="literal">false</span> <span class="comment"># Transform title into titlecase</span></span><br></pre></td></tr></table></figure><h2 id="使用插件-hexo-abbrlink"><a class="markdownIt-Anchor" href="#使用插件-hexo-abbrlink"></a> 使用插件 <code>hexo-abbrlink</code></h2><p>目前我已弃用这个方法，改为使用插件 <code>hexo-abbrlink</code></p><p>首先安装插件：</p><div class="tag-plugin copy"><input class="copy-area" readonly id="copy_1" value="npm i hexo-abbrlink"><button class="copy-btn" onclick="util.copy(&quot;copy_1&quot;,&quot;Copied!&quot;)"><svg class="icon copy-btn" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M5.75 1a.75.75 0 00-.75.75v3c0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75v-3a.75.75 0 00-.75-.75h-4.5zm.75 3V2.5h3V4h-3zm-2.874-.467a.75.75 0 00-.752-1.298A1.75 1.75 0 002 3.75v9.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-9.5a1.75 1.75 0 00-.874-1.515.75.75 0 10-.752 1.298.25.25 0 01.126.217v9.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-9.5a.25.25 0 01.126-.217z"></path></svg></button></div><p>然后设置 <code>_config.yml</code>：</p><figure class="highlight yml"><figcaption><span>_config.yml</span></figcaption><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></pre></td><td class="code"><pre><span class="line"><span class="comment"># URL</span></span><br><span class="line"><span class="comment">## Set your site url here. For example, if you use GitHub Page, set url as &#x27;https://username.github.io/project&#x27;</span></span><br><span class="line"><span class="attr">url:</span> <span class="string">https://www.hermitlsr.top</span></span><br><span class="line"><span class="attr">root:</span> <span class="string">/</span></span><br><span class="line"><span class="attr">permalink:</span> <span class="string">:year-:month-:day/:abbrlink.html</span>   <span class="comment">#permalink: :year-:month-:day-:title/</span></span><br><span class="line"><span class="attr">abbrlink:</span></span><br><span class="line">    <span class="attr">alg:</span> <span class="string">crc32</span>   <span class="comment">#算法： crc16(default) and crc32</span></span><br><span class="line">    <span class="attr">rep:</span> <span class="string">hex</span>     <span class="comment">#进制： dec(default) and hex</span></span><br></pre></td></tr></table></figure><h2 id="再次弃用什么也不做"><a class="markdownIt-Anchor" href="#再次弃用什么也不做"></a> 再次弃用什么也不做</h2><p>现在我已经弃用了上面的所有方法，恢复成原来的样子无所谓嘞</p>]]></content>
    
    
    <summary type="html">&lt;p&gt;  在使用Hexo写博客时，使用中文博客标题生成的永久链接是冗长且无意义的，这不利于进行SEO，且不易读。一个好的永久链接应该体现文章内容，本文介绍在Hexo中如何自定义永久链接。&lt;/p&gt;</summary>
    
    
    
    <category term="博客折腾" scheme="https://www.hermitlsr.top/blog/categories/%E5%8D%9A%E5%AE%A2%E6%8A%98%E8%85%BE/"/>
    
    
    <category term="Hexo" scheme="https://www.hermitlsr.top/blog/tags/Hexo/"/>
    
  </entry>
  
</feed>
