<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>分享 on 醉后的星星</title><link>https://kizx.github.io/categories/%E5%88%86%E4%BA%AB/</link><description>Recent content in 分享 on 醉后的星星</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><copyright>kizx</copyright><lastBuildDate>Sun, 06 Jul 2025 08:38:00 +0000</lastBuildDate><atom:link href="https://kizx.github.io/categories/%E5%88%86%E4%BA%AB/index.xml" rel="self" type="application/rss+xml"/><item><title>Hugo博客搭建及stack主题设置</title><link>https://kizx.github.io/post/hugo%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/</link><pubDate>Sun, 06 Jul 2025 08:38:00 +0000</pubDate><guid>https://kizx.github.io/post/hugo%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/</guid><description>&lt;h2 id="安装hugo">&lt;a href="#%e5%ae%89%e8%a3%85hugo" class="header-anchor">&lt;/a>安装Hugo
&lt;/h2>&lt;p>Hugo有标准版、扩展版（extended），还有一个部署版（extended_withdeploy）,扩展板多了图像和Sass处理器，部署版支持直接部署到google、AWS云等。&lt;/p>
&lt;p>直接下载扩展版：&lt;a class="link" href="https://github.com/gohugoio/hugo/releases/" target="_blank" rel="noopener"
>https://github.com/gohugoio/hugo/releases/&lt;/a>&lt;/p>
&lt;p>解压后将&lt;code>hugo.exe&lt;/code>目录添加到全局环境变量中。&lt;/p>
&lt;ul>
&lt;li>新建站点&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>hugo new site quickstart&lt;/p>&lt;/blockquote>
&lt;ul>
&lt;li>初始化git&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>git init&lt;/p>&lt;/blockquote>
&lt;p>hugo命令见官方指南：&lt;a class="link" href="https://hugo.opendocs.io/getting-started/" target="_blank" rel="noopener"
>https://hugo.opendocs.io/getting-started/&lt;/a>&lt;/p>
&lt;h2 id="安装主题">&lt;a href="#%e5%ae%89%e8%a3%85%e4%b8%bb%e9%a2%98" class="header-anchor">&lt;/a>安装主题
&lt;/h2>&lt;p>hugo主题网站：&lt;a class="link" href="https://themes.gohugo.com.cn/" target="_blank" rel="noopener"
>https://themes.gohugo.com.cn/&lt;/a>&lt;/p>
&lt;p>这里使用stack主题：&lt;a class="link" href="https://stack.jimmycai.com/" target="_blank" rel="noopener"
>https://stack.jimmycai.com/&lt;/a>&lt;/p>
&lt;ul>
&lt;li>安装主题&lt;/li>
&lt;/ul>
&lt;p>直接使用git命令或者手动下载放到themes目录下&lt;/p>
&lt;blockquote>
&lt;p>git submodule add &lt;a class="link" href="https://github.com/CaiJimmy/hugo-theme-stack/" target="_blank" rel="noopener"
>https://github.com/CaiJimmy/hugo-theme-stack/&lt;/a> themes/hugo-theme-stack&lt;/p>&lt;/blockquote>
&lt;h2 id="主题设置">&lt;a href="#%e4%b8%bb%e9%a2%98%e8%ae%be%e7%bd%ae" class="header-anchor">&lt;/a>主题设置
&lt;/h2>&lt;p>stack主题设置参考：&lt;a class="link" href="https://stack.jimmycai.com/config/" target="_blank" rel="noopener"
>https://stack.jimmycai.com/config/&lt;/a>&lt;/p>
&lt;p>以下本站设置：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">baseURL&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;http://kizx.gitee.io/&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">languageCode&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;zh-cn&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">title&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;醉后的星星&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">theme&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;hugo-theme-stack&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">copyright&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;kizx&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">DefaultContentLanguage&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;zh-cn&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>[&lt;span style="color:#a6e22e">params&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">favicon&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;/favicon.ico&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>[&lt;span style="color:#a6e22e">params&lt;/span>.&lt;span style="color:#a6e22e">sidebar&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">#compact = true&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">emoji&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;🔞&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">subtitle&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;我好菜啊&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">avatar&lt;/span>.&lt;span style="color:#a6e22e">enabled&lt;/span> = &lt;span style="color:#66d9ef">true&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">avatar&lt;/span>.&lt;span style="color:#a6e22e">local&lt;/span> = &lt;span style="color:#66d9ef">true&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">avatar&lt;/span>.&lt;span style="color:#a6e22e">src&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;img/avatar.gif&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>[&lt;span style="color:#a6e22e">params&lt;/span>.&lt;span style="color:#a6e22e">Footer&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">since&lt;/span> = &lt;span style="color:#ae81ff">2019&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">#customText = &amp;#34;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>[&lt;span style="color:#a6e22e">params&lt;/span>.&lt;span style="color:#a6e22e">Article&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">headingAnchor&lt;/span> = &lt;span style="color:#66d9ef">true&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">math&lt;/span> = &lt;span style="color:#66d9ef">true&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">readingTime&lt;/span> = &lt;span style="color:#66d9ef">false&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>[&lt;span style="color:#a6e22e">params&lt;/span>.&lt;span style="color:#a6e22e">widgets&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">homepage&lt;/span> = [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {&lt;span style="color:#a6e22e">type&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;search&amp;#39;&lt;/span>},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {&lt;span style="color:#a6e22e">type&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;archives&amp;#39;&lt;/span>},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {&lt;span style="color:#a6e22e">type&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;tag-cloud&amp;#39;&lt;/span>},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">page&lt;/span> = [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {&lt;span style="color:#a6e22e">type&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;toc&amp;#39;&lt;/span>},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {&lt;span style="color:#a6e22e">type&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;categories&amp;#39;&lt;/span>},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>[&lt;span style="color:#a6e22e">params&lt;/span>.&lt;span style="color:#a6e22e">opengraph&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">twitter&lt;/span>.&lt;span style="color:#a6e22e">site&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;kizx&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">twitter&lt;/span>.&lt;span style="color:#a6e22e">card&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;summary&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">enabled&lt;/span> = &lt;span style="color:#66d9ef">true&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">src&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;img/default.jpg&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">local&lt;/span> = &lt;span style="color:#66d9ef">true&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>[&lt;span style="color:#a6e22e">menu&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">menu&lt;/span>.&lt;span style="color:#a6e22e">social&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">identifier&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;github&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">url&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;https://github.com/kizx&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">params&lt;/span>.&lt;span style="color:#a6e22e">icon&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;brand-github&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">menu&lt;/span>.&lt;span style="color:#a6e22e">social&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">identifier&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;bilibili&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">url&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;https://space.bilibili.com/22411920&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">params&lt;/span>.&lt;span style="color:#a6e22e">icon&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;brand-bilibili&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>左侧菜单页设置：&lt;/p>
&lt;p>直接将&lt;code>hugo-theme-stack\exampleSite\content\page&lt;/code>拷贝到网页的&lt;code>content\page&lt;/code>中&lt;/p>
&lt;p>需要出现在菜单栏中的页面通过在md文件的Front Matter中添加：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">menu&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">main&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">name&lt;/span>: &lt;span style="color:#ae81ff">title (optional)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">weight&lt;/span>: -&lt;span style="color:#ae81ff">90&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">params&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">icon&lt;/span>: &lt;span style="color:#ae81ff">icon-name&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>或者直接在配置文件中添加，但在配置文件中添加会缺少当前惨淡选中高亮显示。&lt;/p>
&lt;h2 id="参考">&lt;a href="#%e5%8f%82%e8%80%83" class="header-anchor">&lt;/a>参考
&lt;/h2>&lt;p>&lt;a class="link" href="https://liuhouliang.com/post/hugo_theme/" target="_blank" rel="noopener"
>使用hugo stack主题快速搭建博客&lt;/a>&lt;/p>
&lt;p>&lt;a class="link" href="https://serennan.github.io/post/hugo-config/" target="_blank" rel="noopener"
>【Hugo】配置 (stack 主题)&lt;/a>&lt;/p>
&lt;p>&lt;a class="link" href="https://tabler.io/icons" target="_blank" rel="noopener"
>图标下载&lt;/a>&lt;/p>
&lt;p>&lt;a class="link" href="https://krislinzhao.github.io/docs/create-a-wesite-using-github-pages-and-hugo/" target="_blank" rel="noopener"
>如何用 GitHub Pages + Hugo 搭建个人博客&lt;/a>&lt;/p></description></item><item><title>关于找工作的那些事</title><link>https://kizx.github.io/post/%E5%85%B3%E4%BA%8E%E6%89%BE%E5%B7%A5%E4%BD%9C%E7%9A%84%E9%82%A3%E4%BA%9B%E4%BA%8B/</link><pubDate>Mon, 25 Apr 2022 17:27:00 +0000</pubDate><guid>https://kizx.github.io/post/%E5%85%B3%E4%BA%8E%E6%89%BE%E5%B7%A5%E4%BD%9C%E7%9A%84%E9%82%A3%E4%BA%9B%E4%BA%8B/</guid><description>&lt;h2 id="时间节点">&lt;a href="#%e6%97%b6%e9%97%b4%e8%8a%82%e7%82%b9" class="header-anchor">&lt;/a>时间节点
&lt;/h2>&lt;ul>
&lt;li>一般三四月份就会有春招，春招是找暑期实习的时机，就算不去实习，也可以投投简历，面面试积累一些经验，可以提前了解一些岗位要求、面试流程和自身所欠缺的部分。&lt;/li>
&lt;li>五月份开始，可能就会有一些研究所开始提前批招聘，有中意单位的，需要特别留意。&lt;/li>
&lt;li>暑假七八月份是各个大厂提前批招聘的黄金时期，准备做的差不多了就可以正式应聘了，越早投递，机会越大，很多公司研究所或岗位前面人招满了后面就没有HC了，很多人提前批拿到offer后面压力就会小很多，不过相对来说毕前批的招聘要求都会高一些。&lt;/li>
&lt;li>金九银十是正式批的黄金时期，但就个人经验来看关键是九月份，九月份一开学就会有大批研究所和大厂开始招聘，九月份无疑是最忙的一个月份，如果采取海投策略的话，几乎每天都有不止一场面试或笔试，而十月份研究所和大厂招聘就会见少，主要是一些小公司较多，一般人九月份都能拿到offer。&lt;/li>
&lt;li>至于后面的时间本人就没有参与了，所以最理想的找工作节奏就是三四月份一边面试试水积攒经验，一边查漏补缺，到了七八月份就应该学习准备的差不多了，提前批争取拿到一个offer，没拿到其实也没关系，经过提前批的磨练，在九月份的正式批里就能更得心应手了，九十月份拿到offer后，后面就能安心写论文了。&lt;/li>
&lt;/ul>
&lt;h2 id="求职准备">&lt;a href="#%e6%b1%82%e8%81%8c%e5%87%86%e5%a4%87" class="header-anchor">&lt;/a>求职准备
&lt;/h2>&lt;ul>
&lt;li>所需要学习内容应该是视岗位而定的，所以说一开始就定一个目标岗位或方向是十分重要的，尤其是大厂企业招聘，都是看岗位招人的，笔试面试时都会与岗位要求息息相关；而研究所个人感觉更多的是看人招聘，他觉得你可以了，就把你招聘进去然后分配一个合适的岗位，我研究所面试经验不多，个人感觉大概就是这样的。所以企业招聘一定要选好岗位，投对岗位很重要，一旦投出去了后面再改也会比较困难。&lt;/li>
&lt;li>一般来说大厂的笔试和面试最难，大厂面试一般分为综合测试-&amp;gt;笔试-&amp;gt;2~3轮面试-&amp;gt;hr面，综合测试是大部分招聘都会有的一个项目，主要是一些性格测试题，一般如实填写即可，只有华为的性格测试需要注意，可能会挂人。研究所一般没有笔试，面试也只有一两轮，面试更偏好问项目，因此此时简历和发挥就很重要了，能力、项目、学历至少要占两项才能脱颖而出。&lt;/li>
&lt;li>数据结构与算法是所有程序向的岗位的公共基础，也是花费时间最久最见基本功的一项，这个除了学习外，更重要的是刷题，刷题一般上Leetcode或者牛客网上刷题，Leetcode题目比较多而全，可以按照大神推荐的顺序进行刷题，比如我觉得&lt;a class="link" href="https://programmercarl.com/" target="_blank" rel="noopener"
>代码随想录&lt;/a>就讲的很不错；牛客网上有很多企业笔试题，可以进行仿真练习，牛客网和Leetcode的代码运行方式有些不同，实际面试时一般就是以牛客网的方式，所以第一次笔试前，一定要在牛客网上做一次仿真练习，否则可能连输入输出都要琢磨半天。一般来说常见数据结构和算法专题都刷个十几道题，加一起刷个两三百题就比较保险了，当然还是得看个人学习方法和习惯，数量有时说明不了问题。然后相应的编程相关问题要具体看岗位所需的语言，这个除了自身掌握，一般就得看面经了，所谓面经，就是其他面试过的同学的经验，在牛客网和一些公众号上会有人总结，这个就看你平时关注了。其他像计算机网络、计算机组成原理等知识也会问，根据岗位侧重进行学习记忆即可。&lt;/li>
&lt;li>最难的莫过于项目准备，这个只能看你自己会不会发掘了，只要是你参与过的项目，和岗位相关的项目，哪怕是没有参与过的但是你经过了解后掌握的，也可以写进去，这个就看你自己包装了，别给自己挖坑就行，我也不会包装，我就拿我平时写的小东西放上去了，好充个场面。&lt;/li>
&lt;li>简历不用整什么花哨的模板，QQ邮箱自带的建立我看就挺好，怎么写建立这里就不细说了，后面推荐的up里有专门讲的，我想说的是建立一开始也不必写太好，写的差不多就可以投了，因为你会发现真正投递时，各家招聘网站上又得填一遍，填到后面都烦了哈哈。&lt;/li>
&lt;/ul>
&lt;h2 id="信息获取">&lt;a href="#%e4%bf%a1%e6%81%af%e8%8e%b7%e5%8f%96" class="header-anchor">&lt;/a>信息获取
&lt;/h2>&lt;ul>
&lt;li>学校就业网和公众号会每天推送一些信息，尤其是九月开学之后，每天都有很多研究所的校招信息，每天关注校招日历以便及时投递。&lt;/li>
&lt;li>大厂的校招一般都是线上的，所以学校招聘信息上可能不多，需要自己关注一些内推的公众号，或者牛客网上也有招聘信息，一般大厂都有招聘专用的公众号，一般叫XX招聘或者XX校招，可自行搜索。&lt;/li>
&lt;li>可以加一些校招群多和别人了解一些招聘和应聘动态。&lt;/li>
&lt;li>研究所的招聘信息一般都不会太公开，都是到学校了来了才发通知，或者有内部消息，可以关注这些所的公众号（如果有的话），也可以关注其他学校的就业网信息作为补充。&lt;/li>
&lt;li>大厂薪酬信息一般有迹可循，可以上Offershow小程序搜索或者脉脉App上看看评价，研究所的信息较为封闭，有内部信息自然最好，大部分时候只能从网上的零碎信息去推测。&lt;/li>
&lt;/ul>
&lt;h2 id="部分收藏推荐资源">&lt;a href="#%e9%83%a8%e5%88%86%e6%94%b6%e8%97%8f%e6%8e%a8%e8%8d%90%e8%b5%84%e6%ba%90" class="header-anchor">&lt;/a>部分收藏推荐资源
&lt;/h2>&lt;h3 id="编程资料">&lt;a href="#%e7%bc%96%e7%a8%8b%e8%b5%84%e6%96%99" class="header-anchor">&lt;/a>编程资料
&lt;/h3>&lt;ul>
&lt;li>&lt;a class="link" href="https://programmercarl.com/" target="_blank" rel="noopener"
>https://programmercarl.com/&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://www.iamshuaidi.com/" target="_blank" rel="noopener"
>https://www.iamshuaidi.com/&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="http://www.cyc2018.xyz/" target="_blank" rel="noopener"
>http://www.cyc2018.xyz/&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://codetop.cc/home" target="_blank" rel="noopener"
>https://codetop.cc/home&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://github.com/jwasham/coding-interview-university/blob/main/translations/README-cn.md" target="_blank" rel="noopener"
>https://github.com/jwasham/coding-interview-university/blob/main/translations/README-cn.md&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://github.com/MisterBooo/LeetCodeAnimation" target="_blank" rel="noopener"
>https://github.com/MisterBooo/LeetCodeAnimation&lt;/a>&lt;/li>
&lt;/ul>
&lt;h3 id="b站的一些up主">&lt;a href="#b%e7%ab%99%e7%9a%84%e4%b8%80%e4%ba%9bup%e4%b8%bb" class="header-anchor">&lt;/a>B站的一些Up主
&lt;/h3>&lt;ul>
&lt;li>&lt;a class="link" href="https://space.bilibili.com/384068749/" target="_blank" rel="noopener"
>https://space.bilibili.com/384068749/&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://space.bilibili.com/245645656/" target="_blank" rel="noopener"
>https://space.bilibili.com/245645656/&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://space.bilibili.com/327247876/" target="_blank" rel="noopener"
>https://space.bilibili.com/327247876/&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://space.bilibili.com/525438321/" target="_blank" rel="noopener"
>https://space.bilibili.com/525438321/&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://space.bilibili.com/522846737/" target="_blank" rel="noopener"
>https://space.bilibili.com/522846737/&lt;/a>&lt;/li>
&lt;/ul>
&lt;h3 id="公众号小程序">&lt;a href="#%e5%85%ac%e4%bc%97%e5%8f%b7%e5%b0%8f%e7%a8%8b%e5%ba%8f" class="header-anchor">&lt;/a>公众号/小程序
&lt;/h3>&lt;ul>
&lt;li>OfferShow&lt;/li>
&lt;li>内推指南&lt;/li>
&lt;li>低并发编程&lt;/li>
&lt;li>labuladong&lt;/li>
&lt;li>小K算法&lt;/li>
&lt;/ul></description></item><item><title>Win10开机自动拨号上网方法</title><link>https://kizx.github.io/post/win10%E5%BC%80%E6%9C%BA%E8%87%AA%E5%8A%A8%E6%8B%A8%E5%8F%B7%E4%B8%8A%E7%BD%91%E6%96%B9%E6%B3%95/</link><pubDate>Fri, 14 Jan 2022 05:14:00 +0000</pubDate><guid>https://kizx.github.io/post/win10%E5%BC%80%E6%9C%BA%E8%87%AA%E5%8A%A8%E6%8B%A8%E5%8F%B7%E4%B8%8A%E7%BD%91%E6%96%B9%E6%B3%95/</guid><description>&lt;p>校园网是需要通过PPOPE拨号上网的，每次开机都需要在网络里点击连接才能上网，很是令人讨厌，应该让电脑自动联网。&lt;/p>
&lt;h2 id="拨号上网命令">&lt;a href="#%e6%8b%a8%e5%8f%b7%e4%b8%8a%e7%bd%91%e5%91%bd%e4%bb%a4" class="header-anchor">&lt;/a>拨号上网命令
&lt;/h2>&lt;p>Windows系统里拨号上网的命令是&lt;code>rasdial&lt;/code>，用法如下所示&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-powershell" data-lang="powershell">&lt;span style="display:flex;">&lt;span>PS C:\Users\kizx&amp;gt; rasdial /h
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>用法&lt;span style="color:#960050;background-color:#1e0010">:&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> C:\Windows\system32\rasdial.exe entryname [username [password|*]] [/DOMAIN&lt;span style="color:#960050;background-color:#1e0010">:&lt;/span>domain]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> [/PHONE&lt;span style="color:#960050;background-color:#1e0010">:&lt;/span>phonenumber] [/CALLBACK&lt;span style="color:#960050;background-color:#1e0010">:&lt;/span>callbacknumber]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> [/PHONEBOOK&lt;span style="color:#960050;background-color:#1e0010">:&lt;/span>phonebookfile] [/PREFIXSUFFIX]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> C:\Windows\system32\rasdial.exe [&lt;span style="color:#66d9ef">entryname&lt;/span>] /DISCONNECT
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> C:\Windows\system32\rasdial.exe
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>简单来说就是：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-powershell" data-lang="powershell">&lt;span style="display:flex;">&lt;span>rasdial.exe &lt;span style="color:#e6db74">&amp;#34;连接名称&amp;#34;&lt;/span> 账号 密码
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="任务计划">&lt;a href="#%e4%bb%bb%e5%8a%a1%e8%ae%a1%e5%88%92" class="header-anchor">&lt;/a>任务计划
&lt;/h2>&lt;p>通过设置任务计划来开机自动运行&lt;code>rasdial&lt;/code>命令，这也是网上能查到的最普遍的方法，下面给出一个参考，这里不再赘述。
&lt;a class="link" href="https://zhuanlan.zhihu.com/p/359897141" target="_blank" rel="noopener"
>https://zhuanlan.zhihu.com/p/359897141&lt;/a>&lt;/p>
&lt;h2 id="命令脚本">&lt;a href="#%e5%91%bd%e4%bb%a4%e8%84%9a%e6%9c%ac" class="header-anchor">&lt;/a>命令脚本
&lt;/h2>&lt;p>任务计划有时设置了并不起效，这里我给出一种通过开机自动运行脚本的方法，先新建一个&lt;code>开机运行.bat&lt;/code>的脚本，然后写入如下内容，注意替换名称、账号和密码：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bat" data-lang="bat">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">echo&lt;/span> off
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>chcp 65001
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">echo&lt;/span> 正在连接 . . .
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>rasdial &lt;span style="color:#e6db74">&amp;#34;连接名称&amp;#34;&lt;/span> 账号 密码
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">echo&lt;/span> 连接成功！
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>上面只有第四行是真正有用的，其他行只是我为了美观加上的，让运行起来好看点。&lt;/p>
&lt;p>然后将上述bat文件放到开机自启文件夹下，这个文件夹一般在下面这个目录里&lt;/p>
&lt;pre tabindex="0">&lt;code>C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
&lt;/code>&lt;/pre>&lt;p>设置完后，在任务管理器的启动项里就应该会多出一个&lt;code>开机运行.bat&lt;/code>启动项。&lt;/p>
&lt;h2 id="免密开机">&lt;a href="#%e5%85%8d%e5%af%86%e5%bc%80%e6%9c%ba" class="header-anchor">&lt;/a>免密开机
&lt;/h2>&lt;p>顺带一提，如果想设置自动免密开机的话，&lt;code>win&lt;/code>+&lt;code>R&lt;/code>运行&lt;code>netplwiz&lt;/code>命令后勾选取消开机密码。
如果没有这个选项，需要修改注册表&lt;code>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device&lt;/code>，双击&lt;code>DevicePasswordLessBuildVersion&lt;/code>，把值改成0确定，然后再运行&lt;code>netplwiz&lt;/code>。
参考：https://zhidao.baidu.com/question/364115147169595652.html&lt;/p></description></item><item><title>腾讯云函数、阿里云函数Python创建HTTP函数示例</title><link>https://kizx.github.io/post/%E8%85%BE%E8%AE%AF%E4%BA%91%E5%87%BD%E6%95%B0%E9%98%BF%E9%87%8C%E4%BA%91%E5%87%BD%E6%95%B0python%E5%88%9B%E5%BB%BAhttp%E5%87%BD%E6%95%B0%E7%A4%BA%E4%BE%8B/</link><pubDate>Sun, 13 Jun 2021 14:03:32 +0000</pubDate><guid>https://kizx.github.io/post/%E8%85%BE%E8%AE%AF%E4%BA%91%E5%87%BD%E6%95%B0%E9%98%BF%E9%87%8C%E4%BA%91%E5%87%BD%E6%95%B0python%E5%88%9B%E5%BB%BAhttp%E5%87%BD%E6%95%B0%E7%A4%BA%E4%BE%8B/</guid><description>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-python" data-lang="python">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># -*- coding: utf8 -*-&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">from&lt;/span> urllib &lt;span style="color:#f92672">import&lt;/span> parse
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">def&lt;/span> &lt;span style="color:#a6e22e">get_url&lt;/span>(type&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#39;pivix&amp;#39;&lt;/span>):
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">pass&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">def&lt;/span> &lt;span style="color:#a6e22e">main_handler&lt;/span>(event, context):
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> event[&lt;span style="color:#e6db74">&amp;#39;httpMethod&amp;#39;&lt;/span>] &lt;span style="color:#f92672">==&lt;/span> &lt;span style="color:#e6db74">&amp;#39;GET&amp;#39;&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> &lt;span style="color:#e6db74">&amp;#39;type&amp;#39;&lt;/span> &lt;span style="color:#f92672">in&lt;/span> event[&lt;span style="color:#e6db74">&amp;#39;queryString&amp;#39;&lt;/span>]:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> imgtype &lt;span style="color:#f92672">=&lt;/span> event[&lt;span style="color:#e6db74">&amp;#39;queryString&amp;#39;&lt;/span>][&lt;span style="color:#e6db74">&amp;#39;type&amp;#39;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> url &lt;span style="color:#f92672">=&lt;/span> get_url(imgtype)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">else&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> url &lt;span style="color:#f92672">=&lt;/span> get_url()
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> url:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">return&lt;/span> {&lt;span style="color:#e6db74">&amp;#39;code&amp;#39;&lt;/span>: &lt;span style="color:#ae81ff">0&lt;/span>, &lt;span style="color:#e6db74">&amp;#39;url&amp;#39;&lt;/span>: url, &lt;span style="color:#e6db74">&amp;#39;msg&amp;#39;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;成功&amp;#34;&lt;/span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">else&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">return&lt;/span> {&lt;span style="color:#e6db74">&amp;#39;code&amp;#39;&lt;/span>: &lt;span style="color:#ae81ff">1&lt;/span>, &lt;span style="color:#e6db74">&amp;#39;msg&amp;#39;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;失败&amp;#34;&lt;/span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> event[&lt;span style="color:#e6db74">&amp;#39;httpMethod&amp;#39;&lt;/span>] &lt;span style="color:#f92672">==&lt;/span> &lt;span style="color:#e6db74">&amp;#39;POST&amp;#39;&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> body &lt;span style="color:#f92672">=&lt;/span> parse&lt;span style="color:#f92672">.&lt;/span>parse_qs(event[&lt;span style="color:#e6db74">&amp;#39;body&amp;#39;&lt;/span>])
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> print(body)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> &lt;span style="color:#e6db74">&amp;#39;type&amp;#39;&lt;/span> &lt;span style="color:#f92672">in&lt;/span> body:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> imgtype &lt;span style="color:#f92672">=&lt;/span> body[&lt;span style="color:#e6db74">&amp;#39;type&amp;#39;&lt;/span>][&lt;span style="color:#ae81ff">0&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> url &lt;span style="color:#f92672">=&lt;/span> get_url(imgtype)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">else&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> url &lt;span style="color:#f92672">=&lt;/span> get_url()
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> url:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">return&lt;/span> {&lt;span style="color:#e6db74">&amp;#39;code&amp;#39;&lt;/span>: &lt;span style="color:#ae81ff">0&lt;/span>, &lt;span style="color:#e6db74">&amp;#39;url&amp;#39;&lt;/span>: url, &lt;span style="color:#e6db74">&amp;#39;msg&amp;#39;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;成功&amp;#34;&lt;/span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">else&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">return&lt;/span> {&lt;span style="color:#e6db74">&amp;#39;code&amp;#39;&lt;/span>: &lt;span style="color:#ae81ff">1&lt;/span>, &lt;span style="color:#e6db74">&amp;#39;msg&amp;#39;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;失败&amp;#34;&lt;/span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="阿里云">&lt;a href="#%e9%98%bf%e9%87%8c%e4%ba%91" class="header-anchor">&lt;/a>阿里云
&lt;/h2>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-python" data-lang="python">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># -*- coding: utf-8 -*-&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">import&lt;/span> logging
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">import&lt;/span> json
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">from&lt;/span> urllib &lt;span style="color:#f92672">import&lt;/span> parse
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># To enable the initializer feature (https://help.aliyun.com/document_detail/158208.html)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># please implement the initializer function as below：&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># def initializer(context):&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># logger = logging.getLogger()&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># logger.info(&amp;#39;initializing&amp;#39;)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">def&lt;/span> &lt;span style="color:#a6e22e">handler&lt;/span>(environ, start_response):
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> context &lt;span style="color:#f92672">=&lt;/span> environ[&lt;span style="color:#e6db74">&amp;#39;fc.context&amp;#39;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> request_uri &lt;span style="color:#f92672">=&lt;/span> environ[&lt;span style="color:#e6db74">&amp;#39;fc.request_uri&amp;#39;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">for&lt;/span> k, v &lt;span style="color:#f92672">in&lt;/span> environ&lt;span style="color:#f92672">.&lt;/span>items():
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> k&lt;span style="color:#f92672">.&lt;/span>startswith(&lt;span style="color:#e6db74">&amp;#39;HTTP_&amp;#39;&lt;/span>):
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># process custom request headers&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">pass&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># do something here&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">try&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> request_body_size &lt;span style="color:#f92672">=&lt;/span> int(environ&lt;span style="color:#f92672">.&lt;/span>get(&lt;span style="color:#e6db74">&amp;#39;CONTENT_LENGTH&amp;#39;&lt;/span>, &lt;span style="color:#ae81ff">0&lt;/span>))
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">except&lt;/span> (&lt;span style="color:#a6e22e">ValueError&lt;/span>):
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> request_body_size &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">0&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> request_body &lt;span style="color:#f92672">=&lt;/span> environ[&lt;span style="color:#e6db74">&amp;#39;wsgi.input&amp;#39;&lt;/span>]&lt;span style="color:#f92672">.&lt;/span>read(request_body_size)&lt;span style="color:#f92672">.&lt;/span>decode(encoding&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;utf-8&amp;#34;&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> body &lt;span style="color:#f92672">=&lt;/span> parse&lt;span style="color:#f92672">.&lt;/span>parse_qs(request_body)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">for&lt;/span> i &lt;span style="color:#f92672">in&lt;/span> body:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> body[i] &lt;span style="color:#f92672">=&lt;/span> body[i][&lt;span style="color:#ae81ff">0&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> status &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#39;200 OK&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> response_headers &lt;span style="color:#f92672">=&lt;/span> [(&lt;span style="color:#e6db74">&amp;#39;Content-type&amp;#39;&lt;/span>, &lt;span style="color:#e6db74">&amp;#39;application/json&amp;#39;&lt;/span>)]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> start_response(status, response_headers)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">return&lt;/span> [json&lt;span style="color:#f92672">.&lt;/span>dumps(body)&lt;span style="color:#f92672">.&lt;/span>encode(encoding&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;utf-8&amp;#34;&lt;/span>)]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>webpack5基础</title><link>https://kizx.github.io/post/webpack5%E5%9F%BA%E7%A1%80/</link><pubDate>Thu, 27 May 2021 10:25:00 +0000</pubDate><guid>https://kizx.github.io/post/webpack5%E5%9F%BA%E7%A1%80/</guid><description>&lt;p>下面均已 webpack5 为例&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>npm init -y
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>npm install webpack webpack-cli --save-dev
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="运行命令">&lt;a href="#%e8%bf%90%e8%a1%8c%e5%91%bd%e4%bb%a4" class="header-anchor">&lt;/a>运行命令
&lt;/h2>&lt;p>可以使用 webpack 初始化命令快速生成一个项目&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>npx webpack-cli init
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>以下是自动生成的&lt;code>webpack.config.js&lt;/code>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-js" data-lang="js">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">// Generated using webpack-cli https://github.com/webpack/webpack-cli
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">const&lt;/span> &lt;span style="color:#a6e22e">path&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">require&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;path&amp;#34;&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">const&lt;/span> &lt;span style="color:#a6e22e">HtmlWebpackPlugin&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">require&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;html-webpack-plugin&amp;#34;&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">const&lt;/span> &lt;span style="color:#a6e22e">MiniCssExtractPlugin&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">require&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;mini-css-extract-plugin&amp;#34;&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">const&lt;/span> &lt;span style="color:#a6e22e">isProduction&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">process&lt;/span>.&lt;span style="color:#a6e22e">env&lt;/span>.&lt;span style="color:#a6e22e">NODE_ENV&lt;/span> &lt;span style="color:#f92672">==&lt;/span> &lt;span style="color:#e6db74">&amp;#34;production&amp;#34;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">const&lt;/span> &lt;span style="color:#a6e22e">stylesHandler&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">isProduction&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">?&lt;/span> &lt;span style="color:#a6e22e">MiniCssExtractPlugin&lt;/span>.&lt;span style="color:#a6e22e">loader&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#34;style-loader&amp;#34;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">const&lt;/span> &lt;span style="color:#a6e22e">config&lt;/span> &lt;span style="color:#f92672">=&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">entry&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#34;./src/index.js&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">output&lt;/span>&lt;span style="color:#f92672">:&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">path&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#a6e22e">path&lt;/span>.&lt;span style="color:#a6e22e">resolve&lt;/span>(&lt;span style="color:#a6e22e">__dirname&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;dist&amp;#34;&lt;/span>),
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">devServer&lt;/span>&lt;span style="color:#f92672">:&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">open&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#66d9ef">true&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">host&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#34;localhost&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">plugins&lt;/span>&lt;span style="color:#f92672">:&lt;/span> [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">new&lt;/span> &lt;span style="color:#a6e22e">HtmlWebpackPlugin&lt;/span>({
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">template&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#34;index.html&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }),
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">// Add your plugins here
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span> &lt;span style="color:#75715e">// Learn more about plugins from https://webpack.js.org/configuration/plugins/
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span> ],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">module&lt;/span>&lt;span style="color:#f92672">:&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">rules&lt;/span>&lt;span style="color:#f92672">:&lt;/span> [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">test&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">/\.(js|jsx)$/i&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">loader&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#34;babel-loader&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">test&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">/\.css$/i&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">use&lt;/span>&lt;span style="color:#f92672">:&lt;/span> [&lt;span style="color:#a6e22e">stylesHandler&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;css-loader&amp;#34;&lt;/span>],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">test&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">/\.s[ac]ss$/i&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">use&lt;/span>&lt;span style="color:#f92672">:&lt;/span> [&lt;span style="color:#a6e22e">stylesHandler&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;css-loader&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;sass-loader&amp;#34;&lt;/span>],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">test&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">/\.(eot|svg|ttf|woff|woff2|png|jpg|gif)$/i&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">type&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#34;asset&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">// Add your rules for custom modules here
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span> &lt;span style="color:#75715e">// Learn more about loaders from https://webpack.js.org/loaders/
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span> ],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>};
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">module&lt;/span>.&lt;span style="color:#a6e22e">exports&lt;/span> &lt;span style="color:#f92672">=&lt;/span> () =&amp;gt; {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (&lt;span style="color:#a6e22e">isProduction&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">config&lt;/span>.&lt;span style="color:#a6e22e">mode&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#34;production&amp;#34;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">config&lt;/span>.&lt;span style="color:#a6e22e">plugins&lt;/span>.&lt;span style="color:#a6e22e">push&lt;/span>(&lt;span style="color:#66d9ef">new&lt;/span> &lt;span style="color:#a6e22e">MiniCssExtractPlugin&lt;/span>());
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> } &lt;span style="color:#66d9ef">else&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">config&lt;/span>.&lt;span style="color:#a6e22e">mode&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#34;development&amp;#34;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">return&lt;/span> &lt;span style="color:#a6e22e">config&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>};
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>也可以手动新建一个 webpack.config.js 文件手动配置
可以配置 npm run script 命令运行 webpack，也可以手动 &lt;code>npx webpack xxx&lt;/code> 运行&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-json" data-lang="json">&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;scripts&amp;#34;&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">:&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;test&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;echo \&amp;#34;Error: no test specified\&amp;#34; &amp;amp;&amp;amp; exit 1&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;build&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;webpack --mode=production --node-env=production&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;build:dev&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;webpack --mode=development&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;build:prod&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;webpack --mode=production --node-env=production&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;watch&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;webpack --watch&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;serve&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;webpack serve&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }&lt;span style="color:#960050;background-color:#1e0010">,&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="入口">&lt;a href="#%e5%85%a5%e5%8f%a3" class="header-anchor">&lt;/a>入口
&lt;/h2>&lt;p>入口可以是一个文件或多个 js 文件&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-js" data-lang="js">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">module&lt;/span>.&lt;span style="color:#a6e22e">exports&lt;/span> &lt;span style="color:#f92672">=&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">//...
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span> &lt;span style="color:#a6e22e">entry&lt;/span>&lt;span style="color:#f92672">:&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">home&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#34;./home.js&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">about&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#34;./about.js&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">contact&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#34;./contact.js&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>};
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;a class="link" href="https://webpack.docschina.org/configuration/entry-context/#entry" target="_blank" rel="noopener"
>https://webpack.docschina.org/configuration/entry-context/#entry&lt;/a>&lt;/p>
&lt;h2 id="输出">&lt;a href="#%e8%be%93%e5%87%ba" class="header-anchor">&lt;/a>输出
&lt;/h2>&lt;p>设置输出的文件，设置&lt;code>clean: true&lt;/code>输出前先清空输出目录&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-json" data-lang="json">&lt;span style="display:flex;">&lt;span> &lt;span style="color:#960050;background-color:#1e0010">output:&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#960050;background-color:#1e0010">filename:&lt;/span> &lt;span style="color:#f92672">&amp;#34;[name].[contenthash].js&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#960050;background-color:#1e0010">path:&lt;/span> &lt;span style="color:#960050;background-color:#1e0010">path.resolve(__dirname,&lt;/span> &lt;span style="color:#f92672">&amp;#34;dist&amp;#34;&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">)&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#960050;background-color:#1e0010">clean:&lt;/span> &lt;span style="color:#960050;background-color:#1e0010">true,&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }&lt;span style="color:#960050;background-color:#1e0010">,&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>可以用多种方式设置输出文件的名称
&lt;a class="link" href="https://webpack.docschina.org/configuration/output/#outputfilename" target="_blank" rel="noopener"
>https://webpack.docschina.org/configuration/output/#outputfilename&lt;/a>&lt;/p>
&lt;h2 id="加载-html-模板">&lt;a href="#%e5%8a%a0%e8%bd%bd-html-%e6%a8%a1%e6%9d%bf" class="header-anchor">&lt;/a>加载 html 模板
&lt;/h2>&lt;p>使用&lt;code>html-webpack-plugin&lt;/code>插件&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-js" data-lang="js">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">const&lt;/span> &lt;span style="color:#a6e22e">HtmlWebpackPlugin&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">require&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;html-webpack-plugin&amp;#34;&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">plugins&lt;/span>&lt;span style="color:#f92672">:&lt;/span> [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">new&lt;/span> &lt;span style="color:#a6e22e">HtmlWebpackPlugin&lt;/span>({
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">template&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#34;./src/index.html&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">filename&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#34;index.html&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }),
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>];
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="加载-css">&lt;a href="#%e5%8a%a0%e8%bd%bd-css" class="header-anchor">&lt;/a>加载 CSS
&lt;/h2>&lt;p>需要先 npm 安装相应包，&lt;code>sass-loader&lt;/code>将 sass 文件转换为 css 文件，&lt;code>css-loader&lt;/code>加载 css 文件，&lt;code>style-loader&lt;/code>将 css 文件通过 js 的方式将 css 加载到页面中。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-js" data-lang="js">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">module&lt;/span>&lt;span style="color:#f92672">:&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">rules&lt;/span>&lt;span style="color:#f92672">:&lt;/span> [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">test&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">/\.s[ac]ss$/i&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">use&lt;/span>&lt;span style="color:#f92672">:&lt;/span> [&lt;span style="color:#e6db74">&amp;#34;style-loader&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;css-loader&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;sass-loader&amp;#34;&lt;/span>],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>},
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>如果要分离 css 文件，可以使用&lt;code>MiniCssExtractPlugin&lt;/code>，会自动 link 到 HtmlWebpackPlugin 中&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-js" data-lang="js">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">const&lt;/span> &lt;span style="color:#a6e22e">HtmlWebpackPlugin&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">require&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;html-webpack-plugin&amp;#34;&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">const&lt;/span> &lt;span style="color:#a6e22e">MiniCssExtractPlugin&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">require&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;mini-css-extract-plugin&amp;#34;&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">//...
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">test&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">/\.s[ac]ss$/i&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">use&lt;/span>&lt;span style="color:#f92672">:&lt;/span> [&lt;span style="color:#a6e22e">MiniCssExtractPlugin&lt;/span>.&lt;span style="color:#a6e22e">loader&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;css-loader&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;sass-loader&amp;#34;&lt;/span>],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">//...
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span> &lt;span style="color:#a6e22e">plugins&lt;/span>&lt;span style="color:#f92672">:&lt;/span> [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">new&lt;/span> &lt;span style="color:#a6e22e">HtmlWebpackPlugin&lt;/span>({
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">template&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#34;./src/index.html&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">filename&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#34;index.html&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }),
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">new&lt;/span> &lt;span style="color:#a6e22e">MiniCssExtractPlugin&lt;/span>({
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">filename&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#34;style.min.css&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }),
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>],
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="加载静态文件">&lt;a href="#%e5%8a%a0%e8%bd%bd%e9%9d%99%e6%80%81%e6%96%87%e4%bb%b6" class="header-anchor">&lt;/a>加载静态文件
&lt;/h2>&lt;p>webpack5 使用&lt;code>asset-modules&lt;/code>模块来管理静态文件
&lt;a class="link" href="https://webpack.docschina.org/guides/asset-modules/" target="_blank" rel="noopener"
>https://webpack.docschina.org/guides/asset-modules/&lt;/a>&lt;/p>
&lt;h2 id="环境分离">&lt;a href="#%e7%8e%af%e5%a2%83%e5%88%86%e7%a6%bb" class="header-anchor">&lt;/a>环境分离
&lt;/h2>&lt;p>使用&lt;code>webpack-merge&lt;/code>模块实现生产开发环境分开设置
&lt;a class="link" href="https://webpack.docschina.org/guides/production/" target="_blank" rel="noopener"
>https://webpack.docschina.org/guides/production/&lt;/a>&lt;/p>
&lt;h2 id="开发环境设置">&lt;a href="#%e5%bc%80%e5%8f%91%e7%8e%af%e5%a2%83%e8%ae%be%e7%bd%ae" class="header-anchor">&lt;/a>开发环境设置
&lt;/h2>&lt;p>设置 devtool 使用 source map &lt;a class="link" href="https://webpack.docschina.org/configuration/devtool/" target="_blank" rel="noopener"
>https://webpack.docschina.org/configuration/devtool/&lt;/a>
设置热更新&lt;/p>
&lt;pre tabindex="0">&lt;code>devServer: {
contentBase: &amp;#34;./dist&amp;#34;,
hot: true,
},
&lt;/code>&lt;/pre>&lt;h2 id="参考">&lt;a href="#%e5%8f%82%e8%80%83" class="header-anchor">&lt;/a>参考
&lt;/h2>&lt;p>&lt;a class="link" href="https://webpack.docschina.org/guides/getting-started/" target="_blank" rel="noopener"
>https://webpack.docschina.org/guides/getting-started/&lt;/a>
&lt;a class="link" href="https://www.lookroot.cn/course/webpack/" target="_blank" rel="noopener"
>https://www.lookroot.cn/course/webpack/&lt;/a>
&lt;a class="link" href="https://szxio.gitee.io/hexoblog/Tool/webpack/" target="_blank" rel="noopener"
>https://szxio.gitee.io/hexoblog/Tool/webpack/&lt;/a>&lt;/p></description></item><item><title>网页中添加live2d看板娘</title><link>https://kizx.github.io/post/%E7%BD%91%E9%A1%B5%E4%B8%AD%E6%B7%BB%E5%8A%A0live2d%E7%9C%8B%E6%9D%BF%E5%A8%98/</link><pubDate>Wed, 19 May 2021 10:48:00 +0000</pubDate><guid>https://kizx.github.io/post/%E7%BD%91%E9%A1%B5%E4%B8%AD%E6%B7%BB%E5%8A%A0live2d%E7%9C%8B%E6%9D%BF%E5%A8%98/</guid><description>&lt;p>复现了大佬的操作，这里总结一下。
大佬源文章：https://nocilol.me/archives/lab/add-dynamic-poster-girl-with-live2d-to-your-blog-02/&lt;/p>
&lt;h2 id="步骤">&lt;a href="#%e6%ad%a5%e9%aa%a4" class="header-anchor">&lt;/a>步骤
&lt;/h2>&lt;h3 id="下载live2djshttpsgithubcomjourney-adlive2d_srcreleases">&lt;a href="#%e4%b8%8b%e8%bd%bdlive2djshttpsgithubcomjourney-adlive2d_srcreleases" class="header-anchor">&lt;/a>下载live2d.js：https://github.com/journey-ad/live2d_src/releases
&lt;/h3>&lt;h3 id="新建waifu-tipsjs">&lt;a href="#%e6%96%b0%e5%bb%bawaifu-tipsjs" class="header-anchor">&lt;/a>新建&lt;code>waifu-tips.js&lt;/code>
&lt;/h3>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-js" data-lang="js">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">function&lt;/span> &lt;span style="color:#a6e22e">render&lt;/span>(&lt;span style="color:#a6e22e">template&lt;/span>, &lt;span style="color:#a6e22e">context&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">var&lt;/span> &lt;span style="color:#a6e22e">tokenReg&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">/(\\)?\{([^\{\}\\]+)(\\)?\}/g&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">return&lt;/span> &lt;span style="color:#a6e22e">template&lt;/span>.&lt;span style="color:#a6e22e">replace&lt;/span>(&lt;span style="color:#a6e22e">tokenReg&lt;/span>, &lt;span style="color:#66d9ef">function&lt;/span> (&lt;span style="color:#a6e22e">word&lt;/span>, &lt;span style="color:#a6e22e">slash1&lt;/span>, &lt;span style="color:#a6e22e">token&lt;/span>, &lt;span style="color:#a6e22e">slash2&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (&lt;span style="color:#a6e22e">slash1&lt;/span> &lt;span style="color:#f92672">||&lt;/span> &lt;span style="color:#a6e22e">slash2&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">return&lt;/span> &lt;span style="color:#a6e22e">word&lt;/span>.&lt;span style="color:#a6e22e">replace&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;\\&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;&amp;#34;&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">var&lt;/span> &lt;span style="color:#a6e22e">variables&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">token&lt;/span>.&lt;span style="color:#a6e22e">replace&lt;/span>(&lt;span style="color:#e6db74">/\s/g&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;&amp;#34;&lt;/span>).&lt;span style="color:#a6e22e">split&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;.&amp;#34;&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">var&lt;/span> &lt;span style="color:#a6e22e">currentObject&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">context&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">var&lt;/span> &lt;span style="color:#a6e22e">i&lt;/span>, &lt;span style="color:#a6e22e">length&lt;/span>, &lt;span style="color:#a6e22e">variable&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">for&lt;/span> (&lt;span style="color:#a6e22e">i&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">0&lt;/span>, &lt;span style="color:#a6e22e">length&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">variables&lt;/span>.&lt;span style="color:#a6e22e">length&lt;/span>; &lt;span style="color:#a6e22e">i&lt;/span> &lt;span style="color:#f92672">&amp;lt;&lt;/span> &lt;span style="color:#a6e22e">length&lt;/span>; &lt;span style="color:#f92672">++&lt;/span>&lt;span style="color:#a6e22e">i&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">variable&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">variables&lt;/span>[&lt;span style="color:#a6e22e">i&lt;/span>];
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">currentObject&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">currentObject&lt;/span>[&lt;span style="color:#a6e22e">variable&lt;/span>];
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (&lt;span style="color:#a6e22e">currentObject&lt;/span> &lt;span style="color:#f92672">===&lt;/span> &lt;span style="color:#66d9ef">undefined&lt;/span> &lt;span style="color:#f92672">||&lt;/span> &lt;span style="color:#a6e22e">currentObject&lt;/span> &lt;span style="color:#f92672">===&lt;/span> &lt;span style="color:#66d9ef">null&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">return&lt;/span> &lt;span style="color:#e6db74">&amp;#34;&amp;#34;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">return&lt;/span> &lt;span style="color:#a6e22e">currentObject&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> });
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>String.&lt;span style="color:#a6e22e">prototype&lt;/span>.&lt;span style="color:#a6e22e">render&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#66d9ef">function&lt;/span> (&lt;span style="color:#a6e22e">context&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">return&lt;/span> &lt;span style="color:#a6e22e">render&lt;/span>(&lt;span style="color:#66d9ef">this&lt;/span>, &lt;span style="color:#a6e22e">context&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>};
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">var&lt;/span> &lt;span style="color:#a6e22e">re&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">/x/&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">console&lt;/span>.&lt;span style="color:#a6e22e">log&lt;/span>(&lt;span style="color:#a6e22e">re&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">re&lt;/span>.&lt;span style="color:#a6e22e">toString&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#66d9ef">function&lt;/span> () {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">showMessage&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;哈哈，你打开了控制台，是想要看看我的秘密吗？&amp;#34;&lt;/span>, &lt;span style="color:#ae81ff">5000&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">return&lt;/span> &lt;span style="color:#e6db74">&amp;#34;&amp;#34;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>};
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">$&lt;/span>(document).&lt;span style="color:#a6e22e">on&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;copy&amp;#34;&lt;/span>, &lt;span style="color:#66d9ef">function&lt;/span> () {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">showMessage&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;你都复制了些什么呀，转载要记得加上出处哦&amp;#34;&lt;/span>, &lt;span style="color:#ae81ff">5000&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>});
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">$&lt;/span>.&lt;span style="color:#a6e22e">ajax&lt;/span>({
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">cache&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#66d9ef">true&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">url&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#34;path/to/waifu-tips.json&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">dataType&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#34;json&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">success&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#66d9ef">function&lt;/span> (&lt;span style="color:#a6e22e">result&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">$&lt;/span>.&lt;span style="color:#a6e22e">each&lt;/span>(&lt;span style="color:#a6e22e">result&lt;/span>.&lt;span style="color:#a6e22e">mouseover&lt;/span>, &lt;span style="color:#66d9ef">function&lt;/span> (&lt;span style="color:#a6e22e">index&lt;/span>, &lt;span style="color:#a6e22e">tips&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">$&lt;/span>(document).&lt;span style="color:#a6e22e">on&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;mouseover&amp;#34;&lt;/span>, &lt;span style="color:#a6e22e">tips&lt;/span>.&lt;span style="color:#a6e22e">selector&lt;/span>, &lt;span style="color:#66d9ef">function&lt;/span> () {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">var&lt;/span> &lt;span style="color:#a6e22e">text&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">tips&lt;/span>.&lt;span style="color:#a6e22e">text&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (Array.&lt;span style="color:#a6e22e">isArray&lt;/span>(&lt;span style="color:#a6e22e">tips&lt;/span>.&lt;span style="color:#a6e22e">text&lt;/span>))
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">text&lt;/span> &lt;span style="color:#f92672">=&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">tips&lt;/span>.&lt;span style="color:#a6e22e">text&lt;/span>[
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Math.&lt;span style="color:#a6e22e">floor&lt;/span>(Math.&lt;span style="color:#a6e22e">random&lt;/span>() &lt;span style="color:#f92672">*&lt;/span> &lt;span style="color:#a6e22e">tips&lt;/span>.&lt;span style="color:#a6e22e">text&lt;/span>.&lt;span style="color:#a6e22e">length&lt;/span> &lt;span style="color:#f92672">+&lt;/span> &lt;span style="color:#ae81ff">1&lt;/span>) &lt;span style="color:#f92672">-&lt;/span> &lt;span style="color:#ae81ff">1&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ];
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">text&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">text&lt;/span>.&lt;span style="color:#a6e22e">render&lt;/span>({ &lt;span style="color:#a6e22e">text&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#a6e22e">$&lt;/span>(&lt;span style="color:#66d9ef">this&lt;/span>).&lt;span style="color:#a6e22e">text&lt;/span>() });
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">showMessage&lt;/span>(&lt;span style="color:#a6e22e">text&lt;/span>, &lt;span style="color:#ae81ff">3000&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> });
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> });
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">$&lt;/span>.&lt;span style="color:#a6e22e">each&lt;/span>(&lt;span style="color:#a6e22e">result&lt;/span>.&lt;span style="color:#a6e22e">click&lt;/span>, &lt;span style="color:#66d9ef">function&lt;/span> (&lt;span style="color:#a6e22e">index&lt;/span>, &lt;span style="color:#a6e22e">tips&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">$&lt;/span>(document).&lt;span style="color:#a6e22e">on&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;click&amp;#34;&lt;/span>, &lt;span style="color:#a6e22e">tips&lt;/span>.&lt;span style="color:#a6e22e">selector&lt;/span>, &lt;span style="color:#66d9ef">function&lt;/span> () {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">var&lt;/span> &lt;span style="color:#a6e22e">text&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">tips&lt;/span>.&lt;span style="color:#a6e22e">text&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (Array.&lt;span style="color:#a6e22e">isArray&lt;/span>(&lt;span style="color:#a6e22e">tips&lt;/span>.&lt;span style="color:#a6e22e">text&lt;/span>))
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">text&lt;/span> &lt;span style="color:#f92672">=&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">tips&lt;/span>.&lt;span style="color:#a6e22e">text&lt;/span>[
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Math.&lt;span style="color:#a6e22e">floor&lt;/span>(Math.&lt;span style="color:#a6e22e">random&lt;/span>() &lt;span style="color:#f92672">*&lt;/span> &lt;span style="color:#a6e22e">tips&lt;/span>.&lt;span style="color:#a6e22e">text&lt;/span>.&lt;span style="color:#a6e22e">length&lt;/span> &lt;span style="color:#f92672">+&lt;/span> &lt;span style="color:#ae81ff">1&lt;/span>) &lt;span style="color:#f92672">-&lt;/span> &lt;span style="color:#ae81ff">1&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ];
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">text&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">text&lt;/span>.&lt;span style="color:#a6e22e">render&lt;/span>({ &lt;span style="color:#a6e22e">text&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#a6e22e">$&lt;/span>(&lt;span style="color:#66d9ef">this&lt;/span>).&lt;span style="color:#a6e22e">text&lt;/span>() });
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">showMessage&lt;/span>(&lt;span style="color:#a6e22e">text&lt;/span>, &lt;span style="color:#ae81ff">3000&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> });
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> });
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>});
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>(&lt;span style="color:#66d9ef">function&lt;/span> () {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">var&lt;/span> &lt;span style="color:#a6e22e">text&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (document.&lt;span style="color:#a6e22e">referrer&lt;/span> &lt;span style="color:#f92672">!==&lt;/span> &lt;span style="color:#e6db74">&amp;#34;&amp;#34;&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">var&lt;/span> &lt;span style="color:#a6e22e">referrer&lt;/span> &lt;span style="color:#f92672">=&lt;/span> document.&lt;span style="color:#a6e22e">createElement&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;a&amp;#34;&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">referrer&lt;/span>.&lt;span style="color:#a6e22e">href&lt;/span> &lt;span style="color:#f92672">=&lt;/span> document.&lt;span style="color:#a6e22e">referrer&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">text&lt;/span> &lt;span style="color:#f92672">=&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#39;Hello! 来自 &amp;lt;span style=&amp;#34;color:#0099cc;&amp;#34;&amp;gt;&amp;#39;&lt;/span> &lt;span style="color:#f92672">+&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">referrer&lt;/span>.&lt;span style="color:#a6e22e">hostname&lt;/span> &lt;span style="color:#f92672">+&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;&amp;lt;/span&amp;gt; 的朋友&amp;#34;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">var&lt;/span> &lt;span style="color:#a6e22e">domain&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">referrer&lt;/span>.&lt;span style="color:#a6e22e">hostname&lt;/span>.&lt;span style="color:#a6e22e">split&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;.&amp;#34;&lt;/span>)[&lt;span style="color:#ae81ff">1&lt;/span>];
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (&lt;span style="color:#a6e22e">domain&lt;/span> &lt;span style="color:#f92672">==&lt;/span> &lt;span style="color:#e6db74">&amp;#34;baidu&amp;#34;&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">text&lt;/span> &lt;span style="color:#f92672">=&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#39;Hello! 来自 百度搜索 的朋友&amp;lt;br&amp;gt;你是搜索 &amp;lt;span style=&amp;#34;color:#0099cc;&amp;#34;&amp;gt;&amp;#39;&lt;/span> &lt;span style="color:#f92672">+&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">referrer&lt;/span>.&lt;span style="color:#a6e22e">search&lt;/span>.&lt;span style="color:#a6e22e">split&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;&amp;amp;wd=&amp;#34;&lt;/span>)[&lt;span style="color:#ae81ff">1&lt;/span>].&lt;span style="color:#a6e22e">split&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;&amp;amp;&amp;#34;&lt;/span>)[&lt;span style="color:#ae81ff">0&lt;/span>] &lt;span style="color:#f92672">+&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;&amp;lt;/span&amp;gt; 找到的我吗？&amp;#34;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> } &lt;span style="color:#66d9ef">else&lt;/span> &lt;span style="color:#66d9ef">if&lt;/span> (&lt;span style="color:#a6e22e">domain&lt;/span> &lt;span style="color:#f92672">==&lt;/span> &lt;span style="color:#e6db74">&amp;#34;so&amp;#34;&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">text&lt;/span> &lt;span style="color:#f92672">=&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#39;Hello! 来自 360搜索 的朋友&amp;lt;br&amp;gt;你是搜索 &amp;lt;span style=&amp;#34;color:#0099cc;&amp;#34;&amp;gt;&amp;#39;&lt;/span> &lt;span style="color:#f92672">+&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">referrer&lt;/span>.&lt;span style="color:#a6e22e">search&lt;/span>.&lt;span style="color:#a6e22e">split&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;&amp;amp;q=&amp;#34;&lt;/span>)[&lt;span style="color:#ae81ff">1&lt;/span>].&lt;span style="color:#a6e22e">split&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;&amp;amp;&amp;#34;&lt;/span>)[&lt;span style="color:#ae81ff">0&lt;/span>] &lt;span style="color:#f92672">+&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;&amp;lt;/span&amp;gt; 找到的我吗？&amp;#34;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> } &lt;span style="color:#66d9ef">else&lt;/span> &lt;span style="color:#66d9ef">if&lt;/span> (&lt;span style="color:#a6e22e">domain&lt;/span> &lt;span style="color:#f92672">==&lt;/span> &lt;span style="color:#e6db74">&amp;#34;google&amp;#34;&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">text&lt;/span> &lt;span style="color:#f92672">=&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#39;Hello! 来自 谷歌搜索 的朋友&amp;lt;br&amp;gt;欢迎阅读&amp;lt;span style=&amp;#34;color:#0099cc;&amp;#34;&amp;gt;『&amp;#39;&lt;/span> &lt;span style="color:#f92672">+&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> document.&lt;span style="color:#a6e22e">title&lt;/span>.&lt;span style="color:#a6e22e">split&lt;/span>(&lt;span style="color:#e6db74">&amp;#34; - &amp;#34;&lt;/span>)[&lt;span style="color:#ae81ff">0&lt;/span>] &lt;span style="color:#f92672">+&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;』&amp;lt;/span&amp;gt;&amp;#34;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> } &lt;span style="color:#66d9ef">else&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (window.&lt;span style="color:#a6e22e">location&lt;/span>.&lt;span style="color:#a6e22e">href&lt;/span> &lt;span style="color:#f92672">==&lt;/span> &lt;span style="color:#e6db74">&amp;#34;https://imjad.cn/&amp;#34;&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">//如果是主页
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span> &lt;span style="color:#66d9ef">var&lt;/span> &lt;span style="color:#a6e22e">now&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#66d9ef">new&lt;/span> Date().&lt;span style="color:#a6e22e">getHours&lt;/span>();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (&lt;span style="color:#a6e22e">now&lt;/span> &lt;span style="color:#f92672">&amp;gt;&lt;/span> &lt;span style="color:#ae81ff">23&lt;/span> &lt;span style="color:#f92672">||&lt;/span> &lt;span style="color:#a6e22e">now&lt;/span> &lt;span style="color:#f92672">&amp;lt;=&lt;/span> &lt;span style="color:#ae81ff">5&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">text&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#34;你是夜猫子呀？这么晚还不睡觉，明天起的来嘛&amp;#34;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> } &lt;span style="color:#66d9ef">else&lt;/span> &lt;span style="color:#66d9ef">if&lt;/span> (&lt;span style="color:#a6e22e">now&lt;/span> &lt;span style="color:#f92672">&amp;gt;&lt;/span> &lt;span style="color:#ae81ff">5&lt;/span> &lt;span style="color:#f92672">&amp;amp;&amp;amp;&lt;/span> &lt;span style="color:#a6e22e">now&lt;/span> &lt;span style="color:#f92672">&amp;lt;=&lt;/span> &lt;span style="color:#ae81ff">7&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">text&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#34;早上好！一日之计在于晨，美好的一天就要开始了&amp;#34;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> } &lt;span style="color:#66d9ef">else&lt;/span> &lt;span style="color:#66d9ef">if&lt;/span> (&lt;span style="color:#a6e22e">now&lt;/span> &lt;span style="color:#f92672">&amp;gt;&lt;/span> &lt;span style="color:#ae81ff">7&lt;/span> &lt;span style="color:#f92672">&amp;amp;&amp;amp;&lt;/span> &lt;span style="color:#a6e22e">now&lt;/span> &lt;span style="color:#f92672">&amp;lt;=&lt;/span> &lt;span style="color:#ae81ff">11&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">text&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#34;上午好！工作顺利嘛，不要久坐，多起来走动走动哦！&amp;#34;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> } &lt;span style="color:#66d9ef">else&lt;/span> &lt;span style="color:#66d9ef">if&lt;/span> (&lt;span style="color:#a6e22e">now&lt;/span> &lt;span style="color:#f92672">&amp;gt;&lt;/span> &lt;span style="color:#ae81ff">11&lt;/span> &lt;span style="color:#f92672">&amp;amp;&amp;amp;&lt;/span> &lt;span style="color:#a6e22e">now&lt;/span> &lt;span style="color:#f92672">&amp;lt;=&lt;/span> &lt;span style="color:#ae81ff">14&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">text&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#34;中午了，工作了一个上午，现在是午餐时间！&amp;#34;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> } &lt;span style="color:#66d9ef">else&lt;/span> &lt;span style="color:#66d9ef">if&lt;/span> (&lt;span style="color:#a6e22e">now&lt;/span> &lt;span style="color:#f92672">&amp;gt;&lt;/span> &lt;span style="color:#ae81ff">14&lt;/span> &lt;span style="color:#f92672">&amp;amp;&amp;amp;&lt;/span> &lt;span style="color:#a6e22e">now&lt;/span> &lt;span style="color:#f92672">&amp;lt;=&lt;/span> &lt;span style="color:#ae81ff">17&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">text&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#34;午后很容易犯困呢，今天的运动目标完成了吗？&amp;#34;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> } &lt;span style="color:#66d9ef">else&lt;/span> &lt;span style="color:#66d9ef">if&lt;/span> (&lt;span style="color:#a6e22e">now&lt;/span> &lt;span style="color:#f92672">&amp;gt;&lt;/span> &lt;span style="color:#ae81ff">17&lt;/span> &lt;span style="color:#f92672">&amp;amp;&amp;amp;&lt;/span> &lt;span style="color:#a6e22e">now&lt;/span> &lt;span style="color:#f92672">&amp;lt;=&lt;/span> &lt;span style="color:#ae81ff">19&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">text&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#34;傍晚了！窗外夕阳的景色很美丽呢，最美不过夕阳红~&amp;#34;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> } &lt;span style="color:#66d9ef">else&lt;/span> &lt;span style="color:#66d9ef">if&lt;/span> (&lt;span style="color:#a6e22e">now&lt;/span> &lt;span style="color:#f92672">&amp;gt;&lt;/span> &lt;span style="color:#ae81ff">19&lt;/span> &lt;span style="color:#f92672">&amp;amp;&amp;amp;&lt;/span> &lt;span style="color:#a6e22e">now&lt;/span> &lt;span style="color:#f92672">&amp;lt;=&lt;/span> &lt;span style="color:#ae81ff">21&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">text&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#34;晚上好，今天过得怎么样？&amp;#34;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> } &lt;span style="color:#66d9ef">else&lt;/span> &lt;span style="color:#66d9ef">if&lt;/span> (&lt;span style="color:#a6e22e">now&lt;/span> &lt;span style="color:#f92672">&amp;gt;&lt;/span> &lt;span style="color:#ae81ff">21&lt;/span> &lt;span style="color:#f92672">&amp;amp;&amp;amp;&lt;/span> &lt;span style="color:#a6e22e">now&lt;/span> &lt;span style="color:#f92672">&amp;lt;=&lt;/span> &lt;span style="color:#ae81ff">23&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">text&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#34;已经这么晚了呀，早点休息吧，晚安~&amp;#34;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> } &lt;span style="color:#66d9ef">else&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">text&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#34;嗨~ 快来逗我玩吧！&amp;#34;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> } &lt;span style="color:#66d9ef">else&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">text&lt;/span> &lt;span style="color:#f92672">=&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#39;欢迎阅读&amp;lt;span style=&amp;#34;color:#0099cc;&amp;#34;&amp;gt;『&amp;#39;&lt;/span> &lt;span style="color:#f92672">+&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> document.&lt;span style="color:#a6e22e">title&lt;/span>.&lt;span style="color:#a6e22e">split&lt;/span>(&lt;span style="color:#e6db74">&amp;#34; - &amp;#34;&lt;/span>)[&lt;span style="color:#ae81ff">0&lt;/span>] &lt;span style="color:#f92672">+&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;』&amp;lt;/span&amp;gt;&amp;#34;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">showMessage&lt;/span>(&lt;span style="color:#a6e22e">text&lt;/span>, &lt;span style="color:#ae81ff">6000&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>})();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>window.&lt;span style="color:#a6e22e">setInterval&lt;/span>(&lt;span style="color:#a6e22e">showHitokoto&lt;/span>, &lt;span style="color:#ae81ff">30000&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">function&lt;/span> &lt;span style="color:#a6e22e">showHitokoto&lt;/span>() {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">$&lt;/span>.&lt;span style="color:#a6e22e">getJSON&lt;/span>(
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;https://api.imjad.cn/hitokoto/?cat=&amp;amp;charset=utf-8&amp;amp;length=28&amp;amp;encode=json&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">function&lt;/span> (&lt;span style="color:#a6e22e">result&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">showMessage&lt;/span>(&lt;span style="color:#a6e22e">result&lt;/span>.&lt;span style="color:#a6e22e">hitokoto&lt;/span>, &lt;span style="color:#ae81ff">5000&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> );
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">function&lt;/span> &lt;span style="color:#a6e22e">showMessage&lt;/span>(&lt;span style="color:#a6e22e">text&lt;/span>, &lt;span style="color:#a6e22e">timeout&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (Array.&lt;span style="color:#a6e22e">isArray&lt;/span>(&lt;span style="color:#a6e22e">text&lt;/span>))
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">text&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">text&lt;/span>[Math.&lt;span style="color:#a6e22e">floor&lt;/span>(Math.&lt;span style="color:#a6e22e">random&lt;/span>() &lt;span style="color:#f92672">*&lt;/span> &lt;span style="color:#a6e22e">text&lt;/span>.&lt;span style="color:#a6e22e">length&lt;/span> &lt;span style="color:#f92672">+&lt;/span> &lt;span style="color:#ae81ff">1&lt;/span>) &lt;span style="color:#f92672">-&lt;/span> &lt;span style="color:#ae81ff">1&lt;/span>];
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">console&lt;/span>.&lt;span style="color:#a6e22e">log&lt;/span>(&lt;span style="color:#a6e22e">text&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">$&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;.waifu-tips&amp;#34;&lt;/span>).&lt;span style="color:#a6e22e">stop&lt;/span>();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">$&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;.waifu-tips&amp;#34;&lt;/span>).&lt;span style="color:#a6e22e">html&lt;/span>(&lt;span style="color:#a6e22e">text&lt;/span>).&lt;span style="color:#a6e22e">fadeTo&lt;/span>(&lt;span style="color:#ae81ff">200&lt;/span>, &lt;span style="color:#ae81ff">1&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (&lt;span style="color:#a6e22e">timeout&lt;/span> &lt;span style="color:#f92672">===&lt;/span> &lt;span style="color:#66d9ef">null&lt;/span>) &lt;span style="color:#a6e22e">timeout&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">5000&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">hideMessage&lt;/span>(&lt;span style="color:#a6e22e">timeout&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">function&lt;/span> &lt;span style="color:#a6e22e">hideMessage&lt;/span>(&lt;span style="color:#a6e22e">timeout&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">$&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;.waifu-tips&amp;#34;&lt;/span>).&lt;span style="color:#a6e22e">stop&lt;/span>().&lt;span style="color:#a6e22e">css&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;opacity&amp;#34;&lt;/span>, &lt;span style="color:#ae81ff">1&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (&lt;span style="color:#a6e22e">timeout&lt;/span> &lt;span style="color:#f92672">===&lt;/span> &lt;span style="color:#66d9ef">null&lt;/span>) &lt;span style="color:#a6e22e">timeout&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">5000&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">$&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;.waifu-tips&amp;#34;&lt;/span>).&lt;span style="color:#a6e22e">delay&lt;/span>(&lt;span style="color:#a6e22e">timeout&lt;/span>).&lt;span style="color:#a6e22e">fadeTo&lt;/span>(&lt;span style="color:#ae81ff">200&lt;/span>, &lt;span style="color:#ae81ff">0&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="新建waifu-tipsjson可以设置看板娘交互文字">&lt;a href="#%e6%96%b0%e5%bb%bawaifu-tipsjson%e5%8f%af%e4%bb%a5%e8%ae%be%e7%bd%ae%e7%9c%8b%e6%9d%bf%e5%a8%98%e4%ba%a4%e4%ba%92%e6%96%87%e5%ad%97" class="header-anchor">&lt;/a>新建&lt;code>waifu-tips.json&lt;/code>，可以设置看板娘交互文字
&lt;/h3>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-json" data-lang="json">&lt;span style="display:flex;">&lt;span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;mouseover&amp;#34;&lt;/span>: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;.container a[href^=&amp;#39;http&amp;#39;]&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: [&lt;span style="color:#e6db74">&amp;#34;要看看 &amp;lt;span style=\&amp;#34;color:#0099cc;\&amp;#34;&amp;gt;{text}&amp;lt;/span&amp;gt; 么？&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;.fui-home&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: [&lt;span style="color:#e6db74">&amp;#34;点击前往首页，想回到上一页可以使用浏览器的后退功能哦&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;#tor_show&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: [&lt;span style="color:#e6db74">&amp;#34;翻页比较麻烦吗，点击可以显示这篇文章的目录呢&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;#comment_go,.fui-chat&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: [&lt;span style="color:#e6db74">&amp;#34;想要去评论些什么吗？&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;#night_mode&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: [&lt;span style="color:#e6db74">&amp;#34;深夜时要爱护眼睛呀&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;#qrcode&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: [&lt;span style="color:#e6db74">&amp;#34;手机扫一下就能继续看，很方便呢&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;.comment_reply&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: [&lt;span style="color:#e6db74">&amp;#34;要吐槽些什么呢&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;#back-to-top&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: [&lt;span style="color:#e6db74">&amp;#34;回到开始的地方吧&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;#author&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: [&lt;span style="color:#e6db74">&amp;#34;该怎么称呼你呢&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;#mail&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: [&lt;span style="color:#e6db74">&amp;#34;留下你的邮箱，不然就是无头像人士了&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;#url&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: [&lt;span style="color:#e6db74">&amp;#34;你的家在哪里呢，好让我去参观参观&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;#textarea&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: [&lt;span style="color:#e6db74">&amp;#34;认真填写哦，垃圾评论是禁止事项&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;.OwO-logo&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: [&lt;span style="color:#e6db74">&amp;#34;要插入一个表情吗&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;#csubmit&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: [&lt;span style="color:#e6db74">&amp;#34;要提交了吗，首次评论需要审核，请耐心等待~&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;.ImageBox&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: [&lt;span style="color:#e6db74">&amp;#34;点击图片可以放大呢&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;input[name=s]&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: [&lt;span style="color:#e6db74">&amp;#34;找不到想看的内容？搜索看看吧&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;.previous&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: [&lt;span style="color:#e6db74">&amp;#34;去上一页看看吧&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;.next&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: [&lt;span style="color:#e6db74">&amp;#34;去下一页看看吧&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;.dropdown-toggle&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: [&lt;span style="color:#e6db74">&amp;#34;这里是菜单&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;c-player a.play-icon&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: [&lt;span style="color:#e6db74">&amp;#34;想要听点音乐吗&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;c-player div.time&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: [&lt;span style="color:#e6db74">&amp;#34;在这里可以调整&amp;lt;span style=\&amp;#34;color:#0099cc;\&amp;#34;&amp;gt;播放进度&amp;lt;/span&amp;gt;呢&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;c-player div.volume&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: [&lt;span style="color:#e6db74">&amp;#34;在这里可以调整&amp;lt;span style=\&amp;#34;color:#0099cc;\&amp;#34;&amp;gt;音量&amp;lt;/span&amp;gt;呢&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;c-player div.list-button&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: [&lt;span style="color:#e6db74">&amp;#34;&amp;lt;span style=\&amp;#34;color:#0099cc;\&amp;#34;&amp;gt;播放列表&amp;lt;/span&amp;gt;里都有什么呢&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;c-player div.lyric-button&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: [&lt;span style="color:#e6db74">&amp;#34;有&amp;lt;span style=\&amp;#34;color:#0099cc;\&amp;#34;&amp;gt;歌词&amp;lt;/span&amp;gt;的话就能跟着一起唱呢&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;.waifu #live2d&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: [&lt;span style="color:#e6db74">&amp;#34;干嘛呢你，快把手拿开&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;鼠…鼠标放错地方了！&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;click&amp;#34;&lt;/span>: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;.waifu #live2d&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: [&lt;span style="color:#e6db74">&amp;#34;是…是不小心碰到了吧&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;萝莉控是什么呀&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;你看到我的小熊了吗&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;再摸的话我可要报警了！?●﹏●?&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;110吗，这里有个变态一直在摸我(ó﹏ò?)&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="新建stylecss">&lt;a href="#%e6%96%b0%e5%bb%bastylecss" class="header-anchor">&lt;/a>新建&lt;code>style.css&lt;/code>
&lt;/h3>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-css" data-lang="css">&lt;span style="display:flex;">&lt;span>.&lt;span style="color:#a6e22e">waifu&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">position&lt;/span>: &lt;span style="color:#66d9ef">fixed&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">bottom&lt;/span>: &lt;span style="color:#ae81ff">0&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">left&lt;/span>: &lt;span style="color:#ae81ff">0&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">z-index&lt;/span>: &lt;span style="color:#ae81ff">1&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">font-size&lt;/span>: &lt;span style="color:#ae81ff">0&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transition&lt;/span>: &lt;span style="color:#66d9ef">all&lt;/span> &lt;span style="color:#ae81ff">0.3&lt;/span>&lt;span style="color:#66d9ef">s&lt;/span> &lt;span style="color:#66d9ef">ease-in-out&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">-webkit-&lt;/span>&lt;span style="color:#66d9ef">transform&lt;/span>: translateY(&lt;span style="color:#ae81ff">3&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translateY(&lt;span style="color:#ae81ff">3&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>.&lt;span style="color:#a6e22e">waifu&lt;/span>:&lt;span style="color:#a6e22e">hover&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">-webkit-&lt;/span>&lt;span style="color:#66d9ef">transform&lt;/span>: translateY(&lt;span style="color:#ae81ff">0&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translateY(&lt;span style="color:#ae81ff">0&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>@&lt;span style="color:#66d9ef">media&lt;/span> &lt;span style="color:#f92672">(&lt;/span>&lt;span style="color:#f92672">max-width&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">768px&lt;/span>&lt;span style="color:#f92672">)&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> .&lt;span style="color:#a6e22e">waifu&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">display&lt;/span>: &lt;span style="color:#66d9ef">none&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>.&lt;span style="color:#a6e22e">waifu-tips&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">opacity&lt;/span>: &lt;span style="color:#ae81ff">0&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">width&lt;/span>: &lt;span style="color:#ae81ff">250&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">height&lt;/span>: &lt;span style="color:#ae81ff">70&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">margin&lt;/span>: &lt;span style="color:#ae81ff">-20&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span> &lt;span style="color:#ae81ff">20&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">padding&lt;/span>: &lt;span style="color:#ae81ff">5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span> &lt;span style="color:#ae81ff">10&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">border&lt;/span>: &lt;span style="color:#ae81ff">1&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span> &lt;span style="color:#66d9ef">solid&lt;/span> rgba(&lt;span style="color:#ae81ff">224&lt;/span>, &lt;span style="color:#ae81ff">186&lt;/span>, &lt;span style="color:#ae81ff">140&lt;/span>, &lt;span style="color:#ae81ff">0.62&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">border-radius&lt;/span>: &lt;span style="color:#ae81ff">12&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">background-color&lt;/span>: rgba(&lt;span style="color:#ae81ff">236&lt;/span>, &lt;span style="color:#ae81ff">217&lt;/span>, &lt;span style="color:#ae81ff">188&lt;/span>, &lt;span style="color:#ae81ff">0.5&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">box-shadow&lt;/span>: &lt;span style="color:#ae81ff">0&lt;/span> &lt;span style="color:#ae81ff">3&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span> &lt;span style="color:#ae81ff">15&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span> &lt;span style="color:#ae81ff">2&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span> rgba(&lt;span style="color:#ae81ff">191&lt;/span>, &lt;span style="color:#ae81ff">158&lt;/span>, &lt;span style="color:#ae81ff">118&lt;/span>, &lt;span style="color:#ae81ff">0.2&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">font-size&lt;/span>: &lt;span style="color:#ae81ff">12&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">text-overflow&lt;/span>: &lt;span style="color:#66d9ef">ellipsis&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">overflow&lt;/span>: &lt;span style="color:#66d9ef">hidden&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">position&lt;/span>: &lt;span style="color:#66d9ef">absolute&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">animation-delay&lt;/span>: &lt;span style="color:#ae81ff">5&lt;/span>&lt;span style="color:#66d9ef">s&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">animation-duration&lt;/span>: &lt;span style="color:#ae81ff">50&lt;/span>&lt;span style="color:#66d9ef">s&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">animation-iteration-count&lt;/span>: &lt;span style="color:#66d9ef">infinite&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">animation-name&lt;/span>: shake;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">animation-timing-function&lt;/span>: &lt;span style="color:#66d9ef">ease-in-out&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>.&lt;span style="color:#a6e22e">waifu&lt;/span> #live2d {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">position&lt;/span>: &lt;span style="color:#66d9ef">relative&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>@&lt;span style="color:#66d9ef">keyframes&lt;/span> &lt;span style="color:#f92672">shake&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">2&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">-1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">-0.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">4&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">6&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">8&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">2.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">10&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">2.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">12&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">14&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">16&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">-1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">-0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">18&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">20&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">2.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">2.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">22&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">-1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">24&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">-1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">-0.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">26&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">28&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">-0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">-0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">-0.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">30&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">-0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">-0.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">32&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">2.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">-1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">34&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">2.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">2.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">-0.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">36&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">-1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">38&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">2.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">-0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">-0.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">40&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">-0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">2.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">42&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">-1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">2.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">44&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">-1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">46&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">-0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">-0.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">48&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">2.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">-0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">50&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">-1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">52&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">-0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">54&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">-1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">56&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">2.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">58&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">2.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">2.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">60&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">2.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">-1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">62&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">-1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">64&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">-1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">66&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">2.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">68&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">2.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">-1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">70&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">2.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">2.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">72&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">-0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">-1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">74&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">-1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">2.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">76&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">-1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">2.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">78&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">-1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">2.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">80&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">-1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">-0.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">82&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">-1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">-0.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">84&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">-0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">86&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">2.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">88&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">-1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">90&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">-1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">-0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">-0.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">92&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">-1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">-1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">1.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">94&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">-0.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">96&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">2.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">-0.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">-0.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">98&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">-1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>, &lt;span style="color:#ae81ff">-1.5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>) rotate(&lt;span style="color:#ae81ff">-0.5&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">0&lt;/span>&lt;span style="color:#f92672">%,&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">100&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translate(&lt;span style="color:#ae81ff">0&lt;/span>, &lt;span style="color:#ae81ff">0&lt;/span>) rotate(&lt;span style="color:#ae81ff">0&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="网页中插入以下内容">&lt;a href="#%e7%bd%91%e9%a1%b5%e4%b8%ad%e6%8f%92%e5%85%a5%e4%bb%a5%e4%b8%8b%e5%86%85%e5%ae%b9" class="header-anchor">&lt;/a>网页中插入以下内容
&lt;/h3>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-html" data-lang="html">&lt;span style="display:flex;">&lt;span>&amp;lt;&lt;span style="color:#f92672">link&lt;/span> &lt;span style="color:#a6e22e">rel&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;stylesheet&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">href&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;style.css&amp;#34;&lt;/span> /&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;&lt;span style="color:#f92672">div&lt;/span> &lt;span style="color:#a6e22e">class&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;waifu&amp;#34;&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;lt;&lt;span style="color:#f92672">div&lt;/span> &lt;span style="color:#a6e22e">class&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;waifu-tips&amp;#34;&lt;/span>&amp;gt;&amp;lt;/&lt;span style="color:#f92672">div&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;lt;&lt;span style="color:#f92672">canvas&lt;/span> &lt;span style="color:#a6e22e">id&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;live2d&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">width&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;280&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">height&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;250&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">class&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;live2d&amp;#34;&lt;/span>&amp;gt;&amp;lt;/&lt;span style="color:#f92672">canvas&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;/&lt;span style="color:#f92672">div&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;&lt;span style="color:#f92672">script&lt;/span> &lt;span style="color:#a6e22e">src&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;//cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js&amp;#34;&lt;/span>&amp;gt;&amp;lt;/&lt;span style="color:#f92672">script&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;&lt;span style="color:#f92672">script&lt;/span> &lt;span style="color:#a6e22e">async&lt;/span> &lt;span style="color:#a6e22e">src&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;waifu-tips.js&amp;#34;&lt;/span>&amp;gt;&amp;lt;/&lt;span style="color:#f92672">script&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;&lt;span style="color:#f92672">script&lt;/span> &lt;span style="color:#a6e22e">src&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;live2d.js&amp;#34;&lt;/span>&amp;gt;&amp;lt;/&lt;span style="color:#f92672">script&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;&lt;span style="color:#f92672">script&lt;/span> &lt;span style="color:#a6e22e">type&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;text/javascript&amp;#34;&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">// 这里填写模型的model.json的地址
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span> &lt;span style="color:#a6e22e">loadlive2d&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;live2d&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;models/snow_miku/model.json&amp;#34;&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;/&lt;span style="color:#f92672">script&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="其中model需要自己制造或者下载大佬分享的">&lt;a href="#%e5%85%b6%e4%b8%admodel%e9%9c%80%e8%a6%81%e8%87%aa%e5%b7%b1%e5%88%b6%e9%80%a0%e6%88%96%e8%80%85%e4%b8%8b%e8%bd%bd%e5%a4%a7%e4%bd%ac%e5%88%86%e4%ba%ab%e7%9a%84" class="header-anchor">&lt;/a>其中model需要自己制造或者下载大佬分享的
&lt;/h3>&lt;p>这个网站有一些分享的模型：https://mx.paul.ren/&lt;/p>
&lt;h2 id="案例">&lt;a href="#%e6%a1%88%e4%be%8b" class="header-anchor">&lt;/a>案例
&lt;/h2>&lt;p>&lt;a class="link" href="https://pan.2bboy.com/home/test/live2d/" target="_blank" rel="noopener"
>https://pan.2bboy.com/home/test/live2d/&lt;/a>&lt;/p></description></item><item><title>TCP/IP协议总结</title><link>https://kizx.github.io/post/tcpip%E5%8D%8F%E8%AE%AE%E6%80%BB%E7%BB%93/</link><pubDate>Sun, 25 Apr 2021 13:58:00 +0000</pubDate><guid>https://kizx.github.io/post/tcpip%E5%8D%8F%E8%AE%AE%E6%80%BB%E7%BB%93/</guid><description>&lt;p>一般将TCP/IP分为四层，OSI参考模型分为7层
&lt;img src="https://www.2bboy.com/usr/uploads/2021/04/4107358796.png"
loading="lazy"
>&lt;/p>
&lt;h3 id="7-应用层">&lt;a href="#7-%e5%ba%94%e7%94%a8%e5%b1%82" class="header-anchor">&lt;/a>7 应用层
&lt;/h3>&lt;ul>
&lt;li>针对每个应用程序的协议&lt;/li>
&lt;li>如电子邮件协议、远程登录协议、文件传输协议ftp、http、DNS、URI、SSH&lt;/li>
&lt;/ul>
&lt;h3 id="6-表示层">&lt;a href="#6-%e8%a1%a8%e7%a4%ba%e5%b1%82" class="header-anchor">&lt;/a>6 表示层
&lt;/h3>&lt;ul>
&lt;li>设备固有数据格式和网络标准数据格式间的转换&lt;/li>
&lt;/ul>
&lt;h3 id="5-会话层">&lt;a href="#5-%e4%bc%9a%e8%af%9d%e5%b1%82" class="header-anchor">&lt;/a>5 会话层
&lt;/h3>&lt;ul>
&lt;li>通信管理，负责建立和断开通信连接，以及数据分割等处理&lt;/li>
&lt;/ul>
&lt;h3 id="4-传输层">&lt;a href="#4-%e4%bc%a0%e8%be%93%e5%b1%82" class="header-anchor">&lt;/a>4 传输层
&lt;/h3>&lt;ul>
&lt;li>负责管理两个节点之间的数据可靠传输（确保数据可靠地传送到目标地址）&lt;/li>
&lt;li>TCP、UDP协议&lt;/li>
&lt;/ul>
&lt;h3 id="3-网络层">&lt;a href="#3-%e7%bd%91%e7%bb%9c%e5%b1%82" class="header-anchor">&lt;/a>3 网络层
&lt;/h3>&lt;ul>
&lt;li>主要负责寻址和路由选择&lt;/li>
&lt;li>IP协议(IPv4\IPv6)、ARP、ICMP&lt;/li>
&lt;/ul>
&lt;h3 id="2-数据链路层">&lt;a href="#2-%e6%95%b0%e6%8d%ae%e9%93%be%e8%b7%af%e5%b1%82" class="header-anchor">&lt;/a>2 数据链路层
&lt;/h3>&lt;ul>
&lt;li>互联设备之间的传送和数据帧的生成与接收&lt;/li>
&lt;li>通过MAC来唯一标识(MAC,物理地址，一个主机会有一个MAC地址)&lt;/li>
&lt;/ul>
&lt;h3 id="1-物理层">&lt;a href="#1-%e7%89%a9%e7%90%86%e5%b1%82" class="header-anchor">&lt;/a>1 物理层
&lt;/h3>&lt;ul>
&lt;li>数字信号和点子信号间的转换&lt;/li>
&lt;/ul>
&lt;h2 id="数据发送和接收">&lt;a href="#%e6%95%b0%e6%8d%ae%e5%8f%91%e9%80%81%e5%92%8c%e6%8e%a5%e6%94%b6" class="header-anchor">&lt;/a>数据发送和接收
&lt;/h2>&lt;p>每个分层中，都会对所发送的数据附加一个首部，每个包首部中至少会包含两个信息：发送端地址和接收端地址。以太网用MAC地址，网络层用IP地址，TCP/UDP会用端口号。
另外每个分层包首部还包含一个标志位，用来标志上一层协议种类信息
&lt;img src="https://www.2bboy.com/usr/uploads/2021/08/1852406209.png"
loading="lazy"
>&lt;/p>
&lt;h2 id="ip协议">&lt;a href="#ip%e5%8d%8f%e8%ae%ae" class="header-anchor">&lt;/a>IP协议
&lt;/h2>&lt;p>IPv4地址由32位数表示，ip地址由网络地址（网络标识）和主机地址（主机标识）两部分组成。网络地址和主机地址的分段以子网掩码区分，子网掩码的主要作用有两个，一是用于屏蔽IP地址的一部分以区别网络标识和主机标识，并说明该IP地址是在局域网上，还是在远程网上。二是用于将一个大的IP网络划分为若干小的子网络。子网掩码可在ip地址后加上/表示，比如172.20.0.0/16或172.20/16
IP地址分类
&lt;img src="https://www.2bboy.com/usr/uploads/2021/08/613853137.png"
loading="lazy"
>&lt;/p>
&lt;blockquote>
&lt;p>A类&lt;/p>&lt;/blockquote>
&lt;ul>
&lt;li>0开头&lt;/li>
&lt;li>区间：0.0.0.0~127.0.0.0&lt;/li>
&lt;li>子网掩码：255.0.0.0&lt;/li>
&lt;li>私有地址：10.0.0.0~10.255.255.255(10/8)&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>B类&lt;/p>&lt;/blockquote>
&lt;ul>
&lt;li>10开头&lt;/li>
&lt;li>区间：128.0.0.0~191.255.0.0&lt;/li>
&lt;li>子网掩码：255.255.0.0&lt;/li>
&lt;li>私有地址：172.16.0.0~172.31.255.255(172.16/12)&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>C类&lt;/p>&lt;/blockquote>
&lt;ul>
&lt;li>110开头&lt;/li>
&lt;li>区间：192.0.0.0~223.255.255.0&lt;/li>
&lt;li>子网掩码：255.255.255.0&lt;/li>
&lt;li>私有地址：192.168.0.0~192.168.255.255(192.168/16)&lt;/li>
&lt;li>每个网段只有254个地址，因为全0表示对应网段或地址不可知，全1表示广播地址&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>D类&lt;/p>&lt;/blockquote>
&lt;ul>
&lt;li>1110开头&lt;/li>
&lt;li>区间：224.0.0.0~239.255.255.255&lt;/li>
&lt;li>子网掩码：255.255.255.255&lt;/li>
&lt;li>多拨地址&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>E类&lt;/p>&lt;/blockquote>
&lt;ul>
&lt;li>区间：240.0.0.0~255.255.255.254&lt;/li>
&lt;li>保留地址&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>广播地址&lt;/p>&lt;/blockquote>
&lt;ul>
&lt;li>将主机地址全部设为1，就是广播地址&lt;/li>
&lt;/ul>
&lt;h2 id="arprarp协议">&lt;a href="#arprarp%e5%8d%8f%e8%ae%ae" class="header-anchor">&lt;/a>ARP/RARP协议
&lt;/h2>&lt;ul>
&lt;li>ARP 是根据IP地址获取MAC地址的一种协议。
在以太网上发送ip包时，因为链路层需要知道MAC地址，先根据ip地址查一下ARP缓存，如果没有查到，则发送一个ARP协议广播包，这个广播包里面就有待查询的IP地址，而直接收到这份广播的包的所有主机都会查询自己的IP地址，如果收到广播包的某一个主机发现自己符合条件，那么就准备好一个包含自己的MAC地址的ARP包传送给发送ARP广播的主机。广播主机拿到ARP包后会更新自己的ARP缓存。
只适用于ipv4，ipv6中用ICMPv6代替。&lt;/li>
&lt;li>RARP 是从MAC地址定位ip地址的一种协议。&lt;/li>
&lt;li>arp 命令&lt;/li>
&lt;/ul>
&lt;h2 id="icmp协议">&lt;a href="#icmp%e5%8d%8f%e8%ae%ae" class="header-anchor">&lt;/a>ICMP协议
&lt;/h2>&lt;p>ICMP的主要功能包括，确认IP包是否成功到达目标地址，通知发送过程中ip包被弃用的原因，改善网络设置等。当传送IP数据包发生错误，比如主机不可达，路由不可达等等，ICMP协议将会把错误信息封包，然后传送回给主机。
常用命令&lt;/p>
&lt;ul>
&lt;li>ping&lt;/li>
&lt;li>traceroute&lt;/li>
&lt;/ul>
&lt;h2 id="nat">&lt;a href="#nat" class="header-anchor">&lt;/a>NAT
&lt;/h2>&lt;p>NAT用于在局域网中使用私有地址，在链接互联网时使用全局ip地址，除ip地址转换外，还有可以转换TCP、UDP端口号的NAPT技术。
缺点：不能从NAT外部向内部服务器建立连接&lt;/p>
&lt;h2 id="tcpudp">&lt;a href="#tcpudp" class="header-anchor">&lt;/a>TCP/UDP
&lt;/h2>&lt;p>&lt;img src="https://www.2bboy.com/usr/uploads/2021/04/1914358805.jpg"
loading="lazy"
>&lt;/p>
&lt;h3 id="tcp连接的建立与终止">&lt;a href="#tcp%e8%bf%9e%e6%8e%a5%e7%9a%84%e5%bb%ba%e7%ab%8b%e4%b8%8e%e7%bb%88%e6%ad%a2" class="header-anchor">&lt;/a>TCP连接的建立与终止
&lt;/h3>&lt;h4 id="三次握手">&lt;a href="#%e4%b8%89%e6%ac%a1%e6%8f%a1%e6%89%8b" class="header-anchor">&lt;/a>三次握手
&lt;/h4>&lt;p>&lt;img src="https://www.2bboy.com/usr/uploads/2021/04/3827282675.jpg"
loading="lazy"
>&lt;/p>
&lt;ul>
&lt;li>第一次握手：建立连接。客户端发送连接请求报文段，将SYN位置为1，Sequence Number为x；然后，客户端进入SYN_SEND状态，等待服务器的确认；&lt;/li>
&lt;li>第二次握手：服务器收到SYN报文段。服务器收到客户端的SYN报文段，需要对这个SYN报文段进行确认，设置Acknowledgment Number为x+1(Sequence Number+1)；同时，自己自己还要发送SYN请求信息，将SYN位置为1，Sequence Number为Y；服务器端将上述所有信息放到一个报文段（即SYN+ACK报文段）中，一并发送给客户端，此时服务器进入SYN_RECV状态；&lt;/li>
&lt;li>第三次握手：客户端收到服务器的SYN+ACK报文段。然后将Acknowledgment Number设置为y+1，向服务器发送ACK报文段，这个报文段发送完毕以后，客户端和服务器端都进入ESTABLISHED状态，完成TCP三次握手。&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>为什么要三次握手？两报文握手可以吗？
为了防止已失效的连接请求报文段突然又传送到了服务端，因而产生错误。&lt;/p>&lt;/blockquote>
&lt;p>具体例子：“已失效的连接请求报文段”的产生在这样一种情况下：client发出的第一个连接请求报文段并没有丢失，而是在某个网络结点长时间的滞留了，以致延误到连接释放以后的某个时间才到达server。本来这是一个早已失效的报文段。但server收到此失效的连接请求报文段后，就误认为是client再次发出的一个新的连接请求。&lt;/p>
&lt;p>于是就向client发出确认报文段，同意建立连接。假设不采用“三次握手”，那么只要server发出确认，新的连接就建立了。由于现在client并没有发出建立连接的请求，因此不会理睬server的确认，也不会向server发送数据。但server却以为新的运输连接已经建立，并一直等待client发来数据。这样，server的很多资源就白白浪费掉了。采用“三次握手”的办法可以防止上述现象发生。例如刚才那种情况，client不会向server的确认发出确认。server由于收不到确认，就知道client并没有要求建立连接。”&lt;/p>
&lt;h4 id="四次分手">&lt;a href="#%e5%9b%9b%e6%ac%a1%e5%88%86%e6%89%8b" class="header-anchor">&lt;/a>四次分手
&lt;/h4>&lt;p>&lt;img src="https://www.2bboy.com/usr/uploads/2021/04/4106741456.jpg"
loading="lazy"
>&lt;/p>
&lt;ul>
&lt;li>第一次分手：主机1（可以使客户端，也可以是服务器端），设置Sequence Number，向主机2发送一个FIN报文段；此时，主机1进入FIN_WAIT_1状态；这表示主机1没有数据要发送给主机2了；&lt;/li>
&lt;li>第二次分手：主机2收到了主机1发送的FIN报文段，向主机1回一个ACK报文段，Acknowledgment Number为Sequence Number加1；主机1进入FIN_WAIT_2状态；主机2告诉主机1，我“同意”你的关闭请求；&lt;/li>
&lt;li>第三次分手：主机2向主机1发送FIN报文段，请求关闭连接，同时主机2进入LAST_ACK状态；&lt;/li>
&lt;li>第四次分手：主机1收到主机2发送的FIN报文段，向主机2发送ACK报文段，然后主机1进入TIME_WAIT状态；主机2收到主机1的ACK报文段以后，就关闭连接；此时，主机1等待2MSL后依然没有收到回复，则证明Server端已正常关闭，那好，主机1也可以关闭连接了。&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>为什么要四次分手？
TCP协议是一种面向连接的、可靠的、基于字节流的运输层通信协议。TCP是全双工模式，这就意味着，当主机1发出FIN报文段时，只是表示主机1已经没有数据要发送了，主机1告诉主机2，它的数据已经全部发送完毕了；但是，这个时候主机1还是可以接受来自主机2的数据；当主机2返回ACK报文段时，表示它已经知道主机1没有数据发送了，但是主机2还是可以发送数据到主机1的；当主机2也发送了FIN报文段时，这个时候就表示主机2也没有数据要发送了，就会告诉主机1，我也没有数据要发送了，之后彼此就会愉快的中断这次TCP连接。
为什么要等待2MSL
MSL：报文段最大生存时间，它是任何报文段被丢弃前在网络内的最长时间。&lt;/p>&lt;/blockquote>
&lt;ul>
&lt;li>保证TCP协议的全双工连接能够可靠关闭&lt;/li>
&lt;li>保证这次连接的重复数据段从网络中消失
第一点：如果主机1直接CLOSED了，那么由于IP协议的不可靠性或者是其它网络原因，导致主机2没有收到主机1最后回复的ACK。那么主机2就会在超时之后继续发送FIN，此时由于主机1已经CLOSED了，就找不到与重发的FIN对应的连接。所以，主机1不是直接进入CLOSED，而是要保持TIME_WAIT，当再次收到FIN的时候，能够保证对方收到ACK，最后正确的关闭连接。
第二点：如果主机1直接CLOSED，然后又再向主机2发起一个新连接，我们不能保证这个新连接与刚关闭的连接的端口号是不同的。也就是说有可能新连接和老连接的端口号是相同的。一般来说不会发生什么问题，但是还是有特殊情况出现：假设新连接和已经关闭的老连接端口号是一样的，如果前一次连接的某些数据仍然滞留在网络中，这些延迟数据在建立新连接之后才到达主机2，由于新连接和老连接的端口号是一样的，TCP协议就认为那个延迟的数据是属于新连接的，这样就和真正的新连接的数据包发生混淆了。所以TCP连接还要在TIME_WAIT状态等待2倍MSL，这样可以保证本次连接的所有数据都从网络中消失。&lt;/li>
&lt;/ul>
&lt;h3 id="窗口控制">&lt;a href="#%e7%aa%97%e5%8f%a3%e6%8e%a7%e5%88%b6" class="header-anchor">&lt;/a>窗口控制
&lt;/h3>&lt;p>如果每发一个段都进行一次确认应答会很慢，于是引入窗口概念，发松端无需等待确认应答而是继续发送，窗口大小就是指无需等待确认应答的可以继续发送数据的最大值。
确认应答丢失不会重发；报文段丢失，发松端连续3次收到收到同一个确认应答就会进行重发。&lt;/p>
&lt;h3 id="流量控制">&lt;a href="#%e6%b5%81%e9%87%8f%e6%8e%a7%e5%88%b6" class="header-anchor">&lt;/a>流量控制
&lt;/h3>&lt;p>如果发送方把数据发送得过快，接收方可能会来不及接收，这就会造成数据的丢失。所谓流量控制就是让发送方的发送速率不要太快，要让接收方来得及接收。
TCP首部中，有一个字段用来通知窗口大小。利用滑动窗口机制可以很方便地在TCP连接上实现对发送方的流量控制。
接收端的缓冲区一旦面临数据溢出时，窗口大的值就会设置为一个更小的值通知给发松端，发松端就会根据接收端的指示，进行流量控制。&lt;/p>
&lt;h3 id="拥塞控制">&lt;a href="#%e6%8b%a5%e5%a1%9e%e6%8e%a7%e5%88%b6" class="header-anchor">&lt;/a>拥塞控制
&lt;/h3>&lt;p>&lt;img src="https://www.2bboy.com/usr/uploads/2021/04/571334133.jpg"
loading="lazy"
>
发送方维持一个拥塞窗口 cwnd ( congestion window )的状态变量。拥塞窗口的大小取决于网络的拥塞程度，并且动态地在变化。发送方让自己的发送窗口等于拥塞窗口。
发送方控制拥塞窗口的原则是：只要网络没有出现拥塞，拥塞窗口就再增大一些，以便把更多的分组发送出去。但只要网络出现拥塞，拥塞窗口就减小一些，以减少注入到网络中的分组数。&lt;/p>
&lt;ol>
&lt;li>当 cwnd &amp;lt; ssthresh 时，使用上述的慢开始算法。&lt;/li>
&lt;li>当 cwnd &amp;gt; ssthresh 时，停止使用慢开始算法而改用拥塞避免算法。&lt;/li>
&lt;li>当 cwnd = ssthresh 时，既可使用慢开始算法，也可使用拥塞避免算法。&lt;/li>
&lt;/ol>
&lt;ul>
&lt;li>慢开始
通常在刚刚开始发送报文段时，先把拥塞窗口 cwnd 设置为一个最大报文段MSS的数值。而在每收到一个对新的报文段的确认后，把拥塞窗口增加至多一个MSS的数值。用这样的方法逐步增大发送方的拥塞窗口 cwnd ，可以使分组注入到网络的速率更加合理。&lt;/li>
&lt;li>拥塞避免
拥塞窗口cwnd缓慢地增大，即每经过一个往返时间RTT就把发送方的拥塞窗口cwnd加1，而不是加倍。&lt;/li>
&lt;li>快重传
快重传算法首先要求接收方每收到一个失序的报文段后就立即发出重复确认（为的是使发送方及早知道有报文段没有到达对方）而不要等到自己发送数据时才进行捎带确认。
快重传算法还规定，发送方只要一连收到三个重复确认就应当立即重传对方尚未收到的报文段，而不必继续等待未收到的报文段设置的重传计时器到期。&lt;/li>
&lt;li>快恢复
与快重传配合使用的还有快恢复算法
当发送方连续收到三个重复确认，就执行“乘法减小”算法，把慢开始门限ssthresh减半。&lt;/li>
&lt;/ul>
&lt;h2 id="参考">&lt;a href="#%e5%8f%82%e8%80%83" class="header-anchor">&lt;/a>参考
&lt;/h2>&lt;p>&lt;a class="link" href="https://juejin.cn/post/6844903490595061767" target="_blank" rel="noopener"
>https://juejin.cn/post/6844903490595061767&lt;/a>
&lt;a class="link" href="https://www.ihewro.com/archives/913/" target="_blank" rel="noopener"
>https://www.ihewro.com/archives/913/&lt;/a>
&lt;a class="link" href="https://mp.weixin.qq.com/s/VMz2bDV5JZo0YH5fRQ9mSw" target="_blank" rel="noopener"
>https://mp.weixin.qq.com/s/VMz2bDV5JZo0YH5fRQ9mSw&lt;/a>&lt;/p></description></item><item><title>Windows Terminal使用配置</title><link>https://kizx.github.io/post/windows-terminal%E4%BD%BF%E7%94%A8%E9%85%8D%E7%BD%AE/</link><pubDate>Tue, 26 Jan 2021 06:29:00 +0000</pubDate><guid>https://kizx.github.io/post/windows-terminal%E4%BD%BF%E7%94%A8%E9%85%8D%E7%BD%AE/</guid><description>&lt;p>微软商店搜索&lt;code>Windows Terminal&lt;/code>下载即可，或者去github下载：https://github.com/microsoft/terminal&lt;/p>
&lt;h2 id="默认打开cmd">&lt;a href="#%e9%bb%98%e8%ae%a4%e6%89%93%e5%bc%80cmd" class="header-anchor">&lt;/a>默认打开CMD
&lt;/h2>&lt;p>打开Windows Terminal，找到设置，打开设置文件，将&lt;code>defaultProfile&lt;/code>设置为CMD的那一串值，这串值可以在设置文件下面找到。&lt;/p>
&lt;pre tabindex="0">&lt;code>&amp;#34;defaultProfile&amp;#34;: &amp;#34;{0caa0dad-35be-5f56-a8ff-afceeeaa6101}&amp;#34;,
&lt;/code>&lt;/pre>&lt;h2 id="添加到右键菜单">&lt;a href="#%e6%b7%bb%e5%8a%a0%e5%88%b0%e5%8f%b3%e9%94%ae%e8%8f%9c%e5%8d%95" class="header-anchor">&lt;/a>添加到右键菜单
&lt;/h2>&lt;p>对一个文件夹右键默认是集成了右键打开的，但在空白处右键是没有的，需要手动配置注册表。
以下是注册表注册文件，其中注意替换两个地址，一个是ico图标的地址，图标可以从&lt;a class="link" href="https://raw.githubusercontent.com/microsoft/terminal/main/res/terminal.ico" target="_blank" rel="noopener"
>GitHub&lt;/a>上下载，另一个是程序&lt;code>wt.exe&lt;/code>的地址。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-reg" data-lang="reg">&lt;span style="display:flex;">&lt;span>Windows Registry Editor Version 5.00
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">[&lt;/span>HKEY_CLASSES_ROOT&lt;span style="color:#66d9ef">\Directory\Background\shell\WT]&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">@&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;Terminal Here&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">&amp;#34;Icon&amp;#34;&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;D:\\admin\\Documents\\ICO\\terminal.ico&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">&amp;#34;Position&amp;#34;&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;Top&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">[&lt;/span>HKEY_CLASSES_ROOT&lt;span style="color:#66d9ef">\Directory\Background\shell\WT\command]&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">@&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;C:\\Users\\onepiece\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>地址替换后将上面保存为&lt;code>wt.reg&lt;/code>文件运行即可，以下注册表中注册后的状态。
&lt;img src="https://www.2bboy.com/usr/uploads/2021/01/573181818.png"
loading="lazy"
>&lt;/p>
&lt;h2 id="后记">&lt;a href="#%e5%90%8e%e8%ae%b0" class="header-anchor">&lt;/a>后记
&lt;/h2>&lt;p>我发现现在好像软件自己添加了右键，不需要手动配置了，而且用上面方法配置的只是打开了wt.exe，但没有自动切换到当前目录下，并没有什么卵用。
要删除注册表在上面命令的头部加上&lt;code>-&lt;/code>即可&lt;/p>
&lt;pre tabindex="0">&lt;code>[-HKEY_CLASSES_ROOT\Directory\Background\shell\WT]
&lt;/code>&lt;/pre></description></item><item><title>uni-app微信小程序登录相关方法说明</title><link>https://kizx.github.io/post/uni-app%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F%E7%99%BB%E5%BD%95%E7%9B%B8%E5%85%B3%E6%96%B9%E6%B3%95%E8%AF%B4%E6%98%8E/</link><pubDate>Sun, 10 Jan 2021 08:53:00 +0000</pubDate><guid>https://kizx.github.io/post/uni-app%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F%E7%99%BB%E5%BD%95%E7%9B%B8%E5%85%B3%E6%96%B9%E6%B3%95%E8%AF%B4%E6%98%8E/</guid><description>&lt;p>在uniapp中小程序登录这一块上，关于如何登录授权，获取openid，存储用户信息，网上虽然有很多范例，但都讲的很乱，很容易就把人看晕了，这里简单总结下，真正使用时应该是按需使用。&lt;/p>
&lt;h2 id="openid">&lt;a href="#openid" class="header-anchor">&lt;/a>openid
&lt;/h2>&lt;p>openid是微信小程序中由官方生成的每个账户对每个小程序唯一的一串字符，不管用户有没有授权，只要用户访问了小程序就可以获取openid，openid可以作为用户的身份识别id。获取方法是通过&lt;code>uni.login&lt;/code>获取一个code，这个code每次刷新后都是不唯一的，需要利用这个code向微信官方接口换取openid。
uni.login：https://uniapp.dcloud.net.cn/api/plugins/login?id=login
openid换取接口：https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html
要注意的是，用code换取openid时需要传递小程序appid和secret，所以这个请求过程建议在后台而非前端进行，比如在云函数中请求：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-js" data-lang="js">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">&amp;#39;use strict&amp;#39;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">exports&lt;/span>.&lt;span style="color:#a6e22e">main&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#66d9ef">async&lt;/span> (&lt;span style="color:#a6e22e">event&lt;/span>, &lt;span style="color:#a6e22e">context&lt;/span>) =&amp;gt; {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">const&lt;/span> &lt;span style="color:#a6e22e">appid&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#39;小程序后台查看&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">const&lt;/span> &lt;span style="color:#a6e22e">secret&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#39;小程序后台查看&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">const&lt;/span> &lt;span style="color:#a6e22e">js_code&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">event&lt;/span>.&lt;span style="color:#a6e22e">code&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">const&lt;/span> &lt;span style="color:#a6e22e">grant_type&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#39;authorization_code&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">const&lt;/span> &lt;span style="color:#a6e22e">url&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#39;https://api.weixin.qq.com/sns/jscode2session&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">const&lt;/span> &lt;span style="color:#a6e22e">res&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#66d9ef">await&lt;/span> &lt;span style="color:#a6e22e">uniCloud&lt;/span>.&lt;span style="color:#a6e22e">httpclient&lt;/span>.&lt;span style="color:#a6e22e">request&lt;/span>(&lt;span style="color:#a6e22e">url&lt;/span>, {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">data&lt;/span>&lt;span style="color:#f92672">:&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">appid&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">secret&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">js_code&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">grant_type&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">dataType&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#39;json&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> })
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">return&lt;/span> &lt;span style="color:#a6e22e">res&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>};
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="授权登陆">&lt;a href="#%e6%8e%88%e6%9d%83%e7%99%bb%e9%99%86" class="header-anchor">&lt;/a>授权登陆
&lt;/h2>&lt;p>我这里授权登录指的是弹出那个获取昵称和头像的授权框，准确的说只是授权，登录是上面的login，但很多小程序都把这个按钮叫做登陆按钮，也就混为一谈了。由于微信小程序政策的变化，好像现在只能通过用户点击按钮进行主动登录，通过设置&lt;code>button&lt;/code>按钮的open-type属性即可弹出授权框，触发@getuserinfo事件可以获取用户信息，网上这里案例很多。
详见：https://uniapp.dcloud.net.cn/component/button&lt;/p>
&lt;h2 id="获取用户信息">&lt;a href="#%e8%8e%b7%e5%8f%96%e7%94%a8%e6%88%b7%e4%bf%a1%e6%81%af" class="header-anchor">&lt;/a>获取用户信息
&lt;/h2>&lt;p>除了在用户授权时获取用户信息，如果用户没有登出或清除授权信息，用户是已知保持登陆状态的，可以主动通过&lt;code>uni.getUserInfo&lt;/code>来获取用户信息用于判断用户是否登录或者其他用途。
详见：https://uniapp.dcloud.net.cn/api/plugins/login?id=getuserinfo&lt;/p>
&lt;h2 id="获取平台信息">&lt;a href="#%e8%8e%b7%e5%8f%96%e5%b9%b3%e5%8f%b0%e4%bf%a1%e6%81%af" class="header-anchor">&lt;/a>获取平台信息
&lt;/h2>&lt;p>uniapp还有一个&lt;code>uni.getProvider&lt;/code>方法用来获取服务供应商信息，其实就是检测当前是小程序还是app什么的，只有在程序跨端时才会用到，因为我们前面的方法在使用时需要传入一个provider信息，该信息就可以通过本方法来获取。
详见：https://uniapp.dcloud.net.cn/api/plugins/provider?id=getprovider&lt;/p>
&lt;h2 id="存储用户信息">&lt;a href="#%e5%ad%98%e5%82%a8%e7%94%a8%e6%88%b7%e4%bf%a1%e6%81%af" class="header-anchor">&lt;/a>存储用户信息
&lt;/h2>&lt;p>货去了用户的openid或者其他信息后就需要在数据存到缓存中，这样下次用户就不用重复登录，程序也不用重复获取信息了，不论你是把信息存到全局变量还是vuex中，用户刷新后这些信息都会重置，真正应该存到的应该是本地，用到的方法是&lt;code>uni.setStorageSync&lt;/code>,与之对应的读取缓存信息的方法是&lt;code>uni.getStorage&lt;/code>。
详见：https://uniapp.dcloud.net.cn/api/storage/storage?id=setstoragesync&lt;/p></description></item><item><title>blender脚本新建物体的方法</title><link>https://kizx.github.io/post/blender%E8%84%9A%E6%9C%AC%E6%96%B0%E5%BB%BA%E7%89%A9%E4%BD%93%E7%9A%84%E6%96%B9%E6%B3%95/</link><pubDate>Tue, 08 Dec 2020 07:55:51 +0000</pubDate><guid>https://kizx.github.io/post/blender%E8%84%9A%E6%9C%AC%E6%96%B0%E5%BB%BA%E7%89%A9%E4%BD%93%E7%9A%84%E6%96%B9%E6%B3%95/</guid><description>&lt;p>blender插件脚本里新建物体的两种方法，其实本质上是一样的，这里做个记录以防日后忘记。&lt;/p>
&lt;h2 id="方法一">&lt;a href="#%e6%96%b9%e6%b3%95%e4%b8%80" class="header-anchor">&lt;/a>方法一
&lt;/h2>&lt;p>来自之前在网络上搜到的方法，是直接在data里新建物体并link到场景集合里。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-python" data-lang="python">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">class&lt;/span> &lt;span style="color:#a6e22e">PointsImport&lt;/span>(bpy&lt;span style="color:#f92672">.&lt;/span>types&lt;span style="color:#f92672">.&lt;/span>Operator):
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> bl_idname &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#39;obj.import_points&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> bl_label &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#39;导入点云&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> bl_options &lt;span style="color:#f92672">=&lt;/span> {&lt;span style="color:#e6db74">&amp;#39;REGISTER&amp;#39;&lt;/span>, &lt;span style="color:#e6db74">&amp;#39;UNDO&amp;#39;&lt;/span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> name: bpy&lt;span style="color:#f92672">.&lt;/span>props&lt;span style="color:#f92672">.&lt;/span>StringProperty(default&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#39;points&amp;#39;&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> path: bpy&lt;span style="color:#f92672">.&lt;/span>props&lt;span style="color:#f92672">.&lt;/span>StringProperty(subtype&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#39;FILE_PATH&amp;#39;&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">def&lt;/span> &lt;span style="color:#a6e22e">execute&lt;/span>(self, context):
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> points &lt;span style="color:#f92672">=&lt;/span> np&lt;span style="color:#f92672">.&lt;/span>load(self&lt;span style="color:#f92672">.&lt;/span>path)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> verts &lt;span style="color:#f92672">=&lt;/span> []
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">for&lt;/span> i &lt;span style="color:#f92672">in&lt;/span> points:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> verts&lt;span style="color:#f92672">.&lt;/span>append(tuple(i))
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># 新建mesh&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> mymesh &lt;span style="color:#f92672">=&lt;/span> bpy&lt;span style="color:#f92672">.&lt;/span>data&lt;span style="color:#f92672">.&lt;/span>meshes&lt;span style="color:#f92672">.&lt;/span>new(self&lt;span style="color:#f92672">.&lt;/span>name)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> mymesh&lt;span style="color:#f92672">.&lt;/span>from_pydata(verts, [], [])
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> mymesh&lt;span style="color:#f92672">.&lt;/span>update()
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># 新建object并添加到场景&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> myobject &lt;span style="color:#f92672">=&lt;/span> bpy&lt;span style="color:#f92672">.&lt;/span>data&lt;span style="color:#f92672">.&lt;/span>objects&lt;span style="color:#f92672">.&lt;/span>new(self&lt;span style="color:#f92672">.&lt;/span>name, mymesh)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> bpy&lt;span style="color:#f92672">.&lt;/span>context&lt;span style="color:#f92672">.&lt;/span>scene&lt;span style="color:#f92672">.&lt;/span>collection&lt;span style="color:#f92672">.&lt;/span>objects&lt;span style="color:#f92672">.&lt;/span>link(myobject)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> self&lt;span style="color:#f92672">.&lt;/span>report({&lt;span style="color:#e6db74">&amp;#39;INFO&amp;#39;&lt;/span>}, &lt;span style="color:#e6db74">f&lt;/span>&lt;span style="color:#e6db74">&amp;#39;import &lt;/span>&lt;span style="color:#e6db74">{&lt;/span>len(points)&lt;span style="color:#e6db74">}&lt;/span>&lt;span style="color:#e6db74"> points&amp;#39;&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">return&lt;/span> {&lt;span style="color:#e6db74">&amp;#39;FINISHED&amp;#39;&lt;/span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="方法二">&lt;a href="#%e6%96%b9%e6%b3%95%e4%ba%8c" class="header-anchor">&lt;/a>方法二
&lt;/h2>&lt;p>来自blender自带的demo，直接调用了object_data_add方法，是更正规的方法，需要注意的是需要继承AddObjectHelper&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-python" data-lang="python">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">import&lt;/span> bpy
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">from&lt;/span> bpy.types &lt;span style="color:#f92672">import&lt;/span> Operator
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">from&lt;/span> bpy.props &lt;span style="color:#f92672">import&lt;/span> FloatVectorProperty
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">from&lt;/span> bpy_extras.object_utils &lt;span style="color:#f92672">import&lt;/span> AddObjectHelper, object_data_add
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">from&lt;/span> mathutils &lt;span style="color:#f92672">import&lt;/span> Vector
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">def&lt;/span> &lt;span style="color:#a6e22e">add_object&lt;/span>(self, context):
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> scale_x &lt;span style="color:#f92672">=&lt;/span> self&lt;span style="color:#f92672">.&lt;/span>scale&lt;span style="color:#f92672">.&lt;/span>x
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> scale_y &lt;span style="color:#f92672">=&lt;/span> self&lt;span style="color:#f92672">.&lt;/span>scale&lt;span style="color:#f92672">.&lt;/span>y
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> verts &lt;span style="color:#f92672">=&lt;/span> [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Vector((&lt;span style="color:#f92672">-&lt;/span>&lt;span style="color:#ae81ff">1&lt;/span> &lt;span style="color:#f92672">*&lt;/span> scale_x, &lt;span style="color:#ae81ff">1&lt;/span> &lt;span style="color:#f92672">*&lt;/span> scale_y, &lt;span style="color:#ae81ff">0&lt;/span>)),
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Vector((&lt;span style="color:#ae81ff">1&lt;/span> &lt;span style="color:#f92672">*&lt;/span> scale_x, &lt;span style="color:#ae81ff">1&lt;/span> &lt;span style="color:#f92672">*&lt;/span> scale_y, &lt;span style="color:#ae81ff">0&lt;/span>)),
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Vector((&lt;span style="color:#ae81ff">1&lt;/span> &lt;span style="color:#f92672">*&lt;/span> scale_x, &lt;span style="color:#f92672">-&lt;/span>&lt;span style="color:#ae81ff">1&lt;/span> &lt;span style="color:#f92672">*&lt;/span> scale_y, &lt;span style="color:#ae81ff">0&lt;/span>)),
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Vector((&lt;span style="color:#f92672">-&lt;/span>&lt;span style="color:#ae81ff">1&lt;/span> &lt;span style="color:#f92672">*&lt;/span> scale_x, &lt;span style="color:#f92672">-&lt;/span>&lt;span style="color:#ae81ff">1&lt;/span> &lt;span style="color:#f92672">*&lt;/span> scale_y, &lt;span style="color:#ae81ff">0&lt;/span>)),
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> edges &lt;span style="color:#f92672">=&lt;/span> []
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> faces &lt;span style="color:#f92672">=&lt;/span> [[&lt;span style="color:#ae81ff">0&lt;/span>, &lt;span style="color:#ae81ff">1&lt;/span>, &lt;span style="color:#ae81ff">2&lt;/span>, &lt;span style="color:#ae81ff">3&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> mesh &lt;span style="color:#f92672">=&lt;/span> bpy&lt;span style="color:#f92672">.&lt;/span>data&lt;span style="color:#f92672">.&lt;/span>meshes&lt;span style="color:#f92672">.&lt;/span>new(name&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;New Object Mesh&amp;#34;&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> mesh&lt;span style="color:#f92672">.&lt;/span>from_pydata(verts, edges, faces)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># useful for development when the mesh may be invalid.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># mesh.validate(verbose=True)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> object_data_add(context, mesh, operator&lt;span style="color:#f92672">=&lt;/span>self)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">class&lt;/span> &lt;span style="color:#a6e22e">OBJECT_OT_add_object&lt;/span>(Operator, AddObjectHelper):
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;&amp;#34;&amp;#34;Create a new Mesh Object&amp;#34;&amp;#34;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> bl_idname &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#34;mesh.add_object&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> bl_label &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#34;Add Mesh Object&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> bl_options &lt;span style="color:#f92672">=&lt;/span> {&lt;span style="color:#e6db74">&amp;#39;REGISTER&amp;#39;&lt;/span>, &lt;span style="color:#e6db74">&amp;#39;UNDO&amp;#39;&lt;/span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> scale: FloatVectorProperty(
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> name&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;scale&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> default&lt;span style="color:#f92672">=&lt;/span>(&lt;span style="color:#ae81ff">1.0&lt;/span>, &lt;span style="color:#ae81ff">1.0&lt;/span>, &lt;span style="color:#ae81ff">1.0&lt;/span>),
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> subtype&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#39;TRANSLATION&amp;#39;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> description&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;scaling&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> )
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">def&lt;/span> &lt;span style="color:#a6e22e">execute&lt;/span>(self, context):
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> add_object(self, context)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">return&lt;/span> {&lt;span style="color:#e6db74">&amp;#39;FINISHED&amp;#39;&lt;/span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>image.png</title><link>https://kizx.github.io/post/image.png/</link><pubDate>Tue, 18 Aug 2020 14:24:52 +0000</pubDate><guid>https://kizx.github.io/post/image.png/</guid><description>&lt;p>a:5:{s:4:&amp;ldquo;name&amp;rdquo;;s:9:&amp;ldquo;image.png&amp;rdquo;;s:4:&amp;ldquo;path&amp;rdquo;;s:35:&amp;quot;/usr/uploads/2020/08/2078653010.png&amp;quot;;s:4:&amp;ldquo;size&amp;rdquo;;i:17900;s:4:&amp;ldquo;type&amp;rdquo;;s:3:&amp;ldquo;png&amp;rdquo;;s:4:&amp;ldquo;mime&amp;rdquo;;s:9:&amp;ldquo;image/png&amp;rdquo;;}&lt;/p></description></item><item><title>numpy数组拼接</title><link>https://kizx.github.io/post/numpy%E6%95%B0%E7%BB%84%E6%8B%BC%E6%8E%A5/</link><pubDate>Tue, 11 Aug 2020 10:36:00 +0000</pubDate><guid>https://kizx.github.io/post/numpy%E6%95%B0%E7%BB%84%E6%8B%BC%E6%8E%A5/</guid><description>&lt;p>numpy中可用于拼接的函数有：&lt;/p>
&lt;ul>
&lt;li>append(arr, values, axis=None)&lt;/li>
&lt;li>concatenate((a1, a2, &amp;hellip;), axis=0, out=None)&lt;/li>
&lt;li>stack(arrays, axis=0, out=None)&lt;/li>
&lt;li>hstack(tup)&lt;/li>
&lt;li>vstack(tup)&lt;/li>
&lt;li>dstack(tup)&lt;/li>
&lt;/ul>
&lt;p>使用时需要注意的是除了append都需要以tup形式传入，axis=0表示按行拼接，axis=1表示按列拼接，拼接时需要注意数组形状要匹配。&lt;/p>
&lt;h2 id="测试代码">&lt;a href="#%e6%b5%8b%e8%af%95%e4%bb%a3%e7%a0%81" class="header-anchor">&lt;/a>测试代码
&lt;/h2>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-python" data-lang="python">&lt;span style="display:flex;">&lt;span>a &lt;span style="color:#f92672">=&lt;/span> np&lt;span style="color:#f92672">.&lt;/span>array([[&lt;span style="color:#ae81ff">1&lt;/span>, &lt;span style="color:#ae81ff">2&lt;/span>, &lt;span style="color:#ae81ff">3&lt;/span>],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> [&lt;span style="color:#ae81ff">1&lt;/span>, &lt;span style="color:#ae81ff">2&lt;/span>, &lt;span style="color:#ae81ff">3&lt;/span>]])
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>b &lt;span style="color:#f92672">=&lt;/span> np&lt;span style="color:#f92672">.&lt;/span>array([[&lt;span style="color:#ae81ff">4&lt;/span>, &lt;span style="color:#ae81ff">5&lt;/span>, &lt;span style="color:#ae81ff">6&lt;/span>]])
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>np&lt;span style="color:#f92672">.&lt;/span>append(a, b) &lt;span style="color:#75715e"># 其实底层调用concatenate()&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># array([1, 2, 3, 1, 2, 3, 4, 5, 6])&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>np&lt;span style="color:#f92672">.&lt;/span>append(a, b, axis&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#ae81ff">0&lt;/span>) &lt;span style="color:#75715e"># 必须保证列数一样&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># array([[1, 2, 3],&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># [1, 2, 3],&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># [4, 5, 6]])&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>np&lt;span style="color:#f92672">.&lt;/span>append(a, a, axis&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#ae81ff">1&lt;/span>) &lt;span style="color:#75715e"># 必须保证行数一样&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># array([[1, 2, 3, 1, 2, 3],&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># [1, 2, 3, 1, 2, 3]])&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>np&lt;span style="color:#f92672">.&lt;/span>concatenate((a, b)) &lt;span style="color:#75715e"># 默认axis=0&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>np&lt;span style="color:#f92672">.&lt;/span>concatenate((a, b), axis&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#ae81ff">0&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># array([[1, 2, 3],&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># [1, 2, 3],&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># [4, 5, 6]])&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>np&lt;span style="color:#f92672">.&lt;/span>concatenate((a, a), axis&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#ae81ff">1&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># array([[1, 2, 3, 1, 2, 3],&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># [1, 2, 3, 1, 2, 3]])&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>np&lt;span style="color:#f92672">.&lt;/span>stack((a, a)) &lt;span style="color:#75715e"># 会增加一个维度&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># array([[[1, 2, 3],&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># [1, 2, 3]],&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># [[1, 2, 3],&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># [1, 2, 3]]])&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>np&lt;span style="color:#f92672">.&lt;/span>stack((b, b), axis&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#ae81ff">1&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># array([[[4, 5, 6],&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># [4, 5, 6]]])&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>np&lt;span style="color:#f92672">.&lt;/span>hstack((a, a)) &lt;span style="color:#75715e"># 水平拼接&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># array([[1, 2, 3, 1, 2, 3],&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># [1, 2, 3, 1, 2, 3]])&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>np&lt;span style="color:#f92672">.&lt;/span>vstack((a, a)) &lt;span style="color:#75715e"># 垂直拼接&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># array([[1, 2, 3],&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># [1, 2, 3],&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># [1, 2, 3],&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># [1, 2, 3]])&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>np&lt;span style="color:#f92672">.&lt;/span>dstack((a, a)) &lt;span style="color:#75715e"># 会增加维度&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># array([[[1, 1],&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># [2, 2],&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># [3, 3]],&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># [[1, 1],&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># [2, 2],&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># [3, 3]]])&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>np&lt;span style="color:#f92672">.&lt;/span>dstack((b, b))
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># array([[[4, 4],&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># [5, 5],&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># [6, 6]]])&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="参考">&lt;a href="#%e5%8f%82%e8%80%83" class="header-anchor">&lt;/a>参考
&lt;/h2>&lt;p>&lt;a class="link" href="https://blog.csdn.net/guofei_fly/article/details/85485173" target="_blank" rel="noopener"
>https://blog.csdn.net/guofei_fly/article/details/85485173&lt;/a>&lt;/p></description></item><item><title>电脑连接手机摄像头</title><link>https://kizx.github.io/post/%E7%94%B5%E8%84%91%E8%BF%9E%E6%8E%A5%E6%89%8B%E6%9C%BA%E6%91%84%E5%83%8F%E5%A4%B4/</link><pubDate>Wed, 29 Jul 2020 07:01:19 +0000</pubDate><guid>https://kizx.github.io/post/%E7%94%B5%E8%84%91%E8%BF%9E%E6%8E%A5%E6%89%8B%E6%9C%BA%E6%91%84%E5%83%8F%E5%A4%B4/</guid><description>&lt;p>台式机没有摄像头，有时候有些代码会调用摄像头，比如下面的项目有用到面部捕捉，这时候拿手机充当摄像头是个不错的选择。&lt;/p>
&lt;p>[post cid=&amp;ldquo;147&amp;rdquo; cover=&amp;quot;&amp;quot;/]&lt;/p>
&lt;h2 id="软件">&lt;a href="#%e8%bd%af%e4%bb%b6" class="header-anchor">&lt;/a>软件
&lt;/h2>&lt;p>百度搜索 &lt;code>iVCam&lt;/code> 下载安装即可，手机上也要扫码安装相应的客户端。连接前必须保证手机和电脑处在同一个局域网中，如果手机搜索不到电脑，可以手动输入电脑的局域网ipv4地址（通过cmd窗口 &lt;code>ipconfig&lt;/code>命令可以查看）。&lt;/p>
&lt;h2 id="捕获">&lt;a href="#%e6%8d%95%e8%8e%b7" class="header-anchor">&lt;/a>捕获
&lt;/h2>&lt;p>之前的那个项目是使用OpenCV的api捕获摄像头的，默认摄像头的设备id为0，但用这个软件进行捕获时可能也为1或者更大的数字。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-python" data-lang="python">&lt;span style="display:flex;">&lt;span>video_capture &lt;span style="color:#f92672">=&lt;/span> cv2&lt;span style="color:#f92672">.&lt;/span>VideoCapture(&lt;span style="color:#ae81ff">1&lt;/span>) &lt;span style="color:#75715e"># 摄像头id可能不为0&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>CLion编译运行OpenGL项目</title><link>https://kizx.github.io/post/clion%E7%BC%96%E8%AF%91%E8%BF%90%E8%A1%8Copengl%E9%A1%B9%E7%9B%AE/</link><pubDate>Thu, 04 Jun 2020 13:31:51 +0000</pubDate><guid>https://kizx.github.io/post/clion%E7%BC%96%E8%AF%91%E8%BF%90%E8%A1%8Copengl%E9%A1%B9%E7%9B%AE/</guid><description>&lt;p>前面已经用Visual Studio成功运行了OpenGL了，但是VS的界面比较丑，而且代码提示和补全等各方面不够人性化（主要是我不习惯），相比之下，JB家的CLion虽然运行上慢一点，bug多一点，配置麻烦一点（喂！这缺点太多了吧），但是为了颜值和流畅的编程体验，用一下也不是不可以。&lt;/p>
&lt;h2 id="配置">&lt;a href="#%e9%85%8d%e7%bd%ae" class="header-anchor">&lt;/a>配置
&lt;/h2>&lt;p>安装什么的就不说了，新建一个项目，Clion会自动生成一个&lt;code>CMakeLists.txt&lt;/code>和&lt;code>main.cpp&lt;/code>，点击运行没毛病，那就进入opengl的环境配置。
我这里用的是glut库，别的库参照着配置问题应该不大。在vs里我们是通过右键项目属性设置“三大件”的，但CLion是通过cmake来管理编译和链接的，只能通过手写CMakelists来进行配置。其实配置思路都差不多，手写配置还可以更清晰。
以下是&lt;code>CMakeLists.txt&lt;/code>内容：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-cmake" data-lang="cmake">&lt;span style="display:flex;">&lt;span>cmake_minimum_required(&lt;span style="color:#e6db74">VERSION&lt;/span> &lt;span style="color:#e6db74">3.16&lt;/span>)&lt;span style="color:#960050;background-color:#1e0010">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#960050;background-color:#1e0010">&lt;/span>project(&lt;span style="color:#e6db74">gl_demo&lt;/span>)&lt;span style="color:#960050;background-color:#1e0010">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#960050;background-color:#1e0010">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#960050;background-color:#1e0010">&lt;/span>set(&lt;span style="color:#e6db74">CMAKE_CXX_STANDARD&lt;/span> &lt;span style="color:#e6db74">14&lt;/span>)&lt;span style="color:#960050;background-color:#1e0010">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#960050;background-color:#1e0010">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#960050;background-color:#1e0010">&lt;/span>include_directories(&lt;span style="color:#e6db74">C:/dev/glut/include&lt;/span>) &lt;span style="color:#75715e"># 添加include头文件目录
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span>link_directories(&lt;span style="color:#e6db74">C:/dev//glut/lib&lt;/span>) &lt;span style="color:#75715e"># 添加lib库目录
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#960050;background-color:#1e0010">&lt;/span>add_executable(&lt;span style="color:#e6db74">gl_demo&lt;/span> &lt;span style="color:#e6db74">main.cpp&lt;/span>)&lt;span style="color:#960050;background-color:#1e0010">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#960050;background-color:#1e0010">&lt;/span>target_link_libraries(&lt;span style="color:#e6db74">gl_demo&lt;/span> &lt;span style="color:#e6db74">glut32.lib&lt;/span> &lt;span style="color:#e6db74">opengl32.lib&lt;/span>) &lt;span style="color:#75715e"># 添加链接的具体lib项
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>以下是demo&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-cpp" data-lang="cpp">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">// Lines.c
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">// OpenGL SuperBible, Chapter 4
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">// Demonstrates primitive GL_LINES
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">// Program by Richard S. Wright Jr.
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">#include&lt;/span> &lt;span style="color:#75715e">&amp;lt;gl/glut.h&amp;gt;&lt;/span>&lt;span style="color:#75715e">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">#include&lt;/span> &lt;span style="color:#75715e">&amp;lt;math.h&amp;gt;&lt;/span>&lt;span style="color:#75715e">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">// Define a constant for the value of PI
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span>&lt;span style="color:#75715e">#define GL_PI 3.1415f
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">// Rotation amounts
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span>&lt;span style="color:#66d9ef">static&lt;/span> GLfloat xRot &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">0.0f&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">static&lt;/span> GLfloat yRot &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">0.0f&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">// Called to draw scene
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span>&lt;span style="color:#66d9ef">void&lt;/span> &lt;span style="color:#a6e22e">RenderScene&lt;/span>(&lt;span style="color:#66d9ef">void&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> GLfloat x, y, z, angle; &lt;span style="color:#75715e">// Storage for coordinates and angles
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">// Clear the window with current clearing color
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span> glClear(GL_COLOR_BUFFER_BIT);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">// Save matrix state and do the rotation
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span> glPushMatrix();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glRotatef(xRot, &lt;span style="color:#ae81ff">1.0f&lt;/span>, &lt;span style="color:#ae81ff">0.0f&lt;/span>, &lt;span style="color:#ae81ff">0.0f&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glRotatef(yRot, &lt;span style="color:#ae81ff">0.0f&lt;/span>, &lt;span style="color:#ae81ff">1.0f&lt;/span>, &lt;span style="color:#ae81ff">0.0f&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">// Call only once for all remaining points
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span> glBegin(GL_LINES);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> z &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">0.0f&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">for&lt;/span> (angle &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">0.0f&lt;/span>; angle &lt;span style="color:#f92672">&amp;lt;=&lt;/span> GL_PI &lt;span style="color:#f92672">*&lt;/span> &lt;span style="color:#ae81ff">3.0f&lt;/span>; angle &lt;span style="color:#f92672">+=&lt;/span> &lt;span style="color:#ae81ff">0.5f&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">// Top half of the circle
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span> x &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">50.0f&lt;/span> &lt;span style="color:#f92672">*&lt;/span> cos(angle);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> y &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">50.0f&lt;/span> &lt;span style="color:#f92672">*&lt;/span> sin(angle);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glVertex3f(x, y, z);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">// Bottom half of the circle
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span> x &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">50.0f&lt;/span> &lt;span style="color:#f92672">*&lt;/span> cos(angle &lt;span style="color:#f92672">+&lt;/span> &lt;span style="color:#ae81ff">3.1415f&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> y &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">50.0f&lt;/span> &lt;span style="color:#f92672">*&lt;/span> sin(angle &lt;span style="color:#f92672">+&lt;/span> &lt;span style="color:#ae81ff">3.1415f&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glVertex3f(x, y, z);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">// Done drawing points
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span> glEnd();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">// Restore transformations
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span> glPopMatrix();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">// Flush drawing commands
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span> glutSwapBuffers();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">// This function does any needed initialization on the rendering
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span>&lt;span style="color:#66d9ef">void&lt;/span> &lt;span style="color:#a6e22e">SetupRC&lt;/span>() {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">// Black background
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span> glClearColor(&lt;span style="color:#ae81ff">0.0f&lt;/span>, &lt;span style="color:#ae81ff">0.0f&lt;/span>, &lt;span style="color:#ae81ff">0.0f&lt;/span>, &lt;span style="color:#ae81ff">1.0f&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">// Set drawing color to green
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span> glColor3f(&lt;span style="color:#ae81ff">0.0f&lt;/span>, &lt;span style="color:#ae81ff">1.0f&lt;/span>, &lt;span style="color:#ae81ff">0.0f&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">void&lt;/span> &lt;span style="color:#a6e22e">SpecialKeys&lt;/span>(&lt;span style="color:#66d9ef">int&lt;/span> key, &lt;span style="color:#66d9ef">int&lt;/span> x, &lt;span style="color:#66d9ef">int&lt;/span> y) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (key &lt;span style="color:#f92672">==&lt;/span> GLUT_KEY_UP)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> xRot &lt;span style="color:#f92672">-=&lt;/span> &lt;span style="color:#ae81ff">5.0f&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (key &lt;span style="color:#f92672">==&lt;/span> GLUT_KEY_DOWN)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> xRot &lt;span style="color:#f92672">+=&lt;/span> &lt;span style="color:#ae81ff">5.0f&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (key &lt;span style="color:#f92672">==&lt;/span> GLUT_KEY_LEFT)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> yRot &lt;span style="color:#f92672">-=&lt;/span> &lt;span style="color:#ae81ff">5.0f&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (key &lt;span style="color:#f92672">==&lt;/span> GLUT_KEY_RIGHT)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> yRot &lt;span style="color:#f92672">+=&lt;/span> &lt;span style="color:#ae81ff">5.0f&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (key &lt;span style="color:#f92672">&amp;gt;&lt;/span> &lt;span style="color:#ae81ff">356.0f&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> xRot &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">0.0f&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (key &lt;span style="color:#f92672">&amp;lt;&lt;/span> &lt;span style="color:#f92672">-&lt;/span>&lt;span style="color:#ae81ff">1.0f&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> xRot &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">355.0f&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (key &lt;span style="color:#f92672">&amp;gt;&lt;/span> &lt;span style="color:#ae81ff">356.0f&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> yRot &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">0.0f&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (key &lt;span style="color:#f92672">&amp;lt;&lt;/span> &lt;span style="color:#f92672">-&lt;/span>&lt;span style="color:#ae81ff">1.0f&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> yRot &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">355.0f&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">// Refresh the Window
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span> glutPostRedisplay();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">void&lt;/span> &lt;span style="color:#a6e22e">KeyPressFunc&lt;/span>(&lt;span style="color:#66d9ef">unsigned&lt;/span> &lt;span style="color:#66d9ef">char&lt;/span> key, &lt;span style="color:#66d9ef">int&lt;/span> x, &lt;span style="color:#66d9ef">int&lt;/span> y) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (key &lt;span style="color:#f92672">==&lt;/span> &lt;span style="color:#ae81ff">32&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> xRot &lt;span style="color:#f92672">-=&lt;/span> &lt;span style="color:#ae81ff">5.0f&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (key &lt;span style="color:#f92672">==&lt;/span> &lt;span style="color:#ae81ff">97&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> xRot &lt;span style="color:#f92672">+=&lt;/span> &lt;span style="color:#ae81ff">5.0f&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (key &lt;span style="color:#f92672">==&lt;/span> &lt;span style="color:#ae81ff">98&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> yRot &lt;span style="color:#f92672">-=&lt;/span> &lt;span style="color:#ae81ff">5.0f&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (key &lt;span style="color:#f92672">==&lt;/span> &lt;span style="color:#ae81ff">99&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> yRot &lt;span style="color:#f92672">+=&lt;/span> &lt;span style="color:#ae81ff">5.0f&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (key &lt;span style="color:#f92672">&amp;gt;&lt;/span> &lt;span style="color:#ae81ff">356.0f&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> xRot &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">0.0f&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (key &lt;span style="color:#f92672">&amp;lt;&lt;/span> &lt;span style="color:#f92672">-&lt;/span>&lt;span style="color:#ae81ff">1.0f&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> xRot &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">355.0f&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (key &lt;span style="color:#f92672">&amp;gt;&lt;/span> &lt;span style="color:#ae81ff">356.0f&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> yRot &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">0.0f&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (key &lt;span style="color:#f92672">&amp;lt;&lt;/span> &lt;span style="color:#f92672">-&lt;/span>&lt;span style="color:#ae81ff">1.0f&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> yRot &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">355.0f&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">// Refresh the Window
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span> glutPostRedisplay();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">void&lt;/span> &lt;span style="color:#a6e22e">ChangeSize&lt;/span>(&lt;span style="color:#66d9ef">int&lt;/span> w, &lt;span style="color:#66d9ef">int&lt;/span> h) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> GLfloat nRange &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">100.0f&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">// Prevent a divide by zero
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span> &lt;span style="color:#66d9ef">if&lt;/span> (h &lt;span style="color:#f92672">==&lt;/span> &lt;span style="color:#ae81ff">0&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> h &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">1&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">// Set Viewport to window dimensions
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span> glViewport(&lt;span style="color:#ae81ff">0&lt;/span>, &lt;span style="color:#ae81ff">0&lt;/span>, w, h);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">// Reset coordinate system
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span> glMatrixMode(GL_PROJECTION);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glLoadIdentity();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">// Establish clipping volume (left, right, bottom, top, near, far)
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span> &lt;span style="color:#66d9ef">if&lt;/span> (w &lt;span style="color:#f92672">&amp;lt;=&lt;/span> h)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glOrtho(&lt;span style="color:#f92672">-&lt;/span>nRange, nRange, &lt;span style="color:#f92672">-&lt;/span>nRange &lt;span style="color:#f92672">*&lt;/span> h &lt;span style="color:#f92672">/&lt;/span> w, nRange &lt;span style="color:#f92672">*&lt;/span> h &lt;span style="color:#f92672">/&lt;/span> w, &lt;span style="color:#f92672">-&lt;/span>nRange, nRange);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">else&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glOrtho(&lt;span style="color:#f92672">-&lt;/span>nRange &lt;span style="color:#f92672">*&lt;/span> w &lt;span style="color:#f92672">/&lt;/span> h, nRange &lt;span style="color:#f92672">*&lt;/span> w &lt;span style="color:#f92672">/&lt;/span> h, &lt;span style="color:#f92672">-&lt;/span>nRange, nRange, &lt;span style="color:#f92672">-&lt;/span>nRange, nRange);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glMatrixMode(GL_MODELVIEW);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glLoadIdentity();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">int&lt;/span> &lt;span style="color:#a6e22e">main&lt;/span>(&lt;span style="color:#66d9ef">int&lt;/span> argc, &lt;span style="color:#66d9ef">char&lt;/span> &lt;span style="color:#f92672">*&lt;/span>argv[]) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> GLsizei h &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">500&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> GLsizei w &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">500&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> GLsizei x &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">200&lt;/span>, y &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">100&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glutInit(&lt;span style="color:#f92672">&amp;amp;&lt;/span>argc, argv);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glutInitDisplayMode(GLUT_DOUBLE &lt;span style="color:#f92672">|&lt;/span> GLUT_RGB &lt;span style="color:#f92672">|&lt;/span> GLUT_DEPTH);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glutInitWindowSize(h, w);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glutInitWindowPosition(x, y);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glutCreateWindow(&lt;span style="color:#e6db74">&amp;#34;Lines Example&amp;#34;&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glutDisplayFunc(RenderScene);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glutReshapeFunc(ChangeSize);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glutSpecialFunc(SpecialKeys);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glutKeyboardFunc(KeyPressFunc);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> SetupRC();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glutMainLoop();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">return&lt;/span> &lt;span style="color:#ae81ff">0&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Python运行OpenGL示例</title><link>https://kizx.github.io/post/python%E8%BF%90%E8%A1%8Copengl%E7%A4%BA%E4%BE%8B/</link><pubDate>Tue, 02 Jun 2020 15:10:00 +0000</pubDate><guid>https://kizx.github.io/post/python%E8%BF%90%E8%A1%8Copengl%E7%A4%BA%E4%BE%8B/</guid><description>&lt;p>python的opengl库叫&lt;code>PyOpenGL&lt;/code>，安装这个库的时候要注意位数版本要正确，比如我的python37是32位的，安装&lt;code>PyOpenGL-3.1.5-cp37-cp37m-win32.whl&lt;/code>才行，默认pip安装的运行时可能会有问题，所以需要手动下载安装对应版本的whl。&lt;/p>
&lt;h2 id="demo">&lt;a href="#demo" class="header-anchor">&lt;/a>demo
&lt;/h2>&lt;p>这是一个直接运行的demo&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-python" data-lang="python">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># !/usr/bin/python&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># -*- coding: utf-8 -*-&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># -------------------------------------------&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># quidam_01.py 三维空间的世界坐标系和三角形&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># -------------------------------------------&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">from&lt;/span> OpenGL.GL &lt;span style="color:#f92672">import&lt;/span> &lt;span style="color:#f92672">*&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">from&lt;/span> OpenGL.GLUT &lt;span style="color:#f92672">import&lt;/span> &lt;span style="color:#f92672">*&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">def&lt;/span> &lt;span style="color:#a6e22e">draw&lt;/span>():
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># ---------------------------------------------------------------&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glBegin(GL_LINES) &lt;span style="color:#75715e"># 开始绘制线段（世界坐标系）&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># 以红色绘制x轴&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glColor4f(&lt;span style="color:#ae81ff">1.0&lt;/span>, &lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#ae81ff">1.0&lt;/span>) &lt;span style="color:#75715e"># 设置当前颜色为红色不透明&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glVertex3f(&lt;span style="color:#f92672">-&lt;/span>&lt;span style="color:#ae81ff">0.8&lt;/span>, &lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#ae81ff">0.0&lt;/span>) &lt;span style="color:#75715e"># 设置x轴顶点（x轴负方向）&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glVertex3f(&lt;span style="color:#ae81ff">0.8&lt;/span>, &lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#ae81ff">0.0&lt;/span>) &lt;span style="color:#75715e"># 设置x轴顶点（x轴正方向）&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># 以绿色绘制y轴&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glColor4f(&lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#ae81ff">1.0&lt;/span>, &lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#ae81ff">1.0&lt;/span>) &lt;span style="color:#75715e"># 设置当前颜色为绿色不透明&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glVertex3f(&lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#f92672">-&lt;/span>&lt;span style="color:#ae81ff">0.8&lt;/span>, &lt;span style="color:#ae81ff">0.0&lt;/span>) &lt;span style="color:#75715e"># 设置y轴顶点（y轴负方向）&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glVertex3f(&lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#ae81ff">0.8&lt;/span>, &lt;span style="color:#ae81ff">0.0&lt;/span>) &lt;span style="color:#75715e"># 设置y轴顶点（y轴正方向）&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># 以蓝色绘制z轴&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glColor4f(&lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#ae81ff">1.0&lt;/span>, &lt;span style="color:#ae81ff">1.0&lt;/span>) &lt;span style="color:#75715e"># 设置当前颜色为蓝色不透明&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glVertex3f(&lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#f92672">-&lt;/span>&lt;span style="color:#ae81ff">0.8&lt;/span>) &lt;span style="color:#75715e"># 设置z轴顶点（z轴负方向）&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glVertex3f(&lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#ae81ff">0.8&lt;/span>) &lt;span style="color:#75715e"># 设置z轴顶点（z轴正方向）&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glEnd() &lt;span style="color:#75715e"># 结束绘制线段&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># ---------------------------------------------------------------&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glBegin(GL_TRIANGLES) &lt;span style="color:#75715e"># 开始绘制三角形（z轴负半区）&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glColor4f(&lt;span style="color:#ae81ff">1.0&lt;/span>, &lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#ae81ff">1.0&lt;/span>) &lt;span style="color:#75715e"># 设置当前颜色为红色不透明&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glVertex3f(&lt;span style="color:#f92672">-&lt;/span>&lt;span style="color:#ae81ff">0.5&lt;/span>, &lt;span style="color:#f92672">-&lt;/span>&lt;span style="color:#ae81ff">0.366&lt;/span>, &lt;span style="color:#f92672">-&lt;/span>&lt;span style="color:#ae81ff">0.5&lt;/span>) &lt;span style="color:#75715e"># 设置三角形顶点&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glColor4f(&lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#ae81ff">1.0&lt;/span>, &lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#ae81ff">1.0&lt;/span>) &lt;span style="color:#75715e"># 设置当前颜色为绿色不透明&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glVertex3f(&lt;span style="color:#ae81ff">0.5&lt;/span>, &lt;span style="color:#f92672">-&lt;/span>&lt;span style="color:#ae81ff">0.366&lt;/span>, &lt;span style="color:#f92672">-&lt;/span>&lt;span style="color:#ae81ff">0.5&lt;/span>) &lt;span style="color:#75715e"># 设置三角形顶点&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glColor4f(&lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#ae81ff">1.0&lt;/span>, &lt;span style="color:#ae81ff">1.0&lt;/span>) &lt;span style="color:#75715e"># 设置当前颜色为蓝色不透明&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glVertex3f(&lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#ae81ff">0.5&lt;/span>, &lt;span style="color:#f92672">-&lt;/span>&lt;span style="color:#ae81ff">0.5&lt;/span>) &lt;span style="color:#75715e"># 设置三角形顶点&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glEnd() &lt;span style="color:#75715e"># 结束绘制三角形&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># ---------------------------------------------------------------&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glFlush() &lt;span style="color:#75715e"># 清空缓冲区，将指令送往硬件立即执行&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">if&lt;/span> __name__ &lt;span style="color:#f92672">==&lt;/span> &lt;span style="color:#e6db74">&amp;#34;__main__&amp;#34;&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glutInit() &lt;span style="color:#75715e"># 1. 初始化glut库&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glutCreateWindow(&lt;span style="color:#e6db74">&amp;#39;Quidam Of OpenGL&amp;#39;&lt;/span>) &lt;span style="color:#75715e"># 2. 创建glut窗口&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glutDisplayFunc(draw) &lt;span style="color:#75715e"># 3. 注册回调函数draw()&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glutMainLoop() &lt;span style="color:#75715e"># 4. 进入glut主循环&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="pyqtopengl">&lt;a href="#pyqtopengl" class="header-anchor">&lt;/a>pyqtopengl
&lt;/h2>&lt;p>这是pyqt中QOpenGLWidget的demo&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-python" data-lang="python">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># !/usr/bin/python&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># -*- coding: utf-8 -*-&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">from&lt;/span> PySide2.QtWidgets &lt;span style="color:#f92672">import&lt;/span> &lt;span style="color:#f92672">*&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">from&lt;/span> OpenGL.GL &lt;span style="color:#f92672">import&lt;/span> &lt;span style="color:#f92672">*&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">from&lt;/span> OpenGL.GLUT &lt;span style="color:#f92672">import&lt;/span> &lt;span style="color:#f92672">*&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">class&lt;/span> &lt;span style="color:#a6e22e">MyOpenglWidget&lt;/span>(QOpenGLWidget):
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">def&lt;/span> &lt;span style="color:#a6e22e">__init__&lt;/span>(self, parent&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#66d9ef">None&lt;/span>):
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> super()&lt;span style="color:#f92672">.&lt;/span>&lt;span style="color:#a6e22e">__init__&lt;/span>(parent)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">def&lt;/span> &lt;span style="color:#a6e22e">initializeGL&lt;/span>(self):
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">pass&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">def&lt;/span> &lt;span style="color:#a6e22e">paintGL&lt;/span>(self):
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glBegin(GL_LINES) &lt;span style="color:#75715e"># 开始绘制线段（世界坐标系）&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># 以红色绘制x轴&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glColor4f(&lt;span style="color:#ae81ff">1.0&lt;/span>, &lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#ae81ff">1.0&lt;/span>) &lt;span style="color:#75715e"># 设置当前颜色为红色不透明&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glVertex3f(&lt;span style="color:#f92672">-&lt;/span>&lt;span style="color:#ae81ff">0.8&lt;/span>, &lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#ae81ff">0.0&lt;/span>) &lt;span style="color:#75715e"># 设置x轴顶点（x轴负方向）&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glVertex3f(&lt;span style="color:#ae81ff">0.8&lt;/span>, &lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#ae81ff">0.0&lt;/span>) &lt;span style="color:#75715e"># 设置x轴顶点（x轴正方向）&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># 以绿色绘制y轴&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glColor4f(&lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#ae81ff">1.0&lt;/span>, &lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#ae81ff">1.0&lt;/span>) &lt;span style="color:#75715e"># 设置当前颜色为绿色不透明&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glVertex3f(&lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#f92672">-&lt;/span>&lt;span style="color:#ae81ff">0.8&lt;/span>, &lt;span style="color:#ae81ff">0.0&lt;/span>) &lt;span style="color:#75715e"># 设置y轴顶点（y轴负方向）&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glVertex3f(&lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#ae81ff">0.8&lt;/span>, &lt;span style="color:#ae81ff">0.0&lt;/span>) &lt;span style="color:#75715e"># 设置y轴顶点（y轴正方向）&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># 以蓝色绘制z轴&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glColor4f(&lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#ae81ff">1.0&lt;/span>, &lt;span style="color:#ae81ff">1.0&lt;/span>) &lt;span style="color:#75715e"># 设置当前颜色为蓝色不透明&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glVertex3f(&lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#f92672">-&lt;/span>&lt;span style="color:#ae81ff">0.8&lt;/span>) &lt;span style="color:#75715e"># 设置z轴顶点（z轴负方向）&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glVertex3f(&lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#ae81ff">0.0&lt;/span>, &lt;span style="color:#ae81ff">0.8&lt;/span>) &lt;span style="color:#75715e"># 设置z轴顶点（z轴正方向）&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glEnd() &lt;span style="color:#75715e"># 结束绘制线段&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">pass&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">def&lt;/span> &lt;span style="color:#a6e22e">resizeGL&lt;/span>(self, w, h):
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">pass&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="参考">&lt;a href="#%e5%8f%82%e8%80%83" class="header-anchor">&lt;/a>参考
&lt;/h2>&lt;p>&lt;a class="link" href="https://blog.csdn.net/xufive/article/details/86565130" target="_blank" rel="noopener"
>https://blog.csdn.net/xufive/article/details/86565130&lt;/a>
&lt;a class="link" href="https://doc.qt.io/qtforpython/PySide2/QtWidgets/QOpenGLWidget.html?highlight=qopenglwidget" target="_blank" rel="noopener"
>https://doc.qt.io/qtforpython/PySide2/QtWidgets/QOpenGLWidget.html?highlight=qopenglwidget&lt;/a>&lt;/p></description></item><item><title>Visual Studio保存工程环境配置</title><link>https://kizx.github.io/post/visual-studio%E4%BF%9D%E5%AD%98%E5%B7%A5%E7%A8%8B%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE/</link><pubDate>Sun, 31 May 2020 15:44:00 +0000</pubDate><guid>https://kizx.github.io/post/visual-studio%E4%BF%9D%E5%AD%98%E5%B7%A5%E7%A8%8B%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE/</guid><description>&lt;p>要说到VS(C/C++)最麻烦的地方就是各种环境，各种库配置来配置去，因此将配置好的工程设置保存下来，以备下次新建工程时直接引用很有必要。&lt;/p>
&lt;h2 id="方法">&lt;a href="#%e6%96%b9%e6%b3%95" class="header-anchor">&lt;/a>方法
&lt;/h2>&lt;p>切到属性管理器窗口，右键选择添加一个新的属性表。
&lt;img src="https://pan.2bboy.com/img/2020/05/0531233207.png"
loading="lazy"
>
比如我们新建一个名为&lt;code>opengl&lt;/code>的属性表，然后打开任一个文件，右键点击&lt;code>opengl&lt;/code>选择属性。
&lt;img src="https://pan.2bboy.com/img/2020/05/0531233522.png"
loading="lazy"
>
然后就是对项目属性进行配置。
另外在配置时选择所有配置和所有平台可以避免各种模式都要配一遍的烦恼。
&lt;img src="https://pan.2bboy.com/img/2020/06/0601184836.png"
loading="lazy"
>&lt;/p>
&lt;hr>
&lt;p>当新建一个工程时只需要在同样的地方添加现有属性表即可。&lt;/p></description></item><item><title>OPENGL环境配置</title><link>https://kizx.github.io/post/opengl%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE/</link><pubDate>Sun, 31 May 2020 04:57:00 +0000</pubDate><guid>https://kizx.github.io/post/opengl%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE/</guid><description>&lt;p>基于glfw和glew进行开发配置。&lt;/p>
&lt;h2 id="下载安装库">&lt;a href="#%e4%b8%8b%e8%bd%bd%e5%ae%89%e8%a3%85%e5%ba%93" class="header-anchor">&lt;/a>下载安装库
&lt;/h2>&lt;p>下载32位glfw二进制包：https://www.glfw.org/download.html
下载glew二进制包：http://glew.sourceforge.net/
上面的两个包下载解压到一个固定目录。&lt;/p>
&lt;h2 id="vs2019配置">&lt;a href="#vs2019%e9%85%8d%e7%bd%ae" class="header-anchor">&lt;/a>VS2019配置
&lt;/h2>&lt;p>添加include目录
&lt;img src="https://pan.2bboy.com/img/2020/05/0531125116.png"
loading="lazy"
>
添加lib目录
&lt;img src="https://pan.2bboy.com/img/2020/05/0531125324.png"
loading="lazy"
>
添加附加依赖项
&lt;img src="https://pan.2bboy.com/img/2020/05/0531125443.png"
loading="lazy"
>&lt;/p>
&lt;h2 id="运行测试">&lt;a href="#%e8%bf%90%e8%a1%8c%e6%b5%8b%e8%af%95" class="header-anchor">&lt;/a>运行测试
&lt;/h2>&lt;p>生成一个窗口&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-cpp" data-lang="cpp">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">#define GLEW_STATIC
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">#include&lt;/span> &lt;span style="color:#75715e">&amp;lt;GL/glew.h&amp;gt;&lt;/span>&lt;span style="color:#75715e">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">#include&lt;/span> &lt;span style="color:#75715e">&amp;lt;GLFW/glfw3.h&amp;gt;&lt;/span>&lt;span style="color:#75715e">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">#include&lt;/span> &lt;span style="color:#75715e">&amp;lt;iostream&amp;gt;&lt;/span>&lt;span style="color:#75715e">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">void&lt;/span> &lt;span style="color:#a6e22e">processInput&lt;/span>(GLFWwindow&lt;span style="color:#f92672">*&lt;/span> window) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (glfwGetKey(window, GLFW_KEY_ESCAPE) &lt;span style="color:#f92672">==&lt;/span> GLFW_PRESS) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glfwSetWindowShouldClose(window, true);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">int&lt;/span> &lt;span style="color:#a6e22e">main&lt;/span>() {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glfwInit();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, &lt;span style="color:#ae81ff">3&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, &lt;span style="color:#ae81ff">3&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> GLFWwindow&lt;span style="color:#f92672">*&lt;/span> window &lt;span style="color:#f92672">=&lt;/span> glfwCreateWindow(&lt;span style="color:#ae81ff">800&lt;/span>,&lt;span style="color:#ae81ff">600&lt;/span>,&lt;span style="color:#e6db74">&amp;#34;First Window&amp;#34;&lt;/span>,NULL,NULL);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (window &lt;span style="color:#f92672">==&lt;/span> NULL)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> std&lt;span style="color:#f92672">::&lt;/span>cout &lt;span style="color:#f92672">&amp;lt;&amp;lt;&lt;/span> &lt;span style="color:#e6db74">&amp;#34;Failed to create GLFW window&amp;#34;&lt;/span> &lt;span style="color:#f92672">&amp;lt;&amp;lt;&lt;/span> std&lt;span style="color:#f92672">::&lt;/span>endl;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glfwTerminate();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">return&lt;/span> &lt;span style="color:#f92672">-&lt;/span>&lt;span style="color:#ae81ff">1&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glfwMakeContextCurrent(window);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glewExperimental &lt;span style="color:#f92672">=&lt;/span> true;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (glewInit() &lt;span style="color:#f92672">!=&lt;/span> GLEW_OK) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> std&lt;span style="color:#f92672">::&lt;/span>cout &lt;span style="color:#f92672">&amp;lt;&amp;lt;&lt;/span> &lt;span style="color:#e6db74">&amp;#34;Failed&amp;#34;&lt;/span> &lt;span style="color:#f92672">&amp;lt;&amp;lt;&lt;/span> std&lt;span style="color:#f92672">::&lt;/span>endl;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glfwTerminate();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">return&lt;/span> &lt;span style="color:#f92672">-&lt;/span>&lt;span style="color:#ae81ff">1&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glViewport(&lt;span style="color:#ae81ff">0&lt;/span>, &lt;span style="color:#ae81ff">0&lt;/span>, &lt;span style="color:#ae81ff">800&lt;/span>, &lt;span style="color:#ae81ff">600&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">while&lt;/span> (&lt;span style="color:#f92672">!&lt;/span>glfwWindowShouldClose(window)) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> processInput(window);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glClearColor(&lt;span style="color:#ae81ff">0&lt;/span>, &lt;span style="color:#ae81ff">0.5f&lt;/span>, &lt;span style="color:#ae81ff">0.5f&lt;/span>, &lt;span style="color:#ae81ff">1.0f&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glClear(GL_COLOR_BUFFER_BIT);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glfwSwapBuffers(window);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glfwPollEvents();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> glfwTerminate();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">return&lt;/span> &lt;span style="color:#ae81ff">0&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="参考">&lt;a href="#%e5%8f%82%e8%80%83" class="header-anchor">&lt;/a>参考
&lt;/h2>&lt;p>&lt;a class="link" href="https://www.bilibili.com/video/BV11W411N7b9" target="_blank" rel="noopener"
>https://www.bilibili.com/video/BV11W411N7b9&lt;/a>&lt;/p></description></item><item><title>使用百度统计和百度搜索为网站增加小功能</title><link>https://kizx.github.io/post/%E4%BD%BF%E7%94%A8%E7%99%BE%E5%BA%A6%E7%BB%9F%E8%AE%A1%E5%92%8C%E7%99%BE%E5%BA%A6%E6%90%9C%E7%B4%A2%E4%B8%BA%E7%BD%91%E7%AB%99%E5%A2%9E%E5%8A%A0%E5%B0%8F%E5%8A%9F%E8%83%BD/</link><pubDate>Thu, 21 May 2020 06:13:00 +0000</pubDate><guid>https://kizx.github.io/post/%E4%BD%BF%E7%94%A8%E7%99%BE%E5%BA%A6%E7%BB%9F%E8%AE%A1%E5%92%8C%E7%99%BE%E5%BA%A6%E6%90%9C%E7%B4%A2%E4%B8%BA%E7%BD%91%E7%AB%99%E5%A2%9E%E5%8A%A0%E5%B0%8F%E5%8A%9F%E8%83%BD/</guid><description>&lt;p>百度统计平台：https://tongji.baidu.com/web/28991244/welcome/login&lt;/p>
&lt;p>&lt;img src="https://pan.2bboy.com/img/2020/05/0521131515.png"
loading="lazy"
>
其实对于个人网站来说，统计功能也就是看个乐，不过说实话百度的统计功能至少看起来还不错。&lt;/p>
&lt;blockquote>
&lt;p>使用方法：在管理页面找到代码获取，handsome主题在后台将获取到的代码粘贴到自定义head里就行了，反正就是放在网站所有页面的head标签前，获取代码的地方有安装方式和检测是否安装成功的按钮。&lt;/p>&lt;/blockquote>
&lt;p>而且百度统计还有高级统计代码，针对一些特别站点的特别功能，我是用不上也不会用啦。
&lt;img src="https://pan.2bboy.com/img/2020/05/0521132044.png"
loading="lazy"
>&lt;/p>
&lt;h2 id="小应用功能">&lt;a href="#%e5%b0%8f%e5%ba%94%e7%94%a8%e5%8a%9f%e8%83%bd" class="header-anchor">&lt;/a>小应用功能
&lt;/h2>&lt;p>在应用功能里可以看到一些应用功能，这才是百度统计有趣的地方。
&lt;img src="https://pan.2bboy.com/img/2020/05/0521132903.png"
loading="lazy"
>&lt;/p>
&lt;h3 id="置顶工具">&lt;a href="#%e7%bd%ae%e9%a1%b6%e5%b7%a5%e5%85%b7" class="header-anchor">&lt;/a>置顶工具
&lt;/h3>&lt;p>开通后会在网站右下角出现一个返回顶部的按钮，当然大部分主题基本都有这个功能了，不过不失为一种添加返回顶部按钮的方法
&lt;img src="https://pan.2bboy.com/img/2020/05/0521181205.png"
loading="lazy"
>&lt;/p>
&lt;h3 id="地图名片">&lt;a href="#%e5%9c%b0%e5%9b%be%e5%90%8d%e7%89%87" class="header-anchor">&lt;/a>地图名片
&lt;/h3>&lt;p>开通后会在网站右下角出现，但我试了由于包含非https请求地图没显示出来，不过这功能感觉一般人也用不到。
&lt;img src="https://pan.2bboy.com/img/2020/05/0521181547.png"
loading="lazy"
>&lt;/p>
&lt;h3 id="反馈工具">&lt;a href="#%e5%8f%8d%e9%a6%88%e5%b7%a5%e5%85%b7" class="header-anchor">&lt;/a>反馈工具
&lt;/h3>&lt;p>添加后在网站右下角添加一个建议反馈的功能，这个功能经常能在一些文档页面能看到，感觉还是很不错的，但是我试了收不到邮件(╯°A°)╯︵○○○。
&lt;img src="https://pan.2bboy.com/img/2020/05/0521181800.png"
loading="lazy"
>&lt;/p>
&lt;h3 id="专题推送">&lt;a href="#%e4%b8%93%e9%a2%98%e6%8e%a8%e9%80%81" class="header-anchor">&lt;/a>专题推送
&lt;/h3>&lt;p>类似公告功能，可以推送一个指定页面或一张二维码，如果有微信公众号的话挂个二维码在这里不错。&lt;/p>
&lt;h3 id="百度推荐">&lt;a href="#%e7%99%be%e5%ba%a6%e6%8e%a8%e8%8d%90" class="header-anchor">&lt;/a>百度推荐
&lt;/h3>&lt;p>应该是一个类似随机文章推荐的功能，可以像弹窗广告一样弹出来，看起来很有意思不过我没开通成功。φ(￣?￣o)&lt;/p>
&lt;h2 id="百度搜索">&lt;a href="#%e7%99%be%e5%ba%a6%e6%90%9c%e7%b4%a2" class="header-anchor">&lt;/a>百度搜索
&lt;/h2>&lt;p>这是一个由百度提供的网站页面搜索工具：https://ziyuan.baidu.com/cse/wiki/index?category_id=17
可以在网站页面提供一个搜索框，搜索框可以是浮动的，也可以是嵌入页面的，点击搜索后会跳转到一个类似百度搜索的页面，这些页面都是可以进行一定自定义的，使用起来很方便，如果你的网站还没有搜索功能的话，用这个也不是不可以，很多论坛的搜索功能就和这个有点像。
不过默认生成的链接包含http链接，https站点需要想办法将中间的链接替换下。
&lt;img src="https://pan.2bboy.com/img/2020/05/0521190352.png"
loading="lazy"
>
&lt;img src="https://pan.2bboy.com/img/2020/05/0521191015.png"
loading="lazy"
>&lt;/p></description></item><item><title>利用分层深度修补技术将2D图片3D化</title><link>https://kizx.github.io/post/%E5%88%A9%E7%94%A8%E5%88%86%E5%B1%82%E6%B7%B1%E5%BA%A6%E4%BF%AE%E8%A1%A5%E6%8A%80%E6%9C%AF%E5%B0%862d%E5%9B%BE%E7%89%873d%E5%8C%96/</link><pubDate>Wed, 22 Apr 2020 11:16:00 +0000</pubDate><guid>https://kizx.github.io/post/%E5%88%A9%E7%94%A8%E5%88%86%E5%B1%82%E6%B7%B1%E5%BA%A6%E4%BF%AE%E8%A1%A5%E6%8A%80%E6%9C%AF%E5%B0%862d%E5%9B%BE%E7%89%873d%E5%8C%96/</guid><description>&lt;p>偶然在 &lt;a class="link" href="https://mp.weixin.qq.com/s/ODx3MAnOZwecZV0zOfZZHw" target="_blank" rel="noopener"
>果壳的推送&lt;/a> 中看到这个项目：https://shihmengli.github.io/3D-Photo-Inpainting/
感觉很有意思，可以将一张普通的2D照片经过处理得到一张具有深度空间的3D照片，准确点来说这应该叫2.5D比较像。应该是基于Pytorch训练出来的模型，官网展示的效果都相当惊艳。
官网展示的都是现实中照片，下面我试着对动漫图片进行处理，看看能不能得到一个“3D老婆”。&lt;/p>
&lt;h2 id="实践">&lt;a href="#%e5%ae%9e%e8%b7%b5" class="header-anchor">&lt;/a>实践
&lt;/h2>&lt;p>官网拉到下面的Links，开发者提供了github链接和Golab链接，github链接的文档有详细的本地部署说明，用的是Anaconda部署的。
这里我笔记本不便于运行这种大项目，好在它直接提供了Golab的demo，只要你有一个谷歌账号或者说是gmail邮箱，然后能上得了人家的Colab网站，直接点击官网的Demo或者下面的链接就可以在线部署运行了。
&lt;a class="link" href="https://colab.research.google.com/drive/1706ToQrkIZshRSJSHvZ1RuCiM__YX3Bz" target="_blank" rel="noopener"
>https://colab.research.google.com/drive/1706ToQrkIZshRSJSHvZ1RuCiM__YX3Bz&lt;/a>
先点击切换到playgrand模式，当然你也可以继续点击复制到云端硬盘来创建属于你的副本。
&lt;img src="https://pan.2bboy.com/img/2020/04/0426200137.jpg"
loading="lazy"
>&lt;img src="https://pan.2bboy.com/img/2020/04/0426201157.jpg"
loading="lazy"
>
然后按顺序一路点击运行即可，中间需要的只有漫长的等待。运行前可以先看下它遗留的那一长串运行结果，我们命令执行完成后会得到与之相同的输出结果，如果哪一句运行失败继续点击重新运行直至成功。
&lt;img src="https://pan.2bboy.com/img/2020/04/0422155541.jpg"
loading="lazy"
>&lt;img src="https://pan.2bboy.com/img/2020/04/0426202208.jpg"
loading="lazy"
>&lt;img src="https://pan.2bboy.com/img/2020/04/0426202650.jpg"
loading="lazy"
>
运行下面这一句上传一张原始jpg图片，上传的图片会放在左边image目录下，上传前最好清空image目录下的图片防止后面一步读取到错误的图片。
&lt;img src="https://pan.2bboy.com/img/2020/04/0426202815.jpg"
loading="lazy"
>
有时候由于连接性问题会上传不上去，这时候可以试试手动上传然后将图片拖动到image目录下。
&lt;img src="https://pan.2bboy.com/img/2020/04/0426203729.jpg"
loading="lazy"
>
最后一步生成3D深度图片，这里也需要等待。。。
&lt;img src="https://pan.2bboy.com/img/2020/04/0422183112.jpg"
loading="lazy"
>
生成的可视化视频在video目录下，每次程序会生成四个不同角度的的视频，双击可下载到本地。
&lt;img src="https://pan.2bboy.com/img/2020/04/0422183224.jpg"
loading="lazy"
>&lt;/p>
&lt;h2 id="视频演示">&lt;a href="#%e8%a7%86%e9%a2%91%e6%bc%94%e7%a4%ba" class="header-anchor">&lt;/a>视频演示
&lt;/h2>&lt;!-- raw HTML omitted -->
&lt;p>B站上面部分图片打了码，下面是原视频。
[vplayer url=&amp;ldquo;https://pan.2bboy.com/img/video/3dpic_p2.mp4&amp;rdquo; /]&lt;/p>
&lt;h2 id="后记">&lt;a href="#%e5%90%8e%e8%ae%b0" class="header-anchor">&lt;/a>后记
&lt;/h2>&lt;p>[post cid=&amp;ldquo;170&amp;rdquo; /]&lt;/p></description></item><item><title>几款看图软件测评</title><link>https://kizx.github.io/post/%E5%87%A0%E6%AC%BE%E7%9C%8B%E5%9B%BE%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%84/</link><pubDate>Tue, 17 Mar 2020 07:11:00 +0000</pubDate><guid>https://kizx.github.io/post/%E5%87%A0%E6%AC%BE%E7%9C%8B%E5%9B%BE%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%84/</guid><description>&lt;p>因为平时看图较多（不是那种图），所以一款好的看图软件显得很重要，我以连续查看4K大图作为测试手段，主要从速度、颜值、功能、便捷几个角度来评判。&lt;/p>
&lt;h2 id="honeyview">&lt;a href="#honeyview" class="header-anchor">&lt;/a>HoneyView
&lt;/h2>&lt;p>&lt;img src="https://pan.2bboy.com/img/2020/03/0317132914.jpg"
loading="lazy"
>
&lt;img src="https://pan.2bboy.com/img/2020/03/0317133544.jpg"
loading="lazy"
>
我一直在用的看图软件，速度超级快，毫无卡顿，颜值在线，鼠标键位可以自由设置，右键有几个简单画面增强效果很好用，可以幻灯片播放，可以查看预览这点很棒。
唯一缺点是放大锁定后无法锁定住当前位置。&lt;/p>
&lt;h2 id="万能看图王">&lt;a href="#%e4%b8%87%e8%83%bd%e7%9c%8b%e5%9b%be%e7%8e%8b" class="header-anchor">&lt;/a>万能看图王
&lt;/h2>&lt;p>&lt;img src="https://pan.2bboy.com/img/2020/03/0317133945.jpg"
loading="lazy"
>
看这名字和2345那个流氓有点像，实际页面也很像，但既然下载了就测试下。底部有预览窗，颜值也还好。
缺点首先疑似会有广告，因为设置里有关闭广告的选项，至于流不流氓就不知道了。速度超级慢，光凭这一点就可以卸载了，放大锁定后不能锁定区域。&lt;/p>
&lt;h2 id="看图啦">&lt;a href="#%e7%9c%8b%e5%9b%be%e5%95%a6" class="header-anchor">&lt;/a>看图啦
&lt;/h2>&lt;p>&lt;img src="https://pan.2bboy.com/img/2020/03/0317134833.jpg"
loading="lazy"
>
同样是国产的一个软件，感觉也和上面那个有点像，但速度稍快一点，不过也仍然很慢，可以左右同时查看两张图这点是唯一亮点。
操作不是很方便，感觉是bug，图片缩放锁定功能虽然有但也是坏的，总之不推荐。&lt;/p>
&lt;h2 id="xnview">&lt;a href="#xnview" class="header-anchor">&lt;/a>XnView
&lt;/h2>&lt;p>&lt;img src="https://pan.2bboy.com/img/2020/03/0317140222.jpg"
loading="lazy"
>
&lt;img src="https://pan.2bboy.com/img/2020/03/0317140510.jpg"
loading="lazy"
>
&lt;img src="https://pan.2bboy.com/img/2020/03/0317140828.jpg"
loading="lazy"
>
很多人推荐的软件，刚打开是一个文件浏览器的亚子，一看就知道功能很丰富，速度较快，但没有HoneyView快，有局部裁剪功能，也有划定一个区域然后放大的功能，放大后能固定放大比和区域，同时拥有许多调节画面的功能，完全可以当作一个简易PS用。
缺点大概就是没有HoneyView快，然后那个浏览器界面复杂了点，把颜值一下拉低了，总体来说还是很推荐的。&lt;/p>
&lt;h2 id="iranfanview">&lt;a href="#iranfanview" class="header-anchor">&lt;/a>IranfanView
&lt;/h2>&lt;p>&lt;img src="https://pan.2bboy.com/img/2020/03/0317142951.jpg"
loading="lazy"
>
一个英文界面的软件，和上面的软件风格有点像，像是上面软件的精简版，有划定区域放大的功能，速度很快，和HoneyView差不多。
缺点是无法锁定放大区域，颜值也不是很高，英文界面让我懒得看设置了(虽然好像有中文语言包)，不设置的话可以说体验不太好。&lt;/p>
&lt;h2 id="jpegview">&lt;a href="#jpegview" class="header-anchor">&lt;/a>JPEGView
&lt;/h2>&lt;p>&lt;img src="https://pan.2bboy.com/img/2020/03/0317150037.jpg"
loading="lazy"
>
一款小巧的软件，速度很快，毫无卡顿，有许多增强图片的功能，并且能保持参数，当然也能保持锁定放大比和放大区域。
缺点是找不到设置快捷键的地方，只有一个配置文件，仔细找找应该有设置快捷键的地方。界面过于简陋，颜值差点。
不在意颜值的话，这些增强功能真的很棒，而且可以保持参数这点太棒了。&lt;/p>
&lt;h2 id="acdsee">&lt;a href="#acdsee" class="header-anchor">&lt;/a>ACDSee
&lt;/h2>&lt;p>&lt;img src="https://pan.2bboy.com/img/2020/03/0317152330.jpg"
loading="lazy"
>
&lt;img src="https://pan.2bboy.com/img/2020/03/0317152200.jpg"
loading="lazy"
>
官方免费版有广告，使用前还需要注册，打开一看就知道更偏向于图片管理软件，只是兼带图片查看功能而已，速度一般，功能似乎很多但懒得看了。
免费版带广告这点就劝退了，偏向于管理图片而非单纯的图片查看。&lt;/p>
&lt;h2 id="faststone-image-viewer">&lt;a href="#faststone-image-viewer" class="header-anchor">&lt;/a>FastStone Image Viewer
&lt;/h2>&lt;p>&lt;img src="https://pan.2bboy.com/img/2020/03/0317220051.jpg"
loading="lazy"
>
和上面的XnView有点类似，颜值稍高一点，可以批量处理图片，没有缩放锁定。&lt;/p>
&lt;h2 id="imageglass">&lt;a href="#imageglass" class="header-anchor">&lt;/a>ImageGlass
&lt;/h2>&lt;p>&lt;img src="https://pan.2bboy.com/img/2020/03/0317220859.jpg"
loading="lazy"
>
颜值不错，但速度太慢，不考虑。&lt;/p>
&lt;h2 id="pictus">&lt;a href="#pictus" class="header-anchor">&lt;/a>&lt;a class="link" href="https://poppeman.se/pictus/" target="_blank" rel="noopener"
>Pictus&lt;/a>
&lt;/h2>&lt;p>&lt;img src="https://pan.2bboy.com/img/2020/03/0317221730.jpg"
loading="lazy"
>
非常小巧的一款软件，只有5M大小，所以功能没有很多，速度一般，适合追求极简的用户。&lt;/p>
&lt;h2 id="fastpictureviewer">&lt;a href="#fastpictureviewer" class="header-anchor">&lt;/a>&lt;a class="link" href="https://www.fastpictureviewer.com/downloads/" target="_blank" rel="noopener"
>FastPictureViewer&lt;/a>
&lt;/h2>&lt;p>&lt;img src="https://pan.2bboy.com/img/2020/03/0317223134.jpg"
loading="lazy"
>
左键按住显示原始大小，右键按住显示三倍大小，这个设定倒是很有趣，速度较慢，不支持tif格式。&lt;/p></description></item><item><title>Kite——让代码补全更智能</title><link>https://kizx.github.io/post/kite%E8%AE%A9%E4%BB%A3%E7%A0%81%E8%A1%A5%E5%85%A8%E6%9B%B4%E6%99%BA%E8%83%BD/</link><pubDate>Mon, 16 Mar 2020 11:48:17 +0000</pubDate><guid>https://kizx.github.io/post/kite%E8%AE%A9%E4%BB%A3%E7%A0%81%E8%A1%A5%E5%85%A8%E6%9B%B4%E6%99%BA%E8%83%BD/</guid><description>&lt;p>Kite是一款基于深度学习的代码自动补全的应用，其特点就是智能化，人性化，不仅代码补全更智能，还贴心的自动为你搜索方法文档和使用案例，甚至可以使面向谷歌编程变成面向Kite编程。
介绍视频： &lt;a class="link" href="https://www.youtube.com/watch?v=bF50YPyUKTQ" target="_blank" rel="noopener"
>https://www.youtube.com/watch?v=bF50YPyUKTQ&lt;/a>&lt;/p>
&lt;h2 id="使用">&lt;a href="#%e4%bd%bf%e7%94%a8" class="header-anchor">&lt;/a>使用
&lt;/h2>&lt;p>官网下载：https://kite.com/
下载安装登录后会自动下载相关插件，然后打开你的IDE就可以用了。
&lt;img src="https://pan.2bboy.com/img/2020/03/0316185906.jpg"
loading="lazy"
>
更多详细说明可以参考帮助文档。&lt;/p>
&lt;h2 id="参考">&lt;a href="#%e5%8f%82%e8%80%83" class="header-anchor">&lt;/a>参考
&lt;/h2>&lt;p>官方帮助文档： &lt;a class="link" href="https://help.kite.com/" target="_blank" rel="noopener"
>https://help.kite.com/&lt;/a>&lt;/p>
&lt;h2 id="后记">&lt;a href="#%e5%90%8e%e8%ae%b0" class="header-anchor">&lt;/a>后记
&lt;/h2>&lt;p>用了有一段时间了，说实话没感觉带来多大方便，不过当个函数手册查查参数也还行。&lt;/p></description></item><item><title>PyCharm主题，插件推荐</title><link>https://kizx.github.io/post/pycharm%E4%B8%BB%E9%A2%98%E6%8F%92%E4%BB%B6%E6%8E%A8%E8%8D%90/</link><pubDate>Sun, 16 Feb 2020 10:50:00 +0000</pubDate><guid>https://kizx.github.io/post/pycharm%E4%B8%BB%E9%A2%98%E6%8F%92%E4%BB%B6%E6%8E%A8%E8%8D%90/</guid><description>&lt;p>&lt;code>Setting&lt;/code> -&amp;gt; &lt;code>Plugins&lt;/code>里搜索相应插件名即可，或者去网页 &lt;a class="link" href="https://plugins.jetbrains.com/pycharm" target="_blank" rel="noopener"
>https://plugins.jetbrains.com/pycharm&lt;/a> 搜索插件下载后本地安装亦可，唯一的问题可能就是网络连接性可能不太好。&lt;/p>
&lt;h2 id="主题推荐">&lt;a href="#%e4%b8%bb%e9%a2%98%e6%8e%a8%e8%8d%90" class="header-anchor">&lt;/a>主题推荐
&lt;/h2>&lt;p>先说说主题设置，下好主题后在设置&lt;code>Appearance&lt;/code>里切换主题。
设完主题后还可以设置代码样式，这两个是可以分开设置的，比如我主题是One Dark，代码样式是Atom One Dark。如果你不喜欢现有的代码配色风格，可以在&lt;a class="link" href="http://color-themes.com" target="_blank" rel="noopener"
>Color Theme网站&lt;/a> 下载喜欢的配色，然后在代码样式里导入即可。
&lt;img src="https://pan.2bboy.com/img/2020/03/0313180726.jpg"
loading="lazy"
>&lt;/p>
&lt;p>另外字体也可以自定义，软件界面字体在settings-&amp;gt;appearance里修改。代码字体在settings-&amp;gt;editor-&amp;gt;font里（如果直接改这里没用，点上面有个感叹号那里，其实就是color scheme font里改）。
&lt;img src="https://pan.2bboy.com/img/2020/02/0216182934.jpg"
loading="lazy"
>&lt;/p>
&lt;h3 id="1-one-dark">&lt;a href="#1-one-dark" class="header-anchor">&lt;/a>1. One Dark
&lt;/h3>&lt;p>&lt;a class="link" href="https://plugins.jetbrains.com/plugin/11938-one-dark-theme" target="_blank" rel="noopener"
>主题地址&lt;/a>
我最常用的主题，还有一个&lt;a class="link" href="https://plugins.jetbrains.com/plugin/12178-atom-onedark-theme" target="_blank" rel="noopener"
>Atom One Dark&lt;/a>的主题也不错。
&lt;img src="https://plugins.jetbrains.com/files/11938/screenshot_19494.png"
loading="lazy"
>&lt;/p>
&lt;h3 id="2-material-theme-ui">&lt;a href="#2-material-theme-ui" class="header-anchor">&lt;/a>2. Material Theme UI
&lt;/h3>&lt;p>&lt;a class="link" href="https://plugins.jetbrains.com/plugin/8006-material-theme-ui" target="_blank" rel="noopener"
>主题地址&lt;/a>
这大概是使用最广泛的主题了吧，毕竟人家样式全，美化全面，但是个人不是很喜欢。
&lt;img src="https://plugins.jetbrains.com/files/8006/screenshot_17526.png"
loading="lazy"
>&lt;/p>
&lt;h3 id="3-the-doki-doki-theme">&lt;a href="#3-the-doki-doki-theme" class="header-anchor">&lt;/a>3. The Doki-Doki Theme
&lt;/h3>&lt;p>&lt;a class="link" href="https://plugins.jetbrains.com/plugin/10804-the-doki-doki-theme/" target="_blank" rel="noopener"
>主题地址&lt;/a>
看这名字就知道是一款二次元主题，不仅有心跳人物的主题，还包含Re0等二次元人物，下面只列举部分，作者更新相当勤快，可以说是老二次元了。
[album]
&lt;img src="https://plugins.jetbrains.com/files/10804/screenshot_22344.png"
loading="lazy"
>
&lt;img src="https://plugins.jetbrains.com/files/10804/screenshot_22341.png"
loading="lazy"
>
&lt;img src="https://plugins.jetbrains.com/files/10804/screenshot_22346.png"
loading="lazy"
>
&lt;img src="https://plugins.jetbrains.com/files/10804/screenshot_22349.png"
loading="lazy"
>
&lt;img src="https://plugins.jetbrains.com/files/10804/screenshot_22503.png"
loading="lazy"
>
&lt;img src="https://plugins.jetbrains.com/files/10804/screenshot_22342.png"
loading="lazy"
>
[/album]&lt;/p>
&lt;h3 id="4-gruvbox-theme">&lt;a href="#4-gruvbox-theme" class="header-anchor">&lt;/a>4. gruvbox-theme
&lt;/h3>&lt;p>&lt;a class="link" href="https://plugins.jetbrains.com/plugin/12310-gruvbox-theme" target="_blank" rel="noopener"
>主题地址&lt;/a>
深色配色很舒服
&lt;img src="https://plugins.jetbrains.com/files/12310/screenshot_19486.png"
loading="lazy"
>&lt;/p>
&lt;h3 id="5-visual-studio-code-dark-plus-theme">&lt;a href="#5-visual-studio-code-dark-plus-theme" class="header-anchor">&lt;/a>5. Visual Studio Code Dark Plus Theme
&lt;/h3>&lt;p>&lt;a class="link" href="https://plugins.jetbrains.com/plugin/12255-visual-studio-code-dark-plus-theme" target="_blank" rel="noopener"
>主题地址&lt;/a>
vscode风格主题，适合vscode爱好者
&lt;img src="https://plugins.jetbrains.com/files/12255/screenshot_19350.png"
loading="lazy"
>&lt;/p>
&lt;h2 id="插件推荐">&lt;a href="#%e6%8f%92%e4%bb%b6%e6%8e%a8%e8%8d%90" class="header-anchor">&lt;/a>插件推荐
&lt;/h2>&lt;h3 id="1-codeglance">&lt;a href="#1-codeglance" class="header-anchor">&lt;/a>1. CodeGlance
&lt;/h3>&lt;p>可以像VScode一样在右侧显示预览条，&lt;a class="link" href="https://plugins.jetbrains.com/plugin/index?xmlId=net.vektah.codeglance" target="_blank" rel="noopener"
>插件地址&lt;/a>
&lt;img src="https://plugins.jetbrains.com/files/7275/screenshot_16821.png"
loading="lazy"
>&lt;/p>
&lt;h3 id="2-save-actions">&lt;a href="#2-save-actions" class="header-anchor">&lt;/a>2. Save Actions
&lt;/h3>&lt;p>Pycharm的代码格式化每次都要按快捷键太麻烦了，有了这个插件就可以在保存的时候自动格式化了，&lt;a class="link" href="https://plugins.jetbrains.com/plugin/7642-save-actions" target="_blank" rel="noopener"
>插件地址&lt;/a>
插件需要在&lt;code>Setting&lt;/code> -&amp;gt; &lt;code>Other Settings&lt;/code>里启动才行
&lt;img src="https://pan.2bboy.com/img/2020/02/0216163232.jpg"
loading="lazy"
>
唯一不足的是这个插件的设置是针对每个项目单独设置的，默认下图是都没有勾选的，每次新开一个工程都需要重新设置一遍
要想新建工程时默认勾选，需要你打开软件时在configure里进行设置（前提设置打开软件弹出这个界面而非上次的工程）
&lt;img src="https://pan.2bboy.com/img/2020/07/0714100107.png"
loading="lazy"
>
该插件还有另一个分支版本功能相同&lt;a class="link" href="https://plugins.jetbrains.com/plugin/13331-save-actions-reborn" target="_blank" rel="noopener"
>Save Actions Reborn&lt;/a>&lt;/p>
&lt;h3 id="3-background-image-plus-">&lt;a href="#3-background-image-plus-" class="header-anchor">&lt;/a>3. Background Image Plus +
&lt;/h3>&lt;p>可以设置背景图的插件，&lt;a class="link" href="https://plugins.jetbrains.com/plugin/11247-background-image-plus-" target="_blank" rel="noopener"
>插件地址&lt;/a>，下载后在下图所示的位置设置背景图片文件夹。
&lt;img src="https://pan.2bboy.com/img/2020/02/0216175836.jpg"
loading="lazy"
>
如果只是一张图的话，软件默认就带这个功能，不需要插件。
&lt;img src="https://pan.2bboy.com/img/2020/02/0216180519.jpg"
loading="lazy"
>&lt;/p>
&lt;h3 id="4-key-promoter-x">&lt;a href="#4-key-promoter-x" class="header-anchor">&lt;/a>4. Key Promoter X
&lt;/h3>&lt;p>如果你使用鼠标点击了某个按钮，右下角就会弹窗提醒你相应的快捷键，想不记住快捷键都难。
&lt;img src="https://plugins.jetbrains.com/files/9792/screenshot_17105.png"
loading="lazy"
>&lt;/p>
&lt;h3 id="5-translation">&lt;a href="#5-translation" class="header-anchor">&lt;/a>5. Translation
&lt;/h3>&lt;p>翻译插件，可以随时随地一键翻译，再也不用担心读不懂源码注释了，&lt;a class="link" href="https://plugins.jetbrains.com/plugin/8579-translation" target="_blank" rel="noopener"
>插件地址&lt;/a>，使用方法可以参照插件地址。
&lt;img src="https://plugins.jetbrains.com/files/8579/screenshot_20602.png"
loading="lazy"
>&lt;/p>
&lt;h3 id="6atom-material-icons">&lt;a href="#6atom-material-icons" class="header-anchor">&lt;/a>6.Atom Material Icons
&lt;/h3>&lt;p>&lt;a class="link" href="https://plugins.jetbrains.com/plugin/10044-atom-material-icons" target="_blank" rel="noopener"
>插件地址&lt;/a>，更改文件图标的插件。
&lt;img src="https://plugins.jetbrains.com/files/10044/screenshot_21309.png"
loading="lazy"
>&lt;/p>
&lt;h3 id="7rainbow-brackets">&lt;a href="#7rainbow-brackets" class="header-anchor">&lt;/a>7.Rainbow Brackets
&lt;/h3>&lt;p>彩虹括号，&lt;a class="link" href="https://plugins.jetbrains.com/plugin/10080-rainbow-brackets" target="_blank" rel="noopener"
>插件地址&lt;/a>
&lt;img src="https://plugins.jetbrains.com/files/10080/screenshot_17373.png"
loading="lazy"
>&lt;/p>
&lt;h3 id="8indent-rainbow">&lt;a href="#8indent-rainbow" class="header-anchor">&lt;/a>8.Indent Rainbow
&lt;/h3>&lt;p>彩虹缩进，&lt;a class="link" href="https://plugins.jetbrains.com/plugin/13308-indent-rainbow" target="_blank" rel="noopener"
>插件地址&lt;/a>
&lt;img src="https://plugins.jetbrains.com/files/13308/screenshot_20509.png"
loading="lazy"
>&lt;/p>
&lt;h3 id="9rainbow-fart">&lt;a href="#9rainbow-fart" class="header-anchor">&lt;/a>9.Rainbow Fart
&lt;/h3>&lt;p>彩虹屁插件，一个在你编程时持续用语音夸你写的牛逼的插件，&lt;a class="link" href="https://plugins.jetbrains.com/plugin/14543-rainbow-fart" target="_blank" rel="noopener"
>插件地址&lt;/a>，支持自定义语音包：https://github.com/izhangzhihao/intellij-rainbow-fart&lt;/p>
&lt;h3 id="10nyan-progress-bar">&lt;a href="#10nyan-progress-bar" class="header-anchor">&lt;/a>10.Nyan Progress Bar
&lt;/h3>&lt;p>彩虹猫进度条，&lt;a class="link" href="https://plugins.jetbrains.com/plugin/8575-nyan-progress-bar" target="_blank" rel="noopener"
>插件地址&lt;/a>&lt;/p>
&lt;h3 id="11中文语言包">&lt;a href="#11%e4%b8%ad%e6%96%87%e8%af%ad%e8%a8%80%e5%8c%85" class="header-anchor">&lt;/a>11.中文语言包
&lt;/h3>&lt;p>官方出的中文语言包，比什么汉化都要好使
&lt;a class="link" href="https://plugins.jetbrains.com/plugin/13710-chinese-simplified-language-pack----" target="_blank" rel="noopener"
>插件地址&lt;/a>&lt;/p>
&lt;h2 id="附">&lt;a href="#%e9%99%84" class="header-anchor">&lt;/a>附
&lt;/h2>&lt;p>官方帮助：https://www.jetbrains.com/help/pycharm/2020.1/quick-start-guide.html
一个很全的设置说明：https://blog.csdn.net/u013088062/article/details/50388329
对部分设置选项功能进行说明：https://segmentfault.com/a/1190000022799670
一些有用的设置：https://cloud.tencent.com/developer/news/393471
一个炒鸡棒的PyCharm 中文指南：http://pycharm.iswbm.com/zh_CN/latest/index.html&lt;/p></description></item><item><title>CSS选择器</title><link>https://kizx.github.io/post/css%E9%80%89%E6%8B%A9%E5%99%A8/</link><pubDate>Sat, 01 Feb 2020 05:43:08 +0000</pubDate><guid>https://kizx.github.io/post/css%E9%80%89%E6%8B%A9%E5%99%A8/</guid><description>&lt;ul>
&lt;li>&lt;a class="link" href="http://houdunren.gitee.io/note/css/2%20%E9%80%89%E6%8B%A9%E5%99%A8.html#%e9%80%89%e6%8b%a9%e5%99%a8" target="_blank" rel="noopener"
>后盾人|选择器&lt;/a>[/scode]&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-css" data-lang="css">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">/*标签选择器*/&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">h1&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">color&lt;/span>: &lt;span style="color:#66d9ef">red&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">/*子代选择 h1&amp;gt;h2*/&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">/*同代选择 h1~h2*/&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">/*相邻选择 h1+h2*/&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">/*class类选择器*/&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>.&lt;span style="color:#a6e22e">h1-class&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">color&lt;/span>: &lt;span style="color:#66d9ef">orange&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">/*id选择器*/&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>#h1-id {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">color&lt;/span>: &lt;span style="color:#66d9ef">yellow&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">/*属性选择，可以指定多个，如h1[title][class]，
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">也可以指定属性的值 如h1[title=&amp;#34;h1&amp;#34;]
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">属性值可以使用正则匹配 如：^=表示开头匹配 $=表示结尾匹配 *=表示包含匹配 ~=表示单词匹配 |=表示结尾或-结尾匹配*/&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">h1&lt;/span>&lt;span style="color:#f92672">[&lt;/span>&lt;span style="color:#f92672">title&lt;/span>&lt;span style="color:#f92672">]&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">color&lt;/span>: &lt;span style="color:#66d9ef">green&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">/*伪类选择器*/&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">a&lt;/span>:&lt;span style="color:#a6e22e">link&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">color&lt;/span>: &lt;span style="color:#66d9ef">blue&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">font-size&lt;/span>: &lt;span style="color:#66d9ef">xx-large&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">a&lt;/span>:&lt;span style="color:#a6e22e">visited&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">color&lt;/span>: &lt;span style="color:#66d9ef">blue&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">a&lt;/span>:&lt;span style="color:#a6e22e">hover&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">color&lt;/span>: &lt;span style="color:#66d9ef">yellow&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">a&lt;/span>:&lt;span style="color:#a6e22e">active&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">color&lt;/span>: &lt;span style="color:#66d9ef">green&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">input&lt;/span>:&lt;span style="color:#a6e22e">focus&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">color&lt;/span>: &lt;span style="color:#66d9ef">red&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">input&lt;/span>:&lt;span style="color:#a6e22e">target&lt;/span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">input&lt;/span>:&lt;span style="color:#a6e22e">empty&lt;/span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">/*display: none;*/&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">/*标签限定位置的伪类*/&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">h1&lt;/span> &lt;span style="color:#f92672">h2&lt;/span>:&lt;span style="color:#a6e22e">first-child&lt;/span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">/*第一个标签是h2 last同理*/&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">h1&lt;/span> &lt;span style="color:#f92672">h2&lt;/span>:&lt;span style="color:#a6e22e">first-of-type&lt;/span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">/*出现的第一个h2 last同理*/&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">h1&lt;/span> &lt;span style="color:#f92672">h2&lt;/span>:&lt;span style="color:#a6e22e">only-of-type&lt;/span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">/*唯一的*/&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">h1&lt;/span> &lt;span style="color:#f92672">h2&lt;/span>:&lt;span style="color:#a6e22e">nth-child&lt;/span>&lt;span style="color:#f92672">(&lt;/span>&lt;span style="color:#f92672">2&lt;/span>&lt;span style="color:#f92672">)&lt;/span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">/*限定为第二个* last同理/
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">}
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">h1 h2:nth-of-type(2){
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"> /*第二个出现的* last同理/
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">}
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">/*一个样式可以对应多个标签 如：h1,h2,.class*/&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">/*一个标签也可以对应多个样式 如：&amp;lt;h1 class=&amp;#34;class1 class2&amp;#34;&amp;gt;&amp;lt;/h1&amp;gt;*/&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>基于深度学习的Vtuber生成器</title><link>https://kizx.github.io/post/%E5%9F%BA%E4%BA%8E%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E7%9A%84vtuber%E7%94%9F%E6%88%90%E5%99%A8/</link><pubDate>Sat, 11 Jan 2020 12:52:00 +0000</pubDate><guid>https://kizx.github.io/post/%E5%9F%BA%E4%BA%8E%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E7%9A%84vtuber%E7%94%9F%E6%88%90%E5%99%A8/</guid><description>&lt;p>什么是Vtuber我就不多说了，目前的Vtuber大概要么是传统的基于Live2D，然后配合视频捕捉；要么就是3D模型结合动补设备来实现。本篇介绍的这个生成器主要是类似前者，因为即使是平面的Live2D，制作起来也是非常耗时费力的。
那么有没有这么一种方法可以直接从一张人设图直接生成可动的模型呢，然后配合视频捕捉出道Vtuber呢，这就是今天所介绍的生成器的功能。&lt;/p>
&lt;h2 id="原理">&lt;a href="#%e5%8e%9f%e7%90%86" class="header-anchor">&lt;/a>原理
&lt;/h2>&lt;p>这是原作者的说明界面：https://pkhungurn.github.io/talking-head-anime/
里面较为详细介绍了他的生成器的原理和训练过程。
这里介绍一个图片生成网站：https://waifulabs.com/
一个可以生成老婆半身像的网站，作者用这个网站生成的图片来对软件进行测试，当然你也可以拿自己喜欢的图来测试。&lt;/p>
&lt;h2 id="试玩">&lt;a href="#%e8%af%95%e7%8e%a9" class="header-anchor">&lt;/a>试玩
&lt;/h2>&lt;p>这是原作者的源码：https://github.com/pkhungurn/talking-head-anime-demo
以下是我根据源码说明做的简单总结。
步骤：
[scode type=&amp;ldquo;lblue&amp;rdquo;]1. 安装PyTorch，电脑要求必须是能支持CUDA的N卡才行，&lt;a class="link" href="https://www.2bboy.com/archives/146.html" target="_blank" rel="noopener"
>PyTorch安装&lt;/a>[/scode]&lt;/p>
&lt;p>[scode type=&amp;ldquo;yellow&amp;rdquo;]后面作者的源码和readme都进行了一定更新，建议自己根据源码里的readme进行部署，本文的文件和方法可能过时，仅供参考。[/scode]&lt;/p>
&lt;p>[scode type=&amp;ldquo;lblue&amp;rdquo;] 2. 下载上面的源码，然后下载这里的&lt;a class="link" href="https://drive.google.com/file/d/1ajHViqyLDKFKfBtGPE5cbSGcMNa8rz8k/view" target="_blank" rel="noopener"
>模型数据&lt;/a> 和 &lt;a class="link" href="https://github.com/davisking/dlib-models/blob/master/shape_predictor_68_face_landmarks.dat.bz2" target="_blank" rel="noopener"
>这个文件&lt;/a>。下载好后把文件按源码说明解压放到data目录下。[/scode]&lt;/p>
&lt;p>[scode type=&amp;ldquo;lblue&amp;rdquo;]3. 接下来要安装相应的库，简单点就按作者文档里的运行要先安装cv2和dlib库，否则会报错，安装cv2用 &lt;code>pip install opencv-python &lt;/code>,安装dlib还有个坑，&lt;a class="link" href="https://blog.csdn.net/fengguanxi/article/details/80445652" target="_blank" rel="noopener"
>踩坑&lt;/a>。[/scode]&lt;/p>
&lt;p>[scode type=&amp;ldquo;lblue&amp;rdquo;] 4. 进入PyTorch环境，cd到项目文件夹，输入 &lt;code>python app/manual_poser.py&lt;/code>，弹出界面，导入图片即可，这里的图片还必须是256x256的背景为空的png图片，人物的脸也要保持在中间位置，然后拖动滑块图片就能动了。
强调一下这里仅仅是让图片动起来了，并不能生成其他的什么模型用于第三方软件，而且图片也挑的，不是随便张图片都能有很好的效果。[/scode]&lt;/p>
&lt;p>[scode type=&amp;ldquo;lblue&amp;rdquo;]5. 作者原文里还有一个 &lt;code>python app/puppeteer.py&lt;/code>应该是直接动补摄像头数据的，由于我电脑没有摄像头，后面有空再研究。[/scode]&lt;/p>
&lt;h2 id="视频演示">&lt;a href="#%e8%a7%86%e9%a2%91%e6%bc%94%e7%a4%ba" class="header-anchor">&lt;/a>视频演示
&lt;/h2>&lt;!-- raw HTML omitted -->
&lt;h2 id="后记">&lt;a href="#%e5%90%8e%e8%ae%b0" class="header-anchor">&lt;/a>后记
&lt;/h2>&lt;p>后来用手机摄像头连接电脑，测试了面捕功能，见视频的P2。&lt;/p></description></item><item><title>MMD建模相关软件及插件</title><link>https://kizx.github.io/post/mmd%E5%BB%BA%E6%A8%A1%E7%9B%B8%E5%85%B3%E8%BD%AF%E4%BB%B6%E5%8F%8A%E6%8F%92%E4%BB%B6/</link><pubDate>Fri, 10 Jan 2020 08:15:00 +0000</pubDate><guid>https://kizx.github.io/post/mmd%E5%BB%BA%E6%A8%A1%E7%9B%B8%E5%85%B3%E8%BD%AF%E4%BB%B6%E5%8F%8A%E6%8F%92%E4%BB%B6/</guid><description>&lt;ol start="2">
&lt;li>&lt;a class="link" href="http://kkhk22.seesaa.net/category/14045227-1.html" target="_blank" rel="noopener"
>PMXEditer&lt;/a>
2.1 &lt;a class="link" href="http://tieba.baidu.com/p/4376107014" target="_blank" rel="noopener"
>PE多功能插件&lt;/a>&lt;/li>
&lt;li>[Blender_mmd_tools]9https://github.com/powroupi/blender_mmd_tools)&lt;/li>
&lt;/ol></description></item><item><title>几款密码管理软件</title><link>https://kizx.github.io/post/%E5%87%A0%E6%AC%BE%E5%AF%86%E7%A0%81%E7%AE%A1%E7%90%86%E8%BD%AF%E4%BB%B6/</link><pubDate>Sun, 29 Dec 2019 08:26:00 +0000</pubDate><guid>https://kizx.github.io/post/%E5%87%A0%E6%AC%BE%E5%AF%86%E7%A0%81%E7%AE%A1%E7%90%86%E8%BD%AF%E4%BB%B6/</guid><description>&lt;p>i&amp;gt; We always have to remember a lot of accounts and passwords in our daily life. Some people like to use their particular passwords, while others like to keep them in a notebook. If you&amp;rsquo;re frustrated to manage your passwords, here are some password management tools you can have a try. Good tools can improve our efficiency, but even the best tools can be a burden if they don&amp;rsquo;t fit us; therefore, don&amp;rsquo;t use a tool just to use the tool.&lt;/p>
&lt;h2 id="keepass">&lt;a href="#keepass" class="header-anchor">&lt;/a>keepass
&lt;/h2>&lt;p>一款本地的密码管理软件，不能云端，就是个高级的带密码的记事本或者数据库，好像有浏览器插件但必须本地开着keepass的客户端才能用。如果只是喜欢记一些数据到本地，配合坚果云同步用用还可以。&lt;/p>
&lt;h2 id="1password">&lt;a href="#1password" class="header-anchor">&lt;/a>1password
&lt;/h2>&lt;p>之前刚好有活动就领了一年的试用，软件界面很漂亮，浏览器插件用着也很舒服，云端同步，平台齐全，唯一的缺点就是太贵了，虽然有一年试用，但我觉得还是没有必要在密码管理上花一笔钱就没继续用了&lt;/p>
&lt;h2 id="lastpass">&lt;a href="#lastpass" class="header-anchor">&lt;/a>lastpass
&lt;/h2>&lt;p>一款免费的密码管理软件，浏览器插件界面略丑，不支持中文，用了一个多月，老是弹升级信息。总之一句话不够简洁，越用越讨厌。&lt;/p>
&lt;h2 id="bitwarden">&lt;a href="#bitwarden" class="header-anchor">&lt;/a>Bitwarden
&lt;/h2>&lt;p>也是免费的一款软件，特点是可以自建云端，同时也自带的云端同步。浏览器插件界面简洁，支持中文，各方面都还优秀，唯一的缺点就是无法自动感知你网页密码的添加和改变，也不能自动填入密码，得在插件上点一下才行。如果不怕麻烦的话这款软件用着很舒服。&lt;/p></description></item><item><title>Typecho+Handsome主题美化</title><link>https://kizx.github.io/post/typecho+handsome%E4%B8%BB%E9%A2%98%E7%BE%8E%E5%8C%96/</link><pubDate>Sat, 28 Dec 2019 06:06:00 +0000</pubDate><guid>https://kizx.github.io/post/typecho+handsome%E4%B8%BB%E9%A2%98%E7%BE%8E%E5%8C%96/</guid><description>&lt;h2 id="美化教程">&lt;a href="#%e7%be%8e%e5%8c%96%e6%95%99%e7%a8%8b" class="header-anchor">&lt;/a>美化教程
&lt;/h2>&lt;p>&lt;a class="link" href="https://auth.ihewro.com/user/docs/#/" target="_blank" rel="noopener"
>handsome使用文档&lt;/a>&lt;/p>
&lt;p>&lt;a class="link" href="https://auth.ihewro.com/user/course.html" target="_blank" rel="noopener"
>handsome社区分享&lt;/a>&lt;/p>
&lt;p>&lt;a class="link" href="https://www.kancloud.cn/jarvis0912/handsome/1500818" target="_blank" rel="noopener"
>史上最全的handsome美化，没有之一！&lt;/a>&lt;/p>
&lt;hr>
&lt;p>&lt;a class="link" href="https://sunpma.com/674.html" target="_blank" rel="noopener"
>sunpma.com主题美化记录&lt;/a>&lt;/p>
&lt;p>&lt;a class="link" href="https://www.onlaly.com/archives/268/" target="_blank" rel="noopener"
>www.onlaly.com的魔改&lt;/a>&lt;/p>
&lt;p>&lt;a class="link" href="https://blog.qqiyu.cn/397.html" target="_blank" rel="noopener"
>blog.qqiyu.cn美化魔改&lt;/a>&lt;/p>
&lt;p>&lt;a class="link" href="https://itudo.cn/handsome-change.html" target="_blank" rel="noopener"
>itudo.cn魔改合集&lt;/a>&lt;/p>
&lt;p>&lt;a class="link" href="https://gordsky.cn/106.html" target="_blank" rel="noopener"
>gordsky.cn美化分享&lt;/a>&lt;/p>
&lt;p>&lt;a class="link" href="https://www.cooyf.com/default/1.html" target="_blank" rel="noopener"
>www.cooyf.com的一些美化&lt;/a>&lt;/p>
&lt;hr>
&lt;p>&lt;a class="link" href="https://www.phenxso.com/archives/194.html" target="_blank" rel="noopener"
>typecho评论后台图片超出范围&lt;/a>&lt;/p>
&lt;p>&lt;a class="link" href="https://dxoca.cn/front/257.html" target="_blank" rel="noopener"
>typecho文章挂载Bilibili视频&lt;/a>&lt;/p>
&lt;p>&lt;a class="link" href="https://eas1.cn/190.html" target="_blank" rel="noopener"
>弹窗提醒以及个性化提示&lt;/a>&lt;/p>
&lt;h2 id="插件">&lt;a href="#%e6%8f%92%e4%bb%b6" class="header-anchor">&lt;/a>插件
&lt;/h2>&lt;p>&lt;a class="link" href="https://www.xcnte.com/archives/523/" target="_blank" rel="noopener"
>代码高亮插件Code Prettify&lt;/a>&lt;/p>
&lt;p>&lt;a class="link" href="https://www.hoehub.com/PHP/typecho-HoerMouse.html" target="_blank" rel="noopener"
>Typecho炫彩鼠标插件:HoerMouse&lt;/a>&lt;/p>
&lt;p>&lt;a class="link" href="https://github.com/gaobinzhan/CommentPush" target="_blank" rel="noopener"
>评论通知推送多服务&lt;/a>&lt;/p>
&lt;p>&lt;a class="link" href="https://minirizhi.com/104.html" target="_blank" rel="noopener"
>百度提交插件BaiduSubmit魔改&lt;/a>&lt;/p>
&lt;p>&lt;a class="link" href="https://paugram.com/coding/add-poster-girl-with-plugin.html" target="_blank" rel="noopener"
>Live2D 插件Pio&lt;/a>&lt;/p>
&lt;p>&lt;a class="link" href="https://qqdie.com/archives/tyepcho-tag-select-plugin.html" target="_blank" rel="noopener"
>后台编辑文章时增加标签选择列表&lt;/a>&lt;/p>
&lt;p>&lt;a class="link" href="https://qqdie.com/archives/tereplace-plugin-typecho.html" target="_blank" rel="noopener"
>文章内容替换工具&lt;/a>&lt;/p>
&lt;p>&lt;a class="link" href="https://github.com/ShadowySpirits/BangumiList" target="_blank" rel="noopener"
>Bangumi 追番列表&lt;/a>&lt;/p>
&lt;p>&lt;a class="link" href="https://blog.imalan.cn/archives/128/" target="_blank" rel="noopener"
>PandaBangumi 追番列表&lt;/a>&lt;/p>
&lt;p>&lt;a class="link" href="https://zjhblog.cc/index.php/archives/159/" target="_blank" rel="noopener"
>EditorMD + handsome 编辑器插件整合&lt;/a>&lt;/p>
&lt;p>&lt;a class="link" href="https://keymoe.com/archives/55/" target="_blank" rel="noopener"
>WowScroll动感元素插件&lt;/a>&lt;/p>
&lt;p>&lt;a class="link" href="https://www.zpblogs.cn/103.html" target="_blank" rel="noopener"
>WenYu特效管理插件&lt;/a>&lt;/p>
&lt;h2 id="博主的介绍">&lt;a href="#%e5%8d%9a%e4%b8%bb%e7%9a%84%e4%bb%8b%e7%bb%8d" class="header-anchor">&lt;/a>博主的介绍
&lt;/h2>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-html" data-lang="html">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&amp;lt;!--博主介绍的闪字特效--&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;&lt;span style="color:#f92672">span&lt;/span> &lt;span style="color:#a6e22e">class&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;text-muted text-xs block&amp;#34;&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;lt;&lt;span style="color:#f92672">div&lt;/span> &lt;span style="color:#a6e22e">id&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;chakhsu&amp;#34;&lt;/span>&amp;gt;&amp;lt;/&lt;span style="color:#f92672">div&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;lt;&lt;span style="color:#f92672">script&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">var&lt;/span> &lt;span style="color:#a6e22e">chakhsu&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#66d9ef">function&lt;/span> (&lt;span style="color:#a6e22e">r&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">function&lt;/span> &lt;span style="color:#a6e22e">t&lt;/span>() {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">return&lt;/span> &lt;span style="color:#a6e22e">b&lt;/span>[Math.&lt;span style="color:#a6e22e">floor&lt;/span>(Math.&lt;span style="color:#a6e22e">random&lt;/span>() &lt;span style="color:#f92672">*&lt;/span> &lt;span style="color:#a6e22e">b&lt;/span>.&lt;span style="color:#a6e22e">length&lt;/span>)]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">function&lt;/span> &lt;span style="color:#a6e22e">e&lt;/span>() {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">return&lt;/span> String.&lt;span style="color:#a6e22e">fromCharCode&lt;/span>(&lt;span style="color:#ae81ff">94&lt;/span> &lt;span style="color:#f92672">*&lt;/span> Math.&lt;span style="color:#a6e22e">random&lt;/span>() &lt;span style="color:#f92672">+&lt;/span> &lt;span style="color:#ae81ff">33&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">function&lt;/span> &lt;span style="color:#a6e22e">n&lt;/span>(&lt;span style="color:#a6e22e">r&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">for&lt;/span> (&lt;span style="color:#66d9ef">var&lt;/span> &lt;span style="color:#a6e22e">n&lt;/span> &lt;span style="color:#f92672">=&lt;/span> document.&lt;span style="color:#a6e22e">createDocumentFragment&lt;/span>(), &lt;span style="color:#a6e22e">i&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">0&lt;/span>; &lt;span style="color:#a6e22e">r&lt;/span> &lt;span style="color:#f92672">&amp;gt;&lt;/span> &lt;span style="color:#a6e22e">i&lt;/span>; &lt;span style="color:#a6e22e">i&lt;/span>&lt;span style="color:#f92672">++&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">var&lt;/span> &lt;span style="color:#a6e22e">l&lt;/span> &lt;span style="color:#f92672">=&lt;/span> document.&lt;span style="color:#a6e22e">createElement&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;span&amp;#34;&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">l&lt;/span>.&lt;span style="color:#a6e22e">textContent&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">e&lt;/span>(), &lt;span style="color:#a6e22e">l&lt;/span>.&lt;span style="color:#a6e22e">style&lt;/span>.&lt;span style="color:#a6e22e">color&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">t&lt;/span>(), &lt;span style="color:#a6e22e">n&lt;/span>.&lt;span style="color:#a6e22e">appendChild&lt;/span>(&lt;span style="color:#a6e22e">l&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">return&lt;/span> &lt;span style="color:#a6e22e">n&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">function&lt;/span> &lt;span style="color:#a6e22e">i&lt;/span>() {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">var&lt;/span> &lt;span style="color:#a6e22e">t&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">o&lt;/span>[&lt;span style="color:#a6e22e">c&lt;/span>.&lt;span style="color:#a6e22e">skillI&lt;/span>];
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">c&lt;/span>.&lt;span style="color:#a6e22e">step&lt;/span> &lt;span style="color:#f92672">?&lt;/span> &lt;span style="color:#a6e22e">c&lt;/span>.&lt;span style="color:#a6e22e">step&lt;/span>&lt;span style="color:#f92672">--&lt;/span> &lt;span style="color:#f92672">:&lt;/span> (&lt;span style="color:#a6e22e">c&lt;/span>.&lt;span style="color:#a6e22e">step&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">g&lt;/span>, &lt;span style="color:#a6e22e">c&lt;/span>.&lt;span style="color:#a6e22e">prefixP&lt;/span> &lt;span style="color:#f92672">&amp;lt;&lt;/span> &lt;span style="color:#a6e22e">l&lt;/span>.&lt;span style="color:#a6e22e">length&lt;/span> &lt;span style="color:#f92672">?&lt;/span> (&lt;span style="color:#a6e22e">c&lt;/span>.&lt;span style="color:#a6e22e">prefixP&lt;/span> &lt;span style="color:#f92672">&amp;gt;=&lt;/span> &lt;span style="color:#ae81ff">0&lt;/span> &lt;span style="color:#f92672">&amp;amp;&amp;amp;&lt;/span> (&lt;span style="color:#a6e22e">c&lt;/span>.&lt;span style="color:#a6e22e">text&lt;/span> &lt;span style="color:#f92672">+=&lt;/span> &lt;span style="color:#a6e22e">l&lt;/span>[&lt;span style="color:#a6e22e">c&lt;/span>.&lt;span style="color:#a6e22e">prefixP&lt;/span>]),
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">c&lt;/span>.&lt;span style="color:#a6e22e">prefixP&lt;/span>&lt;span style="color:#f92672">++&lt;/span>) &lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#34;forward&amp;#34;&lt;/span> &lt;span style="color:#f92672">===&lt;/span> &lt;span style="color:#a6e22e">c&lt;/span>.&lt;span style="color:#a6e22e">direction&lt;/span> &lt;span style="color:#f92672">?&lt;/span> &lt;span style="color:#a6e22e">c&lt;/span>.&lt;span style="color:#a6e22e">skillP&lt;/span> &lt;span style="color:#f92672">&amp;lt;&lt;/span> &lt;span style="color:#a6e22e">t&lt;/span>.&lt;span style="color:#a6e22e">length&lt;/span> &lt;span style="color:#f92672">?&lt;/span> (&lt;span style="color:#a6e22e">c&lt;/span>.&lt;span style="color:#a6e22e">text&lt;/span> &lt;span style="color:#f92672">+=&lt;/span> &lt;span style="color:#a6e22e">t&lt;/span>[&lt;span style="color:#a6e22e">c&lt;/span>.&lt;span style="color:#a6e22e">skillP&lt;/span>],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">c&lt;/span>.&lt;span style="color:#a6e22e">skillP&lt;/span>&lt;span style="color:#f92672">++&lt;/span>) &lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#a6e22e">c&lt;/span>.&lt;span style="color:#a6e22e">delay&lt;/span> &lt;span style="color:#f92672">?&lt;/span> &lt;span style="color:#a6e22e">c&lt;/span>.&lt;span style="color:#a6e22e">delay&lt;/span>&lt;span style="color:#f92672">--&lt;/span> &lt;span style="color:#f92672">:&lt;/span> (&lt;span style="color:#a6e22e">c&lt;/span>.&lt;span style="color:#a6e22e">direction&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#34;backward&amp;#34;&lt;/span>, &lt;span style="color:#a6e22e">c&lt;/span>.&lt;span style="color:#a6e22e">delay&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">a&lt;/span>) &lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#a6e22e">c&lt;/span>.&lt;span style="color:#a6e22e">skillP&lt;/span> &lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ae81ff">0&lt;/span> &lt;span style="color:#f92672">?&lt;/span> (&lt;span style="color:#a6e22e">c&lt;/span>.&lt;span style="color:#a6e22e">text&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">c&lt;/span>.&lt;span style="color:#a6e22e">text&lt;/span>.&lt;span style="color:#a6e22e">slice&lt;/span>(&lt;span style="color:#ae81ff">0&lt;/span>, &lt;span style="color:#f92672">-&lt;/span>&lt;span style="color:#ae81ff">1&lt;/span>), &lt;span style="color:#a6e22e">c&lt;/span>.&lt;span style="color:#a6e22e">skillP&lt;/span>&lt;span style="color:#f92672">--&lt;/span>) &lt;span style="color:#f92672">:&lt;/span> (&lt;span style="color:#a6e22e">c&lt;/span>.&lt;span style="color:#a6e22e">skillI&lt;/span> &lt;span style="color:#f92672">=&lt;/span> (&lt;span style="color:#a6e22e">c&lt;/span>.&lt;span style="color:#a6e22e">skillI&lt;/span> &lt;span style="color:#f92672">+&lt;/span> &lt;span style="color:#ae81ff">1&lt;/span>) &lt;span style="color:#f92672">%&lt;/span> &lt;span style="color:#a6e22e">o&lt;/span>.&lt;span style="color:#a6e22e">length&lt;/span>, &lt;span style="color:#a6e22e">c&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> .&lt;span style="color:#a6e22e">direction&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#34;forward&amp;#34;&lt;/span>)), &lt;span style="color:#a6e22e">r&lt;/span>.&lt;span style="color:#a6e22e">textContent&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">c&lt;/span>.&lt;span style="color:#a6e22e">text&lt;/span>, &lt;span style="color:#a6e22e">r&lt;/span>.&lt;span style="color:#a6e22e">appendChild&lt;/span>(&lt;span style="color:#a6e22e">n&lt;/span>(&lt;span style="color:#a6e22e">c&lt;/span>.&lt;span style="color:#a6e22e">prefixP&lt;/span> &lt;span style="color:#f92672">&amp;lt;&lt;/span> &lt;span style="color:#a6e22e">l&lt;/span>.&lt;span style="color:#a6e22e">length&lt;/span> &lt;span style="color:#f92672">?&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Math.&lt;span style="color:#a6e22e">min&lt;/span>(&lt;span style="color:#a6e22e">s&lt;/span>, &lt;span style="color:#a6e22e">s&lt;/span> &lt;span style="color:#f92672">+&lt;/span> &lt;span style="color:#a6e22e">c&lt;/span>.&lt;span style="color:#a6e22e">prefixP&lt;/span>) &lt;span style="color:#f92672">:&lt;/span> Math.&lt;span style="color:#a6e22e">min&lt;/span>(&lt;span style="color:#a6e22e">s&lt;/span>, &lt;span style="color:#a6e22e">t&lt;/span>.&lt;span style="color:#a6e22e">length&lt;/span> &lt;span style="color:#f92672">-&lt;/span> &lt;span style="color:#a6e22e">c&lt;/span>.&lt;span style="color:#a6e22e">skillP&lt;/span>))), &lt;span style="color:#a6e22e">setTimeout&lt;/span>(&lt;span style="color:#a6e22e">i&lt;/span>, &lt;span style="color:#a6e22e">d&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> } &lt;span style="color:#75715e">/*以下内容自定义修改*/&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">var&lt;/span> &lt;span style="color:#a6e22e">l&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#34;&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">o&lt;/span> &lt;span style="color:#f92672">=&lt;/span> [&lt;span style="color:#e6db74">&amp;#34;我好菜啊&amp;#34;&lt;/span>].&lt;span style="color:#a6e22e">map&lt;/span>(&lt;span style="color:#66d9ef">function&lt;/span> (&lt;span style="color:#a6e22e">r&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">return&lt;/span> &lt;span style="color:#a6e22e">r&lt;/span> &lt;span style="color:#f92672">+&lt;/span> &lt;span style="color:#e6db74">&amp;#34;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }),
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">a&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">2&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">g&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">1&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">s&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">5&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">d&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">75&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">b&lt;/span> &lt;span style="color:#f92672">=&lt;/span> [&lt;span style="color:#e6db74">&amp;#34;rgb(110,64,170)&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;rgb(150,61,179)&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;rgb(191,60,175)&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;rgb(228,65,157)&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;rgb(254,75,131)&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;rgb(255,94,99)&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;rgb(255,120,71)&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;rgb(251,150,51)&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;rgb(226,183,47)&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;rgb(198,214,60)&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;rgb(175,240,91)&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;rgb(127,246,88)&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;rgb(82,246,103)&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;rgb(48,239,130)&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;rgb(29,223,163)&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;rgb(26,199,194)&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;rgb(35,171,216)&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;rgb(54,140,225)&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;rgb(76,110,219)&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;rgb(96,84,200)&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">c&lt;/span> &lt;span style="color:#f92672">=&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">text&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#34;&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">prefixP&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">-&lt;/span>&lt;span style="color:#a6e22e">s&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">skillI&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#ae81ff">0&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">skillP&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#ae81ff">0&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">direction&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#34;forward&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">delay&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#a6e22e">a&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">step&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#a6e22e">g&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> };
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">i&lt;/span>()
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> };
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">chakhsu&lt;/span>(document.&lt;span style="color:#a6e22e">getElementById&lt;/span>(&lt;span style="color:#e6db74">&amp;#39;chakhsu&amp;#39;&lt;/span>));
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;lt;/&lt;span style="color:#f92672">script&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;/&lt;span style="color:#f92672">span&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="左侧边栏导航">&lt;a href="#%e5%b7%a6%e4%be%a7%e8%be%b9%e6%a0%8f%e5%af%bc%e8%88%aa" class="header-anchor">&lt;/a>左侧边栏导航
&lt;/h2>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-json" data-lang="json">&lt;span style="display:flex;">&lt;span>{&lt;span style="color:#f92672">&amp;#34;name&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;留言板&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;class&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;iconfont icon-liuyan&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;link&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;https://www.2bboy.com/guestbook.html&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;target&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;_self&amp;#34;&lt;/span>}&lt;span style="color:#960050;background-color:#1e0010">,&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>{&lt;span style="color:#f92672">&amp;#34;name&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;动态&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;class&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;iconfont icon-dongtai2&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;link&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;https://www.2bboy.com/cross.html&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;target&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;_self&amp;#34;&lt;/span>}&lt;span style="color:#960050;background-color:#1e0010">,&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>{&lt;span style="color:#f92672">&amp;#34;name&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;归档&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;class&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;iconfont icon-rili2&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;link&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;https://www.2bboy.com/file.html&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;target&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;_self&amp;#34;&lt;/span>}&lt;span style="color:#960050;background-color:#1e0010">,&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>{&lt;span style="color:#f92672">&amp;#34;name&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;追番&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;class&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;iconfont icon-pgc_bangumi&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;link&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;https://www.2bboy.com/bangumi.html&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;target&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;_self&amp;#34;&lt;/span>}&lt;span style="color:#960050;background-color:#1e0010">,&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>{&lt;span style="color:#f92672">&amp;#34;name&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;云盘&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;class&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;iconfont icon-yun&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;link&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;https://pan.2bboy.com/Public&amp;#34;&lt;/span>}&lt;span style="color:#960050;background-color:#1e0010">,&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>{&lt;span style="color:#f92672">&amp;#34;name&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;home&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;status&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;hide&amp;#34;&lt;/span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="顶部导航">&lt;a href="#%e9%a1%b6%e9%83%a8%e5%af%bc%e8%88%aa" class="header-anchor">&lt;/a>顶部导航
&lt;/h2>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-json" data-lang="json">&lt;span style="display:flex;">&lt;span>{&lt;span style="color:#f92672">&amp;#34;name&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;bilibili&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;class&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;iconfont icon-bilibili-fill&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;link&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;https://space.bilibili.com/22411920&amp;#34;&lt;/span>}&lt;span style="color:#960050;background-color:#1e0010">,&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>{&lt;span style="color:#f92672">&amp;#34;name&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;github&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;class&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;iconfont icon-github&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;link&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;https://github.com/kizx&amp;#34;&lt;/span>}&lt;span style="color:#960050;background-color:#1e0010">,&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>{&lt;span style="color:#f92672">&amp;#34;name&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;steam&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;class&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;iconfont icon-steam&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;link&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;https://steamcommunity.com/id/kizxmoe&amp;#34;&lt;/span>}&lt;span style="color:#960050;background-color:#1e0010">,&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>{&lt;span style="color:#f92672">&amp;#34;name&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;talk&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;status&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;hide&amp;#34;&lt;/span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="时光机社交按钮">&lt;a href="#%e6%97%b6%e5%85%89%e6%9c%ba%e7%a4%be%e4%ba%a4%e6%8c%89%e9%92%ae" class="header-anchor">&lt;/a>时光机社交按钮
&lt;/h2>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-json" data-lang="json">&lt;span style="display:flex;">&lt;span>{&lt;span style="color:#f92672">&amp;#34;name&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;微博&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;class&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;fontello fontello-weibo&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;link&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;https://weibo.com/u/5938819173&amp;#34;&lt;/span>}&lt;span style="color:#960050;background-color:#1e0010">,&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>{&lt;span style="color:#f92672">&amp;#34;name&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;github&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;class&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;fa fa-github&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;link&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;https://github.com/kizx&amp;#34;&lt;/span>}&lt;span style="color:#960050;background-color:#1e0010">,&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>{&lt;span style="color:#f92672">&amp;#34;name&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;gitee&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;class&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;fa fa-git&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;link&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;https://gitee.com/kizx&amp;#34;&lt;/span>}&lt;span style="color:#960050;background-color:#1e0010">,&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>{&lt;span style="color:#f92672">&amp;#34;name&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;steam&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;class&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;fa fa-steam&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;link&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;https://steamcommunity.com/id/kizxmoe&amp;#34;&lt;/span>}&lt;span style="color:#960050;background-color:#1e0010">,&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>{&lt;span style="color:#f92672">&amp;#34;name&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;bilibili&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;status&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;single&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;link&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;https://space.bilibili.com/22411920&amp;#34;&lt;/span>}&lt;span style="color:#960050;background-color:#1e0010">,&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>{&lt;span style="color:#f92672">&amp;#34;name&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;网易云&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;status&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;single&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;link&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;https://music.163.com/#/user/home?id=111496719&amp;#34;&lt;/span>}&lt;span style="color:#960050;background-color:#1e0010">,&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>{&lt;span style="color:#f92672">&amp;#34;name&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;bangumi&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;status&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;single&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;class&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;fa fa-heartbeat&amp;#34;&lt;/span>,&lt;span style="color:#f92672">&amp;#34;link&amp;#34;&lt;/span>:&lt;span style="color:#e6db74">&amp;#34;http://bangumi.tv/user/305237&amp;#34;&lt;/span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="pjax回调函数">&lt;a href="#pjax%e5%9b%9e%e8%b0%83%e5%87%bd%e6%95%b0" class="header-anchor">&lt;/a>pjax回调函数
&lt;/h2>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-js" data-lang="js">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&amp;lt;!--&lt;/span>&lt;span style="color:#a6e22e">彩色标签云&lt;/span>&lt;span style="color:#f92672">--&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">let&lt;/span> &lt;span style="color:#a6e22e">tags&lt;/span> &lt;span style="color:#f92672">=&lt;/span> document.&lt;span style="color:#a6e22e">querySelectorAll&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;#tag_cloud-2 a&amp;#34;&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">let&lt;/span> &lt;span style="color:#a6e22e">colorArr&lt;/span> &lt;span style="color:#f92672">=&lt;/span> [&lt;span style="color:#e6db74">&amp;#34;#428BCA&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;#AEDCAE&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;#ECA9A7&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;#DA99FF&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;#FFB380&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;#D9B999&amp;#34;&lt;/span>];
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">tags&lt;/span>.&lt;span style="color:#a6e22e">forEach&lt;/span>(&lt;span style="color:#a6e22e">tag&lt;/span> =&amp;gt; {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">tagsColor&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">colorArr&lt;/span>[Math.&lt;span style="color:#a6e22e">floor&lt;/span>(Math.&lt;span style="color:#a6e22e">random&lt;/span>() &lt;span style="color:#f92672">*&lt;/span> &lt;span style="color:#a6e22e">colorArr&lt;/span>.&lt;span style="color:#a6e22e">length&lt;/span>)];
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">tag&lt;/span>.&lt;span style="color:#a6e22e">style&lt;/span>.&lt;span style="color:#a6e22e">backgroundColor&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">tagsColor&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>});
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&amp;lt;!--&lt;/span>&lt;span style="color:#a6e22e">代码高亮&lt;/span>&lt;span style="color:#f92672">--&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">if&lt;/span> (&lt;span style="color:#66d9ef">typeof&lt;/span> &lt;span style="color:#a6e22e">Prism&lt;/span> &lt;span style="color:#f92672">!==&lt;/span> &lt;span style="color:#e6db74">&amp;#39;undefined&amp;#39;&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">Prism&lt;/span>.&lt;span style="color:#a6e22e">highlightAll&lt;/span>(&lt;span style="color:#66d9ef">true&lt;/span>,&lt;span style="color:#66d9ef">null&lt;/span>);}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&amp;lt;!--&lt;/span>&lt;span style="color:#a6e22e">复制提示&lt;/span>&lt;span style="color:#f92672">--&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">kaygb_copy&lt;/span>();
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="博客底部左侧">&lt;a href="#%e5%8d%9a%e5%ae%a2%e5%ba%95%e9%83%a8%e5%b7%a6%e4%be%a7" class="header-anchor">&lt;/a>博客底部左侧
&lt;/h2>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-html" data-lang="html">&lt;span style="display:flex;">&lt;span>&amp;lt;&lt;span style="color:#f92672">div&lt;/span> &lt;span style="color:#a6e22e">class&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;github-badge&amp;#34;&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;&lt;span style="color:#f92672">a&lt;/span> &lt;span style="color:#a6e22e">href&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;./&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">title&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;?2019 kizx&amp;#34;&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;&lt;span style="color:#f92672">span&lt;/span> &lt;span style="color:#a6e22e">class&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;badge-subject&amp;#34;&lt;/span>&amp;gt;Copyright&amp;lt;/&lt;span style="color:#f92672">span&lt;/span>&amp;gt;&amp;lt;&lt;span style="color:#f92672">span&lt;/span> &lt;span style="color:#a6e22e">class&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;badge-value bg-blue&amp;#34;&lt;/span>&amp;gt;?2019 kizx&amp;lt;/&lt;span style="color:#f92672">span&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;/&lt;span style="color:#f92672">a&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;/&lt;span style="color:#f92672">div&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> |
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;&lt;span style="color:#f92672">div&lt;/span> &lt;span style="color:#a6e22e">class&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;github-badge&amp;#34;&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;&lt;span style="color:#f92672">a&lt;/span> &lt;span style="color:#a6e22e">href&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://beian.miit.gov.cn&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">target&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;_blank&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">title&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;陕ICP备19016973号&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">style&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;cursor: url(&amp;#34;&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">/&lt;/span>&lt;span style="color:#a6e22e">usr&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">/&lt;/span>&lt;span style="color:#a6e22e">plugins&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">/&lt;/span>&lt;span style="color:#a6e22e">HoerMouse&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">/&lt;/span>&lt;span style="color:#a6e22e">static&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">/&lt;/span>&lt;span style="color:#a6e22e">image&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">/&lt;/span>&lt;span style="color:#a6e22e">dew&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">/&lt;/span>&lt;span style="color:#a6e22e">link&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">.&lt;/span>&lt;span style="color:#a6e22e">cur&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">&amp;#34;),&lt;/span> &lt;span style="color:#a6e22e">pointer&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">;&amp;#34;&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;&lt;span style="color:#f92672">span&lt;/span> &lt;span style="color:#a6e22e">class&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;badge-subject&amp;#34;&lt;/span>&amp;gt;陕ICP备&amp;lt;/&lt;span style="color:#f92672">span&lt;/span>&amp;gt;&amp;lt;&lt;span style="color:#f92672">span&lt;/span> &lt;span style="color:#a6e22e">class&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;badge-value bg-green&amp;#34;&lt;/span>&amp;gt;19016973号&amp;lt;/&lt;span style="color:#f92672">span&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;/&lt;span style="color:#f92672">a&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;/&lt;span style="color:#f92672">div&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="博客底部右侧">&lt;a href="#%e5%8d%9a%e5%ae%a2%e5%ba%95%e9%83%a8%e5%8f%b3%e4%be%a7" class="header-anchor">&lt;/a>博客底部右侧
&lt;/h2>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-html" data-lang="html">&lt;span style="display:flex;">&lt;span>&amp;lt;&lt;span style="color:#f92672">div&lt;/span> &lt;span style="color:#a6e22e">class&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;github-badge&amp;#34;&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;&lt;span style="color:#f92672">a&lt;/span> &lt;span style="color:#a6e22e">href&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://www.typecho.org&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">target&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;_blank&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">title&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;由 Typecho 强力驱动&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">style&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;cursor: url(&amp;#34;&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">/&lt;/span>&lt;span style="color:#a6e22e">usr&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">/&lt;/span>&lt;span style="color:#a6e22e">plugins&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">/&lt;/span>&lt;span style="color:#a6e22e">HoerMouse&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">/&lt;/span>&lt;span style="color:#a6e22e">static&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">/&lt;/span>&lt;span style="color:#a6e22e">image&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">/&lt;/span>&lt;span style="color:#a6e22e">dew&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">/&lt;/span>&lt;span style="color:#a6e22e">link&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">.&lt;/span>&lt;span style="color:#a6e22e">cur&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">&amp;#34;),&lt;/span> &lt;span style="color:#a6e22e">pointer&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">;&amp;#34;&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;&lt;span style="color:#f92672">span&lt;/span> &lt;span style="color:#a6e22e">class&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;badge-subject&amp;#34;&lt;/span>&amp;gt;Powered&amp;lt;/&lt;span style="color:#f92672">span&lt;/span>&amp;gt;&amp;lt;&lt;span style="color:#f92672">span&lt;/span> &lt;span style="color:#a6e22e">class&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;badge-value bg-blue&amp;#34;&lt;/span>&amp;gt;Typecho&amp;lt;/&lt;span style="color:#f92672">span&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;/&lt;span style="color:#f92672">a&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;/&lt;span style="color:#f92672">div&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> |
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;&lt;span style="color:#f92672">div&lt;/span> &lt;span style="color:#a6e22e">class&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;github-badge&amp;#34;&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;&lt;span style="color:#f92672">a&lt;/span> &lt;span style="color:#a6e22e">href&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;https://www.ihewro.com/archives/489/&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">target&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;_blank&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">title&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;Handsome主题&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">style&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;cursor: url(&amp;#34;&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">/&lt;/span>&lt;span style="color:#a6e22e">usr&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">/&lt;/span>&lt;span style="color:#a6e22e">plugins&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">/&lt;/span>&lt;span style="color:#a6e22e">HoerMouse&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">/&lt;/span>&lt;span style="color:#a6e22e">static&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">/&lt;/span>&lt;span style="color:#a6e22e">image&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">/&lt;/span>&lt;span style="color:#a6e22e">dew&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">/&lt;/span>&lt;span style="color:#a6e22e">link&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">.&lt;/span>&lt;span style="color:#a6e22e">cur&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">&amp;#34;),&lt;/span> &lt;span style="color:#a6e22e">pointer&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">;&amp;#34;&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;&lt;span style="color:#f92672">span&lt;/span> &lt;span style="color:#a6e22e">class&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;badge-subject&amp;#34;&lt;/span>&amp;gt;Theme&amp;lt;/&lt;span style="color:#f92672">span&lt;/span>&amp;gt;&amp;lt;&lt;span style="color:#f92672">span&lt;/span> &lt;span style="color:#a6e22e">class&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;badge-value bg-orange&amp;#34;&lt;/span>&amp;gt;Handsome&amp;lt;/&lt;span style="color:#f92672">span&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;/&lt;span style="color:#f92672">a&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;/&lt;span style="color:#f92672">div&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="自定义css">&lt;a href="#%e8%87%aa%e5%ae%9a%e4%b9%89css" class="header-anchor">&lt;/a>自定义css
&lt;/h2>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-css" data-lang="css">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">/* 首页文章列表悬停上浮 */&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>.&lt;span style="color:#a6e22e">blog-post&lt;/span> .&lt;span style="color:#a6e22e">panel&lt;/span>:&lt;span style="color:#a6e22e">not&lt;/span>&lt;span style="color:#f92672">(&lt;/span>&lt;span style="color:#f92672">article&lt;/span>&lt;span style="color:#f92672">)&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transition&lt;/span>: &lt;span style="color:#66d9ef">all&lt;/span> &lt;span style="color:#ae81ff">0.3&lt;/span>&lt;span style="color:#66d9ef">s&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>.&lt;span style="color:#a6e22e">blog-post&lt;/span> .&lt;span style="color:#a6e22e">panel&lt;/span>:&lt;span style="color:#a6e22e">not&lt;/span>&lt;span style="color:#f92672">(&lt;/span>&lt;span style="color:#f92672">article&lt;/span>&lt;span style="color:#f92672">)&lt;/span>:&lt;span style="color:#a6e22e">hover&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: translateY(&lt;span style="color:#ae81ff">-10&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">box-shadow&lt;/span>: &lt;span style="color:#ae81ff">0&lt;/span> &lt;span style="color:#ae81ff">8&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span> &lt;span style="color:#ae81ff">10&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span> rgba(&lt;span style="color:#ae81ff">73&lt;/span>, &lt;span style="color:#ae81ff">90&lt;/span>, &lt;span style="color:#ae81ff">47&lt;/span>, &lt;span style="color:#ae81ff">0.47&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">/* 头像呼吸光环和鼠标悬停旋转放大 */&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>.&lt;span style="color:#a6e22e">img-full&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">width&lt;/span>: &lt;span style="color:#ae81ff">100&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">border-radius&lt;/span>: &lt;span style="color:#ae81ff">50&lt;/span>&lt;span style="color:#66d9ef">%&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">animation&lt;/span>: light &lt;span style="color:#ae81ff">4&lt;/span>&lt;span style="color:#66d9ef">s&lt;/span> &lt;span style="color:#66d9ef">ease-in-out&lt;/span> &lt;span style="color:#66d9ef">infinite&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transition&lt;/span>: &lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">s&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>.&lt;span style="color:#a6e22e">img-square&lt;/span>&lt;span style="color:#f92672">,&lt;/span> .&lt;span style="color:#a6e22e">img-circle&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transition&lt;/span>: &lt;span style="color:#ae81ff">0.5&lt;/span>&lt;span style="color:#66d9ef">s&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>.&lt;span style="color:#a6e22e">img-square&lt;/span>:&lt;span style="color:#a6e22e">hover&lt;/span>&lt;span style="color:#f92672">,&lt;/span> .&lt;span style="color:#a6e22e">img-circle&lt;/span>:&lt;span style="color:#a6e22e">hover&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: scale(&lt;span style="color:#ae81ff">1.15&lt;/span>) rotate(&lt;span style="color:#ae81ff">360&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>.&lt;span style="color:#a6e22e">img-full&lt;/span>:&lt;span style="color:#a6e22e">hover&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">transform&lt;/span>: scale(&lt;span style="color:#ae81ff">1.15&lt;/span>) rotate(&lt;span style="color:#ae81ff">720&lt;/span>&lt;span style="color:#66d9ef">deg&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>@&lt;span style="color:#66d9ef">keyframes&lt;/span> &lt;span style="color:#f92672">light&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">0&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">box-shadow&lt;/span>: &lt;span style="color:#ae81ff">0&lt;/span> &lt;span style="color:#ae81ff">0&lt;/span> &lt;span style="color:#ae81ff">4&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span> &lt;span style="color:#ae81ff">#f00&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">25&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">box-shadow&lt;/span>: &lt;span style="color:#ae81ff">0&lt;/span> &lt;span style="color:#ae81ff">0&lt;/span> &lt;span style="color:#ae81ff">16&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span> &lt;span style="color:#ae81ff">#0f0&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">50&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">box-shadow&lt;/span>: &lt;span style="color:#ae81ff">0&lt;/span> &lt;span style="color:#ae81ff">0&lt;/span> &lt;span style="color:#ae81ff">4&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span> &lt;span style="color:#ae81ff">#00f&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">75&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">box-shadow&lt;/span>: &lt;span style="color:#ae81ff">0&lt;/span> &lt;span style="color:#ae81ff">0&lt;/span> &lt;span style="color:#ae81ff">16&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span> &lt;span style="color:#ae81ff">#0f0&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">100&lt;/span>&lt;span style="color:#f92672">%&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">box-shadow&lt;/span>: &lt;span style="color:#ae81ff">0&lt;/span> &lt;span style="color:#ae81ff">0&lt;/span> &lt;span style="color:#ae81ff">4&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span> &lt;span style="color:#ae81ff">#f00&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">/*底部页脚*/&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>.&lt;span style="color:#a6e22e">github-badge&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">display&lt;/span>: &lt;span style="color:#66d9ef">inline-block&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">border-radius&lt;/span>: &lt;span style="color:#ae81ff">4&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">text-shadow&lt;/span>: &lt;span style="color:#66d9ef">none&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">font-size&lt;/span>: &lt;span style="color:#ae81ff">12&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">color&lt;/span>: &lt;span style="color:#ae81ff">#fff&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">line-height&lt;/span>: &lt;span style="color:#ae81ff">15&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">background-color&lt;/span>: &lt;span style="color:#ae81ff">#abbac3&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">margin-bottom&lt;/span>: &lt;span style="color:#ae81ff">5&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>.&lt;span style="color:#a6e22e">github-badge&lt;/span> .&lt;span style="color:#a6e22e">badge-subject&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">display&lt;/span>: &lt;span style="color:#66d9ef">inline-block&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">background-color&lt;/span>: &lt;span style="color:#ae81ff">#4d4d4d&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">padding&lt;/span>: &lt;span style="color:#ae81ff">4&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span> &lt;span style="color:#ae81ff">4&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span> &lt;span style="color:#ae81ff">4&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span> &lt;span style="color:#ae81ff">6&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">border-top-left-radius&lt;/span>: &lt;span style="color:#ae81ff">4&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">border-bottom-left-radius&lt;/span>: &lt;span style="color:#ae81ff">4&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>.&lt;span style="color:#a6e22e">github-badge&lt;/span> .&lt;span style="color:#a6e22e">badge-value&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">display&lt;/span>: &lt;span style="color:#66d9ef">inline-block&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">padding&lt;/span>: &lt;span style="color:#ae81ff">4&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span> &lt;span style="color:#ae81ff">6&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span> &lt;span style="color:#ae81ff">4&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span> &lt;span style="color:#ae81ff">4&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">border-top-right-radius&lt;/span>: &lt;span style="color:#ae81ff">4&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">border-bottom-right-radius&lt;/span>: &lt;span style="color:#ae81ff">4&lt;/span>&lt;span style="color:#66d9ef">px&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>.&lt;span style="color:#a6e22e">github-badge&lt;/span> .&lt;span style="color:#a6e22e">bg-blue&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">background-color&lt;/span>: &lt;span style="color:#ae81ff">#007ec6&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>.&lt;span style="color:#a6e22e">github-badge&lt;/span> .&lt;span style="color:#a6e22e">bg-orange&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">background-color&lt;/span>: &lt;span style="color:#ae81ff">#ffa500&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>.&lt;span style="color:#a6e22e">github-badge&lt;/span> .&lt;span style="color:#a6e22e">bg-red&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">background-color&lt;/span>: &lt;span style="color:#ae81ff">#f00&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>.&lt;span style="color:#a6e22e">github-badge&lt;/span> .&lt;span style="color:#a6e22e">bg-green&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">background-color&lt;/span>: &lt;span style="color:#ae81ff">#3bca6e&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>.&lt;span style="color:#a6e22e">github-badge&lt;/span> .&lt;span style="color:#a6e22e">bg-purple&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">background-color&lt;/span>: &lt;span style="color:#ae81ff">#ab34e9&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">/*Bilibili视频挂载*/&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>.&lt;span style="color:#a6e22e">iframe_video&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">position&lt;/span>: &lt;span style="color:#66d9ef">relative&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">width&lt;/span>: &lt;span style="color:#ae81ff">100&lt;/span>&lt;span style="color:#66d9ef">%&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>@&lt;span style="color:#66d9ef">media&lt;/span> &lt;span style="color:#f92672">only&lt;/span> &lt;span style="color:#f92672">screen&lt;/span> &lt;span style="color:#f92672">and&lt;/span> &lt;span style="color:#f92672">(&lt;/span>&lt;span style="color:#f92672">max-width&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">767px&lt;/span>&lt;span style="color:#f92672">)&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> .&lt;span style="color:#a6e22e">iframe_video&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">height&lt;/span>: &lt;span style="color:#ae81ff">15&lt;/span>&lt;span style="color:#66d9ef">em&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>@&lt;span style="color:#66d9ef">media&lt;/span> &lt;span style="color:#f92672">only&lt;/span> &lt;span style="color:#f92672">screen&lt;/span> &lt;span style="color:#f92672">and&lt;/span> &lt;span style="color:#f92672">(&lt;/span>&lt;span style="color:#f92672">min-width&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">768px&lt;/span>&lt;span style="color:#f92672">)&lt;/span> &lt;span style="color:#f92672">and&lt;/span> &lt;span style="color:#f92672">(&lt;/span>&lt;span style="color:#f92672">max-width&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">991px&lt;/span>&lt;span style="color:#f92672">)&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> .&lt;span style="color:#a6e22e">iframe_video&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">height&lt;/span>: &lt;span style="color:#ae81ff">20&lt;/span>&lt;span style="color:#66d9ef">em&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>@&lt;span style="color:#66d9ef">media&lt;/span> &lt;span style="color:#f92672">only&lt;/span> &lt;span style="color:#f92672">screen&lt;/span> &lt;span style="color:#f92672">and&lt;/span> &lt;span style="color:#f92672">(&lt;/span>&lt;span style="color:#f92672">min-width&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">992px&lt;/span>&lt;span style="color:#f92672">)&lt;/span> &lt;span style="color:#f92672">and&lt;/span> &lt;span style="color:#f92672">(&lt;/span>&lt;span style="color:#f92672">max-width&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">1199px&lt;/span>&lt;span style="color:#f92672">)&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> .&lt;span style="color:#a6e22e">iframe_video&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">height&lt;/span>: &lt;span style="color:#ae81ff">30&lt;/span>&lt;span style="color:#66d9ef">em&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>@&lt;span style="color:#66d9ef">media&lt;/span> &lt;span style="color:#f92672">only&lt;/span> &lt;span style="color:#f92672">screen&lt;/span> &lt;span style="color:#f92672">and&lt;/span> &lt;span style="color:#f92672">(&lt;/span>&lt;span style="color:#f92672">min-width&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">1200px&lt;/span>&lt;span style="color:#f92672">)&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> .&lt;span style="color:#a6e22e">iframe_video&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">height&lt;/span>: &lt;span style="color:#ae81ff">40&lt;/span>&lt;span style="color:#66d9ef">em&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>.&lt;span style="color:#a6e22e">iframe_cross&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">position&lt;/span>: &lt;span style="color:#66d9ef">relative&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">width&lt;/span>: &lt;span style="color:#ae81ff">100&lt;/span>&lt;span style="color:#66d9ef">%&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">height&lt;/span>: &lt;span style="color:#ae81ff">0&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">padding-bottom&lt;/span>: &lt;span style="color:#ae81ff">75&lt;/span>&lt;span style="color:#66d9ef">%&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>.&lt;span style="color:#a6e22e">iframe_cross&lt;/span> &lt;span style="color:#f92672">iframe&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">position&lt;/span>: &lt;span style="color:#66d9ef">absolute&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">width&lt;/span>: &lt;span style="color:#ae81ff">100&lt;/span>&lt;span style="color:#66d9ef">%&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">height&lt;/span>: &lt;span style="color:#ae81ff">100&lt;/span>&lt;span style="color:#66d9ef">%&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">left&lt;/span>: &lt;span style="color:#ae81ff">0&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">top&lt;/span>: &lt;span style="color:#ae81ff">0&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="自定义javascript">&lt;a href="#%e8%87%aa%e5%ae%9a%e4%b9%89javascript" class="header-anchor">&lt;/a>自定义javascript
&lt;/h2>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-js" data-lang="js">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">/* 彩色标签云 */&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">let&lt;/span> &lt;span style="color:#a6e22e">tags&lt;/span> &lt;span style="color:#f92672">=&lt;/span> document.&lt;span style="color:#a6e22e">querySelectorAll&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;#tag_cloud-2 a&amp;#34;&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">let&lt;/span> &lt;span style="color:#a6e22e">colorArr&lt;/span> &lt;span style="color:#f92672">=&lt;/span> [&lt;span style="color:#e6db74">&amp;#34;#428BCA&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;#AEDCAE&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;#ECA9A7&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;#DA99FF&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;#FFB380&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;#D9B999&amp;#34;&lt;/span>];
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">tags&lt;/span>.&lt;span style="color:#a6e22e">forEach&lt;/span>(&lt;span style="color:#a6e22e">tag&lt;/span> =&amp;gt; {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">tagsColor&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">colorArr&lt;/span>[Math.&lt;span style="color:#a6e22e">floor&lt;/span>(Math.&lt;span style="color:#a6e22e">random&lt;/span>() &lt;span style="color:#f92672">*&lt;/span> &lt;span style="color:#a6e22e">colorArr&lt;/span>.&lt;span style="color:#a6e22e">length&lt;/span>)];
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">tag&lt;/span>.&lt;span style="color:#a6e22e">style&lt;/span>.&lt;span style="color:#a6e22e">backgroundColor&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">tagsColor&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>})
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">/* 复制提示 */&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">kaygb_copy&lt;/span>();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">function&lt;/span> &lt;span style="color:#a6e22e">kaygb_copy&lt;/span>(){&lt;span style="color:#a6e22e">$&lt;/span>(document).&lt;span style="color:#a6e22e">ready&lt;/span>(&lt;span style="color:#66d9ef">function&lt;/span>(){&lt;span style="color:#a6e22e">$&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;body&amp;#34;&lt;/span>).&lt;span style="color:#a6e22e">bind&lt;/span>(&lt;span style="color:#e6db74">&amp;#39;copy&amp;#39;&lt;/span>,&lt;span style="color:#66d9ef">function&lt;/span>(&lt;span style="color:#a6e22e">e&lt;/span>){&lt;span style="color:#a6e22e">hellolayer&lt;/span>()})});&lt;span style="color:#66d9ef">var&lt;/span> &lt;span style="color:#a6e22e">sitesurl&lt;/span>&lt;span style="color:#f92672">=&lt;/span>window.&lt;span style="color:#a6e22e">location&lt;/span>.&lt;span style="color:#a6e22e">href&lt;/span>;&lt;span style="color:#66d9ef">function&lt;/span> &lt;span style="color:#a6e22e">hellolayer&lt;/span>(){
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">$&lt;/span>.&lt;span style="color:#a6e22e">message&lt;/span>({
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">message&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#34;尊重原创，转载请注明出处！&amp;lt;br&amp;gt; 本文作者：醉后的星星&amp;lt;br&amp;gt;原文链接：&amp;lt;br&amp;gt;&amp;#34;&lt;/span>&lt;span style="color:#f92672">+&lt;/span>&lt;span style="color:#a6e22e">sitesurl&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">title&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#34;复制成功&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">type&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#34;success&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">autoHide&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">!&lt;/span>&lt;span style="color:#ae81ff">1&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">time&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#34;15000&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> })
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="自定义head">&lt;a href="#%e8%87%aa%e5%ae%9a%e4%b9%89head" class="header-anchor">&lt;/a>自定义Head
&lt;/h2>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-html" data-lang="html">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&amp;lt;!--图标--&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;&lt;span style="color:#f92672">link&lt;/span> &lt;span style="color:#a6e22e">href&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.min.css&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">rel&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;stylesheet&amp;#34;&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&amp;lt;!--分享内容--&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;&lt;span style="color:#f92672">meta&lt;/span> &lt;span style="color:#a6e22e">itemprop&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;name&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">content&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;醉后的星星&amp;#34;&lt;/span> /&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;&lt;span style="color:#f92672">meta&lt;/span> &lt;span style="color:#a6e22e">itemprop&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;image&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">content&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;https://www.2bboy.com/usr/uploads/txmk.jpg&amp;#34;&lt;/span> /&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;&lt;span style="color:#f92672">meta&lt;/span> &lt;span style="color:#a6e22e">name&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;description&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">itemprop&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;description&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">content&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;我好菜啊&amp;#34;&lt;/span> /&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&amp;lt;!--百度统计--&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&amp;lt;!--动态标题--&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;lt;&lt;span style="color:#f92672">script&lt;/span>&amp;gt;document.&lt;span style="color:#a6e22e">addEventListener&lt;/span>(&lt;span style="color:#e6db74">&amp;#39;visibilitychange&amp;#39;&lt;/span>, &lt;span style="color:#66d9ef">function&lt;/span> () { &lt;span style="color:#66d9ef">if&lt;/span> (document.&lt;span style="color:#a6e22e">visibilityState&lt;/span> &lt;span style="color:#f92672">==&lt;/span> &lt;span style="color:#e6db74">&amp;#39;hidden&amp;#39;&lt;/span>) { &lt;span style="color:#a6e22e">normal_title&lt;/span> &lt;span style="color:#f92672">=&lt;/span> document.&lt;span style="color:#a6e22e">title&lt;/span>; document.&lt;span style="color:#a6e22e">title&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#39;人呢？快回来！&amp;#39;&lt;/span>; } &lt;span style="color:#66d9ef">else&lt;/span> { document.&lt;span style="color:#a6e22e">title&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">normal_title&lt;/span>; } });&amp;lt;/&lt;span style="color:#f92672">script&lt;/span>&amp;gt;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="pio插件设置">&lt;a href="#pio%e6%8f%92%e4%bb%b6%e8%ae%be%e7%bd%ae" class="header-anchor">&lt;/a>pio插件设置
&lt;/h2>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-json" data-lang="json">&lt;span style="display:flex;">&lt;span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;welcome&amp;#34;&lt;/span>: [&lt;span style="color:#e6db74">&amp;#34;你好，欢迎来到本站！&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;有问题欢迎留言&amp;#34;&lt;/span>],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;touch&amp;#34;&lt;/span>: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;你这个绅士！&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;别碰我！&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;你在干什么？&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;再摸我就报警了！&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;HENTAI!&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;你够了喔！&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;萝莉是什么呀&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;skin&amp;#34;&lt;/span>: [&lt;span style="color:#e6db74">&amp;#34;想看看我的新服装吗？&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;新衣服真漂亮~&amp;#34;&lt;/span>],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;home&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;点击这里回到首页&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;link&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;https://docs.paul.ren/pio/#/&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;referer&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;Hi，欢迎来自 %t 的朋友&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;close&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;QWQ 下次再见吧~&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;custom&amp;#34;&lt;/span>: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;read&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;.post-meta&amp;gt;h2 a&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;.music-box&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;你想听歌吗o((;=? 3? =))o～?&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;.comment-form-comment&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;填写真实邮箱可以收到回复通知哦(??ω-)～&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;.searchform&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;会搜索的人运气不会太差o(≧▽≦)o&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;.dropdown:nth-last-child(4)&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;想关注我的bilibili频道吗&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;.dropdown:nth-last-child(3)&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;人生苦短&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;selector&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;.dropdown:nth-last-child(2)&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;text&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;可以不玩，不能没有&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>利用windows自带的网络位置进行ftp登录</title><link>https://kizx.github.io/post/%E5%88%A9%E7%94%A8windows%E8%87%AA%E5%B8%A6%E7%9A%84%E7%BD%91%E7%BB%9C%E4%BD%8D%E7%BD%AE%E8%BF%9B%E8%A1%8Cftp%E7%99%BB%E5%BD%95/</link><pubDate>Sun, 15 Dec 2019 06:21:00 +0000</pubDate><guid>https://kizx.github.io/post/%E5%88%A9%E7%94%A8windows%E8%87%AA%E5%B8%A6%E7%9A%84%E7%BD%91%E7%BB%9C%E4%BD%8D%E7%BD%AE%E8%BF%9B%E8%A1%8Cftp%E7%99%BB%E5%BD%95/</guid><description>&lt;h2 id="使用方法">&lt;a href="#%e4%bd%bf%e7%94%a8%e6%96%b9%e6%b3%95" class="header-anchor">&lt;/a>使用方法
&lt;/h2>&lt;p>打开我的电脑，空白处右键添加网络位置，点下一步然后参照示例添加ftp地址
&lt;img src="https://pan.2bboy.com/img/2019/12/1215141252.png"
loading="lazy"
>
后面就是设置些名称和登录密码，总之要啥填啥就是了，然后就可以点击资源浏览器里新添加的网络位置来连接了。
&lt;img src="https://pan.2bboy.com/img/2019/12/1215144516.png"
loading="lazy"
>
[scode type=&amp;ldquo;blue&amp;rdquo;]其实这就是个快捷方式，在资源管理器地址栏直接输入ftp地址就可以直接登陆。
另外，在浏览器里直接输入ftp地址也是可以进行访问的。[/scode]&lt;/p></description></item><item><title>Rime-小狼毫输入法使用指南</title><link>https://kizx.github.io/post/rime-%E5%B0%8F%E7%8B%BC%E6%AF%AB%E8%BE%93%E5%85%A5%E6%B3%95%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/</link><pubDate>Wed, 27 Nov 2019 17:29:00 +0000</pubDate><guid>https://kizx.github.io/post/rime-%E5%B0%8F%E7%8B%BC%E6%AF%AB%E8%BE%93%E5%85%A5%E6%B3%95%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/</guid><description>&lt;p>下载地址：https://rime.im/
官方说明：https://github.com/rime/home/wiki/UserGuide
输入方案：https://github.com/rime/plum
其他教程：
&lt;a class="link" href="https://www.jianshu.com/p/296bba666604" target="_blank" rel="noopener"
>https://www.jianshu.com/p/296bba666604&lt;/a>
&lt;a class="link" href="https://www.bilibili.com/video/av31013072" target="_blank" rel="noopener"
>https://www.bilibili.com/video/av31013072&lt;/a>
&lt;a class="link" href="https://segmentfault.com/a/1190000005754706" target="_blank" rel="noopener"
>https://segmentfault.com/a/1190000005754706&lt;/a>&lt;/p>
&lt;h2 id="使用入门">&lt;a href="#%e4%bd%bf%e7%94%a8%e5%85%a5%e9%97%a8" class="header-anchor">&lt;/a>使用入门
&lt;/h2>&lt;ul>
&lt;li>
&lt;p>简体设置
按&lt;code>F4&lt;/code>调出选项，选择&lt;code>西/半/漢&lt;/code>，再选择&lt;code>漢字-&amp;gt;汉字&lt;/code>，如果你只使用全拼的话，也可以直接使用带简化字的方案&lt;/p>
&lt;/li>
&lt;li>
&lt;p>选择候选方案和主题
右键输入法设定，为需要的方案打上钩，然后点击&lt;code>中&lt;/code>选择配色方案，最后再点击&lt;code>中&lt;/code>&lt;/p>
&lt;/li>
&lt;li>
&lt;p>添加双拼方案
右键输入法设定，选择更多方案，弹出cmd窗口，输入相应的方案名称如&lt;code>double-pinyin&lt;/code>，也可自行下载解压到用户文件夹中。值得一提的是，安装&lt;code>prelude&lt;/code>可以下载一些用户配置，方便后面配置不用新建文件了。&lt;/p>
&lt;/li>
&lt;li>
&lt;p>删除错误的候选词
输入法会记住你输入的词组，当你第一次输入一个输入法不认识的词语后，第二次输入同样的词语该词语就会出现在候选词中，也正是如此才叫聪明的输入法，不过有时候会打错词语，等到下次再打相同词语时就会出现错误的候选词，这时可以选中该错误的候选词，按&lt;code>shift+del&lt;/code>删除&lt;/p>
&lt;/li>
&lt;li>
&lt;p>改变候选词个数
在用户文件夹下新建&lt;code>default.custom.yaml&lt;/code>文件(如果没有的话)，添加以下内容，然后重新部署&lt;/p>
&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">patch&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;menu/page_size&amp;#34;: &lt;/span>&lt;span style="color:#ae81ff">9&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="进阶定制">&lt;a href="#%e8%bf%9b%e9%98%b6%e5%ae%9a%e5%88%b6" class="header-anchor">&lt;/a>进阶定制
&lt;/h2>&lt;ul>
&lt;li>添加符号
新建&lt;code>double_pinyin_mspy.custom.yaml&lt;/code>文件（以你使用的输入方案名为准），添加以下内容&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># double_pinyin_mspy.custom.yaml&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">patch&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;punctuator/import_preset&amp;#34;: &lt;/span>&lt;span style="color:#ae81ff">symbols&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;recognizer/patterns/punct&amp;#34;: &lt;/span>&lt;span style="color:#e6db74">&amp;#34;^/([A-Z|a-z]*|[0-9]|10)$&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>重新部署后输入&lt;code>/fh&lt;/code>等字样就可以输入各种符号了，这些符号保存在程序文件夹的&lt;code>data/symbols.yaml&lt;/code>文件中。&lt;/p>
&lt;ul>
&lt;li>自定义符号
如果想添加自定义符号，可以将&lt;code>symbols.yaml&lt;/code>文件复制到用户文件夹下，然后在其中按照格式添加自己的符号，但更建议添加在自定义方案设置中，比如我自定义了常用邮箱&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">#double_pinyin_mspy.custom.yaml&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">patch&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">punctuator/symbols&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;/mail&amp;#34;: &lt;/span>[&lt;span style="color:#ae81ff">kizxmoe@gmail.com, 3317200497@qq.com, kizx@qq.com, contact@2bboy.com]&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>然后重新部署，输入&lt;code>/mail&lt;/code>即可弹出常用邮箱&lt;/p>
&lt;ul>
&lt;li>修改符号候选
有时候在打出一个符号时会出现多个候选，这不符合大众习惯，这些设置也在symbols.yaml文件中，同样建议在自定义方案中修改,比如我把书名号改成唯一的样式&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">patch&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;punctuator/import_preset&amp;#34;: &lt;/span>&lt;span style="color:#ae81ff">symbols&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;recognizer/patterns/punct&amp;#34;: &lt;/span>&lt;span style="color:#e6db74">&amp;#34;^/([A-Z|a-z]*|[0-9]|10)$&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">punctuator/full_shape&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;[&amp;#34;: &lt;/span>&lt;span style="color:#e6db74">&amp;#34;【&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;]&amp;#34;: &lt;/span>&lt;span style="color:#e6db74">&amp;#34;】&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">punctuator/half_shape&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;[&amp;#34;: &lt;/span>&lt;span style="color:#e6db74">&amp;#34;【&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;]&amp;#34;: &lt;/span>&lt;span style="color:#e6db74">&amp;#34;】&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;ul>
&lt;li>切换英文直接上屏&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># default.custom.yaml&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">patch&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">ascii_composer&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">good_old_caps_lock&lt;/span>: &lt;span style="color:#66d9ef">true&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">switch_key&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">Shift_L&lt;/span>: &lt;span style="color:#ae81ff">commit_code&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">Shift_R&lt;/span>: &lt;span style="color:#ae81ff">commit_code&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">Control_L&lt;/span>: &lt;span style="color:#ae81ff">noop&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">Control_R&lt;/span>: &lt;span style="color:#ae81ff">noop&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">Caps_Lock&lt;/span>: &lt;span style="color:#ae81ff">noop&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">Eisu_toggle&lt;/span>: &lt;span style="color:#ae81ff">clear&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;ul>
&lt;li>定义某些应用默认中英文输入
比如我想让vscode默认是英文输入，可以在任务管理器中查看进程名称，然后注意要小写&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># weasel.custom.yaml&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">patch&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">app_options/code.exe&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">ascii_mode&lt;/span>: &lt;span style="color:#66d9ef">true&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>其实rime输入法能记住不同应用的中英文状态&lt;/p>
&lt;ul>
&lt;li>其他设置&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># weasel.custom.yaml&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">patch&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">style/horizontal&lt;/span>: &lt;span style="color:#66d9ef">true&lt;/span> &lt;span style="color:#75715e"># 候选横排显示&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">style/display_tray_icon&lt;/span>: &lt;span style="color:#66d9ef">true&lt;/span> &lt;span style="color:#75715e"># 显示托盘图标&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>[scode type=&amp;ldquo;yellow&amp;rdquo;]以上操作都记得重新部署生效[/scode]&lt;/p>
&lt;ul>
&lt;li>同步
点击菜单中的用户资料同步即会在sync目录下生成一个同步文件夹，记录了当前电脑上的用户配置文件和词库，只需把这个文件夹同步到另一台电脑上相同的位置下，词库便会自动合并，但用户配置文件不会自动合并，需手动进行替换。文件夹的名字和位置可以在&lt;code>installation.yaml&lt;/code>中自行指定。&lt;/li>
&lt;/ul></description></item><item><title>我用的软件</title><link>https://kizx.github.io/post/%E6%88%91%E7%94%A8%E7%9A%84%E8%BD%AF%E4%BB%B6/</link><pubDate>Fri, 22 Nov 2019 11:52:00 +0000</pubDate><guid>https://kizx.github.io/post/%E6%88%91%E7%94%A8%E7%9A%84%E8%BD%AF%E4%BB%B6/</guid><description>&lt;ul>
&lt;li>百分浏览器 &lt;a class="link" href="https://www.centbrowser.cn/" target="_blank" rel="noopener"
>https://www.centbrowser.cn/&lt;/a>&lt;/li>
&lt;li>压缩 &lt;a class="link" href="http://www.bandisoft.com/bandizip/" target="_blank" rel="noopener"
>http://www.bandisoft.com/bandizip/&lt;/a>&lt;/li>
&lt;li>输入法&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>&lt;a class="link" href="https://rime.im/" target="_blank" rel="noopener"
>https://rime.im/&lt;/a>
&lt;a class="link" href="https://shurufa.baidu.com/" target="_blank" rel="noopener"
>https://shurufa.baidu.com/&lt;/a>&lt;/p>&lt;/blockquote>
&lt;ul>
&lt;li>浏览器插件推荐 &lt;a class="link" href="https://chrome.zzzmh.cn" target="_blank" rel="noopener"
>https://chrome.zzzmh.cn&lt;/a>&lt;/li>
&lt;li>鼠标驱动 &lt;a class="link" href="https://zh.roccat.org/Support" target="_blank" rel="noopener"
>https://zh.roccat.org/Support&lt;/a>&lt;/li>
&lt;li>文本编辑器
&lt;ul>
&lt;li>&lt;a class="link" href="https://github.com/stefankueng/BowPad" target="_blank" rel="noopener"
>https://github.com/stefankueng/BowPad&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="http://www.editpadpro.com/screen.html/" target="_blank" rel="noopener"
>http://www.editpadpro.com/screen.html/&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="http://www.pnotepad.org/" target="_blank" rel="noopener"
>http://www.pnotepad.org/&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://www.rizonesoft.com/downloads/notepad3/" target="_blank" rel="noopener"
>https://www.rizonesoft.com/downloads/notepad3/&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>office下载管理 &lt;a class="link" href="https://otp.landian.vip/zh-cn/" target="_blank" rel="noopener"
>https://otp.landian.vip/zh-cn/&lt;/a>&lt;/li>
&lt;li>卸载&amp;ndash;geek &lt;a class="link" href="https://geekuninstaller.com/" target="_blank" rel="noopener"
>https://geekuninstaller.com/&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="程序类">&lt;a href="#%e7%a8%8b%e5%ba%8f%e7%b1%bb" class="header-anchor">&lt;/a>程序类
&lt;/h2>&lt;ul>
&lt;li>vs &lt;a class="link" href="https://visualstudio.microsoft.com/zh-hans/" target="_blank" rel="noopener"
>https://visualstudio.microsoft.com/zh-hans/&lt;/a>&lt;/li>
&lt;li>网速显示 &lt;a class="link" href="https://github.com/zhongyang219/TrafficMonitorSkinEditor" target="_blank" rel="noopener"
>https://github.com/zhongyang219/TrafficMonitorSkinEditor&lt;/a>&lt;/li>
&lt;li>cmder &lt;a class="link" href="https://cmder.net/" target="_blank" rel="noopener"
>https://cmder.net/&lt;/a>&lt;/li>
&lt;li>sqlite数据库管理 &lt;a class="link" href="https://sqlitebrowser.org/dl/" target="_blank" rel="noopener"
>https://sqlitebrowser.org/dl/&lt;/a>&lt;/li>
&lt;li>git管理 &lt;a class="link" href="https://git-fork.com/" target="_blank" rel="noopener"
>https://git-fork.com/&lt;/a>&lt;/li>
&lt;li>SSH&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>&lt;a class="link" href="https://www.vandyke.com/products/securecrt/" target="_blank" rel="noopener"
>https://www.vandyke.com/products/securecrt/&lt;/a>
&lt;a class="link" href="http://www.hostbuf.com/t/988.html" target="_blank" rel="noopener"
>http://www.hostbuf.com/t/988.html&lt;/a>
&lt;a class="link" href="https://www.netsarang.com/zh/free-for-home-school/" target="_blank" rel="noopener"
>https://www.netsarang.com/zh/free-for-home-school/&lt;/a>&lt;/p>&lt;/blockquote>
&lt;h2 id="办公类">&lt;a href="#%e5%8a%9e%e5%85%ac%e7%b1%bb" class="header-anchor">&lt;/a>办公类
&lt;/h2>&lt;ul>
&lt;li>万彩办公大师 &lt;a class="link" href="http://www.wofficebox.com/" target="_blank" rel="noopener"
>http://www.wofficebox.com/&lt;/a>&lt;/li>
&lt;li>PDF&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>&lt;a class="link" href="https://www.sumatrapdfreader.org/downloadafter.html" target="_blank" rel="noopener"
>https://www.sumatrapdfreader.org/downloadafter.html&lt;/a>
&lt;a class="link" href="https://www.sumatrapdfreader.org/free-pdf-reader.html" target="_blank" rel="noopener"
>https://www.sumatrapdfreader.org/free-pdf-reader.html&lt;/a>
&lt;a class="link" href="https://tools.pdf24.org/zh/" target="_blank" rel="noopener"
>https://tools.pdf24.org/zh/&lt;/a>&lt;/p>&lt;/blockquote>
&lt;ul>
&lt;li>markdown &lt;a class="link" href="https://www.typora.io/#windows" target="_blank" rel="noopener"
>https://www.typora.io/#windows&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="多媒体类">&lt;a href="#%e5%a4%9a%e5%aa%92%e4%bd%93%e7%b1%bb" class="header-anchor">&lt;/a>多媒体类
&lt;/h2>&lt;ul>
&lt;li>看图
&lt;ul>
&lt;li>&lt;a class="link" href="http://www.bandisoft.com/honeyview/" target="_blank" rel="noopener"
>http://www.bandisoft.com/honeyview/&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://sourceforge.net/projects/jpegview/" target="_blank" rel="noopener"
>https://sourceforge.net/projects/jpegview/&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="http://www.vieas.com/en/software/vieas.html" target="_blank" rel="noopener"
>http://www.vieas.com/en/software/vieas.html&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;ul>
&lt;li>图片压缩 + &lt;a class="link" href="https://tuya.xinxiao.tech/" target="_blank" rel="noopener"
>https://tuya.xinxiao.tech/&lt;/a>&lt;/li>
&lt;/ul>
&lt;ul>
&lt;li>视频播放器
&lt;ul>
&lt;li>&lt;a class="link" href="https://potplayer.daum.net/?lang=zh_CN" target="_blank" rel="noopener"
>https://potplayer.daum.net/?lang=zh_CN&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="http://www.dandanplay.com/" target="_blank" rel="noopener"
>http://www.dandanplay.com/&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>录屏-OBS &lt;a class="link" href="https://obsproject.com/" target="_blank" rel="noopener"
>https://obsproject.com/&lt;/a>&lt;/li>
&lt;li>音乐播放器-AIMP &lt;a class="link" href="https://www.aimp.ru/" target="_blank" rel="noopener"
>https://www.aimp.ru/&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="应用类">&lt;a href="#%e5%ba%94%e7%94%a8%e7%b1%bb" class="header-anchor">&lt;/a>应用类
&lt;/h2>&lt;ul>
&lt;li>鼠标手势
&lt;blockquote>
&lt;p>&lt;a class="link" href="https://shuax.com/project/mouseinc/" target="_blank" rel="noopener"
>https://shuax.com/project/mouseinc/&lt;/a>
&lt;a class="link" href="http://www.yingdev.com/projects/wgestures" target="_blank" rel="noopener"
>http://www.yingdev.com/projects/wgestures&lt;/a>&lt;/p>&lt;/blockquote>
&lt;/li>
&lt;li>文件管理器TAB &lt;a class="link" href="http://qttabbar.wikidot.com/" target="_blank" rel="noopener"
>http://qttabbar.wikidot.com/&lt;/a>&lt;/li>
&lt;li>gif录制 &lt;a class="link" href="https://www.screentogif.com/?l=zh_cn" target="_blank" rel="noopener"
>https://www.screentogif.com/?l=zh_cn&lt;/a>&lt;/li>
&lt;li>快速复制 &lt;a class="link" href="https://fastcopy.jp/" target="_blank" rel="noopener"
>https://fastcopy.jp/&lt;/a>&lt;/li>
&lt;li>符号链接 &lt;a class="link" href="https://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html" target="_blank" rel="noopener"
>https://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html&lt;/a>&lt;/li>
&lt;li>文件窗口标签 &lt;a class="link" href="https://shutters.160.com/" target="_blank" rel="noopener"
>https://shutters.160.com/&lt;/a>&lt;/li>
&lt;li>哈希校检工具 &lt;a class="link" href="https://www.binaryfortress.com/HashTools/" target="_blank" rel="noopener"
>https://www.binaryfortress.com/HashTools/&lt;/a>&lt;/li>
&lt;li>文献翻译 &lt;a class="link" href="http://i.zhiyunwenxian.cn/195.html" target="_blank" rel="noopener"
>http://i.zhiyunwenxian.cn/195.html&lt;/a>&lt;/li>
&lt;li>复制翻译 &lt;a class="link" href="https://copytranslator.github.io/download/" target="_blank" rel="noopener"
>https://copytranslator.github.io/download/&lt;/a>&lt;/li>
&lt;li>下载
&lt;ul>
&lt;li>&lt;a class="link" href="https://v3-beta.6pan.cn/" target="_blank" rel="noopener"
>https://v3-beta.6pan.cn/&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://www.kancloud.cn/myzfb/thunderbird/1684667" target="_blank" rel="noopener"
>https://www.kancloud.cn/myzfb/thunderbird/1684667&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="http://www.internetdownloadmanager.com/" target="_blank" rel="noopener"
>http://www.internetdownloadmanager.com/&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="http://www.internetdownloadmanager.com/download.html" target="_blank" rel="noopener"
>http://www.internetdownloadmanager.com/download.html&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h2 id="软件分享网站">&lt;a href="#%e8%bd%af%e4%bb%b6%e5%88%86%e4%ba%ab%e7%bd%91%e7%ab%99" class="header-anchor">&lt;/a>软件分享网站
&lt;/h2>&lt;ul>
&lt;li>这个网站有超多实用小程序
&lt;a class="link" href="http://www.nirsoft.net/utils/index.html" target="_blank" rel="noopener"
>http://www.nirsoft.net/utils/index.html&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Typecho主题推荐</title><link>https://kizx.github.io/post/typecho%E4%B8%BB%E9%A2%98%E6%8E%A8%E8%8D%90/</link><pubDate>Sun, 15 Sep 2019 14:05:00 +0000</pubDate><guid>https://kizx.github.io/post/typecho%E4%B8%BB%E9%A2%98%E6%8E%A8%E8%8D%90/</guid><description>&lt;h1 id="typecho主题推荐">&lt;a href="#typecho%e4%b8%bb%e9%a2%98%e6%8e%a8%e8%8d%90" class="header-anchor">&lt;/a>Typecho主题推荐
&lt;/h1>&lt;h2 id="1-purelovefortypecho">&lt;a href="#1-purelovefortypecho" class="header-anchor">&lt;/a>1. &lt;a class="link" href="https://www.hoehub.com/PHP/typecho-pureLove.html" target="_blank" rel="noopener"
>PureLoveForTypecho&lt;/a>
&lt;/h2>&lt;p>&lt;img src="https://www.hoehub.com/usr/uploads/2018/11/1320732040.png"
loading="lazy"
>&lt;/p>
&lt;h2 id="2-pinghsu-theme">&lt;a href="#2-pinghsu-theme" class="header-anchor">&lt;/a>2. &lt;a class="link" href="https://www.linpx.com/p/pinghsu-a-typecho-theme.html" target="_blank" rel="noopener"
>Pinghsu Theme&lt;/a>
&lt;/h2>&lt;p>&lt;img src="https://camo.githubusercontent.com/9ae215dc7ba9c5ad391708b9b777d7dc80c04a8a/68747470733a2f2f7773312e73696e61696d672e636e2f6c617267652f37633938333937646779316664796472336a7730796a3230727330666e74617a2e6a7067"
loading="lazy"
>&lt;/p>
&lt;h2 id="3-rinvay-theme">&lt;a href="#3-rinvay-theme" class="header-anchor">&lt;/a>3. &lt;a class="link" href="https://www.rinvay.cc/archives/225/" target="_blank" rel="noopener"
>Rinvay Theme&lt;/a>
&lt;/h2>&lt;p>&lt;img src="https://camo.githubusercontent.com/b7537b5d7bd2472027ce3a809316172e9130ab13/68747470733a2f2f7777772e72696e7661792e63632f7573722f7468656d65732f52696e7661792f73637265656e73686f742e6a7067"
loading="lazy"
>&lt;/p>
&lt;h2 id="4-void">&lt;a href="#4-void" class="header-anchor">&lt;/a>4. &lt;a class="link" href="https://blog.imalan.cn/archives/247/" target="_blank" rel="noopener"
>VOID&lt;/a>
&lt;/h2>&lt;p>&lt;img src="https://raw.githubusercontent.com/AlanDecode/Typecho-Theme-VOID/master/screenshot.png"
loading="lazy"
>&lt;/p>
&lt;h2 id="5-armxmod">&lt;a href="#5-armxmod" class="header-anchor">&lt;/a>5. &lt;a class="link" href="https://vircloud.net/default/change-theme.html" target="_blank" rel="noopener"
>ArmxMod&lt;/a>
&lt;/h2>&lt;p>&lt;img src="https://static.yecdn.com/jrotty/2019/08/2865738641.jpg"
loading="lazy"
>&lt;/p>
&lt;h2 id="6-al_">&lt;a href="#6-al_" class="header-anchor">&lt;/a>6. &lt;a class="link" href="http://typecho.alapi.cn/archives/6/" target="_blank" rel="noopener"
>AL_lolimeow&lt;/a>
&lt;/h2>&lt;p>&lt;img src="https://i.alone88.cn/usr/uploads/2019/04/4143539668.png"
loading="lazy"
>&lt;/p>
&lt;h2 id="7-dux主题">&lt;a href="#7-dux%e4%b8%bb%e9%a2%98" class="header-anchor">&lt;/a>7. &lt;a class="link" href="https://github.com/hiCasper/Typecho-theme-DUX" target="_blank" rel="noopener"
>DUX主题&lt;/a>
&lt;/h2>&lt;p>&lt;img src="https://camo.githubusercontent.com/f8253ebd611e01fefd113081337b4c8a5dc73e36/68747470733a2f2f692e6c6f6c692e6e65742f323031382f30392f32322f356261356430653536663363392e706e67"
loading="lazy"
>&lt;/p>
&lt;h2 id="8-miracles">&lt;a href="#8-miracles" class="header-anchor">&lt;/a>8. &lt;a class="link" href="https://guhub.cn/p/miracles.html" target="_blank" rel="noopener"
>Miracles&lt;/a>
&lt;/h2>&lt;p>&lt;img src="https://static.yecdn.com/jrotty/2019/08/979560890.jpg"
loading="lazy"
>&lt;/p>
&lt;h2 id="9-typecho-theme-raw">&lt;a href="#9-typecho-theme-raw" class="header-anchor">&lt;/a>9. &lt;a class="link" href="https://blog.imalan.cn/archives/163/" target="_blank" rel="noopener"
>Typecho-Theme-RAW&lt;/a>
&lt;/h2>&lt;p>&lt;img src="https://blog.imalan.cn/usr/uploads/2018/12/805561084.png#vwid=1910&amp;amp;vhei=895"
loading="lazy"
>&lt;/p>
&lt;h2 id="10-hufman">&lt;a href="#10-hufman" class="header-anchor">&lt;/a>10. &lt;a class="link" href="https://github.com/foxnes/tp_theme" target="_blank" rel="noopener"
>hufman&lt;/a>
&lt;/h2>&lt;p>&lt;img src="https://user-images.githubusercontent.com/22344037/57577796-760b5b80-74b1-11e9-8475-b18e17371f31.jpg"
loading="lazy"
>&lt;/p></description></item><item><title>Hexo、WordPress、Zblog、Typecho比较</title><link>https://kizx.github.io/post/hexowordpresszblogtypecho%E6%AF%94%E8%BE%83/</link><pubDate>Fri, 06 Sep 2019 18:22:00 +0000</pubDate><guid>https://kizx.github.io/post/hexowordpresszblogtypecho%E6%AF%94%E8%BE%83/</guid><description>&lt;h2 id="总览">&lt;a href="#%e6%80%bb%e8%a7%88" class="header-anchor">&lt;/a>总览
&lt;/h2>&lt;table>
&lt;thead>
&lt;tr>
&lt;th>方案&lt;/th>
&lt;th style="text-align: center">Hexo&lt;/th>
&lt;th style="text-align: center">WordPress&lt;/th>
&lt;th style="text-align: center">Zblog&lt;/th>
&lt;th style="text-align: center">Typecho&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>静态&lt;/td>
&lt;td style="text-align: center">是&lt;/td>
&lt;td style="text-align: center">否&lt;/td>
&lt;td style="text-align: center">否&lt;/td>
&lt;td style="text-align: center">否&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>后台&lt;/td>
&lt;td style="text-align: center">无&lt;/td>
&lt;td style="text-align: center">有&lt;/td>
&lt;td style="text-align: center">有&lt;/td>
&lt;td style="text-align: center">有&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>源生Markdown&lt;/td>
&lt;td style="text-align: center">是&lt;/td>
&lt;td style="text-align: center">否&lt;/td>
&lt;td style="text-align: center">否&lt;/td>
&lt;td style="text-align: center">是&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>操作简单&lt;/td>
&lt;td style="text-align: center">☆&lt;/td>
&lt;td style="text-align: center">☆☆&lt;/td>
&lt;td style="text-align: center">☆☆☆&lt;/td>
&lt;td style="text-align: center">☆☆☆&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>主题美观&lt;/td>
&lt;td style="text-align: center">☆☆☆☆&lt;/td>
&lt;td style="text-align: center">☆☆☆&lt;/td>
&lt;td style="text-align: center">☆☆&lt;/td>
&lt;td style="text-align: center">☆☆☆&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>风格简洁&lt;/td>
&lt;td style="text-align: center">☆☆☆&lt;/td>
&lt;td style="text-align: center">☆&lt;/td>
&lt;td style="text-align: center">☆☆☆&lt;/td>
&lt;td style="text-align: center">☆☆☆☆&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="评价">&lt;a href="#%e8%af%84%e4%bb%b7" class="header-anchor">&lt;/a>评价
&lt;/h2>&lt;ul>
&lt;li>
&lt;p>Hexo所有数据都在本地操作，操作完后本地生成静态页面，然后再通过git或者ftp部署上传到服务器空间，但是我试了官方的ftp插件根本就用不了，只能借助第三方的ftp工具或插件，而且上传速度还贼慢，故不建议ftp到服务器上。优点是完全静态的，故不需要数据库和任何语言运行环境，所以可以部署到github或者coding这样的免费数据托管空间。虽然Hexo对服务器的要求最低，但在本地的操作有点繁琐，需要敲一些代码，很有极客范。Hexo的主题大部分都是免费的，不乏很多漂亮的主题，&lt;a class="link" href="https://www.2bboy.com/archives/7.html" target="_blank" rel="noopener"
>我的Hexo主题搜集&lt;/a>，Hexo的主题很时髦精致。&lt;/p>
&lt;/li>
&lt;li>
&lt;p>WordPress作为使用最广泛的建站方案，东西最多也最全，但这也造成其自身的臃肿，安装包有好几十兆，后台的操作也不是特别简洁好懂，对于追求简洁的人来说，WordPress并不是最好选择。WordPress的主题很多，但要想找到一个合适的主题并不容易，&lt;a class="link" href="https://www.2bboy.com/archives/8.html" target="_blank" rel="noopener"
>我的WordPress主题搜集&lt;/a>。&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Zblog在使用上和WordPress差不多，但是后台要更简洁明了，本身的体积也比WordPress小得多，只有几兆，运行效率据说也快得多，主题虽然不多但也很多不错的选择，而且Zblog的主题给人一种简洁感，&lt;a class="link" href="https://www.2bboy.com/archives/9.html" target="_blank" rel="noopener"
>我的Zblog主题搜集&lt;/a>，Zblog的主题多偏向于扁平风格，不追求更多功能时在我看来是比WordPress更好地选择。&lt;/p>
&lt;/li>
&lt;li>
&lt;p>说到简介，Typecho显然更胜一筹，安装包只有几百kb大小，后台也简洁到没有一处多余功能，Typecho的主题大都也继承这种简洁风格，可供选择主题的主题还算是蛮多的，&lt;a class="link" href="https://www.2bboy.com/archives/16.html" target="_blank" rel="noopener"
>我的Typecho主题搜集&lt;/a>，虽然简洁但也是五脏俱全，如果能懂一点网页编程的话就能更好的改造出适合自己的主题了。&lt;/p>
&lt;/li>
&lt;/ul></description></item><item><title>Zblog主题推荐</title><link>https://kizx.github.io/post/zblog%E4%B8%BB%E9%A2%98%E6%8E%A8%E8%8D%90/</link><pubDate>Fri, 06 Sep 2019 17:20:00 +0000</pubDate><guid>https://kizx.github.io/post/zblog%E4%B8%BB%E9%A2%98%E6%8E%A8%E8%8D%90/</guid><description>&lt;h1 id="zblog主题推荐">&lt;a href="#zblog%e4%b8%bb%e9%a2%98%e6%8e%a8%e8%8d%90" class="header-anchor">&lt;/a>Zblog主题推荐
&lt;/h1>&lt;h2 id="1-filmlee">&lt;a href="#1-filmlee" class="header-anchor">&lt;/a>1. filmlee
&lt;/h2>&lt;p>&lt;a class="link" href="https://www.talklee.com/blog/162.html" target="_blank" rel="noopener"
>https://www.talklee.com/blog/162.html&lt;/a>&lt;br>
&lt;img src="https://pan.2bboy.com/img/2019/10/20190907014938.png"
loading="lazy"
>&lt;/p>
&lt;h2 id="2-免费博客主题blogs">&lt;a href="#2-%e5%85%8d%e8%b4%b9%e5%8d%9a%e5%ae%a2%e4%b8%bb%e9%a2%98blogs" class="header-anchor">&lt;/a>2. 免费博客主题Blogs
&lt;/h2>&lt;p>&lt;a class="link" href="https://app.zblogcn.com/?id=1405" target="_blank" rel="noopener"
>https://app.zblogcn.com/?id=1405&lt;/a>&lt;br>
&lt;img src="https://pan.2bboy.com/img/2019/10/20190907015136.png"
loading="lazy"
>&lt;/p>
&lt;h2 id="3-奇客">&lt;a href="#3-%e5%a5%87%e5%ae%a2" class="header-anchor">&lt;/a>3. 奇客
&lt;/h2>&lt;p>&lt;a class="link" href="http://jiuwanwl.com/post/81.html" target="_blank" rel="noopener"
>http://jiuwanwl.com/post/81.html&lt;/a>&lt;br>
&lt;img src="https://pan.2bboy.com/img/2019/10/20190907015331.png"
loading="lazy"
>&lt;/p>
&lt;h2 id="4-博客cms图片布局三合一主题">&lt;a href="#4-%e5%8d%9a%e5%ae%a2cms%e5%9b%be%e7%89%87%e5%b8%83%e5%b1%80%e4%b8%89%e5%90%88%e4%b8%80%e4%b8%bb%e9%a2%98" class="header-anchor">&lt;/a>4. 博客CMS图片布局三合一主题
&lt;/h2>&lt;p>&lt;a class="link" href="https://app.zblogcn.com/?id=1326" target="_blank" rel="noopener"
>https://app.zblogcn.com/?id=1326&lt;/a>&lt;br>
&lt;img src="https://pan.2bboy.com/img/2019/10/20190907015516.png"
loading="lazy"
>&lt;/p>
&lt;h2 id="5-业余爱好">&lt;a href="#5-%e4%b8%9a%e4%bd%99%e7%88%b1%e5%a5%bd" class="header-anchor">&lt;/a>5. 业余爱好
&lt;/h2>&lt;p>&lt;a class="link" href="https://app.zblogcn.com/?id=494" target="_blank" rel="noopener"
>https://app.zblogcn.com/?id=494&lt;/a>&lt;br>
&lt;img src="https://pan.2bboy.com/img/2019/10/20190907020019.png"
loading="lazy"
>&lt;/p>
&lt;h2 id="6-博客模板">&lt;a href="#6-%e5%8d%9a%e5%ae%a2%e6%a8%a1%e6%9d%bf" class="header-anchor">&lt;/a>6. 博客模板
&lt;/h2>&lt;p>&lt;a class="link" href="https://app.zblogcn.com/?id=1168" target="_blank" rel="noopener"
>https://app.zblogcn.com/?id=1168&lt;/a>&lt;br>
&lt;img src="https://pan.2bboy.com/img/2019/10/20190907020306.png"
loading="lazy"
>&lt;/p>
&lt;h2 id="7-简单格子列表主题">&lt;a href="#7-%e7%ae%80%e5%8d%95%e6%a0%bc%e5%ad%90%e5%88%97%e8%a1%a8%e4%b8%bb%e9%a2%98" class="header-anchor">&lt;/a>7. 简单格子列表主题
&lt;/h2>&lt;p>&lt;a class="link" href="https://app.zblogcn.com/?id=877" target="_blank" rel="noopener"
>https://app.zblogcn.com/?id=877&lt;/a>&lt;br>
&lt;img src="https://pan.2bboy.com/img/2019/10/20190907020425.png"
loading="lazy"
>&lt;/p></description></item><item><title>WordPress主题推荐</title><link>https://kizx.github.io/post/wordpress%E4%B8%BB%E9%A2%98%E6%8E%A8%E8%8D%90/</link><pubDate>Thu, 05 Sep 2019 17:19:00 +0000</pubDate><guid>https://kizx.github.io/post/wordpress%E4%B8%BB%E9%A2%98%E6%8E%A8%E8%8D%90/</guid><description>&lt;h1 id="wordpress主题推荐">&lt;a href="#wordpress%e4%b8%bb%e9%a2%98%e6%8e%a8%e8%8d%90" class="header-anchor">&lt;/a>WordPress主题推荐
&lt;/h1>&lt;h2 id="1-dobby">&lt;a href="#1-dobby" class="header-anchor">&lt;/a>1. Dobby
&lt;/h2>&lt;p>Download: &lt;a class="link" href="https://github.com/Vtrois/Dobby" target="_blank" rel="noopener"
>https://github.com/Vtrois/Dobby&lt;/a>&lt;br>
&lt;img src="https://pan.2bboy.com/img/2019/10/20190907010136.png"
loading="lazy"
>&lt;/p>
&lt;h2 id="2-git">&lt;a href="#2-git" class="header-anchor">&lt;/a>2. Git
&lt;/h2>&lt;p>Demo: &lt;a class="link" href="https://gitcafe.net/" target="_blank" rel="noopener"
>https://gitcafe.net/&lt;/a>&lt;br>
Download: &lt;a class="link" href="https://gitee.com/yunluo/git" target="_blank" rel="noopener"
>https://gitee.com/yunluo/git&lt;/a>&lt;br>
&lt;img src="https://pan.2bboy.com/img/2019/10/20190907010317.png"
loading="lazy"
>&lt;/p>
&lt;h2 id="3-h-siren">&lt;a href="#3-h-siren" class="header-anchor">&lt;/a>3. H-Siren
&lt;/h2>&lt;p>Demo: &lt;a class="link" href="https://haremu.com/" target="_blank" rel="noopener"
>https://haremu.com/&lt;/a>&lt;br>
Download: &lt;a class="link" href="https://github.com/galnetwen/H-Siren" target="_blank" rel="noopener"
>https://github.com/galnetwen/H-Siren&lt;/a>&lt;br>
&lt;img src="https://pan.2bboy.com/img/2019/10/20190907010848.png"
loading="lazy"
>&lt;br>
&lt;img src="https://pan.2bboy.com/img/2019/10/20190907010921.png"
loading="lazy"
>&lt;/p>
&lt;h2 id="4-kratos-pjax">&lt;a href="#4-kratos-pjax" class="header-anchor">&lt;/a>4. Kratos-pjax
&lt;/h2>&lt;p>Demo: &lt;a class="link" href="https://moedog.org/787.html" target="_blank" rel="noopener"
>https://moedog.org/787.html&lt;/a>&lt;br>
Download: &lt;a class="link" href="https://github.com/xb2016/kratos-pjax" target="_blank" rel="noopener"
>https://github.com/xb2016/kratos-pjax&lt;/a>&lt;br>
&lt;img src="https://pan.2bboy.com/img/2019/10/20190907011115.png"
loading="lazy"
>&lt;/p>
&lt;h2 id="5-lolimoe">&lt;a href="#5-lolimoe" class="header-anchor">&lt;/a>5. lolimoe
&lt;/h2>&lt;p>Demo: &lt;a class="link" href="https://www.boxmoe.com/" target="_blank" rel="noopener"
>https://www.boxmoe.com/&lt;/a>&lt;br>
Download: &lt;a class="link" href="https://github.com/baomihuahua/lolimeow" target="_blank" rel="noopener"
>https://github.com/baomihuahua/lolimeow&lt;/a>&lt;br>
&lt;img src="https://pan.2bboy.com/img/2019/10/20190907011322.png"
loading="lazy"
>&lt;/p>
&lt;h2 id="6-sakura">&lt;a href="#6-sakura" class="header-anchor">&lt;/a>6. Sakura
&lt;/h2>&lt;p>Demo: &lt;a class="link" href="https://2heng.xin/" target="_blank" rel="noopener"
>https://2heng.xin/&lt;/a>&lt;br>
Download: &lt;a class="link" href="https://github.com/mashirozx/Sakura" target="_blank" rel="noopener"
>https://github.com/mashirozx/Sakura&lt;/a>&lt;br>
&lt;img src="https://pan.2bboy.com/img/2019/10/20190907011544.png"
loading="lazy"
>&lt;/p>
&lt;h2 id="7-memory">&lt;a href="#7-memory" class="header-anchor">&lt;/a>7. Memory
&lt;/h2>&lt;p>Demo: &lt;a class="link" href="http://memory.shawnzeng.com/" target="_blank" rel="noopener"
>http://memory.shawnzeng.com/&lt;/a>&lt;br>
Download: &lt;a class="link" href="https://shawnzeng.com/wordpress-theme-memory.html" target="_blank" rel="noopener"
>https://shawnzeng.com/wordpress-theme-memory.html&lt;/a>&lt;br>
&lt;img src="https://pan.2bboy.com/img/2019/10/20190907012530.png"
loading="lazy"
>&lt;/p>
&lt;h2 id="8-amativeness">&lt;a href="#8-amativeness" class="header-anchor">&lt;/a>8. Amativeness
&lt;/h2>&lt;p>Demo: &lt;a class="link" href="https://diygod.me/" target="_blank" rel="noopener"
>https://diygod.me/&lt;/a>&lt;br>
Download: &lt;a class="link" href="https://github.com/DIYgod/Amativeness" target="_blank" rel="noopener"
>https://github.com/DIYgod/Amativeness&lt;/a>&lt;br>
&lt;img src="https://pan.2bboy.com/img/2019/10/20190907013129.png"
loading="lazy"
>&lt;br>
&lt;img src="https://pan.2bboy.com/img/2019/10/20190907013155.png"
loading="lazy"
>&lt;/p></description></item><item><title>Hexo主题推荐</title><link>https://kizx.github.io/post/hexo%E4%B8%BB%E9%A2%98%E6%8E%A8%E8%8D%90/</link><pubDate>Tue, 03 Sep 2019 17:18:00 +0000</pubDate><guid>https://kizx.github.io/post/hexo%E4%B8%BB%E9%A2%98%E6%8E%A8%E8%8D%90/</guid><description>&lt;h1 id="hexo主题推荐">&lt;a href="#hexo%e4%b8%bb%e9%a2%98%e6%8e%a8%e8%8d%90" class="header-anchor">&lt;/a>Hexo主题推荐
&lt;/h1>&lt;h2 id="双栏">&lt;a href="#%e5%8f%8c%e6%a0%8f" class="header-anchor">&lt;/a>双栏
&lt;/h2>&lt;h3 id="1-a-ace">&lt;a href="#1-a-ace" class="header-anchor">&lt;/a>1. A-ACE
&lt;/h3>&lt;ul>
&lt;li>Demo: &lt;a class="link" href="http://www.sumoon.com/" target="_blank" rel="noopener"
>http://www.sumoon.com/&lt;/a>&lt;/li>
&lt;li>Download：https://github.com/kinggozhang/hexo-theme-ace&lt;br>
&lt;img src="https://pan.2bboy.com/img/2019/10/20190906005021.png"
loading="lazy"
>&lt;/li>
&lt;/ul>
&lt;h3 id="2-aria">&lt;a href="#2-aria" class="header-anchor">&lt;/a>2. ARIA
&lt;/h3>&lt;ul>
&lt;li>Demo: &lt;a class="link" href="https://sh.alynx.moe/" target="_blank" rel="noopener"
>https://sh.alynx.moe/&lt;/a>&lt;/li>
&lt;li>Download: &lt;a class="link" href="https://github.com/AlynxZhou/hexo-theme-aria/blob/master/README.zh_CN.md" target="_blank" rel="noopener"
>https://github.com/AlynxZhou/hexo-theme-aria/blob/master/README.zh_CN.md&lt;/a>&lt;br>
&lt;img src="https://pan.2bboy.com/img/2019/10/20190906005101.png"
loading="lazy"
>&lt;/li>
&lt;/ul>
&lt;h3 id="3-asnippet">&lt;a href="#3-asnippet" class="header-anchor">&lt;/a>3. Asnippet
&lt;/h3>&lt;ul>
&lt;li>Demo: &lt;a class="link" href="https://www.91h5.cc/" target="_blank" rel="noopener"
>https://www.91h5.cc/&lt;/a>&lt;/li>
&lt;li>Download: &lt;a class="link" href="https://github.com/shenliyang/hexo-theme-snippet" target="_blank" rel="noopener"
>https://github.com/shenliyang/hexo-theme-snippet&lt;/a>&lt;br>
&lt;img src="https://pan.2bboy.com/img/2019/10/20190904211757.jpg"
loading="lazy"
>&lt;/li>
&lt;/ul>
&lt;h3 id="4-jacman">&lt;a href="#4-jacman" class="header-anchor">&lt;/a>4. Jacman
&lt;/h3>&lt;ul>
&lt;li>Demo: &lt;a class="link" href="http://wuchong.me/jacman/" target="_blank" rel="noopener"
>http://wuchong.me/jacman/&lt;/a>&lt;/li>
&lt;li>Download: &lt;a class="link" href="https://github.com/wuchong/jacman/blob/master/README_zh.md" target="_blank" rel="noopener"
>https://github.com/wuchong/jacman/blob/master/README_zh.md&lt;/a>&lt;br>
&lt;img src="https://pan.2bboy.com/img/2019/10/20190904212308.png"
loading="lazy"
>&lt;/li>
&lt;/ul>
&lt;h3 id="5-gal">&lt;a href="#5-gal" class="header-anchor">&lt;/a>5. gal
&lt;/h3>&lt;ul>
&lt;li>Demo: &lt;a class="link" href="http://sora3.coding.me/" target="_blank" rel="noopener"
>http://sora3.coding.me/&lt;/a>&lt;/li>
&lt;li>Download: &lt;a class="link" href="https://github.com/ZEROKISEKI/hexo-theme-gal" target="_blank" rel="noopener"
>https://github.com/ZEROKISEKI/hexo-theme-gal&lt;/a>&lt;br>
&lt;img src="https://pan.2bboy.com/img/2019/10/20190904212938.png"
loading="lazy"
>&lt;/li>
&lt;/ul>
&lt;h3 id="6-nexmoe">&lt;a href="#6-nexmoe" class="header-anchor">&lt;/a>6. Nexmoe
&lt;/h3>&lt;ul>
&lt;li>Demo: &lt;a class="link" href="https://nexmoe.com/" target="_blank" rel="noopener"
>https://nexmoe.com/&lt;/a>&lt;/li>
&lt;li>Download: &lt;a class="link" href="https://nexmoe.com/371865617.html" target="_blank" rel="noopener"
>https://nexmoe.com/371865617.html&lt;/a>&lt;br>
&lt;img src="https://pan.2bboy.com/img/2019/10/20190906005133.png"
loading="lazy"
>&lt;/li>
&lt;/ul>
&lt;h3 id="7-sakura">&lt;a href="#7-sakura" class="header-anchor">&lt;/a>7. Sakura
&lt;/h3>&lt;ul>
&lt;li>Demo: &lt;a class="link" href="https://sakura.hojun.cn/" target="_blank" rel="noopener"
>https://sakura.hojun.cn/&lt;/a>&lt;/li>
&lt;li>Download: &lt;a class="link" href="https://github.com/honjun/hexo-theme-sakura/blob/master/README-zh_cn.md" target="_blank" rel="noopener"
>https://github.com/honjun/hexo-theme-sakura/blob/master/README-zh_cn.md&lt;/a>&lt;br>
&lt;img src="https://pan.2bboy.com/img/2019/10/20190906005218.png"
loading="lazy"
>&lt;/li>
&lt;/ul>
&lt;h3 id="8-diaspora">&lt;a href="#8-diaspora" class="header-anchor">&lt;/a>8. Diaspora
&lt;/h3>&lt;ul>
&lt;li>Demo: &lt;a class="link" href="http://fech.in/" target="_blank" rel="noopener"
>http://fech.in/&lt;/a>&lt;/li>
&lt;li>Download: &lt;a class="link" href="https://github.com/Fechin/hexo-theme-diaspora" target="_blank" rel="noopener"
>https://github.com/Fechin/hexo-theme-diaspora&lt;/a>&lt;br>
&lt;img src="https://camo.githubusercontent.com/2a90d0266d4d54e618c7cbb46af683174f37347c/68747470733a2f2f666563682e696e2f7374617469632f696d616765732f44696173706f72612e6a7067"
loading="lazy"
>&lt;/li>
&lt;/ul>
&lt;h2 id="卡片式">&lt;a href="#%e5%8d%a1%e7%89%87%e5%bc%8f" class="header-anchor">&lt;/a>卡片式
&lt;/h2>&lt;h3 id="1-skapp">&lt;a href="#1-skapp" class="header-anchor">&lt;/a>1. skapp
&lt;/h3>&lt;ul>
&lt;li>Demo: &lt;a class="link" href="http://blog.minfive.com/" target="_blank" rel="noopener"
>http://blog.minfive.com/&lt;/a>&lt;/li>
&lt;li>Download: &lt;a class="link" href="https://github.com/Mrminfive/hexo-theme-skapp/blob/master/README-cn.md" target="_blank" rel="noopener"
>https://github.com/Mrminfive/hexo-theme-skapp/blob/master/README-cn.md&lt;/a>&lt;br>
&lt;img src="https://camo.githubusercontent.com/8fb49fe91a647fdf7d073a28789fbbad2724cf41/687474703a2f2f626c6f672e7374617469632e6d696e666976652e636f6d2f6f746865722f536b6170702e706e67"
loading="lazy"
>&lt;/li>
&lt;/ul>
&lt;h3 id="2-flex-block">&lt;a href="#2-flex-block" class="header-anchor">&lt;/a>2. flex-block
&lt;/h3>&lt;ul>
&lt;li>Demo: &lt;a class="link" href="https://miiiku.xyz/" target="_blank" rel="noopener"
>https://miiiku.xyz/&lt;/a>&lt;/li>
&lt;li>Download: &lt;a class="link" href="https://github.com/miiiku/flex-block" target="_blank" rel="noopener"
>https://github.com/miiiku/flex-block&lt;/a>&lt;br>
&lt;img src="https://pan.2bboy.com/img/2019/10/20190904214141.png"
loading="lazy"
>&lt;/li>
&lt;/ul>
&lt;h3 id="3-matery">&lt;a href="#3-matery" class="header-anchor">&lt;/a>3. Matery
&lt;/h3>&lt;ul>
&lt;li>Demo: &lt;a class="link" href="https://blinkfox.github.io" target="_blank" rel="noopener"
>https://blinkfox.github.io&lt;/a>&lt;/li>
&lt;li>Download: &lt;a class="link" href="https://blinkfox.github.io/2018/09/28/qian-duan/hexo-bo-ke-zhu-ti-zhi-hexo-theme-matery-de-jie-shao/" target="_blank" rel="noopener"
>https://blinkfox.github.io/2018/09/28/qian-duan/hexo-bo-ke-zhu-ti-zhi-hexo-theme-matery-de-jie-shao/&lt;/a>&lt;br>
&lt;img src="https://pan.2bboy.com/img/2019/10//matery-20181202-3.png"
loading="lazy"
>&lt;/li>
&lt;/ul>
&lt;h3 id="4-hueman">&lt;a href="#4-hueman" class="header-anchor">&lt;/a>4. Hueman
&lt;/h3>&lt;ul>
&lt;li>Demo: &lt;a class="link" href="https://blog.zhangruipeng.me/hexo-theme-hueman/" target="_blank" rel="noopener"
>https://blog.zhangruipeng.me/hexo-theme-hueman/&lt;/a>&lt;/li>
&lt;li>Download: &lt;a class="link" href="https://github.com/ppoffice/hexo-theme-hueman" target="_blank" rel="noopener"
>https://github.com/ppoffice/hexo-theme-hueman&lt;/a>&lt;br>
&lt;img src="https://camo.githubusercontent.com/0902c896a283714f7a795338dbfeca67092e9b02/687474703a2f2f70706f66666963652e6769746875622e696f2f6865786f2d7468656d652d6875656d616e2f67616c6c6572792f73637265656e73686f742e6a7067"
loading="lazy"
>&lt;/li>
&lt;/ul>
&lt;h3 id="5-material-flow">&lt;a href="#5-material-flow" class="header-anchor">&lt;/a>5. Material Flow
&lt;/h3>&lt;ul>
&lt;li>Demo: &lt;a class="link" href="https://kntan.coding.me/kntan/" target="_blank" rel="noopener"
>https://kntan.coding.me/kntan/&lt;/a>&lt;/li>
&lt;li>Download: &lt;a class="link" href="https://github.com/stkevintan/hexo-theme-material-flow" target="_blank" rel="noopener"
>https://github.com/stkevintan/hexo-theme-material-flow&lt;/a>&lt;br>
&lt;img src="https://pan.2bboy.com/img/2019/10/20190906005257.png"
loading="lazy"
>&lt;/li>
&lt;/ul>
&lt;h3 id="6-mic">&lt;a href="#6-mic" class="header-anchor">&lt;/a>6. Mic
&lt;/h3>&lt;ul>
&lt;li>Demo: &lt;a class="link" href="http://miccall.tech/" target="_blank" rel="noopener"
>http://miccall.tech/&lt;/a>&lt;/li>
&lt;li>Download: &lt;a class="link" href="https://github.com" target="_blank" rel="noopener"
>https://github.com&lt;/a>、miccall/hexo-theme-Mic_Theme&lt;br>
&lt;img src="https://pan.2bboy.com/img/2019/10/20190906002802.png"
loading="lazy"
>&lt;/li>
&lt;/ul></description></item></channel></rss>