<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>阿呆的博客</title>
  
  <subtitle>生活如此多娇</subtitle>
  <link href="https://www.adaiblog.github.io/atom.xml" rel="self"/>
  
  <link href="https://www.adaiblog.github.io/"/>
  <updated>2026-03-01T12:14:21.542Z</updated>
  <id>https://www.adaiblog.github.io/</id>
  
  <author>
    <name>阿呆</name>
    
  </author>
  
  <generator uri="https://hexo.io/">Hexo</generator>
  
  <entry>
    <title>Switch模拟器</title>
    <link href="https://www.adaiblog.github.io/posts/Ryujinx.html"/>
    <id>https://www.adaiblog.github.io/posts/Ryujinx.html</id>
    <published>2026-02-25T16:00:00.000Z</published>
    <updated>2026-03-01T12:14:21.542Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Win"><a href="#Win" class="headerlink" title="Win"></a>Win</h1><a class="btn-anzhiyu purple larger" href="https://git.ryujinx.app/ryubing/ryujinx/-/releases"   title="Ryujinx"><i class="anzhiyufont anzhiyu-icon-fw-fire"></i><span>Ryujinx</span></a><a class="btn-anzhiyu purple larger" href="https://prodkeys.net/"   title="密钥下载"><i class="anzhiyufont anzhiyu-icon-fw-fire"></i><span>密钥下载</span></a><a class="btn-anzhiyu purple larger" href="https://github.com/THZoria/NX_Firmware/releases"   title="固件下载"><i class="anzhiyufont anzhiyu-icon-fw-fire"></i><span>固件下载</span></a><a class="btn-anzhiyu purple larger" href="https://github.com/nicoboss/nsz/releases"   title="解压工具：NSZ"><i class="anzhiyufont anzhiyu-icon-fw-fire"></i><span>解压工具：NSZ</span></a><h2 id="配置"><a href="#配置" class="headerlink" title="配置"></a>配置</h2><h3 id="一-设置语言"><a href="#一-设置语言" class="headerlink" title="一. 设置语言"></a>一. 设置语言</h3><p><img src="/img/posts/switch/yuyan.png"></p><h3 id="二-安装密钥"><a href="#二-安装密钥" class="headerlink" title="二. 安装密钥"></a>二. 安装密钥</h3><p><img src="/img/posts/switch/miyao.png"></p><h3 id="三-安装固件"><a href="#三-安装固件" class="headerlink" title="三. 安装固件"></a>三. 安装固件</h3><p><img src="/img/posts/switch/gujian.png"></p><h3 id="四-设置游戏文件夹"><a href="#四-设置游戏文件夹" class="headerlink" title="四. 设置游戏文件夹"></a>四. 设置游戏文件夹</h3><p>打开<strong>选项</strong> -&gt; <strong>设置</strong> -&gt; <strong>界面</strong> -&gt; <strong>游戏目录</strong> -&gt; <strong>添加</strong><br><img src="/img/posts/switch/game.png"></p><h3 id="五-更新游戏-添加DLC-添加MOD-金手指"><a href="#五-更新游戏-添加DLC-添加MOD-金手指" class="headerlink" title="五. 更新游戏&#x2F;添加DLC&#x2F;添加MOD&#x2F;金手指"></a>五. 更新游戏&#x2F;添加DLC&#x2F;添加MOD&#x2F;金手指</h3><p>在首页<strong>右键</strong>游戏进行相对应的选择<br><img src="/img/posts/switch/mod.png"></p><h3 id="六-设置手柄"><a href="#六-设置手柄" class="headerlink" title="六. 设置手柄"></a>六. 设置手柄</h3><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="500" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/switch/setting.png","alt":""},{"url":"/img/posts/switch/setting2.png","alt":""}]</span>  </div><button class="gallery-load-more" style="opacity:0">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div><h2 id="解压工具"><a href="#解压工具" class="headerlink" title="解压工具"></a>解压工具</h2><p>Ryujinx稳定版只支持（.nsp,.xci,.nca,.nro,.nso）格式。如果下载的安装包为.nsz就需要NSZ工具进行解压。<br>下载完NSZ工具受体打开会提示<br><img src="/img/posts/switch/nsz.png"><br>需要将将密钥文件中的<strong>prod.keys</strong>文件复制到<code>C:\Users\用户名\.switch</code>，如果没有<code>.switch</code>文件夹就手动创建一个，重新打开NSZ<br><img src="/img/posts/switch/nsz2.png"></p><h1 id="Android"><a href="#Android" class="headerlink" title="Android"></a>Android</h1><a class="btn-anzhiyu purple larger" href="https://github.com/eden-emulator/Releases/releases"   title="Eden"><i class="anzhiyufont anzhiyu-icon-fw-fire"></i><span>Eden</span></a><a class="btn-anzhiyu purple larger" href="https://prodkeys.net/"   title="密钥下载"><i class="anzhiyufont anzhiyu-icon-fw-fire"></i><span>密钥下载</span></a><a class="btn-anzhiyu purple larger" href="https://github.com/THZoria/NX_Firmware/releases"   title="固件下载"><i class="anzhiyufont anzhiyu-icon-fw-fire"></i><span>固件下载</span></a><h2 id="配置-1"><a href="#配置-1" class="headerlink" title="配置"></a>配置</h2><h3 id="一-安装密钥-固件、游戏目录"><a href="#一-安装密钥-固件、游戏目录" class="headerlink" title="一. 安装密钥&#x2F;固件、游戏目录"></a>一. 安装密钥&#x2F;固件、游戏目录</h3><p>密钥：解压密钥文件压缩包下，选择其中的<strong>prod.keys</strong>文件<br>固件：直接选择下载的固件压缩包，不需要进行解压<br>游戏目录： 创建一个游戏目录并选择<br><img src="/img/posts/switch/eden.jpg"></p><h3 id="二-更改游戏语言和地区"><a href="#二-更改游戏语言和地区" class="headerlink" title="二. 更改游戏语言和地区"></a>二. 更改游戏语言和地区</h3><p>打开高级选项 -&gt; 系统 -&gt; 将模拟区域改成<strong>中国</strong>，模拟语言改成<strong>简体中文</strong><br><img src="/img/posts/switch/eden2.jpg"></p><h3 id="三-更新游戏-添加DLC-添加MOD-金手指"><a href="#三-更新游戏-添加DLC-添加MOD-金手指" class="headerlink" title="三. 更新游戏&#x2F;添加DLC&#x2F;添加MOD&#x2F;金手指"></a>三. 更新游戏&#x2F;添加DLC&#x2F;添加MOD&#x2F;金手指</h3><p>长按游戏 -&gt; 附加项 进行添加。</p>]]></content>
    
    
      
      
    <summary type="html">&lt;h1 id=&quot;Win&quot;&gt;&lt;a href=&quot;#Win&quot; class=&quot;headerlink&quot; title=&quot;Win&quot;&gt;&lt;/a&gt;Win&lt;/h1&gt;&lt;a class=&quot;btn-anzhiyu purple larger&quot; href=&quot;https://git.ryujinx.app/ry</summary>
      
    
    
    
    <category term="模拟器" scheme="https://www.adaiblog.github.io/categories/%E6%A8%A1%E6%8B%9F%E5%99%A8/"/>
    
    
    <category term="Ryujinx" scheme="https://www.adaiblog.github.io/tags/Ryujinx/"/>
    
  </entry>
  
  <entry>
    <title>Home Assistant</title>
    <link href="https://www.adaiblog.github.io/posts/homeassistant.html"/>
    <id>https://www.adaiblog.github.io/posts/homeassistant.html</id>
    <published>2025-11-02T05:56:21.000Z</published>
    <updated>2026-02-25T15:49:47.009Z</updated>
    
    <content type="html"><![CDATA[<h3 id="Home-Assistant是什么？"><a href="#Home-Assistant是什么？" class="headerlink" title="Home Assistant是什么？"></a>Home Assistant是什么？</h3><a class="btn-anzhiyu green larger" href="https://www.home-assistant.ios"   title="Home Assistant官网"><i class="anzhiyufont anzhiyu-icon-fw-fire"></i><span>Home Assistant官网</span></a><p>Home Assistant 是一款开源免费的智能家居中枢系统，核心目标是打破不同品牌智能设备的 “生态壁垒”，让来自小米、华为、苹果、飞利浦等不同厂商的设备实现统一管理、联动控制，同时以 “本地化运行” 保障隐私安全，为用户提供高度定制化的智能家居体验。无论是新手用户还是技术专家，都能通过它搭建符合自身需求的智能生活场景。</p><ul><li>开源免费：无订阅费、无功能限制，代码完全开放，社区持续迭代优化；</li><li>生态庞大：官方维护的设备集成库持续更新，社区活跃（论坛、GitHub、小红书等），遇到问题能快速找到解决方案；</li><li>高度自由：从界面到自动化逻辑，几乎所有细节都可自定义，不被厂商绑定；</li><li>长期稳定：作为开源项目已运营多年，更新频率稳定（每月一次大版本更新），兼容新旧设备，避免 “设备淘汰” 问题</li></ul><h3 id="部署"><a href="#部署" class="headerlink" title="部署"></a>部署</h3><p>Home Assistant提供两种不同的安装类型。HA OS操作系统是推荐的安装类型。<br><img src="/img/posts/assistant/duibi.jpg"></p><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">HA OS</button><button type="button" class="tab " data-href="test4-2">Docker</button><button type="button" class="tab " data-href="test4-3">Docker Compose</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><ol><li>下载<a class="btn-anzhiyu red larger" href="https://github.com/balena-io/etcher/releases"   title="Balena Etcher"><i class="anzhiyufont anzhiyu-icon-github"></i><span>Balena Etcher</span></a><br>用于将系统传输到SD卡和U盘中</li><li>下载<a class="btn-anzhiyu orange larger" href="https://github.com/home-assistant/operating-system/releases/"   title="系统镜像文件"><i class="anzhiyufont anzhiyu-icon-github"></i><span>系统镜像文件</span></a><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">## 参数说明</span></span><br><span class="line"><span class="string">generic</span> <span class="comment"># 通用版本</span></span><br><span class="line"><span class="string">aarch64</span> <span class="comment"># 64位ARM架构设备</span></span><br><span class="line"><span class="string">x86-64</span> <span class="comment"># 64位x86框架设备</span></span><br><span class="line"><span class="string">green</span> <span class="comment"># Home Assistant Green 专用硬件</span></span><br><span class="line"><span class="string">khahas</span> <span class="comment"># Khadas 品牌的开发板</span></span><br><span class="line"><span class="string">odroid</span> <span class="comment"># ODROID 系列开发板</span></span><br><span class="line"><span class="string">ova</span> <span class="comment"># 适用于支持 OVA 导入的虚拟化平台</span></span><br><span class="line"><span class="string">rpi</span> <span class="comment"># Raspberry Pi（树莓派）系列开发板</span></span><br><span class="line"><span class="string">thinker</span> <span class="comment"># Thinker Board 系列开发板</span></span><br><span class="line"><span class="string">yellow</span> <span class="comment"># Home Assistant Yellow 硬件</span></span><br><span class="line"><span class="string">.img.xz</span> <span class="comment"># 经 xz 压缩的原始磁盘镜像，用于物理设备（如开发板、电脑）的全新安装。</span></span><br><span class="line"><span class="string">.qcow2.xz</span> <span class="comment"># 经 xz 压缩的 QEMU 虚拟机镜像，适用于 KVM、Proxmox 等虚拟化平台。</span></span><br><span class="line"><span class="string">.vdi.zip</span> <span class="comment"># 经 zip 压缩的 VirtualBox 虚拟机镜像。</span></span><br><span class="line"><span class="string">.vmdk.zip</span> <span class="comment"># 经 zip 压缩的 VMware 虚拟机镜像。</span></span><br><span class="line"><span class="string">.raucb</span> <span class="comment"># 基于 RAUC 的升级包，用于已安装系统的 OTA 或离线更新</span></span><br></pre></td></tr></table></figure></li><li>使用Balena Etcher将下载好的镜像文件烧录至储存设备中（U盘&#x2F;SD卡）</li><li>插入需要安装系统的设备，bios中修改第一启动项为储存设备。重启开始安装</li></ol></div><div class="tab-item-content" id="test4-2"><p><strong><center>安装</center></strong></p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line">docker run -d \</span><br><span class="line">  --name homeassistant \</span><br><span class="line">  --privileged \</span><br><span class="line">  --restart=unless-stopped \</span><br><span class="line">  -e TZ=Asia/Shanghai \</span><br><span class="line">  -v /PATH_TO_YOUR_CONFIG:/config \</span><br><span class="line">  -v /run/dbus:/run/dbus:ro \</span><br><span class="line">  --network=host \</span><br><span class="line">  ghcr.io/home-assistant/home-assistant:stable</span><br></pre></td></tr></table></figure><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 参数说明</span></span><br><span class="line"><span class="string">/PATH_TO_YOUR_CONFIG</span> <span class="comment"># 指向要存储配置并运行的文件夹,替换成自己的</span></span><br><span class="line"><span class="string">/run/dbus</span> <span class="comment">#是可选的,但如果计划使用蓝牙集成,则需要使用。</span></span><br><span class="line"><span class="string">TZ</span> <span class="comment">#设置时区</span></span><br></pre></td></tr></table></figure><p>运行该后打开<strong>http:&#x2F;&#x2F;&lt;主机IP&gt;:8123</strong>访问Home Assistant</p><p><strong><center>更新</center></strong></p><ol><li>拉取最新的稳定版镜像<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">docker pull ghcr.io/home-assistant/home-assistant:stable</span><br></pre></td></tr></table></figure></li><li>停止并删除旧容器<figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 停止旧容器（容器名称为之前设置的 &quot;homeassistant&quot;）</span></span><br><span class="line"><span class="string">docker</span> <span class="string">stop</span> <span class="string">homeassistant</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 删除旧容器（删除后仅容器本身被移除，配置数据因挂载目录保留）</span></span><br><span class="line"><span class="string">docker</span> <span class="string">rm</span> <span class="string">homeassistant</span></span><br></pre></td></tr></table></figure></li><li>用新镜像启动容器<br>确保参数与初次部署时一致，尤其是 -v 挂载目录和 –network&#x3D;host 等关键参数<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line">docker run -d \</span><br><span class="line">  --name homeassistant \</span><br><span class="line">  --privileged \</span><br><span class="line">  --restart=unless-stopped \</span><br><span class="line">  -e TZ=Asia/Shanghai \</span><br><span class="line">  -v /PATH_TO_YOUR_CONFIG:/config \</span><br><span class="line">  -v /run/dbus:/run/dbus:ro \</span><br><span class="line">  --network=host \</span><br><span class="line">  ghcr.io/home-assistant/home-assistant:stable</span><br></pre></td></tr></table></figure></li></ol><p><strong><center>删除</center></strong></p><ol><li>停止运行中的容器<figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 替换--name homeassistant中的名称</span></span><br><span class="line"><span class="string">docker</span> <span class="string">stop</span> <span class="string">homeassistant</span></span><br></pre></td></tr></table></figure></li><li>删除容器<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">docker rm homeassistant </span><br></pre></td></tr></table></figure></li><li>删除配置数据目录<figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 替换为你的实际配置目录（务必确认路径正确，避免误删！）</span></span><br><span class="line"><span class="string">sudo</span> <span class="string">rm</span> <span class="string">-rf</span> <span class="string">/PATH_TO_YOUR_CONFIG</span></span><br></pre></td></tr></table></figure></li><li>查看本地的 Home Assistant 镜像 ID<figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="string">docker</span> <span class="string">images</span> <span class="string">|</span> <span class="string">grep</span> <span class="string">home-assistant</span></span><br><span class="line"><span class="comment"># 例如ghcr.io/home-assistant/home-assistant   stable   a1b2c3d4e5f6   2天前    1.2GB</span></span><br></pre></td></tr></table></figure></li><li>删除镜像<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">docker rmi a1b2c3d4e5f6</span><br></pre></td></tr></table></figure></li></ol></div><div class="tab-item-content" id="test4-3"><p><strong><center>安装</center></strong></p><ol><li>创建文件夹并进入<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">mkdir homeassistant &amp;&amp; cd homeassistant</span><br></pre></td></tr></table></figure></li><li>创建docker-compose.yml<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">nano docker-compose.yml</span><br></pre></td></tr></table></figure></li><li>编辑docker-compose.yml并<kbd>Ctrl</kbd> + <kbd>X</kbd>按<kbd>Y</kbd>，<kbd>Enter</kbd>保存<figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">services:</span></span><br><span class="line">  <span class="attr">homeassistant:</span></span><br><span class="line">    <span class="attr">container_name:</span> <span class="string">homeassistant</span> <span class="comment"># 容器名称</span></span><br><span class="line">    <span class="attr">image:</span> <span class="string">&quot;ghcr.io/home-assistant/home-assistant:stable&quot;</span> <span class="comment"># 镜像（稳定版）</span></span><br><span class="line">    <span class="attr">volumes:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">/PATH_TO_YOUR_CONFIG:/config</span> <span class="comment"># 配置目录映射（需替换为实际路径）</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">/etc/localtime:/etc/localtime:ro</span> <span class="comment"># 同步主机时区（只读）</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">/run/dbus:/run/dbus:ro</span> <span class="comment">#挂载dbus服务（可选，如果计划使用蓝牙集成,则需要使用）</span></span><br><span class="line">    <span class="attr">restart:</span> <span class="string">unless-stopped</span> <span class="comment"># 重启策略</span></span><br><span class="line">    <span class="attr">privileged:</span> <span class="literal">true</span> <span class="comment"># 特权模式（访问硬件）</span></span><br><span class="line">    <span class="attr">network_mode:</span> <span class="string">host</span> <span class="comment"># 主机网络模式（设备发现必需）</span></span><br></pre></td></tr></table></figure></li><li>启动容器<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">docker compose up -d</span><br></pre></td></tr></table></figure>运行该后打开<strong>http:&#x2F;&#x2F;&lt;主机IP&gt;:8123</strong>访问Home Assistant</li></ol><p><strong><center>更新</center></strong></p><ol><li>进入<strong>homeassistant</strong>的<strong>docker-compose.yml</strong>所在文件夹</li><li>重启服务，应用新镜像<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">docker compose up -d</span><br></pre></td></tr></table></figure></li></ol><p><strong><center>删除</center></strong></p><ol><li>进入<strong>homeassistant</strong>的<strong>docker-compose.yml</strong>所在文件夹</li><li>停止并删除容器及关联网络<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">docker compose down</span><br></pre></td></tr></table></figure></li><li>删除配置数据目录<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"># 替换为你的实际配置目录（务必确认路径正确，避免误删！）</span><br><span class="line">sudo rm -rf /PATH_TO_YOUR_CONFIG</span><br></pre></td></tr></table></figure></li><li>查看本地的 Home Assistant 镜像 ID<figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="string">docker</span> <span class="string">images</span> <span class="string">|</span> <span class="string">grep</span> <span class="string">home-assistant</span></span><br><span class="line"><span class="comment"># 例如ghcr.io/home-assistant/home-assistant   stable   a1b2c3d4e5f6   2天前    1.2GB</span></span><br></pre></td></tr></table></figure></li><li>删除镜像<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">docker rmi a1b2c3d4e5f6</span><br></pre></td></tr></table></figure></li></ol></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h2 id="HACS-第三方应用商城"><a href="#HACS-第三方应用商城" class="headerlink" title="HACS(第三方应用商城)"></a>HACS(第三方应用商城)</h2><ol><li>进入Home Assistant配置文件夹<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">cd</span> /assistant/data  <span class="comment"># Docker配置文件中/PATH_TO_YOUR_CONFIG的位置</span></span><br></pre></td></tr></table></figure></li><li>创建并进入对应文件夹<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">mkdir custom_components/hacs &amp;&amp; cd custom_components/hacs</span><br></pre></td></tr></table></figure></li><li>下载<a class="btn-anzhiyu orange larger" href="https://github.com/hacs/integration/releases"   title="hacs文件"><i class="anzhiyufont anzhiyu-icon-github"></i><span>hacs文件</span></a><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">wget https://github.com/hacs/integration/releases/download/2.0.5/hacs.zip</span><br></pre></td></tr></table></figure></li><li>解压文件<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">unzip hacs.zip</span><br><span class="line"><span class="comment">## 如果没有安装解压工具unzip首先进行安装</span></span><br><span class="line"><span class="built_in">sudo</span> apt update &amp;&amp; <span class="built_in">sudo</span> apt install unzip</span><br></pre></td></tr></table></figure></li><li>重启 Home Assistant 容器<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 回到 docker-compose.yml 所在目录</span></span><br><span class="line"><span class="comment"># 重启容器</span></span><br><span class="line">docker-compose restart homeassistant</span><br></pre></td></tr></table></figure></li><li>打开 Home Assistant 后台设置-&gt;设备与服务-&gt;添加集成-&gt;搜索 HACS,首次添加会提示 “需要 GitHub 访问令牌”，按以下步骤获取</li></ol>]]></content>
    
    
    <summary type="html">智能家居中枢系统，核心目标是打破不同品牌智能设备的 “生态壁垒”,让来自小米、华为、苹果、飞利浦等不同厂商的设备实现统一管理、联动控制，同时以 “本地化运行” 保障隐私安全，为用户提供高度定制化的智能家居体验。无论是新手用户还是技术专家，都能通过它搭建符合自身需求的智能生活场景。</summary>
    
    
    
    <category term="服务器" scheme="https://www.adaiblog.github.io/categories/%E6%9C%8D%E5%8A%A1%E5%99%A8/"/>
    
    
    <category term="智能家居" scheme="https://www.adaiblog.github.io/tags/%E6%99%BA%E8%83%BD%E5%AE%B6%E5%B1%85/"/>
    
  </entry>
  
  <entry>
    <title>immich自托管照片和视频管理</title>
    <link href="https://www.adaiblog.github.io/posts/immich.html"/>
    <id>https://www.adaiblog.github.io/posts/immich.html</id>
    <published>2025-10-27T17:10:00.000Z</published>
    <updated>2026-02-25T15:49:47.505Z</updated>
    
    <content type="html"><![CDATA[<a class="btn-anzhiyu purple larger" href="https://immich.app/"   title="官网"><i class="anzhiyufont anzhiyu-icon-fw-fire"></i><span>官网</span></a><a class="btn-anzhiyu orange larger" href="https://github.com/immich-app/immich"   title="Github"><i class="anzhiyufont anzhiyu-icon-github"></i><span>Github</span></a><a class="btn-anzhiyu green larger" href="https://github.com/immich-app/immich?tab=readme-ov-file"   title="Demo"><i class="anzhiyufont anzhiyu-icon-circle-dot"></i><span>Demo</span></a><p>使用Docker Compose搭建immich</p><h2 id="一：下载所需文件"><a href="#一：下载所需文件" class="headerlink" title="一：下载所需文件"></a>一：下载所需文件</h2><p>创建文件夹</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">mkdir</span> immich &amp;&amp; <span class="built_in">cd</span> immich</span><br></pre></td></tr></table></figure><p>通过指令下载<strong>docker-compose.yml</strong>和<strong>example.env</strong></p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml</span><br><span class="line">wget -O .<span class="built_in">env</span> https://github.com/immich-app/immich/releases/latest/download/example.env</span><br></pre></td></tr></table></figure><p>也可以手动下载并拷贝到immich文件夹中，但需要注意将<code>example.env</code>改名为<code>.env</code></p><h2 id="二：自定义-env文件"><a href="#二：自定义-env文件" class="headerlink" title="二：自定义.env文件"></a>二：自定义.env文件</h2><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 您可以在 https://docs.immich.app/install/environment-variables 找到所有支持的环境变量的文档</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 您上传的文件存储的位置</span></span><br><span class="line"><span class="string">UPLOAD_LOCATION=./library</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 数据库文件存储的位置。数据库不支持网络共享</span></span><br><span class="line"><span class="string">DB_DATA_LOCATION=./postgres</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 要设置时区，请取消#注释，并将 Etc/UTC 改为此列表中的时区标识符：https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List</span></span><br><span class="line"><span class="comment"># TZ=Etc/UTC</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 要使用的 Immich 版本。您可以将其固定到特定版本，例如 &quot;v1.71.0&quot;</span></span><br><span class="line"><span class="string">IMMICH_VERSION=release</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># postgres 的连接密钥。你应该将其更改为随机密码# 请仅使用字符 `A-Za-z0-9`，不要使用特殊字符或空格</span></span><br><span class="line"><span class="string">DB_PASSWORD=postgres</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 以下行的数值无需更改</span></span><br><span class="line"><span class="comment">###################################################################################</span></span><br><span class="line"><span class="string">DB_USERNAME=postgres</span></span><br><span class="line"><span class="string">DB_DATABASE_NAME=immich</span></span><br></pre></td></tr></table></figure><h2 id="三：启动Docker"><a href="#三：启动Docker" class="headerlink" title="三：启动Docker"></a>三：启动Docker</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">docker compose up -d</span><br></pre></td></tr></table></figure><h2 id="四：更新与删除"><a href="#四：更新与删除" class="headerlink" title="四：更新与删除"></a>四：更新与删除</h2><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 更新</span></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">pull</span> <span class="comment">#拉取最新镜像</span></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">up</span> <span class="string">-d</span> <span class="comment">#重新部署容器</span></span><br><span class="line"><span class="comment"># 删除</span></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">down</span> <span class="comment">#基础删除（保留数据卷，仅删除容器和网络）</span></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">down</span> <span class="string">-v</span> <span class="comment">#彻底删除（包括数据卷，数据会丢失）</span></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">down</span> <span class="string">--rmi</span> <span class="string">all</span> <span class="comment">#额外清理（删除未使用的镜像）</span></span><br></pre></td></tr></table></figure><p>打开浏览器输入<a href="localsend:2283">服务器IP:2283</a></p>]]></content>
    
    
    <summary type="html">轻松备份、整理和管理您自己服务器上的照片。immich帮你轻松浏览、搜索和整理您的照片和视频,同时不牺牲您的隐私。</summary>
    
    
    
    <category term="服务器" scheme="https://www.adaiblog.github.io/categories/%E6%9C%8D%E5%8A%A1%E5%99%A8/"/>
    
    
    <category term="Docker" scheme="https://www.adaiblog.github.io/tags/Docker/"/>
    
    <category term="相册" scheme="https://www.adaiblog.github.io/tags/%E7%9B%B8%E5%86%8C/"/>
    
  </entry>
  
  <entry>
    <title>Cashew</title>
    <link href="https://www.adaiblog.github.io/posts/Cashew.html"/>
    <id>https://www.adaiblog.github.io/posts/Cashew.html</id>
    <published>2025-10-10T11:16:48.000Z</published>
    <updated>2026-02-25T15:49:49.129Z</updated>
    
    <content type="html"><![CDATA[<h2 id="应用信息"><a href="#应用信息" class="headerlink" title="应用信息"></a>应用信息</h2><p>应用名称：<code>Cashew</code><br>应用包名：<code>com.budget.tracker_app</code><br>安装包大小：<code>31.3M</code><br>下载地址：<a class="btn-anzhiyu orange" href="https://github.com/ADAIBLOG/Cashew/releases"   title="Github"><i class="anzhiyufont anzhiyu-icon-github"></i><span>Github</span></a><br>功能介绍：<br>💰 灵活预算、量身定制：创建预算并与你的生活协调一致。无论是按月、按周还是特定的时间范围，都能根据你的节奏来设定预算。<br>📊 清晰可视：饼图和条形图将数字转化为更有故事感的视觉呈现，使你的财务旅程引人入胜且易于理解。<br>📅 了解你的财务历史：轻松理解你过去的消费周期，让你有的放矢微调预算策略。<br>⏰ 掌握动向：接收实时提醒、让你时刻掌控财务状况，轻松追踪订阅和周期交易。<br>🌟 令人惊叹的界面设计：让你沉浸在一个完美融合美感与功能的界面当中。<br>🎨 触手可及的个性化：拥抱优雅的界面设计，支持深色模式、可根据你的喜好风格自定义应用强调色。<br>💱 货币支持：支出跨币种的无缝财务管理。</p><div class="timeline undefined"><div class='timeline-item headline'><div class='timeline-item-title'><div class='item-circle'><p>软件更新</p></div></div></div><div class='timeline-item'><div class='timeline-item-title'><div class='item-circle'><p>v2.1.1</p></div></div><div class='timeline-item-content'><p>修改小组件文字显示颜色跟随Cashew强调色</p></div></div><div class='timeline-item'><div class='timeline-item-title'><div class='item-circle'><p>v2.1.0</p></div></div><div class='timeline-item-content'><p>1.notifyListeners滥用修复<br>2.修复在TAB栏中预算右下角+的点击逻辑<br>3.must_call_super修复</p></div></div><div class='timeline-item'><div class='timeline-item-title'><div class='item-circle'><p>v2.0.12</p></div></div><div class='timeline-item-content'><p>1.修复检测通知栏多次重复检测的BUG<br>2.修复自动交易权限不赋予导致应用无法使用BUG</p></div></div><div class='timeline-item'><div class='timeline-item-title'><div class='item-circle'><p>v2.0.11</p></div></div><div class='timeline-item-content'><p>1.修复重新启动软件自动交易不会被初始化的BUG<br>2.修复点击通知栏无法跳转到添加交易页面BUG</p></div></div><div class='timeline-item'><div class='timeline-item-title'><div class='item-circle'><p>v2.0.1</p></div></div><div class='timeline-item-content'><p>1.在借贷页面长期贷款中添加差异贷款功能<br>2.移除’添加交易提醒‘通知按钮<br>3.移除Demo数据<br>4.重定义贷款页面翻译<br>5.修改Tab栏更改为目标点击+逻辑问题</p></div></div><div class='timeline-item'><div class='timeline-item-title'><div class='item-circle'><p>v2.0.0</p></div></div><div class='timeline-item-content'><p>1.删除关于google和Firebase相关云服务功能<br>2.移除网络权限功能。</p></div></div><div class='timeline-item'><div class='timeline-item-title'><div class='item-circle'><p>v1.0.0</p></div></div><div class='timeline-item-content'><p>1.在添加交易页面中根据收入&#x2F;支持显示相对应的类别图标<br>2.移除交换汇率按钮<br>3.移除网络权限<br>​4.新增安卓原生组件(当月支出，今日支出，今日收入小组件)：根据个人使用需求，集成了部分新的安卓原生组件，优化本地操作体验<br>5.翻译了组件名称<br>6.修改横屏&#x2F;宽屏状态下的布局问<br>​7.禁用云服务相关功能：移除 Google 登录、Firebase 同步&#x2F;备份、Google Drive 备份等所有依赖第三方云服务的功能，数据仅存储于本地设备，保障隐私安全。<br>8.新增通知栏交易识别功能：添加通知栏信息监听与解析逻辑，可自动提取银行、支付软件等发送的交易通知中的金额、交易类型等关键信息，快速生成对应交易记录（需授予通知访问权限）。<br>9.修复语言显示 Bug：解决原版本中部分语言翻译错乱、显示异常的问题，确保界面文字展示准确、排版规范。<br>10.简化功能界面：移除原应用中非核心的辅助功能按钮，精简界面布局，聚焦核心记账功能。</p></div></div></div><h2 id="功能"><a href="#功能" class="headerlink" title="功能"></a>功能</h2><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="500" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/cashew/zhanshi.jpg","alt":""},{"url":"/img/posts/cashew/zhanshi2.jpg","alt":""},{"url":"/img/posts/cashew/zhanshi3.jpg","alt":""}]</span>  </div><button class="gallery-load-more" style="opacity:0">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div><p>长按下方导航栏（Tab）可以自定设定展示页面<br><img src="/img/posts/cashew/gongneng.jpg"><br>点击首页右上角<code>···</code>可以设置首页显示内容，具体对应内容如下</p><ol><li>用户名横幅<div class="img-wrap"><div class="img-bg"><img class="img" src="/img/posts/cashew/yonghuming.jpg" style="width:250px;"/></div></div></li><li>账户<div class="img-wrap"><div class="img-bg"><img class="img" src="/img/posts/cashew/zhanghu.jpg" style="width:250px;"/></div></div></li><li>账户列表<div class="img-wrap"><div class="img-bg"><img class="img" src="/img/posts/cashew/zhanghuliebiao.jpg" style="width:250px;"/></div></div></li><li>预算&#x2F;目标<div class="img-wrap"><div class="img-bg"><img class="img" src="/img/posts/cashew/yusuan.jpg" style="width:250px;"/></div></div></li><li>收入与支出<div class="img-wrap"><div class="img-bg"><img class="img" src="/img/posts/cashew/shouruyuzhichu.jpg" style="width:250px;"/></div></div></li><li>结余<div class="img-wrap"><div class="img-bg"><img class="img" src="/img/posts/cashew/jieyu.jpg" style="width:250px;"/></div></div></li><li>预期即将到来<div class="img-wrap"><div class="img-bg"><img class="img" src="/img/posts/cashew/yuqi.jpg" style="width:250px;"/></div></div></li><li>长期贷款<div class="img-wrap"><div class="img-bg"><img class="img" src="/img/posts/cashew/daikuan.jpg" style="width:250px;"/></div></div></li><li>支出图标<div class="img-wrap"><div class="img-bg"><img class="img" src="/img/posts/cashew/zhichutubiao.jpg" style="width:250px;"/></div></div></li><li>借贷<div class="img-wrap"><div class="img-bg"><img class="img" src="/img/posts/cashew/jiedai.jpg" style="width:250px;"/></div></div></li><li>饼图<div class="img-wrap"><div class="img-bg"><img class="img" src="/img/posts/cashew/bingtu.jpg" style="width:250px;"/></div></div></li><li>热力图<div class="img-wrap"><div class="img-bg"><img class="img" src="/img/posts/cashew/relitu.jpg" style="width:250px;"/></div></div></li><li>交易列表<div class="img-wrap"><div class="img-bg"><img class="img" src="/img/posts/cashew/jiaoyiliebiao.jpg" style="width:250px;"/></div></div></li></ol><h3 id="贷款"><a href="#贷款" class="headerlink" title="贷款"></a>贷款</h3><p>贷款分为<code>长期贷款</code>和<code>一次性贷款</code>,其中添加长期贷款中有一个⏳的图标，这个是差异贷款功能开关，是用来计算借出和借入差额。</p><h3 id="添加交易"><a href="#添加交易" class="headerlink" title="添加交易"></a>添加交易</h3><p>主要展示收入支出的详细信息，上方可以选择月份进行查询点击<code>+</code>号即可添加记录</p><div class="img-wrap"><div class="img-bg"><img class="img" src="/img/posts/cashew/jiaoyi.jpg" style="width:250px;"/></div></div><h3 id="自动添加交易"><a href="#自动添加交易" class="headerlink" title="自动添加交易"></a>自动添加交易</h3><p>在<code>更多</code> -&gt; <code>设置&amp;自定义</code>中点击自动添加，此时会跳转添加读取通知的权限，如果无法勾选，这里需要在手机应用设置中找到<code>允许受限制的设置</code>进行勾选，在返回应用就可以赋予权限了。<br><img src="/img/posts/cashew/quanxian.jpg"><br>赋予完成权限之后，点击<code>+</code>添加模板。<br>名称： 设置模板名称（任意设置）<br>主题文本： 查看每次支付完成之后软件通知栏的文本，比如微信支付完成，会显示微信支付<br>标签：对应扣费账户<br><img src="/img/posts/cashew/moban.jpg"><br>添加完成之后，每当我们支付完成之后软件当识别到有用通知栏包含<code>微信支付</code>字样之后，自动识别到金额，软件会发出通知识别到新的交易信息，点击通知栏直接跳转到添加交易页面。金额输入自动识别金额。</p><h3 id="小部件"><a href="#小部件" class="headerlink" title="小部件"></a>小部件</h3><p>一共有九种组件可供选择</p><div class="img-wrap"><div class="img-bg"><img class="img" src="/img/posts/cashew/xiaozujian.jpg" style="width:250px;"/></div></div><p>在更多 -&gt; 设置&amp;自定义 -&gt; 更多选项中可以设置<code>小部件的主题</code>，<code>背景不透明度</code>和<code>净资产总小部件</code></p><h3 id="备份-恢复"><a href="#备份-恢复" class="headerlink" title="备份&amp;恢复"></a>备份&amp;恢复</h3><p>推荐在更多 -&gt; 设置&amp;自定义中点击<code>导出数据文件</code>进行备份<br><code>导出CSV文件</code>不包含软件设置等信息</p>]]></content>
    
    
    <summary type="html">Cashew 是一款功能丰富的成熟应用程序，旨在帮助用户有效管理财务。该应用程序使用 Flutter（带有 Drift 的 SQL 包和 Firebase）构建，可在各种设备上提供无缝且直观的用户体验。</summary>
    
    
    
    <category term="软件" scheme="https://www.adaiblog.github.io/categories/%E8%BD%AF%E4%BB%B6/"/>
    
    
    <category term="理财" scheme="https://www.adaiblog.github.io/tags/%E7%90%86%E8%B4%A2/"/>
    
  </entry>
  
  <entry>
    <title>如何在浙江跑出租车</title>
    <link href="https://www.adaiblog.github.io/posts/zheliban.html"/>
    <id>https://www.adaiblog.github.io/posts/zheliban.html</id>
    <published>2025-10-07T09:20:18.000Z</published>
    <updated>2025-10-17T09:49:11.063Z</updated>
    
    <content type="html"><![CDATA[<h1 id="方法一：电脑操作"><a href="#方法一：电脑操作" class="headerlink" title="方法一：电脑操作"></a>方法一：电脑操作</h1><ol><li>注册浙江政务账号<br><a href="https://user.zjzwfw.gov.cn/pc/login?1=1&servicecode=zjdsjgrbs">浙江政务快捷入口</a><br><img src="/img/posts/zheliban/zhejiang.jpg"></li><li>申请流动人口居住登记，给汽车上牌<br><a href="https://recept.zjzwfw.gov.cn/online/accept#/accept/entry?matterType=powerDirectory&matterId=101200046">流动人口居住登记快捷入口</a></li><li>登录杭州市客运出租汽车申报服务器管理系统<br>登录浙江政务账号点击<code>个人中心</code><br><img src="/img/posts/zheliban/qicheshenbao.jpg"></li><li>分别申请<code>驾驶员证申请</code>和<code>车辆申请信息</code><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">驾驶员证申请</button><button type="button" class="tab " data-href="test4-2">车辆申请信息</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><ol><li>填写申请信息<br><img src="/img/posts/zheliban/renyuanshenbao2.jpg"></li><li>等待申请完成<br><img src="/img/posts/zheliban/renyuanshenbao3.jpg"></li><li>预约参加客运出租汽车驾驶员从业资格考试，并选择预约场次</li><li>携带身份证前往指定地点参加考试</li><li>等待考试结果，如没通过可在7或15个自然日再次申请个补考</li><li>申请申请出租汽车驾驶员从业资格<br><a href="https://recept.zjzwfw.gov.cn/online/accept#/accept/entry?matterType=powerDirectory&matterId=101102382">申请出租汽车驾驶员从业资格快捷入口</a></li><li>选择申报地点<br><img src="/img/posts/zheliban/renyuanshenbao2.jpg"></li></ol></div><div class="tab-item-content" id="test4-2"><ol><li>填写申请信息<br><img src="/img/posts/zheliban/qicheshenbao2.jpg"></li><li>等待申请通过</li><li>通过申请之后及时前往公安交警车辆管理部门办理车辆使用性质为<code>预约出租客运</code>的注册登记手续</li><li>完成之后联系终端服务商采购安装车载卫星定位装置和应急报警装置，安装完成后，通过本网站提交补充资料并提交。</li></ol></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div></li></ol><h1 id="方法二：手机操作"><a href="#方法二：手机操作" class="headerlink" title="方法二：手机操作"></a>方法二：手机操作</h1><ol><li>微信小程序搜索<code>浙里办</code></li><li>搜索<code>流动人口居住登记</code>点击办理</li></ol>]]></content>
    
    
      
      
    <summary type="html">&lt;h1 id=&quot;方法一：电脑操作&quot;&gt;&lt;a href=&quot;#方法一：电脑操作&quot; class=&quot;headerlink&quot; title=&quot;方法一：电脑操作&quot;&gt;&lt;/a&gt;方法一：电脑操作&lt;/h1&gt;&lt;ol&gt;
&lt;li&gt;注册浙江政务账号&lt;br&gt;&lt;a href=&quot;https://user.zjzwfw</summary>
      
    
    
    
    <category term="指南" scheme="https://www.adaiblog.github.io/categories/%E6%8C%87%E5%8D%97/"/>
    
    
    <category term="职业" scheme="https://www.adaiblog.github.io/tags/%E8%81%8C%E4%B8%9A/"/>
    
  </entry>
  
  <entry>
    <title>健康保险</title>
    <link href="https://www.adaiblog.github.io/posts/jiankangbaoxian.html"/>
    <id>https://www.adaiblog.github.io/posts/jiankangbaoxian.html</id>
    <published>2025-09-16T13:20:21.000Z</published>
    <updated>2025-10-17T09:49:10.991Z</updated>
    
    <content type="html"><![CDATA[<p>一、基础核心概念</p><ol><li>保险人 (Insurer)</li></ol><p>指：保险公司，收取保费并承担赔偿责任的机构。</p><ol start="2"><li>投保人 (Policyholder)</li></ol><p>指：与保险公司签订合同并支付保费的人。</p><ol start="3"><li>被保险人 (Insured)</li></ol><p>指：受保险合同保障的人。投保人和被保险人可以是同一人，也可以是不同的人（如父母为孩子投保）。</p><ol start="4"><li>受益人 (Beneficiary)</li></ol><p>指：在发生保险事故（如身故）后，有权获得保险金的人。通常由投保人或被保险人指定。</p><ol start="5"><li>保险合同 (Insurance Policy)</li></ol><p>指：约定保险双方权利和义务的法律文件，即“保单”。</p><ol start="6"><li>保险期间 (Policy Term)</li></ol><p>指：保险合同提供保障的有效时间范围，例如1年、保至70周岁或终身。</p><ol start="7"><li>等待期 (Waiting Period)</li></ol><p>指：保险合同生效后的一段时间内，即使发生保险事故，保险公司也不予赔付。主要是为了防止带病投保。重疾险、医疗险通常有30-180天不等的等待期。</p><ol start="8"><li>犹豫期 (Cooling-off Period)</li></ol><p>指：投保人收到保单并签字后的若干天（通常为10-20天），在此期间可以全额无息退保。相当于“后悔期”。</p><p>二、与费用相关的词汇</p><ol><li>保费 (Premium)</li></ol><p>指：投保人为了获得保障，需要向保险公司支付的费用。</p><ol start="2"><li>保额 (Sum Insured)</li></ol><p>指：保险公司承担赔偿或给付保险金的最高限额。例如，重疾险保额50万，即最多赔付50万。</p><ol start="3"><li>免赔额 (Deductible)</li></ol><p>指：需要被保险人自行承担损失的金额，超过此额度的部分保险公司才予赔付。例如：百万医疗险常有1万元的免赔额，医疗花费3万元，社保报销1.5万后，剩余1.5万，减去1万免赔额，保险公司赔付5千元。</p><ol start="4"><li>赔付比例 (Reimbursement Percentage)</li></ol><p>指：扣除免赔额后，保险公司按此比例进行赔付。例如：某些意外医疗险规定，社保内费用100%赔付，社保外费用80%赔付。</p><ol start="5"><li>现金价值 (Cash Value)</li></ol><p>指：长期险（如重疾险、寿险）的保单所具有的价值，退保时能拿回的钱。前期现金价值很低，会随着时间增长。</p><p>三、与保障和责任相关的词汇</p><ol><li>保险责任 (Coverage)</li></ol><p>指：保险合同中约定的保险公司承担赔偿的责任范围。即“保什么”。</p><ol start="2"><li>责任免除 (Exclusions)</li></ol><p>指：保险合同中约定的保险公司不承担赔偿责任的情形。即“不保什么”，通常包括投保人故意伤害、违法犯罪、遗传性疾病、既往症、战争、整形美容等。</p><ol start="3"><li>既往症 (Pre-existing Condition)</li></ol><p>指：在投保前就已经罹患的被保险人已知或应该知道的有关疾病或症状。通常健康险对既往症及其并发症不予赔付。</p><ol start="4"><li>医院网络 (Hospital Network)</li></ol><p>指：与保险公司有合作关系的医院列表。去网络内医院就诊，通常可以享受“直付”或“垫付”等更便利的服务。</p><ol start="5"><li>直付 (Direct Billing)</li></ol><p>指：被保险人在网络医院就医时，费用由保险公司和医院直接结算，无需自己掏钱后再报销。（常见于高端医疗险）</p><ol start="6"><li>垫付 (Advanced Payment)</li></ol><p>指：被保险人在住院时，可向保险公司申请预先支付住院押金等费用，出院后再进行结算报销。</p><p>四、医疗险特定词汇</p><ol><li>门诊 (Outpatient Service)</li></ol><p>指：不需要住院的治疗，如看病、拿药、打针等。</p><ol start="2"><li>住院 (Inpatient Service)</li></ol><p>指：需要办理住院手续，并在医院留宿的治疗。</p><ol start="3"><li>住院津贴 (Hospitalization Allowance)</li></ol><p>指：因住院而按日给付的定额补贴，与实际医疗花费无关，用于补偿收入损失。例如：住一天院给200元。</p><ol start="4"><li>社保目录 (Social Medical Insurance Directory)</li></ol><p>指：国家基本医疗保险的药品、诊疗项目、服务设施目录。商业医疗险常区分“社保内”和“社保外”费用。</p><ol start="5"><li>指定医疗机构 (Designated Medical Institution)</li></ol><p>指：保险合同约定的符合标准的医院，通常是二级及以上公立医院普通部。</p><p>五、重疾险特定词汇</p><ol><li>重大疾病 (Critical Illness)</li></ol><p>指：病情严重、治疗费用高昂、病程较长的疾病，如癌症、心肌梗死、脑中风后遗症等。</p><ol start="2"><li>轻症 (Early Stage &#x2F; Mild Condition)</li></ol><p>指：重大疾病的早期或轻度状态。赔付比例通常为主险保额的20%-30%。</p><ol start="3"><li>中症 (Moderate Stage Condition)</li></ol><p>指：严重程度介于轻症和重疾之间的疾病状态。赔付比例通常为主险保额的50%-60%。</p><ol start="4"><li>确诊给付 (Lump-sum Payment upon Diagnosis)</li></ol><p>指：重疾险的典型赔付方式，一旦确诊合同约定的疾病，即一次性给付全部保额。</p><ol start="5"><li>疾病定义 (Disease Definition)</li></ol><p>指：保险合同中对于每种疾病确诊标准的明确定义，是理赔的关键依据。</p><ol start="6"><li>多次赔付 (Multiple Claim)</li></ol><p>指：重疾险可对发生的不同疾病进行多次理赔（通常有间隔期要求），区别于单次赔付。</p><ol start="7"><li>分组 (Grouping)</li></ol><p>指：在多次赔付重疾险中，将疾病分为若干组，同一组内的疾病只能赔付一次。</p><ol start="8"><li>间隔期 (Waiting Interval between Claims)</li></ol><p>指：两次疾病理赔之间所需间隔的最短时间（如180天&#x2F;365天），间隔期内的疾病不予赔付。</p><p>六、与服务和流程相关的词汇</p><ol><li>核保 (Underwriting)</li></ol><p>指：保险公司对投保申请进行审核，决定是否承保以及以何种条件（标准体、加费、除外、延期、拒保）承保的过程。</p><ol start="2"><li>理赔 (Claim)</li></ol><p>指：被保险人向保险公司申请赔付的行为和过程。</p><ol start="3"><li>续保 (Renewal)</li></ol><p>指：保险合同期满后，投保人向保险公司申请继续投保的行为。保证续保是医疗险的核心优势，指在约定期间内（如20年），无论产品是否停售或被保险人健康状况变化，保险公司都必须接受续保。</p><ol start="4"><li>宽限期 (Grace Period)</li></ol><p>指：首次缴付保费后，以后各期保费到期未缴时，保险公司给予的宽限时间（通常为60天）。在宽限期内，保险合同依然有效。</p><ol start="5"><li>中止期 (Period of Suspension)</li></ol><p>指：超过宽限期仍未缴费，保险合同效力中止。中止期间发生事故，保险公司不赔。通常有2年时间可以申请复效 (Reinstatement)。</p>]]></content>
    
    
      
      
    <summary type="html">&lt;p&gt;一、基础核心概念&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;保险人 (Insurer)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;指：保险公司，收取保费并承担赔偿责任的机构。&lt;/p&gt;
&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;投保人 (Policyholder)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;指：与保险公司签</summary>
      
    
    
    
    <category term="指南" scheme="https://www.adaiblog.github.io/categories/%E6%8C%87%E5%8D%97/"/>
    
    
    <category term="保险" scheme="https://www.adaiblog.github.io/tags/%E4%BF%9D%E9%99%A9/"/>
    
  </entry>
  
  <entry>
    <title>浏览器插件和脚本</title>
    <link href="https://www.adaiblog.github.io/posts/Plugin.html"/>
    <id>https://www.adaiblog.github.io/posts/Plugin.html</id>
    <published>2025-09-14T14:57:15.000Z</published>
    <updated>2026-02-25T15:49:49.181Z</updated>
    
    <content type="html"><![CDATA[<h1 id="开源"><a href="#开源" class="headerlink" title="开源"></a>开源</h1><div class="flink"><div class="flink-name">浏览器插件</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/hanydd/BilibiliSponsorBlock" title="空降助手" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts2.cn.mm.bing.net/th?id=OIP-C.eJq0PRW_bLi3cp9ov_LvPQAAAA&w=80&h=80&c=1&vt=10&bgcl=28a262&r=0&o=6&pid=5.1" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="空降助手" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">空降助手</div>                  <div class="flink-item-desc" title="去B站视频广告">去B站视频广告</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/BewlyBewly/BewlyBewly?tab=readme-ov-file" title="BewlyBewly" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/BewlyBewly.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="BewlyBewly" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">BewlyBewly</div>                  <div class="flink-item-desc" title="更改Bilibili 主页排版">更改Bilibili 主页排版</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/fishjar/kiss-translator?tab=readme-ov-file" title="Kiss Translator" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/KissTranslator.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Kiss Translator" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Kiss Translator</div>                  <div class="flink-item-desc" title="翻译插件">翻译插件</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/GopeedLab/browser-extension/releases" title="GoPeed" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/gopeed.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="GoPeed" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">GoPeed</div>                  <div class="flink-item-desc" title="Gopeed接管浏览器下载">Gopeed接管浏览器下载</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/gautamkrishnar/motrix-webextension" title="Motrix" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/motrix.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Motrix" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Motrix</div>                  <div class="flink-item-desc" title="Motrix接管浏览器下载">Motrix接管浏览器下载</div>                </div>              </a>            </div></div></div></div><h1 id="闭源"><a href="#闭源" class="headerlink" title="闭源"></a>闭源</h1><div class="flink"><div class="flink-name">浏览器插件</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://microsoftedge.microsoft.com/addons/detail/adguard-%E5%B9%BF%E5%91%8A%E6%8B%A6%E6%88%AA%E5%99%A8/pdffkfellgipmhklpdmokmckkkfcopbh" title="AdGuard" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts3.cn.mm.bing.net/th?id=ODLS.e4eace61-b80b-4adf-884f-4e8be97b489f&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="AdGuard" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">AdGuard</div>                  <div class="flink-item-desc" title="去广告">去广告</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/027xiguapi/code-box" title="codebox" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://addons.mozilla.org/user-media/addon_icons/2856/2856860-64.png?modified=f3dfcb60" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="codebox" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">codebox</div>                  <div class="flink-item-desc" title="一键复制代码/下载文章">一键复制代码/下载文章</div>                </div>              </a>            </div></div></div></div>]]></content>
    
    
    <summary type="html">推荐一系列提升浏览器体验的实用插件与脚本，让浏览器更好用！极大提升你的上网效率。</summary>
    
    
    
    <category term="插件" scheme="https://www.adaiblog.github.io/categories/%E6%8F%92%E4%BB%B6/"/>
    
    
    <category term="浏览器" scheme="https://www.adaiblog.github.io/tags/%E6%B5%8F%E8%A7%88%E5%99%A8/"/>
    
  </entry>
  
  <entry>
    <title>植物大战僵尸魔改版本</title>
    <link href="https://www.adaiblog.github.io/posts/pvz.html"/>
    <id>https://www.adaiblog.github.io/posts/pvz.html</id>
    <published>2025-08-23T07:36:32.000Z</published>
    <updated>2026-02-25T15:49:46.817Z</updated>
    
    <content type="html"><![CDATA[<div class="note info simple"><p>大部分下载方式都在作者动态中提供最新版本，下载前请检查作者动态是否更新</p></div><ol><li>杂交版<br>作者：<a href="https://space.bilibili.com/97213827">潜艇伟伟迷</a> 下载地址：<a href="https://pvzhe.com/">网站</a>  <a href="https://pvzhe.wiki/">游戏百科</a><br><img src="/img/posts/pvz/zajiaoban.jpg"></li><li>融合版<br>作者：<a href="https://space.bilibili.com/3546619314178489">蓝飘飘fly</a>  下载地址：<a href="https://www.bilibili.com/opus/1118380857979043845">蓝飘飘fly动态</a><br><img src="/img/posts/pvz/ronghe.jpg"></li><li>指导版<br>作者：<a href="https://space.bilibili.com/3546562489748303">头牛o </a> 下载地址：<a href="https://www.bilibili.com/opus/1119371170071707666">头牛o动态</a><br><img src="/img/posts/pvz/zhidao.jpg"></li><li>威化版<br>作者：<a href="https://space.bilibili.com/1369831472">咸威化</a> 下载地址：<a href="https://www.bilibili.com/opus/1104736906525016087">咸威化动态</a><br><img src="/img/posts/pvz/weihua.jpg"></li><li>共生版<br>作者：<a href="https://space.bilibili.com/1343792501">厘子gg</a> 下载地址：<a href="https://www.bilibili.com/opus/1120422107713372167">厘子gg动态</a><br><img src="/img/posts/pvz/gongsheng.jpg"></li><li>植物大战僵尸2电脑版<br>作者：<a href="https://space.bilibili.com/355909245">南Garden</a> 下载地址：<a href="https://pvzge.com/download/">网站</a><br><img src="/img/posts/pvz/2.jpg"></li><li>精华版<br>作者：<a href="https://space.bilibili.com/1068218492">坚果碎巧克力冰激凌</a> 下载地址：<a href="https://www.bilibili.com/opus/1079873860497571864">YC_Xiaoxuan</a><br><img src="/img/posts/pvz/jinghua.jpg"></li><li>幼儿园版<br>作者：<a href="https://space.bilibili.com/345047054">菊长大人本人</a> 下载地址：<a href="https://www.bilibili.com/opus/965914093077659656">动态</a><br><img src="/img/posts/pvz/youeryuan.png"></li><li>TAT版<br>作者：<a href="https://www.bilibili.com/opus/891161054854250631">窝窝头Runkeben</a> 下载地址：<a href="https://www.bilibili.com/opus/891161054854250631">动态</a><br><img src="/img/posts/pvz/tat.jpg"></li><li>BT版<br>作者：<a href="https://space.bilibili.com/38078309">宅宅萝卜</a> 下载地址：<a href="https://www.bilibili.com/opus/993714638990344199">动态</a><br><img src="/img/posts/pvz/bt.jpg"></li><li>娘化版<br>作者：<a href="https://space.bilibili.com/20530305">庄不纯</a> 下载地址：<a href="https://www.bilibili.com/opus/1119394796631228432">动态</a><br><img src="/img/posts/pvz/nianghua.jpg"></li><li>胆小菇之梦<br>作者：<a href="https://space.bilibili.com/484494032">北窗遥望</a> 下载地址：<a href="https://www.bilibili.com/opus/989868981105983520">动态</a><br><img src="/img/posts/pvz/danxiaogu.jpg"><div class="note danger simple"><p>提供的下载地址链接都是通过制作者们提供的下载地址，非本人制作，地址收集于2025&#x2F;8&#x2F;23，下载前请自行甄别真假，以防作者弃用域名被非法人员利用</p></div></li></ol>]]></content>
    
    
    <summary type="html">本文汇总了由不同作者制作的《植物大战僵尸》热门改版（杂交版、融合版、指导版、威化版、共生版及PVZ2电脑版）的官方下载渠道与作者信息</summary>
    
    
    
    <category term="游戏" scheme="https://www.adaiblog.github.io/categories/%E6%B8%B8%E6%88%8F/"/>
    
    
    <category term="游戏下载" scheme="https://www.adaiblog.github.io/tags/%E6%B8%B8%E6%88%8F%E4%B8%8B%E8%BD%BD/"/>
    
  </entry>
  
  <entry>
    <title>RSSHub</title>
    <link href="https://www.adaiblog.github.io/posts/rsshub.html"/>
    <id>https://www.adaiblog.github.io/posts/rsshub.html</id>
    <published>2025-07-21T16:25:43.000Z</published>
    <updated>2026-02-25T15:49:49.025Z</updated>
    
    <content type="html"><![CDATA[<p>万物皆可 RSS:<a href="https://docs.rsshub.app/zh/">RSSHub</a>,<a href="https://docs.rsshub.app/zh/guide/">文档</a></p><h2 id="安装"><a href="#安装" class="headerlink" title="安装"></a>安装</h2><h2 id="Docker"><a href="#Docker" class="headerlink" title="Docker"></a>Docker</h2><ol><li>拉取镜像<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">docker pull diygod/rsshub:latest</span><br></pre></td></tr></table></figure></li><li>启动 <figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">docker run -d --name rsshub -p 1200:1200 diygod/rsshub:latest</span><br></pre></td></tr></table></figure></li><li>访问<br>http:&#x2F;&#x2F;{Server IP}：1200</li></ol><h2 id="Docker-compose"><a href="#Docker-compose" class="headerlink" title="Docker-compose"></a>Docker-compose</h2><p><a href="https://github.com/DIYgod/RSSHub/blob/master/docker-compose.yml">docker compose内容</a></p><ol><li>下载docker-compose.yml<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">wget https://raw.githubusercontent.com/DIYgod/RSSHub/master/docker-compose.yml</span><br></pre></td></tr></table></figure></li><li>编辑<strong>docker-compose.yml</strong>并<kbd>Ctrl</kbd> + <kbd>X</kbd>按<kbd>Y</kbd>，<kbd>Enter</kbd>保存<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">nano docker-compose.yml</span><br></pre></td></tr></table></figure></li><li>启动<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">docker-compose up -d</span><br></pre></td></tr></table></figure></li><li>更新与卸载<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">docker-compose pull <span class="comment">#拉取最新镜像</span></span><br><span class="line">docker-compose up -d <span class="comment">#重新部署容器</span></span><br><span class="line">docker-compose down <span class="comment">#基础删除（保留数据卷，仅删除容器和网络）</span></span><br><span class="line">docker-compose down -v <span class="comment">#彻底删除（包括数据卷，数据会丢失）</span></span><br><span class="line">docker-compose down --rmi all <span class="comment">#额外清理（删除未使用的镜像）</span></span><br></pre></td></tr></table></figure></li></ol><h2 id="部署到Vercel"><a href="#部署到Vercel" class="headerlink" title="部署到Vercel"></a>部署到Vercel</h2><p><a href="https://vercel.com/import/project?template=https://github.com/DIYgod/RSSHub">点击部署</a></p><h1 id="问题"><a href="#问题" class="headerlink" title="问题"></a>问题</h1><ol><li>无法访问<br>是否开启1200端口</li></ol>]]></content>
    
    
    <summary type="html">本文提供了开源 RSS 生成器 RSSHub 的详细部署指南。内容涵盖通过 Docker 命令、Docker Compose 以及 Vercel 平台三种方式快速搭建属于自己的 RSS 服务，并附有简单的故障排查方法，实现“万物皆可 RSS”。</summary>
    
    
    
    <category term="服务器" scheme="https://www.adaiblog.github.io/categories/%E6%9C%8D%E5%8A%A1%E5%99%A8/"/>
    
    
    <category term="Docker" scheme="https://www.adaiblog.github.io/tags/Docker/"/>
    
    <category term="Rss" scheme="https://www.adaiblog.github.io/tags/Rss/"/>
    
  </entry>
  
  <entry>
    <title>空调</title>
    <link href="https://www.adaiblog.github.io/posts/kongtiao.html"/>
    <id>https://www.adaiblog.github.io/posts/kongtiao.html</id>
    <published>2025-06-29T02:26:23.000Z</published>
    <updated>2025-10-17T09:49:11.251Z</updated>
    
    <content type="html"><![CDATA[<p>空调第一次安装都是没有人工费的，收取的一般是额外辅助材料费用，比如打孔费，外机支架费，铜管加长费用。<br>如果您是已经打过孔，外机有支架或者不需要支架那么这次空调安装就没有任何费用。</p><h2 id="空调收费标准"><a href="#空调收费标准" class="headerlink" title="空调收费标准"></a>空调收费标准</h2><h3 id="美的"><a href="#美的" class="headerlink" title="美的"></a>美的</h3><p><img src="/img/posts/kongtiao/meidishoufei.jpg"></p><h3 id="格力"><a href="#格力" class="headerlink" title="格力"></a>格力</h3><p><img src="/img/posts/kongtiao/gelishoufei.png"></p><h3 id="海尔"><a href="#海尔" class="headerlink" title="海尔"></a>海尔</h3><p><img src="/img/posts/kongtiao/haierfeiyong.jpg"></p><h3 id="小米"><a href="#小米" class="headerlink" title="小米"></a>小米</h3><p><img src="/img/posts/kongtiao/xiaomifeiyong.jpg"></p><h2 id="拆机，二次安装收费标准"><a href="#拆机，二次安装收费标准" class="headerlink" title="拆机，二次安装收费标准"></a>拆机，二次安装收费标准</h2><p>也可以咨询一下客服申请售后，或者在官方小程序上申请安装服务单，咨询安装师傅，如果已打孔，有外机支架是不是就没有任何费用。(如果是更换掉旧冰箱，拆除就冰箱是要收取拆机费的。)</p><h3 id="美的-1"><a href="#美的-1" class="headerlink" title="美的"></a>美的</h3><p><img src="/img/posts/kongtiao/meidirengong.png"></p><h3 id="格力-1"><a href="#格力-1" class="headerlink" title="格力"></a>格力</h3><p><img src="/img/posts/kongtiao/gelirengong.png"></p><h3 id="海尔-1"><a href="#海尔-1" class="headerlink" title="海尔"></a>海尔</h3><p><img src="/img/posts/kongtiao/haierrengong.jpg"></p><h3 id="小米-1"><a href="#小米-1" class="headerlink" title="小米"></a>小米</h3><p><img src="/img/posts/kongtiao/xiaomirengong.jpg"></p><h2 id="多高算高空作业"><a href="#多高算高空作业" class="headerlink" title="多高算高空作业"></a>多高算高空作业</h2><p>一般四楼及四楼以上才会收取高工作费用</p><h2 id="空调抽真空"><a href="#空调抽真空" class="headerlink" title="空调抽真空"></a>空调抽真空</h2><p>如果是定频空调不需要抽真空，变频空调最好抽30分钟（各平台安装守则有说明）。</p>]]></content>
    
    
    <summary type="html">本文汇总了美的、格力、海尔、小米等主流品牌的空调安装与拆机二次安装的官方收费标准，并解释了“高空作业费”的界定和“抽真空”的必要性，帮助您在安装前了解潜在费用，做到心中有数。</summary>
    
    
    
    <category term="指南" scheme="https://www.adaiblog.github.io/categories/%E6%8C%87%E5%8D%97/"/>
    
    
    <category term="空调" scheme="https://www.adaiblog.github.io/tags/%E7%A9%BA%E8%B0%83/"/>
    
  </entry>
  
  <entry>
    <title>路由器</title>
    <link href="https://www.adaiblog.github.io/posts/luyouqi.html"/>
    <id>https://www.adaiblog.github.io/posts/luyouqi.html</id>
    <published>2025-06-19T08:44:57.000Z</published>
    <updated>2025-10-17T09:49:11.075Z</updated>
    
    <content type="html"><![CDATA[<div class="flink"><div class="flink-name">路由器管理页面</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="http://192.168.31.1" title="小米" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts1.cn.mm.bing.net/th?id=ODLS.53ac3ba1-3202-4b2e-8cfb-bc4d4c1ab8f4&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="小米" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">小米</div>                  <div class="flink-item-desc" title="路由器管理">路由器管理</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="http://192.168.50.1" title="华硕" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts4.cn.mm.bing.net/th?id=ODLS.09893290-15ff-4ed2-b93c-5322a67d5ccb&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="华硕" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">华硕</div>                  <div class="flink-item-desc" title="路由器管理">路由器管理</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="http://tplogin.cn" title="TP-Link" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts4.cn.mm.bing.net/th?id=ODLS.97a2ab4e-fbc1-4f52-9433-4d59342bce12&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="TP-Link" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">TP-Link</div>                  <div class="flink-item-desc" title="路由器管理">路由器管理</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="http://192.168.3.1" title="华为" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts3.cn.mm.bing.net/th?id=ODLS.bd5c059c-87ce-4d17-b385-a2383912ef0f&w=50&h=50&qlt=91&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="华为" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">华为</div>                  <div class="flink-item-desc" title="路由器管理">路由器管理</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="http://192.168.5.1" title="中兴" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts3.cn.mm.bing.net/th?id=ODLS.be0a6335-3394-4b2c-8fd5-3443090f130c&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="中兴" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">中兴</div>                  <div class="flink-item-desc" title="路由器管理">路由器管理</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="http://192.168.55.1" title="新三华" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts3.cn.mm.bing.net/th?id=ODLS.04f941aa-9bde-4c7f-bc9f-305466e940c9&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="新三华" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">新三华</div>                  <div class="flink-item-desc" title="路由器管理">路由器管理</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="http://192.168.0.1" title="腾达" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts1.cn.mm.bing.net/th?id=ODLS.82d127e4-db9e-421a-ae44-7d5323bc6510&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="腾达" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">腾达</div>                  <div class="flink-item-desc" title="路由器管理">路由器管理</div>                </div>              </a>            </div></div></div></div><h2 id="如何找到路由器管理页面"><a href="#如何找到路由器管理页面" class="headerlink" title="如何找到路由器管理页面"></a>如何找到路由器管理页面</h2><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">方法一</button><button type="button" class="tab " data-href="test4-2">方法二</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><p>查看路由器后方参数<br><img src="/img/posts/luyouqi/fangfayi.jpg"></p></div><div class="tab-item-content" id="test4-2"><p>当路由器通电后后有一个带有品牌名称的wifi(如果没有可以查看路由器后方标签会有标注wifi默认名称),第一连接会自动跳转到路由器管理页面设置路由器密码。如果没有跳转，我们可以打开wifi详情，找到路由器，在浏览器中输入这个地址就可以进入wifi管理页面了。<br><img src="/img/posts/luyouqi/fangfaer.jpg"></p></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><p>也可以通过上方按钮找到进入路由器管理页面。</p><h1 id="路由器之间如何组网"><a href="#路由器之间如何组网" class="headerlink" title="路由器之间如何组网"></a>路由器之间如何组网</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">方法一</button><button type="button" class="tab " data-href="test4-2">方法二</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><p>这里使用小米路由器（主路由）和华硕路由器举例（副路由器）</p><ol><li>光猫LAN口连接小米路由器WAN口并登录小米路由器管理页面 <code>192.168.31.1</code> 进行常规路由器设置。</li><li>使用网线连接小米路由器LAN口到华硕路由器WAN口</li><li>登录华硕路由器设置界面<a href="http://www.asusrouter.com/">http://www.asusrouter.com</a> 或者192.168.50.1进行设置，高级设置 -&gt; 选择模式 -&gt; 无线访问点（AP）-&gt; 动态IP -&gt; 设置wifi和管理员账号密码。<div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="220" data-limit="2"> <span class="gallery-data">[{"url":"/img/posts/luyouqi/1.jpg","alt":""},{"url":"/img/posts/luyouqi/4.jpg","alt":""},{"url":"/img/posts/luyouqi/2.jpg","alt":""},{"url":"/img/posts/luyouqi/3.jpg","alt":""}]</span>  </div><button class="gallery-load-more" style="opacity:0">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div></li><li>登录小米路由器管理页面找到华硕路由器IP，AP模式之后通过这个IP才可以进入华硕路由器管理页面（也可以通过官方工具<a href="https://www.asus.com.cn/support/faq/1037094/">ASUS Device Discovery</a>搜索ip地址）<br><img src="/img/posts/luyouqi/6.jpg"></li></ol></div><div class="tab-item-content" id="test4-2"><p>这里使用小米路由器（主路由）和华硕路由器举例（副路由器）</p><ol><li>小米路由正常设置并登录路由器管理页面，常用设置 -&gt; 局域网设置，可以看到DHCP网段以及子网掩码。<br><img src="/img/posts/luyouqi/xiaomiluyou.jpg"></li><li>重置华硕路由器不要与主路由之间进行网线连接，之后登录路由器设置界面<a href="http://www.asusrouter.com/%E6%88%96%E8%80%85192.168.50.1%E8%BF%9B%E8%A1%8C%E8%AE%BE%E7%BD%AE">http://www.asusrouter.com/或者192.168.50.1进行设置</a><br><img src="/img/posts/luyouqi/huashuoluyouqi.jpg"></li><li>进入华硕路由器设置页面 -&gt; 内部网络（LAN）,将IP地址设置成小米路由器DHCP字段中的任意IP（比如192.168.31.111）<br><img src="/img/posts/luyouqi/ip.jpg"></li><li>华硕路由器设置页面 -&gt; 内部网络（LAN）-&gt; DHCP服务器，关闭DHCP服务<br><img src="/img/posts/luyouqi/dhcp.jpg"></li><li>将华硕路由器WAN口的网线拔掉，使用网线将小米路由器的LAN口与华硕路由器的LAN口连接，至此连接两台路由器的设备可以互相识别数据传输。<div class="note danger simple"><p>这种方法在路由器管理页面会显示无网络，路由器页面相关更新也会提示无网络，但连接路由器的设备正常使用</p></div></li></ol></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><div class="note danger simple"><p>如果用网线连接小米路由器LAN和华硕路由器WAN口，两台路由器会形成「级联路由」结构，各自分配不同网段（如小米是 192.168.31.x，华硕是 192.168.50.x），设备处于隔离状态，无法直接通信。</p></div> ]]></content>
    
    
    <summary type="html">本文提供了快速进入各大品牌路由器管理页面的方法汇总，并详细讲解了两种不同的路由器组网方案（AP模式与LAN互联），帮助您实现多路由器间的设备互通与网络扩展。</summary>
    
    
    
    <category term="指南" scheme="https://www.adaiblog.github.io/categories/%E6%8C%87%E5%8D%97/"/>
    
    
    <category term="路由器" scheme="https://www.adaiblog.github.io/tags/%E8%B7%AF%E7%94%B1%E5%99%A8/"/>
    
  </entry>
  
  <entry>
    <title>佳能TS系列打印机</title>
    <link href="https://www.adaiblog.github.io/posts/jianeng.html"/>
    <id>https://www.adaiblog.github.io/posts/jianeng.html</id>
    <published>2025-06-11T02:10:34.000Z</published>
    <updated>2025-10-17T09:49:10.983Z</updated>
    
    <content type="html"><![CDATA[<h2 id="WiFi模式"><a href="#WiFi模式" class="headerlink" title="WiFi模式"></a>WiFi模式</h2><ol><li>下载佳能应用<br>iOS: 苹果商城搜索<a href="https://apps.apple.com/cn/app/canon-print/id664425773">Canno PRINT</a><br><img src="/img/posts/jianeng/ios.jpg"><br>安卓: 进入<a href="https://www.canon.com.cn/supports/app/#/&Canon_PRINT">佳能官方</a>点击<code>Canno PRINT</code>下载应用。<br><img src="/img/posts/jianeng/android.jpg"></li><li>按按钮的维修图表，显示屏显示17<br><img src="/img/posts/jianeng/wifi1.jpg"></li><li>点击<code>黑白</code>或者<code>彩色</code>确认<br><img src="/img/posts/jianeng/wifi2.jpg"></li><li>点击<code>网络</code><br><img src="/img/posts/jianeng/wifi3.jpg"></li><li>长按<code>直连</code>直至下方显示状态<br><img src="/img/posts/jianeng/wifi4.jpg"></li><li>手机wifi搜索连接佳能wifi<br><img src="/img/posts/jianeng/wifi5.jpg"> </li><li>打开佳能app搜索设备提示连接wifi，进行设置即可。<br><img src="/img/posts/jianeng/wifi6.jpg"></li></ol><h2 id="直连模式"><a href="#直连模式" class="headerlink" title="直连模式"></a>直连模式</h2><ol><li>点击直连，下方LED屏幕出现手机图表，<br><img src="/img/posts/jianeng/zhilian.jpg"></li><li>点击i打印机会打印出来一张WIFI信息，其中包含wifi密码。<br><img src="/img/posts/jianeng/dayin.jpg"></li><li>打开手机WIFI搜索，搜索带有Nanon名称的WiFi并输入密码即可使用。<br><img src="/img/posts/jianeng/wifi.jpg"></li><li>打开我们所需要打印的文件点击分享(或右上方…)选择打印。</li></ol>]]></content>
    
    
    <summary type="html">本文提供了佳能 TS 系列打印机无线连接的详细图文教程，分别介绍了通过手机 APP 配置 WiFi 模式和无需路由器的直连模式两种方法，帮助您快速完成打印机网络设置，实现便捷打印。</summary>
    
    
    
    <category term="指南" scheme="https://www.adaiblog.github.io/categories/%E6%8C%87%E5%8D%97/"/>
    
    
    <category term="佳能打印机" scheme="https://www.adaiblog.github.io/tags/%E4%BD%B3%E8%83%BD%E6%89%93%E5%8D%B0%E6%9C%BA/"/>
    
  </entry>
  
  <entry>
    <title>什么是五险一金?</title>
    <link href="https://www.adaiblog.github.io/posts/wuxianyijin.html"/>
    <id>https://www.adaiblog.github.io/posts/wuxianyijin.html</id>
    <published>2025-06-09T06:02:43.000Z</published>
    <updated>2025-10-17T09:49:10.971Z</updated>
    
    <content type="html"><![CDATA[<a class="btn-anzhiyu block center larger" href="https://si.12333.gov.cn/"   title="全国人力资源和社会保障政务服务平台"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>全国人力资源和社会保障政务服务平台</span></a><h2 id="养老保险"><a href="#养老保险" class="headerlink" title="养老保险"></a><center>养老保险</h2><p>工作退休之后领取的金钱也就是退休金。</p><h3 id="缴纳费用"><a href="#缴纳费用" class="headerlink" title="缴纳费用"></a>缴纳费用</h3><p>根据当地规定个人和企业公司按比例共同缴纳</p><h3 id="条件"><a href="#条件" class="headerlink" title="条件"></a>条件</h3><p>达到法定退休年龄时并且累计缴费满十五年。</p><h3 id="注意事项"><a href="#注意事项" class="headerlink" title="注意事项"></a>注意事项</h3><p>社保缴费满15年后，在未达到法定退休年龄之前，用人单位应当按照规定继续为职工参保缴费，达到待遇领取条件后，办理退休手续，按月领取基本养老金。</p><h3 id="快捷访问"><a href="#快捷访问" class="headerlink" title="快捷访问"></a>快捷访问</h3><a class="btn-anzhiyu green" href="https://si.12333.gov.cn/304647.jhtml?menuguide=1"   title="法定退休年龄计算"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>法定退休年龄计算</span></a><h2 id="医疗保险"><a href="#医疗保险" class="headerlink" title="医疗保险"></a><center>医疗保险</h2><p>医院看病、拿药使用医保卡直接报销，在规定范围就医、住院费用超过一定额度也能医保报销。</p><h3 id="缴纳费用-1"><a href="#缴纳费用-1" class="headerlink" title="缴纳费用"></a>缴纳费用</h3><p>根据当地规定个人和企业公司按比例共同缴纳</p><h3 id="注意事项-1"><a href="#注意事项-1" class="headerlink" title="注意事项"></a>注意事项</h3><p>停止缴纳医保3个月后不再享有医保报销待遇，如果重新缴费需要连续缴纳六个月才可恢复相关待遇。</p><h2 id="失业保险"><a href="#失业保险" class="headerlink" title="失业保险"></a><center>失业保险</h2><p>给失业人员发放发放津贴，津贴额度和领取期限根据缴纳年份而定。</p><h3 id="条件-1"><a href="#条件-1" class="headerlink" title="条件"></a>条件</h3><p>你在公司已缴纳一年的失业保险，被动失业并且六十天内进行失业登记。</p><h3 id="缴纳费用-2"><a href="#缴纳费用-2" class="headerlink" title="缴纳费用"></a>缴纳费用</h3><p>根据当地规定个人和企业公司按比例共同缴纳</p><h3 id="快捷访问-1"><a href="#快捷访问-1" class="headerlink" title="快捷访问"></a>快捷访问</h3><a class="btn-anzhiyu green" href="https://12333.gov.cn/portal/service_catalog/unemploy/unemploy_register?pfaId=202002221600000001"   title="失业登记"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>失业登记</span></a><a class="btn-anzhiyu orange" href="https://si.12333.gov.cn/185036.jhtml?menuguide=1"   title="失业金申领"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>失业金申领</span></a><a class="btn-anzhiyu purple" href="https://si.12333.gov.cn/184897.jhtml?menuguide=1"   title="失业金测算"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>失业金测算</span></a><h2 id="生育保险"><a href="#生育保险" class="headerlink" title="生育保险"></a><center>生育保险</h2><p>女职工生育的检查费、接生费、手术费、住院费和药费等。如果因生育引起疾病的医疗费也可以由生育保险报销。同时分娩后休产假期间获得基本经济津贴。男性也有产假和津贴。</p><h3 id="缴纳费用-3"><a href="#缴纳费用-3" class="headerlink" title="缴纳费用"></a>缴纳费用</h3><p>由公司企业缴纳</p><h3 id="注意事项-2"><a href="#注意事项-2" class="headerlink" title="注意事项"></a>注意事项</h3><p>在私立医院分娩不享受生育保。</p><h3 id="快捷访问-2"><a href="#快捷访问-2" class="headerlink" title="快捷访问"></a>快捷访问</h3><a class="btn-anzhiyu green" href="https://www.gov.cn/zhengce/202505/content_7022301.htm"   title="生育保险政策"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>生育保险政策</span></a><h2 id="工伤保险"><a href="#工伤保险" class="headerlink" title="工伤保险"></a><center>工伤保险</h2><p>在工作中意外受到伤害、得了职业病、暂时或者永久丧失劳动能力甚至死亡都可以通过工伤保险获取补偿，</p><h3 id="缴纳费用-4"><a href="#缴纳费用-4" class="headerlink" title="缴纳费用"></a>缴纳费用</h3><p>由公司企业缴纳</p><h3 id="快捷访问-3"><a href="#快捷访问-3" class="headerlink" title="快捷访问"></a>快捷访问</h3><a class="btn-anzhiyu green" href="https://si.12333.gov.cn/184935.jhtml?menuguide=1"   title="工伤事故备案"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>工伤事故备案</span></a><h2 id="公积金"><a href="#公积金" class="headerlink" title="公积金"></a><center>公积金</h2><p>具有保障性和互助性的职工个人住房储金，可以低息按揭贷款买房，建造、翻建、大修住房，支付房租，</p><h3 id="缴纳费用-5"><a href="#缴纳费用-5" class="headerlink" title="缴纳费用"></a>缴纳费用</h3><p>个人和企业公司按比例共同缴纳</p>]]></content>
    
    
    <summary type="html">一份关于“五险一金”的全面解析指南。本文详细拆解了养老保险、医疗保险、失业保险、生育保险、工伤保险和住房公积金的作用、缴纳规则、领取条件及注意事项，并提供了直达国家政务平台的实用链接，助您快速办理相关业务。</summary>
    
    
    
    <category term="知识" scheme="https://www.adaiblog.github.io/categories/%E7%9F%A5%E8%AF%86/"/>
    
    
    <category term="社会保障" scheme="https://www.adaiblog.github.io/tags/%E7%A4%BE%E4%BC%9A%E4%BF%9D%E9%9A%9C/"/>
    
  </entry>
  
  <entry>
    <title>字体</title>
    <link href="https://www.adaiblog.github.io/posts/fonts.html"/>
    <id>https://www.adaiblog.github.io/posts/fonts.html</id>
    <published>2025-06-07T09:37:13.000Z</published>
    <updated>2025-10-17T09:49:11.139Z</updated>
    
    <content type="html"><![CDATA[<h1 id="开源字体"><a href="#开源字体" class="headerlink" title="开源字体"></a>开源字体</h1><h2 id="LXGW系列字体"><a href="#LXGW系列字体" class="headerlink" title="LXGW系列字体"></a>LXGW系列字体</h2><p><a href="https://github.com/lxgw/LxgwWenKai">开源地址</a><br><a href="https://fonts.zeoseven.com/designer/s/2/">字体预览</a></p><h1 id="Fusion-Pixel-Font"><a href="#Fusion-Pixel-Font" class="headerlink" title="Fusion Pixel Font"></a>Fusion Pixel Font</h1><p>开源的泛中日韩像素字体，黑体无衬线风格，支持 8、10 和 12 像素。<br><a href="https://github.com/TakWolf/fusion-pixel-font?tab=readme-ov-file">开源地址</a><br><a href="https://fusion-pixel-font.takwolf.com/playground.html">字体预览</a></p>]]></content>
    
    
    <summary type="html">本文推荐开源且可免费商用的字体，并提供了它们的官方开源地址与在线预览链接，方便您快速了解和选用。</summary>
    
    
    
    <category term="开源" scheme="https://www.adaiblog.github.io/categories/%E5%BC%80%E6%BA%90/"/>
    
    
    <category term="字体" scheme="https://www.adaiblog.github.io/tags/%E5%AD%97%E4%BD%93/"/>
    
  </entry>
  
  <entry>
    <title>湖北省工商政务注销营业执照和食品经营许可</title>
    <link href="https://www.adaiblog.github.io/posts/ehuiban.html"/>
    <id>https://www.adaiblog.github.io/posts/ehuiban.html</id>
    <published>2025-05-29T04:52:27.000Z</published>
    <updated>2026-02-25T15:49:47.641Z</updated>
    
    <content type="html"><![CDATA[<h1 id="开清税证明"><a href="#开清税证明" class="headerlink" title="开清税证明"></a>开清税证明</h1><ol><li>打开<a href="https://etax.hubei.chinatax.gov.cn:8443/">电子税务局</a>，无需登录，点击右上方<code>公众服务</code>选择<code>清税申报(未办税户申请清税证明)</code><br><img src="/img/posts/gongshang/10.jpg"></li><li>点击<code>清税申报(未办税户申请清税证明)</code><br><img src="/img/posts/gongshang/11.jpg"></li><li>输入<code>统一社会信用代码</code>然后回车(Enter),一定要回车!其余信息会自动补全。<br><img src="/img/posts/gongshang/12.jpg"></li><li>下载清税证明</li></ol><h1 id="营业执照注销"><a href="#营业执照注销" class="headerlink" title="营业执照注销"></a>营业执照注销</h1><ol><li>首先登录<a href="http://zwfw.hubei.gov.cn/">湖北政务服务网</a>点击登录，以个人登录。<br><img src="/img/posts/gongshang/denglu.jpg"></li><li>找到特色专区点击<code>查看更多</code><br><img src="/img/posts/gongshang/1.jpg"></li><li>找到并点击<code>企业开办登记专区</code><br><img src="/img/posts/gongshang/2.jpg"></li><li>点击<code>我要注销经营主体</code><br><img src="/img/posts/gongshang/3.jpg"></li><li>点击<code>点击此处</code>由经营者扫码授权<br><img src="/img/posts/gongshang/4.jpg"></li><li>点击<code>选择</code><br><img src="/img/posts/gongshang/5.jpg"></li><li>选择<code>一般注销</code><br><img src="/img/posts/gongshang/6.jpg"></li><li>填写信息<br><img src="/img/posts/gongshang/7.jpg"></li><li>联办注销(这里我没有勾选，暂不清楚)<br><img src="/img/posts/gongshang/8.jpg"></li><li>上传<code>清税证明</code>和<code>营业执照正副本</code>，然后提交<br><img src="/img/posts/gongshang/9.jpg"></li><li>初审通过之后，打开<a href="http://zwfw.hubei.gov.cn/webview/tszq/web/qykb/index.html">企业开办登记专区</a>，点击<code>查询进度</code>，点击<code>全程电子化</code>进行电子签名<br><img src="/img/posts/gongshang/13.jpg"></li><li>最终审核完成之后，再次打开<a href="http://zwfw.hubei.gov.cn/webview/tszq/web/qykb/index.html">企业开办登记专区</a>，点击<code>已完结</code> - &gt; <code>查看进度</code> - &gt; <code>签归档材料</code><br><img src="/img/posts/gongshang/14.jpg"><br><img src="/img/posts/gongshang/15.jpg"></li></ol><h1 id="食品许可证注销"><a href="#食品许可证注销" class="headerlink" title="食品许可证注销"></a>食品许可证注销</h1><ol><li><p>首先登录<a href="http://zwfw.hubei.gov.cn/">湖北政务服务网</a>点击登录<br>第一种登录方式：先注册个人账号，再注册法人账号，用法人账号登录<br>第二种登录方式：使用电子营业执照进行平台身份认证，可以免注册流程<br><img src="/img/posts/gongshang/16.jpg"></p></li><li><p>搜索<code>食品经营许可证</code>，点击<code>在线办理</code><br><img src="/img/posts/gongshang/17.jpg"></p></li><li><p>根据食品经营许可证信息填写</p></li><li><p>填写<code>申请书</code>，这里需要注意的是<code>住所及详细信息</code>和<code>经营场所及详细信息</code>必须填写许可证上面的地址信息。</p></li><li><p>点击<code>暂存</code> - &gt; <code>返回个人空间</code> - &gt; <code>我的办事</code> - &gt; <code>我的办件</code> - &gt; <code>继续申报</code> - &gt; <code>申请书下载</code></p></li><li><p>将下载的申请书打印出来并在每页签署自己的名称并在名称上按上指纹，拍照片保存，同时将个人身份证复印。</p></li><li><p>点击<code>审批材料</code>，第一项上传<code>营业执照</code>和打印的<code>申请书</code>，第二项上传<code>身份证复印件</code>，第三项<code>上传食品经营许可证</code>提交即可。</p></li></ol>]]></content>
    
    
    <summary type="html">湖北省工商政务注销营业执照和食品经营许可</summary>
    
    
    
    <category term="指南" scheme="https://www.adaiblog.github.io/categories/%E6%8C%87%E5%8D%97/"/>
    
    
    <category term="注销" scheme="https://www.adaiblog.github.io/tags/%E6%B3%A8%E9%94%80/"/>
    
    <category term="工商" scheme="https://www.adaiblog.github.io/tags/%E5%B7%A5%E5%95%86/"/>
    
  </entry>
  
  <entry>
    <title>邮箱的POP、IMAP、SMTP</title>
    <link href="https://www.adaiblog.github.io/posts/email.html"/>
    <id>https://www.adaiblog.github.io/posts/email.html</id>
    <published>2025-05-21T15:56:23.000Z</published>
    <updated>2025-10-17T09:49:11.335Z</updated>
    
    <content type="html"><![CDATA[<h2 id="Outlook"><a href="#Outlook" class="headerlink" title="Outlook"></a>Outlook</h2><h3 id="启用POP、IMAP访问权限"><a href="#启用POP、IMAP访问权限" class="headerlink" title="启用POP、IMAP访问权限"></a>启用POP、IMAP访问权限</h3><p>选择“ 设置  &gt; 邮件 &gt; <a href="https://go.microsoft.com/fwlink/?linkid=875424">转发和 IMAP</a>”</p><h3 id="应用密码"><a href="#应用密码" class="headerlink" title="应用密码"></a>应用密码</h3><p><a href="https://account.live.com/proofs/AppPassword">创建应用密码</a></p><h3 id="IMAP"><a href="#IMAP" class="headerlink" title="IMAP"></a>IMAP</h3><p>服务器: outlook.office365.com<br>端口: 993<br>IMAP 加密: SSL&#x2F;TLS<br>身份验证方法: OAuth2&#x2F;新式身份验证</p><h3 id="POP"><a href="#POP" class="headerlink" title="POP"></a>POP</h3><p>服务器: outlook.office365.com<br>端口: 995<br>POP 加密: SSL&#x2F;TLS<br>身份验证方法: OAuth2&#x2F;新式身份验证</p><h3 id="SMTP"><a href="#SMTP" class="headerlink" title="SMTP"></a>SMTP</h3><p>服务器: smtp-mail.outlook.com<br>端口: 587<br>SMAP 加密: STARTTLS<br>身份验证方法: OAuth2&#x2F;新式身份验证</p><h2 id="189邮箱"><a href="#189邮箱" class="headerlink" title="189邮箱"></a>189邮箱</h2><h3 id="启用POP、IMAP访问权限-1"><a href="#启用POP、IMAP访问权限-1" class="headerlink" title="启用POP、IMAP访问权限"></a>启用POP、IMAP访问权限</h3><p>选择“ 设置  &gt; <a href="https://webmail30.189.cn/w2/template/mailbox.html#setting/imap">IMAP&#x2F;POP3&#x2F;SMTP服务</a>”</p><h3 id="独立密码"><a href="#独立密码" class="headerlink" title="独立密码"></a>独立密码</h3><p>使用第三方客户端登录189邮箱，可能存在邮件泄漏或者账号被盗风险，可前往生成<a href="https://webmail30.189.cn/w2/template/mailbox.html#setting/safe">客户端专用密码</a></p><h3 id="IMAP-1"><a href="#IMAP-1" class="headerlink" title="IMAP"></a>IMAP</h3><p>服务器: imap.189.cn<br>端口: 993<br>IMAP 加密: SSL&#x2F;TLS</p><h3 id="POP-1"><a href="#POP-1" class="headerlink" title="POP"></a>POP</h3><p>服务器: pop.189.cn<br>端口: 995<br>POP 加密: SSL</p><h3 id="SMTP-1"><a href="#SMTP-1" class="headerlink" title="SMTP"></a>SMTP</h3><p>服务器: smtp.189.cn<br>端口: 465<br>SMAP 加密: SSL</p><h2 id="163邮箱"><a href="#163邮箱" class="headerlink" title="163邮箱"></a>163邮箱</h2><h3 id="启用POP、IMAP访问权限-2"><a href="#启用POP、IMAP访问权限-2" class="headerlink" title="启用POP、IMAP访问权限"></a>启用POP、IMAP访问权限</h3><p>选择“ <a href="https://email.163.com/">打开邮箱</a> &gt; 设置  &gt; IMAP&#x2F;POP3&#x2F;SMTP”</p><h3 id="独立密码-1"><a href="#独立密码-1" class="headerlink" title="独立密码"></a>独立密码</h3><p>选择“ <a href="https://email.163.com/">打开邮箱</a> &gt; 设置  &gt; IMAP&#x2F;POP3&#x2F;SMTP &gt; 授权密码管理”</p><h3 id="IMAP-2"><a href="#IMAP-2" class="headerlink" title="IMAP"></a>IMAP</h3><p>服务器: imap.163.com<br>端口: 993<br>IMAP 加密: SSL</p><h3 id="POP-2"><a href="#POP-2" class="headerlink" title="POP"></a>POP</h3><p>服务器: pop.163.com<br>端口: 995<br>POP 加密: SSL</p><h3 id="SMTP-2"><a href="#SMTP-2" class="headerlink" title="SMTP"></a>SMTP</h3><p>服务器: smtp.163.com<br>端口: 465<br>SMAP 加密: SSL</p><h2 id="QQ邮箱"><a href="#QQ邮箱" class="headerlink" title="QQ邮箱"></a>QQ邮箱</h2><h3 id="启用POP、IMAP访问权限-3"><a href="#启用POP、IMAP访问权限-3" class="headerlink" title="启用POP、IMAP访问权限"></a>启用POP、IMAP访问权限</h3><p>选择“ <a href="https://mail.qq.com/">打开邮箱</a> &gt; 设置  &gt; 账号  &gt;  POP3&#x2F;IMAP&#x2F;SMTP&#x2F;Exchange&#x2F;CardDAV&#x2F;CalDAV 服务”</p><h3 id="授权码"><a href="#授权码" class="headerlink" title="授权码"></a>授权码</h3><p>选择“ <a href="https://mail.qq.com/">打开邮箱</a> &gt; 账号与安全  &gt; 安全设置 &gt; 独立密码”</p><h3 id="IMAP-3"><a href="#IMAP-3" class="headerlink" title="IMAP"></a>IMAP</h3><p>服务器: imap.qq.com<br>端口: 993<br>IMAP 加密: SSL&#x2F;TLS</p><h3 id="POP-3"><a href="#POP-3" class="headerlink" title="POP"></a>POP</h3><p>服务器: pop.qq.com<br>端口: 995<br>POP 加密: SSL</p><h3 id="SMTP-3"><a href="#SMTP-3" class="headerlink" title="SMTP"></a>SMTP</h3><p>服务器: smtp.qq.com<br>端口: 465<br>SMAP 加密: SSL</p><h2 id="谷歌邮箱"><a href="#谷歌邮箱" class="headerlink" title="谷歌邮箱"></a>谷歌邮箱</h2><h3 id="启用POP、IMAP访问权限-4"><a href="#启用POP、IMAP访问权限-4" class="headerlink" title="启用POP、IMAP访问权限"></a>启用POP、IMAP访问权限</h3><p>选择“ <a href="https://mail.google.com/mail?hl=zh-CN">打开邮箱</a> &gt; ⚙️  &gt; 查看所有设置  &gt;  转发和 POP&#x2F;IMAP</p><h3 id="IMAP-4"><a href="#IMAP-4" class="headerlink" title="IMAP"></a>IMAP</h3><p>服务器: imap.gmail.com<br>端口: 993<br>IMAP 加密: SSL</p><h3 id="POP-4"><a href="#POP-4" class="headerlink" title="POP"></a>POP</h3><p>服务器: pop.gmail.com<br>端口: 995<br>POP 加密: SSL</p><h3 id="SMTP-4"><a href="#SMTP-4" class="headerlink" title="SMTP"></a>SMTP</h3><p>服务器: smtp.gmail.com<br>SSL 端口：465<br>TLS&#x2F;START TLS 端口：587<br>SMAP 加密: SSL&#x2F;TLS</p>]]></content>
    
    
    <summary type="html">一份超实用的主流邮箱客户端配置指南。本文汇总了 Outlook、189、163、QQ、Gmail 等常用邮箱的 POP3、IMAP、SMTP 服务器地址、端口、加密方式以及开启服务和获取授权密码的详细步骤，助您快速完成第三方邮件客户端的设置。</summary>
    
    
    
    <category term="知识" scheme="https://www.adaiblog.github.io/categories/%E7%9F%A5%E8%AF%86/"/>
    
    
    <category term="邮箱" scheme="https://www.adaiblog.github.io/tags/%E9%82%AE%E7%AE%B1/"/>
    
  </entry>
  
  <entry>
    <title>十万个为什么?</title>
    <link href="https://www.adaiblog.github.io/posts/why.html"/>
    <id>https://www.adaiblog.github.io/posts/why.html</id>
    <published>2025-05-06T08:26:46.000Z</published>
    <updated>2025-10-17T09:49:11.039Z</updated>
    
    <content type="html"><![CDATA[<ol><li>南瓜蒸完之后为什么有白色点状物?</li></ol><p>在蒸的过程中南瓜中的水分流失导致淀粉结晶析,不影响食用。</p><ol start="2"><li>什么是庞氏骗局，为什么叫庞氏骗局呢?</li></ol><p>庞氏骗局就是利用新投资人的钱来向老投资者支付利息和短期回报，以制造赚钱的假象，进而骗取更多的投资。发明这种骗局的人叫查尔斯·庞兹（Charles Ponzi)</p>]]></content>
    
    
    <summary type="html">一个趣味知识问答合集，旨在解答生活中那些不为人注意却又令人好奇的“冷知识”，并将持续更新更多“为什么”。</summary>
    
    
    
    <category term="知识" scheme="https://www.adaiblog.github.io/categories/%E7%9F%A5%E8%AF%86/"/>
    
    
    <category term="十万个为什么" scheme="https://www.adaiblog.github.io/tags/%E5%8D%81%E4%B8%87%E4%B8%AA%E4%B8%BA%E4%BB%80%E4%B9%88/"/>
    
  </entry>
  
  <entry>
    <title>不同的利润率</title>
    <link href="https://www.adaiblog.github.io/posts/money.html"/>
    <id>https://www.adaiblog.github.io/posts/money.html</id>
    <published>2025-04-07T03:47:53.000Z</published>
    <updated>2025-10-17T09:49:10.943Z</updated>
    
    <content type="html"><![CDATA[<h1 id="组成"><a href="#组成" class="headerlink" title="组成"></a>组成</h1><p>首先一个物品都有售价、成本、利润、利润率。</p><ul><li>售价:商品售卖的价格</li><li>成本:商品进入的价格</li><li>利润:商品赚取的金额</li><li>利润率<ul><li>成本利润率</li><li>销售利润率</li></ul></li></ul><h1 id="计算器"><a href="#计算器" class="headerlink" title="计算器"></a>计算器</h1><script>function calculate() {    const cost = parseFloat(document.getElementById('g1-cost').value) || 0;    const price = parseFloat(document.getElementById('g1-price').value) || 0;    const profit = parseFloat(document.getElementById('g1-profit').value) || 0;    const sellingMargin = parseFloat(document.getElementById('g1-selling-margin').value) / 100 || 0;    const costMargin = parseFloat(document.getElementById('g1-cost-margin').value) / 100 || 0;    try {         if (cost > 0 && price > 0) {            updateFromCostPrice(cost, price);        } else if (cost > 0 && profit > 0) {            updateFromCostProfit(cost, profit);        } else if (cost > 0 && sellingMargin > 0) {            updateFromCostSellingMargin(cost, sellingMargin);        } else if (cost > 0 && costMargin > 0) {            updateFromCostCostMargin(cost, costMargin);        } else if (profit > 0 && sellingMargin > 0) {            updateFromProfitSellingMargin(profit, sellingMargin);        } else if (profit > 0 && costMargin > 0) {            updateFromProfitCostMargin(profit, costMargin);        } else if (cost > 0 && price > 0) {            updateFromCostPrice(cost, price);        }else if (price > 0 && profit > 0) {            updateFromPriceProfit(price, profit);        } else if (price > 0 && sellingMargin > 0) {            updateFromPriceSellingMargin(price, sellingMargin);        } else if (price > 0 && costMargin > 0) {            updateFromPriceCostMargin(price, costMargin);        } else {            alert("请至少填写两个有效数值");        }    } catch(e) {        console.error("计算错误:", e);    }}// 所有计算函数function updateFromCostPrice(cost, price) {    const profit = price - cost;    updateAllValues(cost, price, profit, profit/price, profit/cost);}function updateFromProfitSellingMargin(profit, margin) {    const price = profit / margin;    const cost = price - profit;    updateAllValues(cost, price, profit, margin, profit/cost);}function updateFromProfitCostMargin(profit, margin) {    const cost = profit / margin;    const price = cost + profit;    updateAllValues(cost, price, profit, profit/price, margin);}function updateFromCostProfit(cost, profit) {    const price = cost + profit;    updateAllValues(cost, price, profit, profit/price, profit/cost);}function updateFromPriceProfit(price, profit) {    const cost = price - profit;    updateAllValues(cost, price, profit, profit/price, profit/cost);}function updateFromCostSellingMargin(cost, margin) {    const price = cost / (1 - margin);    const profit = price - cost;    updateAllValues(cost, price, profit, margin, profit/cost);}function updateFromPriceSellingMargin(price, margin) {    const cost = price * (1 - margin);    const profit = price - cost;    updateAllValues(cost, price, profit, margin, profit/cost);}function updateFromCostCostMargin(cost, margin) {    const profit = cost * margin;    const price = cost + profit;    updateAllValues(cost, price, profit, profit/price, margin);}function updateFromPriceCostMargin(price, margin) {    const cost = price / (1 + margin);    const profit = price - cost;    updateAllValues(cost, price, profit, profit/price, margin);}function updateAllValues(cost, price, profit, sellingMargin, costMargin) {    document.getElementById('g1-cost').value = cost.toFixed(2);    document.getElementById('g1-price').value = price.toFixed(2);    document.getElementById('g1-profit').value = profit.toFixed(2);    document.getElementById('g1-selling-margin').value = (sellingMargin * 100).toFixed(2);    document.getElementById('g1-cost-margin').value = (costMargin * 100).toFixed(2);}function clearAll() {    document.querySelectorAll('#g1-cost, #g1-price, #g1-profit, #g1-selling-margin, #g1-cost-margin').forEach(input => {        input.value = '';    });}</script><div style="max-width: 400px; margin: 20px; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;">    <div style="background: linear-gradient(145deg, #f8f9fa, #e9ecef);                 border-radius: 12px;                padding: 25px;                box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);                margin-bottom: 20px;">        <div style="margin-bottom: 15px;">            <label style="display: block; color: #495057; margin-bottom: 8px; font-weight: 500;">成本（元）</label>            <input type="number" id="g1-cost" step="0.01"                    style="width: 100%; padding: 10px; border: 2px solid #74c69d; border-radius: 8px; font-size: 16px;"                   placeholder="请输入成本">        </div>        <div style="margin-bottom: 15px;">            <label style="display: block; color: #495057; margin-bottom: 8px; font-weight: 500;">售价（元）</label>            <input type="number" id="g1-price" step="0.01"                    style="width: 100%; padding: 10px; border: 2px solid #6fa8dc; border-radius: 8px; font-size: 16px;"                   placeholder="请输入售价">        </div>        <div style="margin-bottom: 15px;">            <label style="display: block; color: #495057; margin-bottom: 8px; font-weight: 500;">利润（元）</label>            <input type="number" id="g1-profit" step="0.01"                    style="width: 100%; padding: 10px; border: 2px solid #ffb347; border-radius: 8px; font-size: 16px;"                   placeholder="请输入利润">        </div>    </div>    <!-- 利润率区域 -->    <div style="background: linear-gradient(145deg, #f8f9fa, #e9ecef);                border-radius: 12px;                padding: 25px;                box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);                margin-bottom: 20px;">        <div style="margin-bottom: 15px;">            <label style="display: block; color: #495057; margin-bottom: 8px; font-weight: 500;">                售价利润率（%）                <span style="font-size: 12px; color: #6c757d;">(利润/售价)</span>            </label>            <div style="position: relative;">                <input type="number" id="g1-selling-margin" step="0.01"                        style="width: 100%;                              padding: 10px 40px 10px 15px;                              border: 2px solid #b185db;                              border-radius: 8px;                              font-size: 16px;"                       placeholder="0.00">                <span style="position: absolute; right: 15px; top: 50%; transform: translateY(-50%); color: #6c757d;">%</span>            </div>        </div>        <div>            <label style="display: block; color: #495057; margin-bottom: 8px; font-weight: 500;">                成本利润率（%）                <span style="font-size: 12px; color: #6c757d;">(利润/成本)</span>            </label>            <div style="position: relative;">                <input type="number" id="g1-cost-margin" step="0.01"                        style="width: 100%;                              padding: 10px 40px 10px 15px;                              border: 2px solid #e67a8c;                              border-radius: 8px;                              font-size: 16px;"                       placeholder="0.00">                <span style="position: absolute; right: 15px; top: 50%; transform: translateY(-50%); color: #6c757d;">%</span>            </div>        </div>    </div>    <!-- 操作按钮 -->    <div style="display: flex; gap: 15px;">        <button onclick="calculate()"                 style="flex: 1;                       background: linear-gradient(145deg, #74c69d, #52b788);                       color: white;                       padding: 12px;                       border-radius: 8px;                       font-size: 16px;                       cursor: pointer;">            🧮 立即计算        </button>        <button onclick="clearAll()"                 style="flex: 1;                       background: linear-gradient(145deg, #ff6b6b, #ff5252);                       color: white;                       padding: 12px;                       border-radius: 8px;                       font-size: 16px;                       cursor: pointer;">            × 清除数据        </button>    </div></div><h1 id="换算公式"><a href="#换算公式" class="headerlink" title="换算公式"></a>换算公式</h1><p>例如 进货100,售价150<br>利润 &#x3D; 售价 - 成本<br>(50 &#x3D; 150 - 100)<br>售价 &#x3D; 利润 + 成本<br>(150 &#x3D; 100 + 50)<br>成本 &#x3D; 售价 - 利润<br>(150 - 50 &#x3D; 100)</p><h2 id="销售利润率"><a href="#销售利润率" class="headerlink" title="销售利润率"></a><strong>销售利润率</strong></h2><p>销售利润率 &#x3D; 利润 ÷ 售价<br>33.33%   ≈  50  ÷ 150</p><h3 id="已知售价和利润率如何求利润"><a href="#已知售价和利润率如何求利润" class="headerlink" title="已知售价和利润率如何求利润?"></a><strong>已知售价和利润率如何求利润?</strong></h3><p><code>最终解</code>售价 x 销售利润率 &#x3D; 利润<br>150  ×  50&#x2F;150    &#x3D;  50 </p><h3 id="已知成本和利润率如何求售价"><a href="#已知成本和利润率如何求售价" class="headerlink" title="已知成本和利润率如何求售价?"></a><strong>已知成本和利润率如何求售价?</strong></h3><p>成本 +       利润       &#x3D; 售价<br>成本 +  售价x销售利润率 &#x3D; 售价<br>成本&#x2F;售价 + 销售利润率 &#x3D; 1<br>成本&#x2F;售价 &#x3D; 1 - 销售利润率<br><code>最终解</code>成本 ÷ (1 - 销售利润率) &#x3D; 售价<br>100 ÷ (1-50&#x2F;150) &#x3D; 150</p><h3 id="已知成本和利润率如何求利润"><a href="#已知成本和利润率如何求利润" class="headerlink" title="已知成本和利润率如何求利润?"></a><strong>已知成本和利润率如何求利润?</strong></h3><p>售价 - 成本 &#x3D; 利润<br><code>最终解</code>成本 ÷ (1 - 销售利润率)-成本&#x3D;利润<br>100 ÷ (1 - 50&#x2F;150) -100 &#x3D; 50</p><h3 id="已知利润和利润率如何求售价"><a href="#已知利润和利润率如何求售价" class="headerlink" title="已知利润和利润率如何求售价?"></a><strong>已知利润和利润率如何求售价?</strong></h3><p><code>最终解</code>利润 ÷ 售价利润率 &#x3D; 售价<br> 50  ÷   50&#x2F;150   &#x3D; 150</p><h3 id="已知利润和利润率如何求成本"><a href="#已知利润和利润率如何求成本" class="headerlink" title="已知利润和利润率如何求成本?"></a><strong>已知利润和利润率如何求成本?</strong></h3><p>售价     -  利润  &#x3D; 成本<br><code>最终解</code>利润÷利润率  -  利润  &#x3D; 成本<br>50÷ (50&#x2F;150) -   50   &#x3D; 100</p><h3 id="已知售价和利润率如何求成本"><a href="#已知售价和利润率如何求成本" class="headerlink" title="已知售价和利润率如何求成本?"></a><strong>已知售价和利润率如何求成本?</strong></h3><p>售价 -        利润       &#x3D; 成本<br><code>最终解</code>售价 - 售价 x 销售利润率 &#x3D; 成本<br>150  - 150  ×   50&#x2F;150   &#x3D; 100</p><h2 id="成本利润率"><a href="#成本利润率" class="headerlink" title="成本利润率"></a><strong>成本利润率</strong></h2><p>成本利润率 &#x3D; 利润 ÷ 成本<br>50% &#x3D; 50 ÷ 100</p><h3 id="已知利润和利润率如何求成本-1"><a href="#已知利润和利润率如何求成本-1" class="headerlink" title="已知利润和利润率如何求成本?"></a><strong>已知利润和利润率如何求成本?</strong></h3><p><code>最终解</code>利润 ÷ 成本利润率 &#x3D; 成本<br>100 &#x3D; 50 ÷ 50%</p><h3 id="已知利润和利润率如何求售价-1"><a href="#已知利润和利润率如何求售价-1" class="headerlink" title="已知利润和利润率如何求售价?"></a><strong>已知利润和利润率如何求售价?</strong></h3><p>成本 + 利润 &#x3D; 售价<br>利润 ÷ 成本利润率 + 利润 &#x3D; 售价<br><code>最终解</code>利润 x (1&#x2F;成本利润率 + 1) &#x3D; 售价<br>50 x (1&#x2F;50%+1) &#x3D; 150 </p><h3 id="已知售价和利润率如何求利润-1"><a href="#已知售价和利润率如何求利润-1" class="headerlink" title="已知售价和利润率如何求利润?"></a><strong>已知售价和利润率如何求利润?</strong></h3><p>售价 - 成本 &#x3D; 利润<br>售价 - 利润÷成本利润率 &#x3D; 利润<br>售价 &#x3D; 利润 + 利润÷成本利润率<br>售价 &#x3D; 利润 x (1+1&#x2F;成本利润率)<br><code>最终解</code>售价 ÷ (1+1&#x2F;成本利润率) &#x3D; 利润<br>150 ÷ (1 + 2) &#x3D; 50</p><h3 id="已知售价和利润率如何求成本-1"><a href="#已知售价和利润率如何求成本-1" class="headerlink" title="已知售价和利润率如何求成本?"></a><strong>已知售价和利润率如何求成本?</strong></h3><p>售价 - 利润 &#x3D; 成本<br>售价 - 成本x成本利润率 &#x3D; 成本<br>售价 &#x3D; 成本 + 成本x成本利润率<br>售价 &#x3D; 成本 x (1+成本利润率)<br><code>最终解</code>售价 ÷ (1 + 成本利润率) &#x3D; 成本<br>150 ÷ (1+50%) &#x3D; 100</p><h3 id="已知成本和利润率如何求利润-1"><a href="#已知成本和利润率如何求利润-1" class="headerlink" title="已知成本和利润率如何求利润?"></a><strong>已知成本和利润率如何求利润?</strong></h3><p><code>最终解利润</code> &#x3D; 成本 x 成本利润率<br>100 × 50% &#x3D; 50</p><h3 id="已知成本和利润率如何求售价-1"><a href="#已知成本和利润率如何求售价-1" class="headerlink" title="已知成本和利润率如何求售价?"></a><strong>已知成本和利润率如何求售价?</strong></h3><p>成本 + 利润 &#x3D; 售价<br>成本 + 成本 x 成本利润率 &#x3D; 售价<br><code>最终解</code>成本 x (1 + 成本利润率) &#x3D; 售价<br>100 x (1 + 50%) &#x3D; 150</p><h2 id="区别意义"><a href="#区别意义" class="headerlink" title="区别意义"></a>区别意义</h2><p><strong>成本利润率</strong>:反应成本控制能力，每付出一元成本挣多少钱。<br>利润 &#x3D; 成本 x 成本利润率<br><strong>销售利润率</strong>:反应议价能力，每卖出一元挣多少钱<br>利润 &#x3D; 售价 x 售价利润率</p>]]></content>
    
    
    <summary type="html">商品利润、进价、成本之间的关系和换算</summary>
    
    
    
    <category term="知识" scheme="https://www.adaiblog.github.io/categories/%E7%9F%A5%E8%AF%86/"/>
    
    
    <category term="利润率" scheme="https://www.adaiblog.github.io/tags/%E5%88%A9%E6%B6%A6%E7%8E%87/"/>
    
  </entry>
  
  <entry>
    <title>有趣的本地部署服务项目</title>
    <link href="https://www.adaiblog.github.io/posts/project.html"/>
    <id>https://www.adaiblog.github.io/posts/project.html</id>
    <published>2025-04-02T07:17:07.000Z</published>
    <updated>2026-02-25T15:49:47.597Z</updated>
    
    <content type="html"><![CDATA[<h1 id="开源-代码公开"><a href="#开源-代码公开" class="headerlink" title="开源&#x2F;代码公开"></a>开源&#x2F;代码公开</h1><div class="flink"><div class="flink-name">生产力</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/unilei/image-watermark-tool/tree/master" title="WaterMark" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/web/watermark.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="WaterMark" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">WaterMark</div>                  <div class="flink-item-desc" title="图片添加水印">图片添加水印</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/honwhy/md" title="MD" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://cdn-doocs.oss-cn-shenzhen.aliyuncs.com/gh/doocs/md/images/favicon.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="MD" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">MD</div>                  <div class="flink-item-desc" title="微信 Markdown 编辑器">微信 Markdown 编辑器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/excalidraw/excalidraw" title="Excalidraw" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://excalidraw.com/apple-touch-icon.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Excalidraw" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Excalidraw</div>                  <div class="flink-item-desc" title="用于绘制手绘图表的虚拟白板">用于绘制手绘图表的虚拟白板</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/JLinMr/Mini-Cover" title="Mini-Cover" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/web/minicover.svg" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Mini-Cover" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Mini-Cover</div>                  <div class="flink-item-desc" title="在线生成封面网站">在线生成封面网站</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://todo.uiineed.com/index-zh" title="ToDo" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://github.com/ricocc/uiineed-todo-list?ref=opensource-todo" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="ToDo" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">ToDo</div>                  <div class="flink-item-desc" title="待办">待办</div>                </div>              </a>            </div></div></div><div class="flink-name">信息流</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/ourongxing/newsnow?tab=readme-ov-file" title="Newsnow" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://newsnow.busiyi.world/apple-touch-icon.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Newsnow" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Newsnow</div>                  <div class="flink-item-desc" title="新闻热点">新闻热点</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/DIYgod/RSSHub" title="RSSHub" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/rsshub.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="RSSHub" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">RSSHub</div>                  <div class="flink-item-desc" title="万物皆可RSS">万物皆可RSS</div>                </div>              </a>            </div></div></div><div class="flink-name">家庭NAS</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/nextcloud/desktop" title="NextCloud" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/NextCloud.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="NextCloud" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">NextCloud</div>                  <div class="flink-item-desc" title="个人云盘">个人云盘</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/OpenListTeam/OpenList" title="OpenList" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://doc.oplist.org//logo.svg" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="OpenList" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">OpenList</div>                  <div class="flink-item-desc" title="支持多种存储的文件列表程序">支持多种存储的文件列表程序</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://adaiblog.github.io/posts/immich.html" title="immich" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://immich.app/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="immich" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">immich</div>                  <div class="flink-item-desc" title="存储照片和视频">存储照片和视频</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://adaiblog.github.io/posts/homeassistant.html" title="Home Assistant" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://www.home-assistant.io/images/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Home Assistant" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Home Assistant</div>                  <div class="flink-item-desc" title="智能家居中枢系统">智能家居中枢系统</div>                </div>              </a>            </div></div></div><div class="flink-name">远程/数据传输</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/vastsa/FileCodeBox" title="FileCodeBox" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://share.lanol.cn/assets/logo_small.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="FileCodeBox" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">FileCodeBox</div>                  <div class="flink-item-desc" title="匿名口令分享文本">匿名口令分享文本</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/rustdesk/rustdesk-server" title="Rustdesk-server" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://rustdesk.com/_astro/favicon.BntUM-vQ.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Rustdesk-server" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Rustdesk-server</div>                  <div class="flink-item-desc" title="远程桌面控制">远程桌面控制</div>                </div>              </a>            </div></div></div><div class="flink-name">通信</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://www.mumble.info/downloads/" title="Mumble" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://www.mumble.info/css/apple-touch-icon.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Mumble" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Mumble</div>                  <div class="flink-item-desc" title="低延迟、高质量的语音服务器">低延迟、高质量的语音服务器</div>                </div>              </a>            </div></div></div><div class="flink-name">游戏</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/doublespeakgames/adarkroom" title="A Dark Room" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="http://doublespeakgames.github.io/adarkroom/img/adr.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="A Dark Room" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">A Dark Room</div>                  <div class="flink-item-desc" title="文字冒险游戏">文字冒险游戏</div>                </div>              </a>            </div></div></div></div><h1 id="闭源"><a href="#闭源" class="headerlink" title="闭源"></a>闭源</h1><div class="flink"><div class="flink-name">游戏服务器</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://zh.minecraft.wiki/w/Tutorial:架设Java版服务器" title="我的世界Java" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://www.minecraft.net/etc.clientlibs/minecraftnet/clientlibs/clientlib-site/resources/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="我的世界Java" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">我的世界Java</div>                  <div class="flink-item-desc" title="搭建Java版本服务器">搭建Java版本服务器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://zh.minecraft.wiki/w/Tutorial:架设基岩版服务器" title="我的世界基岩版" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://www.minecraft.net/etc.clientlibs/minecraftnet/clientlibs/clientlib-site/resources/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="我的世界基岩版" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">我的世界基岩版</div>                  <div class="flink-item-desc" title="搭建基岩版本服务器">搭建基岩版本服务器</div>                </div>              </a>            </div></div></div><div class="flink-name">通信</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://teamspeak.com/zh-CN/downloads/#server" title="Teamspeak" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://teamspeak.com/user/themes/teamspeak/images/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Teamspeak" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Teamspeak</div>                  <div class="flink-item-desc" title="赛事级语音服务器">赛事级语音服务器</div>                </div>              </a>            </div></div></div></div>]]></content>
    
    
    <summary type="html">一份持续更新的有趣本地部署项目宝藏合集。内容按功能详细分类（如网页工具、信息流、生产力、远程通信、游戏服务器等），包含大量开源与闭源选择，为您提供从搭建私人云盘到部署游戏服务器的丰富自建方案。</summary>
    
    
    
    <category term="服务器" scheme="https://www.adaiblog.github.io/categories/%E6%9C%8D%E5%8A%A1%E5%99%A8/"/>
    
    
    <category term="本地部署" scheme="https://www.adaiblog.github.io/tags/%E6%9C%AC%E5%9C%B0%E9%83%A8%E7%BD%B2/"/>
    
  </entry>
  
  <entry>
    <title>流量卡</title>
    <link href="https://www.adaiblog.github.io/posts/liuliangka.html"/>
    <id>https://www.adaiblog.github.io/posts/liuliangka.html</id>
    <published>2025-03-31T07:36:16.000Z</published>
    <updated>2025-10-17T09:49:11.191Z</updated>
    
    <content type="html"><![CDATA[<h2 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h2><p>随着互联网的发展，短视频的火爆，大家对流量的需求日益增高，大流量低花费成为大家的生活需求，根据我自身购买流量卡经历打算写一篇如何挑选流量卡的教程。这里涉及是手机流量卡而不是物联卡。</p><h2 id="区分手机卡和物联卡"><a href="#区分手机卡和物联卡" class="headerlink" title="区分手机卡和物联卡"></a>区分手机卡和物联卡</h2><p>物联卡与普通手机卡最大的区别就是他不能打电话发短信，通常也需要第三方设备安装使用。如果客服告诉你充值需要在第三方连接购买套餐使用而不是通过手机话费充值渠道充值那么这就是流量卡。</p><h2 id="挑选流量卡的参几个参数"><a href="#挑选流量卡的参几个参数" class="headerlink" title="挑选流量卡的参几个参数"></a>挑选流量卡的参几个参数</h2><p>挑选流量卡有几个方面</p><h3 id="归属地"><a href="#归属地" class="headerlink" title="归属地"></a><strong>归属地</strong></h3><p>拨打电话时候提示的来电省份信息，最好是在自己生活归属地，后续也能享有宽带等本地优惠。</p><h3 id="月租"><a href="#月租" class="headerlink" title="月租"></a><strong>月租</strong></h3><p>每月费用，在挑选流量卡的时候月租是最容易混淆大家的</p><h3 id="合同有效期"><a href="#合同有效期" class="headerlink" title="合同有效期"></a><strong>合同有效期</strong></h3><p>分为长期和短期，这个关于流量和月租是否长期优惠的关键。</p><h3 id="流量"><a href="#流量" class="headerlink" title="流量"></a><strong>流量</strong></h3><p>分为全国流量，地方流量，特定应用流量。</p><ul><li>全国流量:在国内任何地方都可以使用，</li><li>地方流量:比如仅北京市使用，那么如果你在其他非北京地方这个流量不会被使用，直接消耗全国流量。</li><li>特定应用流量:这个流量包是使用特定软件时候才会消耗的流量，如果我们使用一款软件会有免流按钮或者提示那么就是正在使用这个流量包。</li></ul><h3 id="运营商"><a href="#运营商" class="headerlink" title="运营商"></a><strong>运营商</strong></h3><p>目前四大运营商:</p><ul><li>中国广电</li><li>中国联通</li><li>中国移动</li><li>中国电信<br>大家根据自身当地的运营商信号和使用体验进行选择。</li></ul><h2 id="如何挑选流量卡"><a href="#如何挑选流量卡" class="headerlink" title="如何挑选流量卡"></a>如何挑选流量卡</h2><p>看完上面几个参数接下来教大家如何在众多商品中去区分真假和文字游戏。</p><ol><li><p>花钱买流量卡直接退出<br>这么好的套餐花钱买很多人觉得正常，其实这种套餐如果你办理使用了他们是有佣金的，很多卡商还会给你返钱希望你从他这里办理来赚取佣金。所以这种流量卡大部分是不要钱。当然也有花钱办理普通办理不到的套餐，但这种极少发布在购物平台金额也会高很多，请大家谨防受骗。</p></li><li><p>不要看商品主页图片和标题，看详情页<br>打开购物软件搜索流量卡会出现很多商品，随机点击一个。<br><img src="/img/posts/liuliangka/liuliangka.jpg"><br>可以看到很大标题写着9元1620G流量。很多人就马上下单了。到手后流量仅135G流量使用几个月月租也变了。让我们打开详情页看一下。<br><img src="/img/posts/liuliangka/xiangqingye.jpg"></p></li></ol><ul><li>月租<br>首先看月租，任何优惠什么的，直接了当的看下方写着<strong>原月租</strong>，就是你以后每个月的花费余额。在看优惠三写明加2元得流量也是在增加月租。所以这个卡的月租是<strong>29+2&#x3D;31</strong><br><img src="/img/posts/liuliangka/yuanyuezu.jpg"><br>那着9元月租是怎么算的呢?<br>详情页写着1-7月份综合月租为9元，那么就是六个月花费为9元，免月租1个月就是5个月花费和门店10花费。还记得你充值了100吗。(100+10)&#x2F;5&#x3D;22,310-22&#x3D;<strong>9</strong>,他其实是把你冲的100当成他们的福利了，是在你冲了100的前提下1-7个月每个月在冲9元。</li><li>流量<br>首图写1620G流量其实是一年的流量135x12&#x3D;1620G,一种吸引用户手段。在看一下流量组成部分。<br><img src="/img/posts/liuliangka/liuliang.jpg"><br>原套餐是包含30G流量，首充的69G，+2元的36G，综合下来就是135G,这里的一个坑就是赠送的69G和36G流量包存在多久是一年，还是永久还是到期后自动续费。大家购买前可以咨询客服明确套餐合约时间，流量卡到手时候后拨打运营商电话联系人工客服进一步核实。这里全部是通用流量，其他的可能包含省份流量和应用流量请大家仔细查看。</li><li>归属地<br>首图写着收货地为归属地一般就是了，这个基本没有坑，如果没有写明可以去询问客服，如果告知你是随机归属地，这种也是伪随机可能涉及审核等原因不告诉用户。根据自身情况购买。</li></ul><p>大部分流量卡主要就是注意<strong>月租</strong>和<strong>流量</strong>的坑，其他归属地和运营商大家根据自己需求选择即可。如果你购买到与详情页或者客服描述不一样的流量卡并且已经激活，可以拨打人工客服进行投诉，说明自己被骗开卡，要求原价退回自己的金额并注销手机卡。手动注销手机卡可以看这篇文章<a href="http://localhost:4000/posts/logout.html#%E6%89%8B%E6%9C%BA%E5%8F%B7%E6%B3%A8%E9%94%80">注销</a></p><h1 id="结语"><a href="#结语" class="headerlink" title="结语"></a>结语</h1><p>其实这张卡对于从营业厅办理的卡来说已经是很优惠了，但是其中的文字游戏舒适让人感到反感，好的营销确实能得到更好的获取销量，但这种只能让人感受到一次次的欺骗。真诚的介绍必然得到忠实用户。</p>]]></content>
    
    
    <summary type="html">一份实用的手机流量卡选购避坑指南。本文教你如何区分物联卡与正规手机卡，并详细解读了月租、流量、合约期等关键参数中隐藏的“文字游戏”，助您识破营销套路，挑选到真正划算的大流量套餐。</summary>
    
    
    
    <category term="指南" scheme="https://www.adaiblog.github.io/categories/%E6%8C%87%E5%8D%97/"/>
    
    
    <category term="手机卡" scheme="https://www.adaiblog.github.io/tags/%E6%89%8B%E6%9C%BA%E5%8D%A1/"/>
    
  </entry>
  
  <entry>
    <title>开源、闭源与代码可见</title>
    <link href="https://www.adaiblog.github.io/posts/code.html"/>
    <id>https://www.adaiblog.github.io/posts/code.html</id>
    <published>2025-03-30T14:57:00.000Z</published>
    <updated>2025-10-17T09:49:10.775Z</updated>
    
    <content type="html"><![CDATA[<h2 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h2><p>作为非码农的我来说，第一次从开源软件了解到Github。，从而错误的将Github里所有项目都默认视为开源，免费。但随着不断的了解我意识到这是错误的，所以写下这篇文章对新的认知总结，其中可能也会存在错误。积极欢迎各位指出问题。</p><h2 id="认识开源、闭源与代码可见"><a href="#认识开源、闭源与代码可见" class="headerlink" title="认识开源、闭源与代码可见"></a>认识开源、闭源与代码可见</h2><h3 id="开源（Open-Source）"><a href="#开源（Open-Source）" class="headerlink" title="开源（Open Source）"></a>开源（Open Source）</h3><p>代码不仅公开，还通过<strong>OSI认证的开源许可证</strong>（如 <a href="https://opensource.org/license/mit/">MIT</a>、GPL（<a href="https://www.gnu.org/licenses/gpl-3.0.en.html">GPLv3</a>、<a href="https://www.gnu.org/licenses/old-licenses/gpl-2.0.html">GPLv2</a>)、<a href="https://www.apache.org/licenses/LICENSE-2.0">Apache</a>）明确赋予用户四大自由：  </p><ul><li><strong>使用自由</strong>：可免费用于任何目的（包括商业）。  </li><li><strong>修改自由</strong>：可根据需求调整代码。  </li><li><strong>分发自由</strong>：可分享原始代码或修改后的版本。</li><li><strong>衍生作品自由</strong>：允许基于原代码开发新项目（需遵守许可证规则）。</li></ul><table><thead><tr><th><strong>特性</strong></th><th><strong>MIT</strong></th><th><strong>GPL</strong></th><th><strong>Apache 2.0</strong></th></tr></thead><tbody><tr><td><strong>自由度</strong></td><td>最宽松，几乎无限制</td><td>强约束（Copyleft）</td><td>较宽松，但有专利保护条款</td></tr><tr><td><strong>衍生作品要求</strong></td><td>无需开源</td><td><strong>必须开源</strong>（同 GPL 协议）</td><td>无需开源</td></tr><tr><td><strong>专利授权</strong></td><td>无明确条款</td><td>隐含专利授权</td><td><strong>明确专利授权</strong></td></tr><tr><td><strong>版权声明保留</strong></td><td>✅ 必须保留原协议和版权声明</td><td>✅ 必须保留协议和版权声明</td><td>✅ 必须保留协议、版权和修改声明</td></tr></tbody></table><h3 id="代码公开（Source-Available）"><a href="#代码公开（Source-Available）" class="headerlink" title="代码公开（Source Available）"></a>代码公开（Source Available）</h3><p>仅表示代码可以被任何人查看（如 GitHub 的公开仓库），但<strong>未明确授予用户使用、修改或分发的法律权利</strong>。  </p><ul><li>示例：某公司公开了旧版软件的代码，但声明“仅供学习参考，禁止商业使用”。</li></ul><h3 id="闭源（Closed-Source-Software）"><a href="#闭源（Closed-Source-Software）" class="headerlink" title="闭源（Closed-Source Software）"></a>闭源（Closed-Source Software）</h3><p>  也称为<strong>专有软件（Proprietary Software）</strong>，<strong>源代码不向公众开放</strong>，且用户的使用、修改、分发等权利受到严格限制的软件。</p><h3 id="结论"><a href="#结论" class="headerlink" title="结论"></a>结论</h3><ul><li><strong>协议决定性质</strong>：开源或闭源是软件的法律性质，由协议（许可证或 EULA）定义。  </li><li><strong>代码公开是技术状态</strong>：独立于法律授权，仅说明代码是否可见。  </li><li><strong>关键区别</strong>：  <ul><li><strong>开源</strong> &#x3D; 代码公开 + 许可证赋予自由。  </li><li><strong>闭源</strong> &#x3D; 代码可能公开&#x2F;私有 + 限制性协议。  </li><li><strong>代码公开</strong> &#x3D; 纯技术可见性（无法律授权）。</li></ul></li></ul><h2 id="在Github上进行区分"><a href="#在Github上进行区分" class="headerlink" title="在Github上进行区分"></a>在Github上进行区分</h2><h3 id="开源-代码公开-VS-闭源"><a href="#开源-代码公开-VS-闭源" class="headerlink" title="开源&#x2F;代码公开 VS 闭源"></a>开源&#x2F;代码公开 VS 闭源</h3><ul><li><strong>公开仓库（Public Repository）</strong>：代码对所有人可见</li><li><strong>私有仓库（Private Repository）</strong>：代码仅对特定用户可见，通常是闭源的（用户无权限访问）。</li></ul><h3 id="开源-VS-代码公开"><a href="#开源-VS-代码公开" class="headerlink" title="开源 VS 代码公开"></a>开源 VS 代码公开</h3><ul><li><strong>检查根目录的 <code>LICENSE</code> 文件</strong>：大多数开源项目会在仓库根目录包含一个 <code>LICENSE</code>、<code>LICENSE.md</code> 或 <code>LICENSE.txt</code> 文件，明确声明授权条款。</li><li><strong>GitHub 自动检测</strong>：在仓库主页的右侧边栏，查看 <strong>“About” 栏</strong>，如果有许可证信息（如 MIT、GPL-3.0、Apache-2.0 等），则为开源项目。</li><li><strong>无许可证文件</strong>：即使代码公开，若没有明确许可证，则默认受版权保护（视为闭源或“仅代码可见”）。</li></ul>]]></content>
    
    
    <summary type="html">本文清晰阐述了开源、代码公开与闭源之间的根本区别，解释了开源许可证（如 MIT/GPL/Apache）所赋予的四大自由，并提供了在 GitHub 上快速辨别项目类型的实用方法。</summary>
    
    
    
    <category term="知识" scheme="https://www.adaiblog.github.io/categories/%E7%9F%A5%E8%AF%86/"/>
    
    
    <category term="Github" scheme="https://www.adaiblog.github.io/tags/Github/"/>
    
  </entry>
  
  <entry>
    <title>找回丢失的手机</title>
    <link href="https://www.adaiblog.github.io/posts/findmymobile.html"/>
    <id>https://www.adaiblog.github.io/posts/findmymobile.html</id>
    <published>2025-03-27T05:46:04.000Z</published>
    <updated>2025-10-17T09:49:11.163Z</updated>
    
    <content type="html"><![CDATA[<h2 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h2><p>目前各大品牌手机都有自己的定位功能，在手机丢失后可以通过云服务进行定位查询。但如果没有在设备系统设置中开启<strong>查找设备</strong>那么将无法定位手机只能及时修改账号密码避免设备数据进一步泄漏。</p><h2 id="开启查找设备"><a href="#开启查找设备" class="headerlink" title="开启查找设备"></a>开启查找设备</h2><p>在设备上<strong>设置</strong>&gt;<strong>账号</strong>&gt;<strong>查找设备</strong>，为设备开启查找服务。</p><h2 id="开启关机密码"><a href="#开启关机密码" class="headerlink" title="开启关机密码"></a>开启关机密码</h2><p>以小米为例<strong>设置</strong>&gt;<strong>隐私与安全</strong>&gt;<strong>安全</strong>&gt;<strong>关机验证密码</strong>开启服务。</p><h2 id="小米-红米"><a href="#小米-红米" class="headerlink" title="小米&#x2F;红米"></a>小米&#x2F;红米</h2><ul><li>查找设备<a href="https://i.mi.com/mobile/find#/" target="_blank" title="小米云服务" referrerPolicy="no-referrer" class="link_card"><div class="link_icon"><img src="https://i.mi.com/favicon.ico" class="no-lightbox"></div><div class="link_content"><div class="link_title">小米云服务</div></div></a>登陆小米账号后点击<strong>查找设备</strong>选择丢失设备就会自动定位并显示，同时还有<strong>设备发声</strong>，<strong>丢失模式</strong>，<strong>清理数据</strong>功能。开启丢失模式可以留下电话号码让捡到手机的人可以与我们联系。同时也可以避免手机数据泄漏。</li><li>修改密码<a href="https://id.mi.com/" target="_blank" title="修改密码" referrerPolicy="no-referrer" class="link_card"><div class="link_icon"><img src="https://www.mi.com/favicon.ico" class="no-lightbox"></div><div class="link_content"><div class="link_title">修改密码</div></div></a></li></ul><h2 id="Vivo-iQOO"><a href="#Vivo-iQOO" class="headerlink" title="Vivo&#x2F;iQOO"></a>Vivo&#x2F;iQOO</h2><ul><li>查找设备<a href="https://yun.vivo.com.cn/" target="_blank" title="vivo云服务" referrerPolicy="no-referrer" class="link_card"><div class="link_icon"><img src="https://accountstatic.vivo.com.cn/cloudalbum/static/img/cloud/favicon.ico" class="no-lightbox"></div><div class="link_content"><div class="link_title">vivo云服务</div></div></a>登陆账号之后，点击<strong>查找手机</strong>即可进行设备定位。还有<strong>丢失模式</strong>,<strong>播放铃声</strong>,<strong>数据备份</strong>,<strong>查看照片</strong>,<strong>清理数据</strong>功能。开启丢失模式可以留下电话号码让捡到手机的人可以与我们联系同时也避免手机数据泄漏。</li><li>修改密码<a href="http://passport.vivo.com.cn/#/" target="_blank" title="vivo账号" referrerPolicy="no-referrer" class="link_card"><div class="link_icon"><img src="https://www.vivo.com.cn/favicon.ico" class="no-lightbox"></div><div class="link_content"><div class="link_title">vivo账号</div></div></a></li></ul><h2 id="OPPO-Realme-一加"><a href="#OPPO-Realme-一加" class="headerlink" title="OPPO&#x2F;Realme&#x2F;一加"></a>OPPO&#x2F;Realme&#x2F;一加</h2><ul><li>查找设备<a href="https://cloud.oppo.com/" target="_blank" title="oppo云服务" referrerPolicy="no-referrer" class="link_card"><div class="link_icon"><img src="https://cloud.oppo.com/favicon.ico" class="no-lightbox"></div><div class="link_content"><div class="link_title">oppo云服务</div></div></a>登陆账号之后，点击<strong>查找</strong>即可进行设备定位。还有<strong>播放铃声</strong>,<strong>锁定设备</strong>,<strong>历史定位</strong>,<strong>清除数据</strong>功能。开启锁定设备可以留下电话号码让捡到手机的人可以与我们联系同时也避免手机数据泄漏。</li><li>修改密码<a href="https://id.oppo.com/profile.html?language=zh-CN" target="_blank" title="oppo账号" referrerPolicy="no-referrer" class="link_card"><div class="link_icon"><img src="https://www.oppo.com/favicon.ico" class="no-lightbox"></div><div class="link_content"><div class="link_title">oppo账号</div></div></a></li></ul><h2 id="华为"><a href="#华为" class="headerlink" title="华为"></a>华为</h2><ul><li>查找设备<a href="https://cloud.huawei.com/" target="_blank" title="华为云服务" referrerPolicy="no-referrer" class="link_card"><div class="link_icon"><img src="https://cloud.huawei.com/static/img/cloudNew.d51115e..png" class="no-lightbox"></div><div class="link_content"><div class="link_title">华为云服务</div></div></a></li><li>修改密码<a href="https://consumer.huawei.com/cn/support/user-center/" target="_blank" title="华为账号" referrerPolicy="no-referrer" class="link_card"><div class="link_icon"><img src="https://consumer.huawei.com/favicon.ico" class="no-lightbox"></div><div class="link_content"><div class="link_title">华为账号</div></div></a></li></ul><h2 id="荣耀"><a href="#荣耀" class="headerlink" title="荣耀"></a>荣耀</h2><ul><li>查找设备<a href="https://cloud.honor.com/" target="_blank" title="荣耀云服务" referrerPolicy="no-referrer" class="link_card"><div class="link_icon"><img src="https://cloud.honor.com/favicon.ico" class="no-lightbox"></div><div class="link_content"><div class="link_title">荣耀云服务</div></div></a></li><li>修改密码<a href="https://hnid-drcn.cloud.hihonor.com/AMW/portal/userCenter/index.html?reqClientType=25&loginChannel=25000000&themeName=cloudTheme&lang=zh-cn" target="_blank" title="荣耀账号" referrerPolicy="no-referrer" class="link_card"><div class="link_icon"><img src="https://cloud.honor.com/favicon.ico" class="no-lightbox"></div><div class="link_content"><div class="link_title">荣耀账号</div></div></a></li></ul><h2 id="努比亚"><a href="#努比亚" class="headerlink" title="努比亚"></a>努比亚</h2><ul><li>查找设备<a href="Https://yun.nubia.com"  title="努比亚云服务" referrerPolicy="no-referrer" class="link_card"><div class="link_icon"><img src="https://static.nubia.cn/mobile/images/m_logo.png" class="no-lightbox"></div><div class="link_content"><div class="link_title">努比亚云服务</div></div></a></li><li>修改密码<a href="https://account.nubia.com/login/gologin.action" target="_blank" title="努比亚账号" referrerPolicy="no-referrer" class="link_card"><div class="link_icon"><img src="https://static.nubia.cn/mobile/images/m_logo.png" class="no-lightbox"></div><div class="link_content"><div class="link_title">努比亚账号</div></div></a></li></ul><h2 id="魅族"><a href="#魅族" class="headerlink" title="魅族"></a>魅族</h2><ul><li>查找设备<a href="https://cloud.flyme.cn/" target="_blank" title="魅族云服务" referrerPolicy="no-referrer" class="link_card"><div class="link_icon"><img src="https://cloud-res.mzres.com/resources/sync/images/flymelogo.png" class="no-lightbox"></div><div class="link_content"><div class="link_title">魅族云服务</div></div></a></li><li>修改密码<a href="https://login.flyme.cn/mlogin.html" target="_blank" title="魅族账号" referrerPolicy="no-referrer" class="link_card"><div class="link_icon"><img src="https://meizu.com/static/global/images/xjmz.ico" class="no-lightbox"></div><div class="link_content"><div class="link_title">魅族账号</div></div></a></li></ul><h2 id="三星"><a href="#三星" class="headerlink" title="三星"></a>三星</h2><ul><li>查找设备<a href="https://findmymobile.samsung.cn/login" target="_blank" title="三星查找我的设备" referrerPolicy="no-referrer" class="link_card"><div class="link_icon"><img src="https://findmymobile.samsung.cn/img/logo/fmm.png" class="no-lightbox"></div><div class="link_content"><div class="link_title">三星查找我的设备</div></div></a></li><li>修改密码<a href="https://account.samsung.cn/membership/intro" target="_blank" title="三星账号" referrerPolicy="no-referrer" class="link_card"><div class="link_icon"><img src="https://account.samsung.cn/membership/assets/images/favicon.ico" class="no-lightbox"></div><div class="link_content"><div class="link_title">三星账号</div></div></a></li></ul><h2 id="苹果"><a href="#苹果" class="headerlink" title="苹果"></a>苹果</h2><ul><li>查找设备<a href="https://www.icloud.com.cn/" target="_blank" title="苹果云服务" referrerPolicy="no-referrer" class="link_card"><div class="link_icon"><img src="https://www.icloud.com.cn/system/icloud.com/2511Hotfix24/apple-touch-icon-120x120.png" class="no-lightbox"></div><div class="link_content"><div class="link_title">苹果云服务</div></div></a></li><li>修改密码<a href="https://appleid.apple.com/cn" target="_blank" title="苹果账号" referrerPolicy="no-referrer" class="link_card"><div class="link_icon"><img src="https://www.icloud.com.cn/system/icloud.com/2511Hotfix24/apple-touch-icon-120x120.png" class="no-lightbox"></div><div class="link_content"><div class="link_title">苹果账号</div></div></a></li></ul><h2 id="google"><a href="#google" class="headerlink" title="google"></a>google</h2><ul><li>查找设备<a href="https://www.google.com/android/find/about" target="_blank" title="谷歌查找我的设备" referrerPolicy="no-referrer" class="link_card"><div class="link_icon"><img src="https://www.gstatic.com/images/branding/productlogos/find_my_device/v9/web-32dp/logo_find_my_device_color_1x_web_32dp.png" class="no-lightbox"></div><div class="link_content"><div class="link_title">谷歌查找我的设备</div></div></a></li><li>修改密码<a href="https://www.google.com/intl/zh-CN/account/about/" target="_blank" title="谷歌账号" referrerPolicy="no-referrer" class="link_card"><div class="link_icon"><img src="https://www.gstatic.com/images/branding/product/ico/googleg_standard_32dp.ico" class="no-lightbox"></div><div class="link_content"><div class="link_title">谷歌账号</div></div></a></li></ul><div class="note info simple"><p>设备有限部分系统没有接触请根据谨慎参考</p></div>]]></content>
    
    
    <summary type="html">一份紧急应对手机丢失的全面行动指南。本文汇总了小米、华为、OPPO、vivo、苹果、三星等主流品牌手机的官方“查找设备”服务入口与密码修改链接，并强调了事前开启“查找功能”和“关机验证”的关键设置，助您第一时间定位设备、保护隐私。</summary>
    
    
    
    <category term="指南" scheme="https://www.adaiblog.github.io/categories/%E6%8C%87%E5%8D%97/"/>
    
    
    <category term="查找设备" scheme="https://www.adaiblog.github.io/tags/%E6%9F%A5%E6%89%BE%E8%AE%BE%E5%A4%87/"/>
    
  </entry>
  
  <entry>
    <title>快充协议</title>
    <link href="https://www.adaiblog.github.io/posts/fcp.html"/>
    <id>https://www.adaiblog.github.io/posts/fcp.html</id>
    <published>2025-03-26T14:06:47.000Z</published>
    <updated>2025-10-17T09:49:11.151Z</updated>
    
    <content type="html"><![CDATA[<h2 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h2><p>在购买设备时快充也会作为一大卖点进行宣传，随之而来的就是各种品牌的快充协议，如果购买错误的充电器会导致无法进行快充，接下来让我们认识一下快充协议，让你在购买充电器时候不再晕头转向。</p><h2 id="一、公有协议"><a href="#一、公有协议" class="headerlink" title="一、公有协议"></a>一、公有协议</h2><h3 id="USB-Power-Delivery-PD"><a href="#USB-Power-Delivery-PD" class="headerlink" title="USB Power Delivery (PD)"></a>USB Power Delivery (PD)</h3><ul><li><strong>开发者</strong>：USB-IF 协会（国际通用标准）  </li><li><strong>功率</strong>：  <ul><li>PD 3.0：最高 100W（20V&#x2F;5A）  </li><li>PD 3.1：扩展至 240W（48V&#x2F;5A），支持笔记本电脑等高功耗设备。</li></ul></li><li><strong>兼容性</strong>：  <ul><li>基于 USB-C 接口，广泛兼容手机、平板、笔记本等设备。  </li><li>苹果全系（iPhone 8 及以上）、安卓旗舰机（如小米、三星）均支持 PD 快充。</li></ul></li></ul><h3 id="Quick-Charge-QC"><a href="#Quick-Charge-QC" class="headerlink" title="Quick Charge (QC)"></a>Quick Charge (QC)</h3><ul><li><strong>开发者</strong>：高通（主要用于骁龙芯片设备）  </li><li><strong>功率</strong>：  <ul><li>QC 2.0&#x2F;3.0：高压快充（9V&#x2F;12V），兼容 Micro USB 接口。  </li><li>QC 4+ 及以上：兼容 USB PD，支持 20V&#x2F;5A（100W）。</li></ul></li><li><strong>兼容性</strong>：三星、小米、索尼等品牌的部分机型支持。</li></ul><h3 id="Pump-Express-PE"><a href="#Pump-Express-PE" class="headerlink" title="Pump Express (PE)"></a>Pump Express (PE)</h3><ul><li><strong>开发者</strong>：联发科  </li><li><strong>功率</strong>：最高 25W（PE 4.0 兼容 PD）。<br>   现逐渐被 PD 取代。</li></ul><h2 id="二、私有协议"><a href="#二、私有协议" class="headerlink" title="二、私有协议"></a>二、私有协议</h2><h3 id="SuperCharge-FCP-SCP"><a href="#SuperCharge-FCP-SCP" class="headerlink" title="SuperCharge (FCP&#x2F;SCP)"></a>SuperCharge (FCP&#x2F;SCP)</h3><ul><li><strong>开发者</strong>：华为</li><li><strong>FCP</strong>：高压快充（9V&#x2F;2A，18W）</li><li><strong>SCP</strong>：低压大电流（5A&#x2F;8A），功率可达 88W。</li></ul><h3 id="VOOC-SuperVOOC"><a href="#VOOC-SuperVOOC" class="headerlink" title="VOOC&#x2F;SuperVOOC"></a>VOOC&#x2F;SuperVOOC</h3><ul><li><strong>开发者</strong>：OPPO</li><li><strong>VOOC</strong>：5V&#x2F;4A（20W）</li><li><strong>SuperVOOC</strong>：10V&#x2F;6.5A（65W）</li></ul><h3 id="FlashCharge"><a href="#FlashCharge" class="headerlink" title="FlashCharge"></a>FlashCharge</h3><ul><li><strong>开发者</strong>：vivo</li><li><strong>功率</strong>：120W（20V&#x2F;6A）</li></ul><h3 id="HyperCharge"><a href="#HyperCharge" class="headerlink" title="HyperCharge"></a>HyperCharge</h3><ul><li><strong>开发者</strong>：小米</li><li><strong>功率</strong>：120W（20V&#x2F;6A），需专用充电器。</li></ul><h3 id="AFC"><a href="#AFC" class="headerlink" title="AFC"></a>AFC</h3><ul><li><strong>开发者</strong>：三星</li><li><strong>功率</strong>：25W（9V&#x2F;2.77A），兼容 PD 协议。</li></ul><h2 id="三、快充问题"><a href="#三、快充问题" class="headerlink" title="三、快充问题"></a>三、快充问题</h2><h3 id="公有协议与私有协议有什么区别？"><a href="#公有协议与私有协议有什么区别？" class="headerlink" title="公有协议与私有协议有什么区别？"></a>公有协议与私有协议有什么区别？</h3><p>答：公有协议兼容性广，私有协议速度更快但需要原装配件。</p><h3 id="如何知道设备是否支持公有协议？"><a href="#如何知道设备是否支持公有协议？" class="headerlink" title="如何知道设备是否支持公有协议？"></a>如何知道设备是否支持公有协议？</h3><p>答：查看设备说明书&#x2F;官网参数是否表明支持<strong>USB PD</strong>，<strong>QC</strong>，<strong>PPS</strong>（可调电压子集，兼容 PD）等字样。或者直接询问客服支持哪一些公有协议。</p><h3 id="快充需要充电器头和线都需要支持快充协议吗？"><a href="#快充需要充电器头和线都需要支持快充协议吗？" class="headerlink" title="快充需要充电器头和线都需要支持快充协议吗？"></a>快充需要充电器头和线都需要支持快充协议吗？</h3><p>答：充电器、线缆、设备均需支持协议和功率要求。<strong>充电头</strong>提供电力输出，并协商协议，<strong>充电线</strong>传输电力与协议信号，<strong>设备</strong>接收电力并触发快充。</p><h3 id="苹果没有快充协议吗？"><a href="#苹果没有快充协议吗？" class="headerlink" title="苹果没有快充协议吗？"></a>苹果没有快充协议吗？</h3><p>答：苹果没有私有协议完全兼容PD协议，iphone15系列前快充<strong>MFi认证线 + PD 充电头</strong>，15系列后<strong>PD充电线 + PD充电头</strong>需要注意充电线的电流承载能力。</p><h3 id="购买充电器如何进行选择？"><a href="#购买充电器如何进行选择？" class="headerlink" title="购买充电器如何进行选择？"></a>购买充电器如何进行选择？</h3><p>答：<br>通用性：<strong>支持USB PD 3.0&#x2F;3.1</strong>的多协议充电器。<br>单一设备：建议购买支持对应品牌<strong>私有协议</strong>的充电器。<br>多设备：建议购买<strong>支持PD + QC + 主流私有协议</strong>的第三方充电器。</p>]]></content>
    
    
    <summary type="html">一篇关于快充协议分类、原理及充电设备选购建议的科普文章。</summary>
    
    
    
    <category term="知识" scheme="https://www.adaiblog.github.io/categories/%E7%9F%A5%E8%AF%86/"/>
    
    
    <category term="协议" scheme="https://www.adaiblog.github.io/tags/%E5%8D%8F%E8%AE%AE/"/>
    
  </entry>
  
  <entry>
    <title>搭建Minecraft服务器</title>
    <link href="https://www.adaiblog.github.io/posts/mincraft.html"/>
    <id>https://www.adaiblog.github.io/posts/mincraft.html</id>
    <published>2025-03-20T06:12:01.000Z</published>
    <updated>2026-02-25T15:49:46.765Z</updated>
    
    <content type="html"><![CDATA[<h2 id="Java版"><a href="#Java版" class="headerlink" title="Java版"></a>Java版</h2><p><a href="https://zh.minecraft.wiki/w/Tutorial:%E6%9E%B6%E8%AE%BEJava%E7%89%88%E6%9C%8D%E5%8A%A1%E5%99%A8">教程:架设Java版服务器</a></p><h3 id="下载Minecraft服务器压缩包"><a href="#下载Minecraft服务器压缩包" class="headerlink" title="下载Minecraft服务器压缩包"></a>下载Minecraft服务器压缩包</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line">wget -O minecraft_server.jar </span><br><span class="line">https://piston-data.mojang.com/v1/objects/84194a2f286ef7c14ed7ce0090dba59902951553/server.jar</span><br><span class="line"></span><br><span class="line"><span class="built_in">sudo</span> apt install openjdk-17-jdk</span><br><span class="line"></span><br><span class="line">java -Xmx1024M -Xms1024M -jar server.jar</span><br></pre></td></tr></table></figure><h3 id="遵守eula协议"><a href="#遵守eula协议" class="headerlink" title="遵守eula协议"></a>遵守eula协议</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">vi eula.txt</span><br><span class="line">将<span class="literal">false</span>改为<span class="literal">true</span></span><br></pre></td></tr></table></figure><h3 id="启动服务"><a href="#启动服务" class="headerlink" title="启动服务"></a>启动服务</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">java -Xmx500M -Xms500M -jar server.jar</span><br></pre></td></tr></table></figure><h3 id="开启端口"><a href="#开启端口" class="headerlink" title="开启端口"></a>开启端口</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> ufw allow 25565</span><br></pre></td></tr></table></figure><h2 id="基岩版"><a href="#基岩版" class="headerlink" title="基岩版"></a>基岩版</h2><p><a href="https://zh.minecraft.wiki/w/%E5%9F%BA%E5%B2%A9%E7%89%88">教程:架设基岩版服务器</a></p><h3 id="下载Minecraft服务器压缩包-1"><a href="#下载Minecraft服务器压缩包-1" class="headerlink" title="下载Minecraft服务器压缩包"></a>下载Minecraft服务器压缩包</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">curl -o server.zip https://minecraft.azureedge.net/bin-linux/bedrock-server-1.20.13.01.zip</span><br></pre></td></tr></table></figure><h3 id="解压-文件（需要安装解压软件zip）"><a href="#解压-文件（需要安装解压软件zip）" class="headerlink" title="解压 文件（需要安装解压软件zip）"></a>解压 文件（需要安装解压软件zip）</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">unzip server.zip</span><br></pre></td></tr></table></figure><h3 id="修改配置，是非正版玩家可以游玩"><a href="#修改配置，是非正版玩家可以游玩" class="headerlink" title="修改配置，是非正版玩家可以游玩"></a>修改配置，是非正版玩家可以游玩</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">vi server.properties</span><br><span class="line">online_mode = <span class="literal">false</span></span><br></pre></td></tr></table></figure><h3 id="开启端口-1"><a href="#开启端口-1" class="headerlink" title="开启端口"></a>开启端口</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> ufw allow 19132 </span><br></pre></td></tr></table></figure><h1 id="持久运行"><a href="#持久运行" class="headerlink" title="持久运行"></a>持久运行</h1><h3 id="安装screen"><a href="#安装screen" class="headerlink" title="安装screen"></a>安装screen</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">#安装</span></span><br><span class="line"><span class="built_in">sudo</span> apt install screen</span><br><span class="line"><span class="comment"># 创建一个窗口</span></span><br><span class="line">screen -S mc</span><br><span class="line"><span class="comment"># 启动MC服务</span></span><br><span class="line">LD_LIBRARY_PATH=. ./bedrock_server</span><br></pre></td></tr></table></figure><h3 id="screen指令"><a href="#screen指令" class="headerlink" title="screen指令"></a>screen指令</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">screen -<span class="built_in">ls</span> （列出当前终端数目）</span><br><span class="line">screen -r xx （进入xx终端中）</span><br><span class="line">screen -wipe xx （删除xx终端）</span><br></pre></td></tr></table></figure>]]></content>
    
    
    <summary type="html">本教程提供了 Minecraft Java 版与基岩版服务器的完整搭建指南，包含从下载服务器文件、修改配置（如正版验证）到使用 Screen 工具实现服务器持久化运行的全部命令与步骤。</summary>
    
    
    
    <category term="服务器" scheme="https://www.adaiblog.github.io/categories/%E6%9C%8D%E5%8A%A1%E5%99%A8/"/>
    
    
    <category term="Linux" scheme="https://www.adaiblog.github.io/tags/Linux/"/>
    
    <category term="游戏服务器" scheme="https://www.adaiblog.github.io/tags/%E6%B8%B8%E6%88%8F%E6%9C%8D%E5%8A%A1%E5%99%A8/"/>
    
  </entry>
  
  <entry>
    <title>小米卡包</title>
    <link href="https://www.adaiblog.github.io/posts/wallet.html"/>
    <id>https://www.adaiblog.github.io/posts/wallet.html</id>
    <published>2025-03-19T04:50:41.000Z</published>
    <updated>2025-10-17T09:49:11.131Z</updated>
    
    <content type="html"><![CDATA[<h2 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h2><p>目前各大手机厂商都推出了自己的钱包App用于绑定公交卡，银行卡，门禁卡等功能，但他们有一个通用缺点，那就是有广告，随处可见的贷款以及占用大非常不小而美。</p><h2 id="小米钱包"><a href="#小米钱包" class="headerlink" title="小米钱包"></a>小米钱包</h2><ul><li>应用包名:<em><strong>com.mipay.wallet</strong></em></li><li>应用版本:<em><strong>6.891.5275.2323</strong></em></li><li>应用大小:<em><strong>156M</strong></em></li></ul><p>打开应用，映入眼帘的就是各种满天飞的广告。</p><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="500" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/xiaomi/wallet.jpg","alt":""},{"url":"/img/posts/xiaomi/wallet2.jpg","alt":""},{"url":"/img/posts/xiaomi/wallet3.jpg","alt":""}]</span>  </div><button class="gallery-load-more" style="opacity:0">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div><h2 id="关闭广告和个性化"><a href="#关闭广告和个性化" class="headerlink" title="关闭广告和个性化"></a>关闭广告和个性化</h2><p>打开<em><strong>我的</strong></em>,选择右上角<strong>⚙️</strong><br><img src="/img/posts/xiaomi/wallet4.jpg"></p><h3 id="功能设置"><a href="#功能设置" class="headerlink" title="功能设置"></a>功能设置</h3><p>打开<strong>功能设置</strong>，将所有选项全部关闭<br><img src="/img/posts/xiaomi/wallet5.jpg"></p><h3 id="隐私设置"><a href="#隐私设置" class="headerlink" title="隐私设置"></a>隐私设置</h3><p>选择<strong>隐私设置</strong>，关闭个性化服务<br><img src="/img/posts/xiaomi/wallet7.jpg"></p><h3 id="福利通知"><a href="#福利通知" class="headerlink" title="福利通知"></a>福利通知</h3><p>选择<strong>福利通知</strong>，全部关闭<br><img src="/img/posts/xiaomi/wallet8.jpg"></p><h3 id="最终效果"><a href="#最终效果" class="headerlink" title="最终效果"></a>最终效果</h3><p><img src="/img/posts/xiaomi/wallet6.jpg"><br>设置完之后整体界面就非常简洁了。底部省钱栏可以购买一些会员等福利。</p><h2 id="小米卡包"><a href="#小米卡包" class="headerlink" title="小米卡包"></a>小米卡包</h2><p>如果你只想要纯粹的钱包功能，仅有交通，银行卡，门禁卡功能，小而美。那么在澎湃系统更多选项中是有卡包这个功能的。</p><h3 id="开启卡包扩展"><a href="#开启卡包扩展" class="headerlink" title="开启卡包扩展"></a>开启卡包扩展</h3><p>打开<strong>设置</strong>下滑找到<strong>更多设置</strong>选择<strong>应用扩展功能</strong>勾选<strong>卡包</strong><br><img src="/img/posts/xiaomi/card.jpg"><br>返回上一级，在<strong>辅助功能</strong>里找到<strong>卡包</strong><br><img src="/img/posts/xiaomi/card2.jpg"><br>打开钱包后我们可以看到界面非常干净，根据自己的需求添加即可<br><img src="/img/posts/xiaomi/card3.jpg"></p><h3 id="桌面添加图标"><a href="#桌面添加图标" class="headerlink" title="桌面添加图标"></a>桌面添加图标</h3><p>点击右上角的⚙️选择<strong>快捷卡面设置</strong>，根据自己需求勾选。</p><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="500" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/xiaomi/card4.jpg","alt":""},{"url":"/img/posts/xiaomi/card5.jpg","alt":""}]</span>  </div><button class="gallery-load-more" style="opacity:0">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div><p>这样就可以从桌面快速打开卡包<br> <img src="/img/posts/xiaomi/card6.jpg"></p><h3 id="设置快捷手势"><a href="#设置快捷手势" class="headerlink" title="设置快捷手势"></a>设置快捷手势</h3><p>打开<strong>设置</strong>下滑到最下面<strong>更多设置</strong>选择<strong>快捷手势</strong>设置<strong>公交&#x2F;Mi Pay&#x2F;门卡</strong><br><img src="/img/posts/xiaomi/kuaijieshoushi.jpg"></p>]]></content>
    
    
    <summary type="html">本文介绍了在小米 HyperOS 中如何用纯净的“卡包”功能替代臃肿的“小米钱包”App。内容包含彻底关闭钱包广告的方法与开启隐藏卡包功能的完整步骤，助你获得一个专注公交、门禁和银行卡管理的简洁工具。</summary>
    
    
    
    <category term="软件" scheme="https://www.adaiblog.github.io/categories/%E8%BD%AF%E4%BB%B6/"/>
    
    
    <category term="HyperOS" scheme="https://www.adaiblog.github.io/tags/HyperOS/"/>
    
  </entry>
  
  <entry>
    <title>认识不同USB的接口和协议</title>
    <link href="https://www.adaiblog.github.io/posts/usb.html"/>
    <id>https://www.adaiblog.github.io/posts/usb.html</id>
    <published>2025-03-16T05:33:23.000Z</published>
    <updated>2025-10-17T09:49:10.895Z</updated>
    
    <content type="html"><![CDATA[<a href="https://zhuanlan.zhihu.com/p/447595295" target="_blank" title="秒懂所有USB接口类型" referrerPolicy="no-referrer" class="link_card"><div class="link_icon"><img src="https://pica.zhimg.com/v2-1ee24987afb4d39fb49a3f8c878f2dbb_l.jpg?source=172ae18b" class="no-lightbox"></div><div class="link_content"><div class="link_title">秒懂所有USB接口类型</div></div></a><div class="note info simple"><p>引用参考文章部分图片，侵删。</p></div><p>USB分为<a href="#Type-A">Type-A</a>，<a href="#Tyoe-B">Tyoe-B</a>，<a href="#Type-C">Type-C</a></p><h1 id="Type-A"><a href="#Type-A" class="headerlink" title="Type-A"></a>Type-A</h1><a href="https://zhuanlan.zhihu.com/p/620205244" target="_blank" title="不同颜色的USB口" referrerPolicy="no-referrer" class="link_card"><div class="link_icon"><img src="https://pic1.zhimg.com/v2-c001184880a3144164f2de8920b8f591_l.jpg?source=172ae18b" class="no-lightbox"></div><div class="link_content"><div class="link_title">不同颜色的USB口</div></div></a><h2 id="USB2-0"><a href="#USB2-0" class="headerlink" title="USB2.0"></a>USB2.0</h2><p><img src="/img/posts/usb/typeausb2.jpg"><br><strong>舌片颜色</strong>:黑色<br><strong>触点</strong>: 4针（2×2排列）单排金属触点<br><strong>传输速度</strong>: 480Mbps&#x2F;8&#x3D;<em><strong>60MB&#x2F;s</strong></em>(理论最大值)<br><strong>供电能力</strong>: 5V&#x2F;0.5A（最大2.5W）<br><strong>兼容性</strong>: 向下兼容USB 1.0&#x2F;1.1设备</p><h2 id="USB3-2"><a href="#USB3-2" class="headerlink" title="USB3.2"></a>USB3.2</h2><p>根据USB-IF在2019年命名规则调整<br><strong>usb3.0</strong> -&gt; <code>USB 3.2 Gen 1x1</code><br><strong>USB 3.1 Gen 2</strong> -&gt; <code>USB 3.2 Gen 2x1</code><br><img src="/img/posts/usb/typeausb3.jpg"><br><strong>舌片颜色</strong>:</p><table><thead><tr><th align="center">USB 3.2 Gen 1x1</th><th align="center">USB 3.2 Gen 2x2</th></tr></thead><tbody><tr><td align="center">深蓝色</td><td align="center">浅蓝色</td></tr></tbody></table><p><strong>触点</strong>: 9针（4针基础 + 5针高速）双排金属触点（前4后5）<br><strong>兼容性</strong>: 向下兼容USB 2.0、USB 1.1设备<br><strong>传输速度</strong>: </p><table><thead><tr><th align="center">USB 3.2 Gen 1x1</th><th align="center">USB 3.2 Gen 2x2</th></tr></thead><tbody><tr><td align="center">5Gbps&#x2F;8&#x3D;<em><strong>625MB&#x2F;s</strong></em>(理论最大值)</td><td align="center">10Gbps&#x2F;8&#x3D;<em><strong>1250MB&#x2F;s</strong></em>(理论最大值)</td></tr></tbody></table><p><strong>供电能力</strong>: </p><table><thead><tr><th align="center">USB 3.2 Gen 1x1</th><th align="center">USB 3.2 Gen 2x2</th></tr></thead><tbody><tr><td align="center">5V&#x2F;0.9A(最大4.5W)</td><td align="center">5V&#x2F;1.5A(最大7.5w)</td></tr></tbody></table><p><strong>编码方式与效率</strong></p><table><thead><tr><th align="center"></th><th align="center">USB 3.2 Gen 1x1</th><th align="center">USB 3.2 Gen 2x2</th></tr></thead><tbody><tr><td align="center">编码方式</td><td align="center">8b&#x2F;10b</td><td align="center">128b&#x2F;132b</td></tr><tr><td align="center">有效带宽利用率</td><td align="center">80%</td><td align="center">约97%</td></tr></tbody></table><h2 id="外设是使用2-0接口还是3-2接口"><a href="#外设是使用2-0接口还是3-2接口" class="headerlink" title="外设是使用2.0接口还是3.2接口?"></a>外设是使用2.0接口还是3.2接口?</h2><h3 id="2-0"><a href="#2-0" class="headerlink" title="2.0"></a><em><strong>2.0</strong></em></h3><p><code>鼠标/键盘</code><br>传输数据量极小（按键信号、移动坐标等），通常仅需 1–10 Kbps。USB 2.0 的 480 Mbps 带宽完全冗余，用 USB 3.2 无性能增益。<br><code>耳机/音响</code><br>标准立体声音频（16-bit&#x2F;44.1kHz）仅需 1.4 Mbps。<br>即使高解析音频（24-bit&#x2F;192kHz）也只需9.2Mbps，远低于 USB 2.0 上限。</p><h3 id="3-2"><a href="#3-2" class="headerlink" title="3.2"></a><em><strong>3.2</strong></em></h3><p><code>高端电竞外设</code><br>游戏鼠标,键盘回报率≥1000Hz，USB 3.2 可降低延迟波动。<br>多设备并联（如键盘+鼠标+耳机）时，USB 3.2 的总线带宽更宽裕。<br><code>专业音频设备</code><br>录音室级 USB 声卡（如 Focusrite Scarlett 18i20）需多通道高码率传输。<br>USB 3.2 的全双工通信能减少音频延迟（如 ASIO 低延迟模式）。</p><div class="note info simple"><p>闲置的USB3.0接口，插入了2.0设备的USB3.0接口，都不会对2.4GHz造成干扰。只有当USB3.0接口在使用USB3.0协议传输数据的时候，发出干扰会对2.4GHz无线信号的鼠标键盘造成暂时失灵。</p></div><h2 id="如何让3-2接口把设备识别成2-0"><a href="#如何让3-2接口把设备识别成2-0" class="headerlink" title="如何让3.2接口把设备识别成2.0?"></a>如何让3.2接口把设备识别成2.0?</h2><p>只要插进去速度够慢(或者插一半)先让前面4个触电接触完成识别就被认为是2.0设备。</p>]]></content>
    
    
      
      
    <summary type="html">&lt;a href=&quot;https://zhuanlan.zhihu.com/p/447595295&quot; target=&quot;_blank&quot; title=&quot;秒懂所有USB接口类型&quot; referrerPolicy=&quot;no-referrer&quot; class=&quot;link_card&quot;&gt;&lt;div cla</summary>
      
    
    
    
    <category term="知识" scheme="https://www.adaiblog.github.io/categories/%E7%9F%A5%E8%AF%86/"/>
    
    
    <category term="协议" scheme="https://www.adaiblog.github.io/tags/%E5%8D%8F%E8%AE%AE/"/>
    
  </entry>
  
  <entry>
    <title>妇女节</title>
    <link href="https://www.adaiblog.github.io/posts/38.html"/>
    <id>https://www.adaiblog.github.io/posts/38.html</id>
    <published>2025-03-08T09:29:30.000Z</published>
    <updated>2025-10-17T09:49:11.083Z</updated>
    
    <content type="html"><![CDATA[<center>🎉祝各位女同志三八妇女节快乐🎉</center><p><strong>妇女节</strong>，全称为<strong>国际劳动妇女节</strong>（International Women’s Day），是每年<strong>3月8日</strong>为庆祝女性在社会、经济、文化和政治领域取得的成就，同时呼吁性别平等和女性权益的全球性节日。</p><h3 id="起源"><a href="#起源" class="headerlink" title="起源"></a><strong>起源</strong></h3><div class="timeline undefined"><div class='timeline-item headline'><div class='timeline-item-title'><div class='item-circle'><p>起源与历史</p></div></div></div><div class='timeline-item'><div class='timeline-item-title'><div class='item-circle'><p>1857年</p></div></div><div class='timeline-item-content'><p>美国纽约纺织女工抗议低薪和恶劣工作条件，成为早期工人运动的象征。</p></div></div><div class='timeline-item'><div class='timeline-item-title'><div class='item-circle'><p>1908年</p></div></div><div class='timeline-item-content'><p>1.5万名女性在纽约集会，提出“面包与玫瑰”（Bread and Roses）的口号，要求缩短工时、提高工资、享有投票权，并呼吁社会关注女性对“经济保障”（面包）和“生活尊严”（玫瑰）的双重需求。</p></div></div><div class='timeline-item'><div class='timeline-item-title'><div class='item-circle'><p>1910年</p></div></div><div class='timeline-item-content'><p>国际社会主义妇女大会通过克拉拉·蔡特金的倡议，确立“国际妇女节”为争取女性权益的全球行动日。</p></div></div><div class='timeline-item'><div class='timeline-item-title'><div class='item-circle'><p>1911年</p></div></div><div class='timeline-item-content'><p>奥地利、丹麦、德国和瑞士等欧洲国家首次庆祝国际妇女节，超过100万人参与集会。  </p></div></div><div class='timeline-item'><div class='timeline-item-title'><div class='item-circle'><p>1913-1914年</p></div></div><div class='timeline-item-content'><p>俄罗斯女性通过妇女节活动抗议一战，并逐渐将日期固定在<strong>3月8日</strong></p></div></div><div class='timeline-item'><div class='timeline-item-title'><div class='item-circle'><p>1917年</p></div></div><div class='timeline-item-content'><p>俄罗斯女性发动“面包与和平”罢工，直接推动了二月革命，最终促使沙皇退位。这一事件成为妇女节定于3月8日的关键历史依据。</p></div></div><div class='timeline-item'><div class='timeline-item-title'><div class='item-circle'><p>1975年</p></div></div><div class='timeline-item-content'><p>联合国正式将3月8日定为国际妇女节，推动其成为全球议题。</p></div></div></div><h3 id="中国妇女节"><a href="#中国妇女节" class="headerlink" title="中国妇女节"></a><strong>中国妇女节</strong></h3><p>1924年广州首次公开庆祝妇女节，与反封建、求解放的社会运动结合。1949年将3月8日被定为法定节日，女性职工可享受半天假期。</p><h3 id="核心意义"><a href="#核心意义" class="headerlink" title="核心意义"></a><strong>核心意义</strong></h3><p>妇女节的核心目标是消除性别歧视，促进社会公平：</p><ul><li><strong>权利倡导</strong>：聚焦同工同酬、教育机会、政治参与、反暴力等议题。</li><li><strong>挑战刻板印象</strong>：打破“女性应局限于家庭”的传统观念，鼓励女性追求职业发展与自我实现。</li><li><strong>法律保障</strong>：推动各国完善保护女性权益的法律（如反职场歧视法、反家暴法）。。</li></ul><h3 id="象征颜色"><a href="#象征颜色" class="headerlink" title="象征颜色"></a><strong>象征颜色</strong></h3><p><mark class="hl-label purple">紫色</mark>  象征尊严</p><p><mark class="hl-label green">绿色</mark>  象征希望</p>白色 象征纯洁<h3 id="全球不同地区的特色"><a href="#全球不同地区的特色" class="headerlink" title="全球不同地区的特色"></a><strong>全球不同地区的特色</strong></h3><ul><li><strong>意大利</strong>：男性赠送黄色含羞草花给女性，象征尊重与团结。</li><li><strong>俄罗斯</strong>：全国性节日，男性为女性准备礼物，家庭聚餐庆祝。</li><li><strong>印度</strong>：举办女性艺术展、论坛，关注性别暴力与教育问题。</li></ul><h3 id="妇女节≠女神节"><a href="#妇女节≠女神节" class="headerlink" title="妇女节≠女神节"></a><em><strong>妇女节≠女神节</strong></em></h3><p>商家通过“女神节”“女王节”的称呼，将节日包装成购物狂欢（如“三八促销”），利用女性经济崛起的趋势，刺激消费。将原本关注性别平等、劳工权益的严肃议题，简化为“买买买”的娱乐化标签。<br>“妇女节”的称呼之争，本质是<strong>社会对女性价值认知的缩影</strong>。无论是“妇女”还是“女神”，若仅停留在语言层面的修饰，而忽视女性在现实中的困境与诉求，节日的意义将流于表面。真正的尊重，应体现在对性别平等的制度保障、对女性贡献的承认，以及对不平等现象的持续挑战之中。</p>]]></content>
    
    
    <summary type="html">本文详细解读了国际劳动妇女节的起源、发展历程与核心意义，追溯了其从工人运动到全球节日的演变，并探讨了“妇女节”与“女神节”称呼背后的社会文化差异，旨在回归节日争取性别平等与女性权益的初衷。</summary>
    
    
    
    <category term="知识" scheme="https://www.adaiblog.github.io/categories/%E7%9F%A5%E8%AF%86/"/>
    
    
    <category term="节日" scheme="https://www.adaiblog.github.io/tags/%E8%8A%82%E6%97%A5/"/>
    
  </entry>
  
  <entry>
    <title>如何购买并组装一台电脑</title>
    <link href="https://www.adaiblog.github.io/posts/pc.html"/>
    <id>https://www.adaiblog.github.io/posts/pc.html</id>
    <published>2025-03-04T02:35:48.000Z</published>
    <updated>2025-10-17T09:49:11.263Z</updated>
    
    <content type="html"><![CDATA[<p>仅供参考!!!!!,还有很多不足后续改进。</p><h1 id="电脑硬件"><a href="#电脑硬件" class="headerlink" title="电脑硬件"></a>电脑硬件</h1><h2 id="1-中央处理器-CPU"><a href="#1-中央处理器-CPU" class="headerlink" title="1. 中央处理器 (CPU)"></a>1. 中央处理器 (CPU)</h2><ul><li><strong>功能</strong><br>▸ 计算机的”大脑”，执行运算指令<br>▸ 协调各硬件协同工作<br>▸ 决定系统整体性能等级</li><li><strong>主流型号</strong><br><strong>Intel 平台</strong><br>▸ 酷睿 i3&#x2F;i5&#x2F;i7&#x2F;i9 系列（第13代 Raptor Lake）<br>▸ 至强 Xeon（服务器级）<br><strong>AMD 平台</strong><br>▸ Ryzen 3&#x2F;5&#x2F;7&#x2F;9 系列（7000系 Zen4架构）<br>▸ Threadripper（工作站级）</li></ul><h2 id="2-主板-Motherboard"><a href="#2-主板-Motherboard" class="headerlink" title="2. 主板 (Motherboard)"></a>2. 主板 (Motherboard)</h2><ul><li><p><strong>功能</strong><br>▸ 硬件系统的物理载体<br>▸ 提供组件互联通道<br>▸ 集成声卡&#x2F;网卡等基础功能</p></li><li><p><strong>主流型号</strong><br><strong>Intel 平台</strong><br>▸ Z790（高端超频）<br>▸ B760（主流型号）<br><strong>AMD 平台</strong><br>▸ X670E（PCIe 5.0支持）<br>▸ B650（性价比选择）</p></li></ul><h2 id="3-内存-RAM"><a href="#3-内存-RAM" class="headerlink" title="3. 内存 (RAM)"></a>3. 内存 (RAM)</h2><ul><li><strong>功能</strong><br>▸ 临时存储运行中程序数据<br>▸ 影响多任务处理能力<br>▸ 数据交换的中转站</li><li><strong>型号</strong><br>▸ 台式机内存（DIMM）<br>▸ 笔记本内存（SO-DIMM）</li><li><strong>规格</strong><br>▸ DDR4 3200MHz（主流选择）<br>▸ DDR5 6000MHz（新一代标准）</li></ul><h2 id="4-存储设备"><a href="#4-存储设备" class="headerlink" title="4. 存储设备"></a>4. 存储设备</h2><h3 id="固态硬盘-SSD"><a href="#固态硬盘-SSD" class="headerlink" title="固态硬盘 (SSD)"></a>固态硬盘 (SSD)</h3><ul><li><p><strong>核心功能</strong><br>▸ 高速读写操作系统、应用程序及高频访问文件<br>▸ 通过低延迟响应显著提升系统整体性能  </p></li><li><p><strong>技术特性</strong>  </p><h4 id="存储颗粒类型对比"><a href="#存储颗粒类型对比" class="headerlink" title="存储颗粒类型对比"></a>存储颗粒类型对比</h4><table><thead><tr><th>颗粒类型</th><th>单单元存储bit数</th><th>P&#x2F;E擦写次数</th><th>读写速度</th><th>成本</th><th>典型应用场景</th></tr></thead><tbody><tr><td>SLC</td><td>1bit</td><td>50,000-100,000</td><td>最高</td><td>极高</td><td>工业级&#x2F;企业服务器</td></tr><tr><td>MLC</td><td>2bit</td><td>3,000-10,000</td><td>高</td><td>高</td><td>高端工作站&#x2F;专业设备</td></tr><tr><td>TLC</td><td>3bit</td><td>500-3,000</td><td>中等</td><td>低</td><td>消费级主流SSD</td></tr><tr><td>QLC</td><td>4bit</td><td>100-1,000</td><td>较低</td><td>最低</td><td>大容量存储盘&#x2F;轻度使用</td></tr></tbody></table><p>▸ 接口标准：SATA III（550MB&#x2F;s）、NVMe PCIe 4.0（7000+MB&#x2F;s）<br>▸ 无机械结构，抗震性强  </p></li><li><p><strong>典型场景</strong><br>▸ 系统启动盘&#x2F;游戏加载盘&#x2F;实时创作素材暂存</p></li></ul><h3 id="机械硬盘-HDD"><a href="#机械硬盘-HDD" class="headerlink" title="机械硬盘 (HDD)"></a>机械硬盘 (HDD)</h3><ul><li><p><strong>核心功能</strong><br>▸ 低成本大容量数据存储（单盘可达20TB+）<br>▸ 适合低频访问的归档数据（冷数据存储）  </p></li><li><p><strong>尺寸</strong><br>▸ 3.5寸机械硬盘:台式机&#x2F;服务器&#x2F;NAS<br>▸ 2.5寸机械硬盘:笔记本电脑&#x2F;移动硬盘</p></li><li><p><strong>磁记录技术</strong>  </p><table><thead><tr><th>类型</th><th>垂直记录 (CMR&#x2F;PMR)</th><th>叠瓦式 (SMR)</th></tr></thead><tbody><tr><td>原理</td><td>磁道独立排列</td><td>磁道如瓦片部分重叠</td></tr><tr><td>优势</td><td>随机写入性能稳定</td><td>单碟容量提升约25%</td></tr><tr><td>劣势</td><td>存储密度较低</td><td>数据覆写需重组相邻磁道</td></tr><tr><td>适用场景</td><td>频繁修改数据&#x2F;监控录像</td><td>顺序写入为主的归档备份</td></tr><tr><td>要性能选垂直（PMR），要容量选叠瓦（SMR）</td><td></td><td></td></tr></tbody></table></li><li><p><strong>典型场景</strong><br>▸ 家庭媒体库&#x2F;监控录像存储&#x2F;企业级数据备份</p></li></ul><h2 id="5-显卡-GPU"><a href="#5-显卡-GPU" class="headerlink" title="5. 显卡 (GPU)"></a>5. 显卡 (GPU)</h2><ul><li><p><strong>功能</strong><br>▸ 图形渲染与显示输出<br>▸ 加速AI计算与视频处理</p></li><li><p><strong>平台</strong><br>▸ NVIDIA<br>▸ AMD<br>除了单独的显卡硬件外，许多CPU也拥有核显用来输出画面。但性能稍弱。</p></li></ul><h2 id="6-电源-PSU"><a href="#6-电源-PSU" class="headerlink" title="6. 电源 (PSU)"></a>6. 电源 (PSU)</h2><ul><li><strong>功能</strong><br>▸ 电能转换与分配中心<br>▸ 系统稳定运行的保</li><li><strong>模组</strong><br>▸ 非模组:电源线不可拆卸<br>▸ 半模组:主板供电线和CPU供电线不可拆卸<br>▸ 全模组:电源线全部可拆卸</li><li><strong>电源额定功率</strong><br>550W,650W,750W根据电脑硬件选择合适电源功率。<br>这里的功率不是说插电就一直以这个功率运行，而是这个电源最大支持功率。</li><li><strong>电源转换率</strong><br>电脑电源的转换效率等级由 <strong>80 PLUS认证</strong> 划分，衡量电源将交流电（AC）转换为直流电（DC）时的能量利用率。效率越高，能量浪费越少，发热更低，长期使用更节能。高效率电源发热更低，减少风扇噪音，延长元器件寿命。</li></ul><h2 id="80-PLUS-认证等级（230V-电压）"><a href="#80-PLUS-认证等级（230V-电压）" class="headerlink" title="80 PLUS 认证等级（230V 电压）"></a>80 PLUS 认证等级（230V 电压）</h2><table><thead><tr><th>等级</th><th>20% 负载</th><th>50% 负载</th><th>100% 负载</th><th>特殊要求</th></tr></thead><tbody><tr><td>80 PLUS 白牌</td><td>82%</td><td>85%</td><td>82%</td><td>-</td></tr><tr><td>80 PLUS 铜牌</td><td>85%</td><td>88%</td><td>85%</td><td>-</td></tr><tr><td>80 PLUS 银牌</td><td>87%</td><td>90%</td><td>87%</td><td>-</td></tr><tr><td>80 PLUS 金牌</td><td>90%</td><td>92%</td><td>89%</td><td>-</td></tr><tr><td>80 PLUS 铂金牌</td><td>92%</td><td>94%</td><td>90%</td><td>-</td></tr><tr><td>80 PLUS 钛金牌</td><td>94%</td><td>96%</td><td>94%</td><td><strong>10% 负载时效率 ≥ 90%</strong></td></tr></tbody></table><h2 id="7-散热系统"><a href="#7-散热系统" class="headerlink" title="7. 散热系统"></a>7. 散热系统</h2><h3 id="型号分类"><a href="#型号分类" class="headerlink" title="型号分类"></a><strong>型号分类</strong></h3><h4 id="1-风冷散热"><a href="#1-风冷散热" class="headerlink" title="1. 风冷散热"></a>1. 风冷散热</h4><ul><li><strong>原理</strong>：通过风扇+散热鳍片组合，利用空气循环带走热量  </li><li><strong>核心规格扩展</strong>：  <table><thead><tr><th>规格类型</th><th>常见配置</th><th>特点与适用场景</th></tr></thead><tbody><tr><td><strong>散热塔结构</strong></td><td>单塔 &#x2F; 双塔</td><td>- 单塔：体积小，兼容性强（如利民AX120）<br>- 双塔：散热面积大，性能更强（如猫头鹰NH-D15）</td></tr><tr><td><strong>风扇数量</strong></td><td>单风扇 &#x2F; 双风扇</td><td>- 单风扇：噪音低，适合中端CPU<br>- 双风扇：风压更大，散热效率提升（需注意内存插槽遮挡问题）</td></tr><tr><td><strong>热管数量</strong></td><td>4热管 &#x2F; 6热管 &#x2F; 8热管</td><td>- 热管越多，导热能力越强（如6热管压制i7&#x2F;R7，8热管适配i9&#x2F;R9）</td></tr><tr><td><strong>风扇尺寸</strong></td><td>120mm &#x2F; 140mm</td><td>- 120mm：兼容性强，风量均衡<br>- 140mm：更大风量且噪音更低（需机箱支持）</td></tr><tr><td><strong>特殊设计</strong></td><td>回流焊工艺 &#x2F; 镀镍铜底</td><td>- 回流焊：提升热管与鳍片接触效率<br>- 镀镍铜底：防氧化，延长寿命</td></tr></tbody></table></li></ul><h4 id="2-水冷散热"><a href="#2-水冷散热" class="headerlink" title="2. 水冷散热"></a>2. 水冷散热</h4><ul><li><strong>原理</strong>：通过水泵驱动液体循环，由冷排+风扇散热  </li><li><strong>类型细分</strong>：  <ul><li><strong>一体式水冷（AIO）</strong>：安装简单，主流选择（如NZXT Kraken系列）  <ul><li>规格：120&#x2F;240&#x2F;360mm冷排（对应1&#x2F;2&#x2F;3风扇）</li></ul></li><li><strong>分体式水冷</strong>：自定义性强，散热极限高，但维护复杂、成本高</li></ul></li></ul><h3 id="风冷-vs-水冷对比"><a href="#风冷-vs-水冷对比" class="headerlink" title="风冷 vs 水冷对比"></a><strong>风冷 vs 水冷对比</strong></h3><table><thead><tr><th>特性</th><th>风冷散热</th><th>水冷散热</th></tr></thead><tbody><tr><td><strong>散热性能</strong></td><td>中高端风冷≈240mm水冷</td><td>360mm水冷性能更强，适合超频</td></tr><tr><td><strong>噪音</strong></td><td>高负载时风扇噪音明显</td><td>水泵声+风扇声，低转速更安静</td></tr><tr><td><strong>体积与兼容性</strong></td><td>可能遮挡内存&#x2F;机箱限高要求</td><td>冷排需匹配机箱风扇位</td></tr><tr><td><strong>维护成本</strong></td><td>仅需清灰，寿命长（5-10年）</td><td>一体式3-5年，分体式需定期换液</td></tr><tr><td><strong>价格</strong></td><td>￥100-600</td><td>一体式￥400-2000+，分体式￥3000+</td></tr></tbody></table><h2 id="8-显示器"><a href="#8-显示器" class="headerlink" title="8. 显示器"></a>8. 显示器</h2><ul><li><strong>功能</strong><br>▸ 视觉信息输出终端<br>▸ 影响使用体验的核心外设</li><li><strong>面板型号</strong><br>▸ IPS:色彩准、可视角度广（178°）、适合设计。轻微漏光、响应时间较长（4-8ms）、对比度一般（1000:1）。<br>▸ TN:响应最快（0.5-1ms）、刷新率高（360Hz+）、便宜。色彩差、可视角度差（侧看泛白）、对比度低（800:1）。<br>▸ VA:对比度高（3000:1+）、黑色纯净、适合影音。响应慢（10-20ms）、低端型号拖影严重、视角略逊IPS。<br>▸ OLED:无限对比度、色彩极致、响应极快（0.1ms）、超薄。烧屏风险、寿命较短、价格昂贵、峰值亮度受限。</li><li><strong>分辨率</strong><br>▸ 1080p（FHD）：入门游戏&#x2F;办公，主流选择<br>▸ 1440p（2K&#x2F;QHD）：游戏与创作平衡，推荐中高端显卡<br>▸ 4K（UHD）：影音&#x2F;专业设计，需强大GPU支持</li><li><strong>刷新率</strong><br>刷新率显示器每秒刷新多少张图片。，比如144hz就是显示器1秒显示144张图片。刷新率越高动画越细腻，但是局限。比如你的电脑性能玩游戏FPS(帧数)最高能达到60，那么你买144hz的显示器也无济于事。<br>▸ 60Hz：日常使用&#x2F;办公<br>▸ 120&#x2F;144&#x2F;165Hz：流畅游戏体验<br>▸ 240Hz+：电竞玩家首选</li></ul><h2 id="9-机箱-Case"><a href="#9-机箱-Case" class="headerlink" title="9. 机箱 (Case)"></a>9. 机箱 (Case)</h2><ul><li><strong>功能</strong><br>▸ 硬件防护与散热风道<br>▸ 扩展设备的物理载体</li><li><strong>机箱类型</strong><br>▸ 全塔（Full Tower）：支持E-ATX主板，多硬盘位，适合高端配置<br>▸ 中塔（Mid Tower）：ATX主板主流选择，兼容性强<br>▸ 小型（Mini-ITX）：紧凑便携，适合小机箱爱好者</li></ul><h2 id="系统协同示意图"><a href="#系统协同示意图" class="headerlink" title="系统协同示意图"></a>系统协同示意图</h2><h1 id="电脑装机教程（新手向）"><a href="#电脑装机教程（新手向）" class="headerlink" title="电脑装机教程（新手向）"></a>电脑装机教程（新手向）</h1><hr><h2 id="装机前准备"><a href="#装机前准备" class="headerlink" title="装机前准备"></a><strong>装机前准备</strong></h2><h3 id="1-工具与材料"><a href="#1-工具与材料" class="headerlink" title="1. 工具与材料"></a><strong>1. 工具与材料</strong></h3><ul><li><p><strong>工具</strong><br>🔧 十字螺丝刀（磁性头最佳）<br>⚡ 防静电手环（或定期触碰金属物体释放静电）<br>🎀 扎带（理线用）<br>🧴 导热硅脂（若散热器未预涂）  </p></li><li><p><strong>硬件清单</strong>  </p><table><thead><tr><th>必选组件</th><th>可选组件</th></tr></thead><tbody><tr><td>CPU</td><td>独立显卡（无核显必备）</td></tr><tr><td>主板</td><td>机箱风扇</td></tr><tr><td>内存</td><td>RGB灯效配件</td></tr><tr><td>硬盘（SSD&#x2F;HDD）</td><td>额外散热器</td></tr><tr><td>电源</td><td>光驱&#x2F;声卡等</td></tr><tr><td>机箱</td><td></td></tr><tr><td>CPU散热器</td><td></td></tr></tbody></table></li></ul><h3 id="2-注意事项"><a href="#2-注意事项" class="headerlink" title="2. 注意事项"></a><strong>2. 注意事项</strong></h3><ul><li>✅ <strong>防静电</strong>：全程避免衣物摩擦，优先使用防静电手环。  </li><li>✅ <strong>兼容性检查</strong>：  <ul><li>主板需支持CPU型号（如Intel LGA 1700或AMD AM5）  </li><li>内存类型匹配（DDR4&#x2F;DDR5）  </li><li>电源功率足够（建议≥500W，高配需更高）</li></ul></li><li>✅ <strong>说明书</strong>：主板和机箱说明书是关键参考！</li></ul><hr><h2 id="装机步骤"><a href="#装机步骤" class="headerlink" title="装机步骤"></a><strong>装机步骤</strong></h2><h3 id="1-安装CPU"><a href="#1-安装CPU" class="headerlink" title="1. 安装CPU"></a><strong>1. 安装CPU</strong></h3><ol><li><strong>打开插槽</strong>  <ul><li>轻抬主板CPU插槽的金属杆，取下保护盖。</li></ul></li><li><strong>对齐方向</strong>  <ul><li>将CPU左下角的金色三角标记与插槽三角标记对齐，轻放于插槽中（勿按压！）。</li></ul></li><li><strong>固定CPU</strong>  <ul><li>压下金属杆并锁紧，听到“咔嗒”声即完成。</li></ul></li></ol><hr><h3 id="2-安装CPU散热器"><a href="#2-安装CPU散热器" class="headerlink" title="2. 安装CPU散热器"></a><strong>2. 安装CPU散热器</strong></h3><ol><li><strong>涂抹硅脂</strong>  <ul><li>若散热器无预涂硅脂，在CPU中心挤黄豆大小硅脂（无需覆盖整个表面）。</li></ul></li><li><strong>固定散热器</strong>  <ul><li>对准主板孔位，用螺丝或卡扣固定散热器（需均匀施力）。</li></ul></li><li><strong>连接电源</strong>  <ul><li>将散热器风扇线插入主板标有<code>CPU_FAN</code>的接口。</li></ul></li></ol><hr><h3 id="3-安装内存条"><a href="#3-安装内存条" class="headerlink" title="3. 安装内存条"></a><strong>3. 安装内存条</strong></h3><ol><li><strong>打开卡扣</strong>  <ul><li>拨开内存插槽两侧的卡扣。</li></ul></li><li><strong>插入内存</strong>  <ul><li>对齐内存缺口与插槽，双手按压两端直至卡扣自动闭合。</li></ul></li><li><strong>双通道建议</strong>  <ul><li>两根内存优先插在2&#x2F;4槽（参考主板说明书）。</li></ul></li></ol><hr><h3 id="4-安装主板到机箱"><a href="#4-安装主板到机箱" class="headerlink" title="4. 安装主板到机箱"></a><strong>4. 安装主板到机箱</strong></h3><ol><li><strong>固定铜柱</strong>  <ul><li>确保机箱内铜柱位置与主板孔位匹配（多余铜柱需移除）。</li></ul></li><li><strong>安装I&#x2F;O挡板</strong>  <ul><li>将主板附带的金属挡板卡入机箱后部对应位置。</li></ul></li><li><strong>固定主板</strong>  <ul><li>主板对齐挡板放入机箱，用螺丝对角固定（避免主板变形）。</li></ul></li></ol><hr><h3 id="5-安装电源"><a href="#5-安装电源" class="headerlink" title="5. 安装电源"></a><strong>5. 安装电源</strong></h3><ol><li><strong>放置电源</strong>  <ul><li>电源风扇面朝下（底部通风机箱）或朝向机箱外侧。</li></ul></li><li><strong>固定电源</strong>  <ul><li>用4颗螺丝将电源固定在机箱电源仓。</li></ul></li><li><strong>连接供电线</strong>  <ul><li>插入24pin主板供电线（主供电接口）  </li><li>插入4+4pin或8pin CPU供电线（主板左上角）。</li></ul></li></ol><h3 id="6-安装硬盘"><a href="#6-安装硬盘" class="headerlink" title="6. 安装硬盘"></a><strong>6. 安装硬盘</strong></h3><h4 id="M-2-SSD安装"><a href="#M-2-SSD安装" class="headerlink" title="M.2 SSD安装"></a><strong>M.2 SSD安装</strong></h4><ol><li>拧开主板M.2插槽螺丝。  </li><li>倾斜30°插入SSD，压平后用螺丝固定。</li></ol><h4 id="SATA硬盘安装"><a href="#SATA硬盘安装" class="headerlink" title="SATA硬盘安装"></a><strong>SATA硬盘安装</strong></h4><ol><li>将硬盘固定在机箱硬盘架。  </li><li>连接SATA数据线（主板↔硬盘）和电源线（电源↔硬盘）。</li></ol><h3 id="7-安装显卡"><a href="#7-安装显卡" class="headerlink" title="7. 安装显卡"></a><strong>7. 安装显卡</strong></h3><ol><li><strong>打开PCIe插槽卡扣</strong>  <ul><li>找到主板PCIe x16插槽（通常为最靠近CPU的长插槽）。</li></ul></li><li><strong>插入显卡</strong>  <ul><li>显卡金手指对准插槽，垂直按压到底直至卡扣闭合。</li></ul></li><li><strong>固定与供电</strong>  <ul><li>用螺丝将显卡固定在机箱后部。  </li><li>连接电源的6+2pin或8pin供电线到显卡。</li></ul></li></ol><h3 id="8-连接机箱线材"><a href="#8-连接机箱线材" class="headerlink" title="8. 连接机箱线材"></a><strong>8. 连接机箱线材</strong></h3><ol><li><strong>前面板线</strong>  <ul><li><code>Power SW</code>（电源开关）  </li><li><code>Reset SW</code>（重启键）  </li><li><code>HDD LED</code>（硬盘指示灯）  </li><li><code>USB 3.0</code>&#x2F;<code>Type-C</code>线  </li><li><code>HD Audio</code>（音频接口）  </li><li><strong>接法参考主板说明书标注！</strong></li></ul></li><li><strong>风扇线</strong>  <ul><li>机箱风扇插到主板的<code>SYS_FAN</code>接口。</li></ul></li></ol><h2 id="通电前检查"><a href="#通电前检查" class="headerlink" title="通电前检查"></a><strong>通电前检查</strong></h2><ul><li>🔌 所有供电线（主板、CPU、显卡）是否插紧。  </li><li>❄️ CPU散热器、内存、显卡是否安装牢固。  </li><li>🧲 机箱内无多余螺丝或金属碎屑。</li></ul><h2 id="首次开机与系统安装"><a href="#首次开机与系统安装" class="headerlink" title="首次开机与系统安装"></a><strong>首次开机与系统安装</strong></h2><ol><li><strong>连接外设</strong>  <ul><li>显示器、键盘、鼠标接好，通电开机。</li></ul></li><li><strong>进入BIOS</strong>  <ul><li>开机时按<code>Del</code>&#x2F;<code>F2</code>键，检查硬件识别状态（CPU、内存、硬盘）。</li></ul></li><li><strong>安装系统</strong>  <ul><li>插入Windows系统U盘，重启选择U盘启动。  </li><li>按提示分区并安装系统（建议系统盘用SSD）。</li></ul></li></ol><h2 id="常见问题排查"><a href="#常见问题排查" class="headerlink" title="常见问题排查"></a><strong>常见问题排查</strong></h2><table><thead><tr><th>问题</th><th>解决方案</th></tr></thead><tbody><tr><td><strong>开机无反应</strong></td><td>检查电源开关线、主板供电线是否接对。</td></tr><tr><td><strong>CPU温度过高</strong></td><td>重新安装散热器，检查硅脂是否均匀。</td></tr><tr><td><strong>显示器无信号</strong></td><td>确认显示器线插在显卡（非主板），检查显卡供电。</td></tr></tbody></table><p><strong>完成！🎉 现在你可以享受亲手组装的电脑了！</strong></p>]]></content>
    
    
    <summary type="html">一份从零开始的电脑组装终极指南。本文不仅详细讲解了CPU、主板、内存等所有核心硬件的功能与选购要点，更提供了包含防静电、理线、接线在内的完整装机步骤与图文教程，手把手助你成功打造第一台属于自己的电脑。</summary>
    
    
    
    <category term="DIY" scheme="https://www.adaiblog.github.io/categories/DIY/"/>
    
    
    <category term="组装电脑" scheme="https://www.adaiblog.github.io/tags/%E7%BB%84%E8%A3%85%E7%94%B5%E8%84%91/"/>
    
  </entry>
  
  <entry>
    <title>自制奶茶</title>
    <link href="https://www.adaiblog.github.io/posts/cmguo4n8f005ua9s6gmwi92dq.html"/>
    <id>https://www.adaiblog.github.io/posts/cmguo4n8f005ua9s6gmwi92dq.html</id>
    <published>2025-03-03T07:35:16.000Z</published>
    <updated>2025-10-17T09:49:11.287Z</updated>
    
    <content type="html"><![CDATA[<h1 id="茉莉雪芽奶茶"><a href="#茉莉雪芽奶茶" class="headerlink" title="茉莉雪芽奶茶"></a>茉莉雪芽奶茶</h1><h2 id="泡茶水"><a href="#泡茶水" class="headerlink" title="泡茶水"></a>泡茶水</h2><table><thead><tr><th align="center">杯数(450ml&#x2F;杯)</th><th align="center">茶量(g)</th><th align="center">水量(ml)</th><th align="center">水温(℃)</th><th align="center">闷泡时间(分钟)</th><th align="center">冰块(g)</th><th align="center">保存方式</th></tr></thead><tbody><tr><td align="center">1</td><td align="center">6</td><td align="center">215</td><td align="center">80</td><td align="center">7.5</td><td align="center">77</td><td align="center">常温</td></tr><tr><td align="center">2</td><td align="center">12</td><td align="center">430</td><td align="center">80</td><td align="center">7.5</td><td align="center">154</td><td align="center">常温</td></tr><tr><td align="center">3</td><td align="center">18</td><td align="center">645</td><td align="center">80</td><td align="center">7.5</td><td align="center">231</td><td align="center">常温</td></tr><tr><td align="center">4</td><td align="center">24</td><td align="center">860</td><td align="center">80</td><td align="center">7.5</td><td align="center">308</td><td align="center">常温</td></tr><tr><td align="center">5</td><td align="center">30</td><td align="center">1075</td><td align="center">80</td><td align="center">7.5</td><td align="center">385</td><td align="center">常温</td></tr></tbody></table><h2 id="制作"><a href="#制作" class="headerlink" title="制作"></a>制作</h2><table><thead><tr><th align="center">杯数</th><th align="center">冰糖(g)</th><th align="center">冰勃朗(ml)</th><th align="center">牛奶(ml)</th><th align="center">茶水(ml)</th></tr></thead><tbody><tr><td align="center">1</td><td align="center">33</td><td align="center">35</td><td align="center">90</td><td align="center">290</td></tr><tr><td align="center">2</td><td align="center">66</td><td align="center">70</td><td align="center">180</td><td align="center">580</td></tr><tr><td align="center">3</td><td align="center">99</td><td align="center">105</td><td align="center">270</td><td align="center">870</td></tr><tr><td align="center">4</td><td align="center">132</td><td align="center">140</td><td align="center">360</td><td align="center">1160</td></tr><tr><td align="center">5</td><td align="center">165</td><td align="center">175</td><td align="center">450</td><td align="center">1450</td></tr></tbody></table><h1 id="铁观音奶茶"><a href="#铁观音奶茶" class="headerlink" title="铁观音奶茶"></a>铁观音奶茶</h1><h2 id="泡茶水-1"><a href="#泡茶水-1" class="headerlink" title="泡茶水"></a>泡茶水</h2><table><thead><tr><th align="center">杯数(450ml&#x2F;杯)</th><th align="center">茶量(g)</th><th align="center">水量(ml)</th><th align="center">水温(℃)</th><th align="center">闷泡时间(分钟)</th><th align="center">冰块(g)</th><th align="center">保存方式</th></tr></thead><tbody><tr><td align="center">1</td><td align="center">6.4</td><td align="center">210</td><td align="center">93</td><td align="center">14</td><td align="center">80</td><td align="center">冷藏</td></tr><tr><td align="center">2</td><td align="center">12.8</td><td align="center">420</td><td align="center">93</td><td align="center">14</td><td align="center">160</td><td align="center">冷藏</td></tr><tr><td align="center">3</td><td align="center">19.2</td><td align="center">630</td><td align="center">93</td><td align="center">14</td><td align="center">240</td><td align="center">冷藏</td></tr><tr><td align="center">4</td><td align="center">25.6</td><td align="center">840</td><td align="center">93</td><td align="center">14</td><td align="center">320</td><td align="center">冷藏</td></tr><tr><td align="center">5</td><td align="center">32</td><td align="center">1050</td><td align="center">93</td><td align="center">14</td><td align="center">400</td><td align="center">冷藏</td></tr></tbody></table><h2 id="制作-1"><a href="#制作-1" class="headerlink" title="制作"></a>制作</h2><table><thead><tr><th align="center">杯数</th><th align="center">冰糖(g)</th><th align="center">冰勃朗(ml)</th><th align="center">牛奶(ml)</th><th align="center">茶水(ml)</th></tr></thead><tbody><tr><td align="center">1</td><td align="center">33</td><td align="center">35</td><td align="center">90</td><td align="center">290</td></tr><tr><td align="center">2</td><td align="center">66</td><td align="center">70</td><td align="center">180</td><td align="center">580</td></tr><tr><td align="center">3</td><td align="center">99</td><td align="center">105</td><td align="center">270</td><td align="center">870</td></tr><tr><td align="center">4</td><td align="center">132</td><td align="center">140</td><td align="center">360</td><td align="center">1160</td></tr><tr><td align="center">5</td><td align="center">165</td><td align="center">175</td><td align="center">450</td><td align="center">1450</td></tr></tbody></table><h1 id="白桃乌龙奶茶"><a href="#白桃乌龙奶茶" class="headerlink" title="白桃乌龙奶茶"></a>白桃乌龙奶茶</h1><h2 id="泡茶水-2"><a href="#泡茶水-2" class="headerlink" title="泡茶水"></a>泡茶水</h2><table><thead><tr><th align="center">杯数(450ml&#x2F;杯)</th><th align="center">茶量(g)</th><th align="center">水量(ml)</th><th align="center">水温(℃)</th><th align="center">闷泡时间(分钟)</th><th align="center">冰块(g)</th><th align="center">保存方式</th></tr></thead><tbody><tr><td align="center">1</td><td align="center">6.3</td><td align="center">200</td><td align="center">89</td><td align="center">12</td><td align="center">86</td><td align="center">常温</td></tr><tr><td align="center">2</td><td align="center">12.6</td><td align="center">400</td><td align="center">89</td><td align="center">12</td><td align="center">172</td><td align="center">常温</td></tr><tr><td align="center">3</td><td align="center">18.9</td><td align="center">600</td><td align="center">89</td><td align="center">12</td><td align="center">258</td><td align="center">常温</td></tr><tr><td align="center">4</td><td align="center">25.2</td><td align="center">800</td><td align="center">89</td><td align="center">12</td><td align="center">344</td><td align="center">常温</td></tr><tr><td align="center">5</td><td align="center">31.5</td><td align="center">1000</td><td align="center">89</td><td align="center">12</td><td align="center">430</td><td align="center">常温</td></tr></tbody></table><h2 id="制作-2"><a href="#制作-2" class="headerlink" title="制作"></a>制作</h2><table><thead><tr><th align="center">杯数</th><th align="center">冰糖(g)</th><th align="center">冰勃朗(ml)</th><th align="center">牛奶(ml)</th><th align="center">茶水(ml)</th></tr></thead><tbody><tr><td align="center">1</td><td align="center">33</td><td align="center">30</td><td align="center">100</td><td align="center">290</td></tr><tr><td align="center">2</td><td align="center">66</td><td align="center">60</td><td align="center">200</td><td align="center">580</td></tr><tr><td align="center">3</td><td align="center">99</td><td align="center">90</td><td align="center">300</td><td align="center">870</td></tr><tr><td align="center">4</td><td align="center">132</td><td align="center">120</td><td align="center">400</td><td align="center">1160</td></tr><tr><td align="center">5</td><td align="center">165</td><td align="center">150</td><td align="center">500</td><td align="center">1450</td></tr></tbody></table><h1 id="大红袍奶茶"><a href="#大红袍奶茶" class="headerlink" title="大红袍奶茶"></a>大红袍奶茶</h1><h2 id="泡茶水-3"><a href="#泡茶水-3" class="headerlink" title="泡茶水"></a>泡茶水</h2><table><thead><tr><th align="center">杯数(450ml&#x2F;杯)</th><th align="center">茶量(g)</th><th align="center">水量(ml)</th><th align="center">水温(℃)</th><th align="center">闷泡时间(分钟)</th><th align="center">冰块(g)</th><th align="center">保存方式</th></tr></thead><tbody><tr><td align="center">1</td><td align="center">4.2</td><td align="center">190</td><td align="center">100</td><td align="center">煮3分钟，泡15分钟</td><td align="center">95</td><td align="center">常温</td></tr><tr><td align="center">2</td><td align="center">8.4</td><td align="center">380</td><td align="center">100</td><td align="center">煮3分钟，泡15分钟</td><td align="center">190</td><td align="center">常温</td></tr><tr><td align="center">3</td><td align="center">12.6</td><td align="center">570</td><td align="center">100</td><td align="center">煮3分钟，泡15分钟</td><td align="center">285</td><td align="center">常温</td></tr><tr><td align="center">4</td><td align="center">16.8</td><td align="center">760</td><td align="center">100</td><td align="center">煮3分钟，泡15分钟</td><td align="center">380</td><td align="center">常温</td></tr><tr><td align="center">5</td><td align="center">21.0</td><td align="center">950</td><td align="center">100</td><td align="center">煮3分钟，泡15分钟</td><td align="center">475</td><td align="center">常温</td></tr></tbody></table><h2 id="制作-3"><a href="#制作-3" class="headerlink" title="制作"></a>制作</h2><table><thead><tr><th align="center">杯数</th><th align="center">冰糖(g)</th><th align="center">冰勃朗(ml)</th><th align="center">牛奶(ml)</th><th align="center">茶水(ml)</th></tr></thead><tbody><tr><td align="center">1</td><td align="center">33</td><td align="center">40</td><td align="center">90</td><td align="center">290</td></tr><tr><td align="center">2</td><td align="center">66</td><td align="center">80</td><td align="center">180</td><td align="center">580</td></tr><tr><td align="center">3</td><td align="center">99</td><td align="center">120</td><td align="center">270</td><td align="center">870</td></tr><tr><td align="center">4</td><td align="center">132</td><td align="center">160</td><td align="center">360</td><td align="center">1160</td></tr><tr><td align="center">5</td><td align="center">165</td><td align="center">200</td><td align="center">450</td><td align="center">1450</td></tr></tbody></table>]]></content>
    
    
    <summary type="html">一份专业级的家庭奶茶制作配方指南。四种经典口味的精确配方，包含详细的茶叶用量、水温、闷泡时间及牛奶糖浆的调配比例，助您轻松复刻门店风味。</summary>
    
    
    
    <category term="美食" scheme="https://www.adaiblog.github.io/categories/%E7%BE%8E%E9%A3%9F/"/>
    
    
    <category term="奶茶" scheme="https://www.adaiblog.github.io/tags/%E5%A5%B6%E8%8C%B6/"/>
    
  </entry>
  
  <entry>
    <title>宫保鸡丁</title>
    <link href="https://www.adaiblog.github.io/posts/gongbaojiding.html"/>
    <id>https://www.adaiblog.github.io/posts/gongbaojiding.html</id>
    <published>2025-03-01T06:18:11.000Z</published>
    <updated>2025-10-17T09:49:11.107Z</updated>
    
    <content type="html"><![CDATA[<p>仅供参考，味道不是很还原，后续改进</p><h1 id="🍗-宫保鸡丁制作配方"><a href="#🍗-宫保鸡丁制作配方" class="headerlink" title="🍗 宫保鸡丁制作配方"></a>🍗 宫保鸡丁制作配方</h1><h2 id="🌶️-核心特点"><a href="#🌶️-核心特点" class="headerlink" title="🌶️ 核心特点"></a>🌶️ 核心特点</h2><ul><li>鸡肉滑嫩 | 花生酥脆 | 酸甜微辣 | 香气浓郁</li></ul><h2 id="🌟-食材清单"><a href="#🌟-食材清单" class="headerlink" title="🌟 食材清单"></a>🌟 食材清单</h2><table><thead><tr><th>类别</th><th>材料</th><th>备注</th></tr></thead><tbody><tr><td>​<strong>主料</strong>​</td><td>鸡腿肉</td><td>去皮切丁，比鸡胸更嫩</td></tr><tr><td>​<strong>辅料</strong>​</td><td>花生米</td><td>生炒更香，可用烤箱180℃烤10分钟替代</td></tr><tr><td>​<strong>配料</strong>​</td><td>葱段，辣椒，花椒</td><td>葱白切段</td></tr><tr><td></td><td>生抽</td><td></td></tr><tr><td></td><td>老抽</td><td>调色</td></tr><tr><td></td><td>白糖</td><td>关键平衡酸甜</td></tr><tr><td></td><td>香醋</td><td></td></tr><tr><td></td><td>油</td><td></td></tr><tr><td></td><td>盐少许</td><td></td></tr><tr><td></td><td>葱姜水</td><td>腌制鸡肉使用</td></tr><tr><td></td><td>玉米淀粉</td><td>给鸡肉锁水</td></tr></tbody></table><h2 id="🔪-四步黄金流程"><a href="#🔪-四步黄金流程" class="headerlink" title="🔪 四步黄金流程"></a>🔪 四步黄金流程</h2><h3 id="①-腌鸡肉：锁住水分"><a href="#①-腌鸡肉：锁住水分" class="headerlink" title="① 腌鸡肉：锁住水分"></a>① 腌鸡肉：锁住水分</h3><p>鸡丁 + 1勺生抽 + 1勺老抽 + 半勺玉米淀粉 + 少许盐 + 少许胡椒粉 + 葱姜水 → 抓匀加少许油腌制半小时<br>⚠️ 油形成保护膜，防止鸡肉脱水变柴！</p><h3 id="②-炸花生：酥脆不油腻"><a href="#②-炸花生：酥脆不油腻" class="headerlink" title="② 炸花生：酥脆不油腻"></a>② 炸花生：酥脆不油腻</h3><ol><li>将带皮花生米放入热水等待外皮褶皱之后加入凉水，外皮一捏就掉。<br>2.冷油下花生米，小火炸至微黄捞出（约2分钟），放凉备用<br>💡 油温过高会焦苦</li></ol><h3 id="③-爆香料汁：激发香气"><a href="#③-爆香料汁：激发香气" class="headerlink" title="③ 爆香料汁：激发香气"></a>③ 爆香料汁：激发香气</h3><p>1勺生抽 + 1勺醋 + 半勺盐 +糖 + 少许胡椒粉 + 少许老抽 + 1勺生粉 → 搅拌均匀</p><h3 id="④-炒制鸡丁：快准狠"><a href="#④-炒制鸡丁：快准狠" class="headerlink" title="④ 炒制鸡丁：快准狠"></a>④ 炒制鸡丁：快准狠</h3><ol><li>热锅冷油（油稍多），下入鸡丁大火滑炒至断生，盛出备用</li><li>另起油锅加入葱段，辣椒，花椒小火煸香  </li><li>放入炒好的鸡丁，倒入料汁，大火翻炒至料汁浓稠 </li><li>出锅前撒入花生米快速翻炒，即可出锅装盘<br>🔥 注意火候！避免糊掉产生苦味</li></ol>]]></content>
    
    
    <summary type="html">最好吃的菜:宫保鸡丁</summary>
    
    
    
    <category term="美食" scheme="https://www.adaiblog.github.io/categories/%E7%BE%8E%E9%A3%9F/"/>
    
    
    <category term="川菜" scheme="https://www.adaiblog.github.io/tags/%E5%B7%9D%E8%8F%9C/"/>
    
  </entry>
  
  <entry>
    <title>家庭网络级解决方案:AdguardHome</title>
    <link href="https://www.adaiblog.github.io/posts/adguardhome.html"/>
    <id>https://www.adaiblog.github.io/posts/adguardhome.html</id>
    <published>2025-02-26T04:29:58.000Z</published>
    <updated>2026-02-25T15:49:49.237Z</updated>
    
    <content type="html"><![CDATA[<h1 id="在-Debian-系统上搭建-AdGuard-Home-的完整教程"><a href="#在-Debian-系统上搭建-AdGuard-Home-的完整教程" class="headerlink" title="在 Debian 系统上搭建 AdGuard Home 的完整教程"></a>在 Debian 系统上搭建 AdGuard Home 的完整教程</h1><h2 id="环境准备"><a href="#环境准备" class="headerlink" title="环境准备"></a>环境准备</h2><h3 id="1-系统要求"><a href="#1-系统要求" class="headerlink" title="1. 系统要求"></a>1. 系统要求</h3><ul><li>​<strong>操作系统</strong>: Linux系统</li><li>​<strong>硬件要求</strong>: AdGuard Home 对内存和 CPU 要求较低，适合在小型设备（如树莓派）上运行。</li><li>​<strong>网络要求</strong>: 公网 IP（可选，用于远程管理）</li></ul><h3 id="2-更新系统包"><a href="#2-更新系统包" class="headerlink" title="2. 更新系统包"></a>2. 更新系统包</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> apt update &amp;&amp; <span class="built_in">sudo</span> apt upgrade -y  </span><br></pre></td></tr></table></figure><h2 id="部署-AdGuard-Home"><a href="#部署-AdGuard-Home" class="headerlink" title="部署 AdGuard Home"></a>部署 AdGuard Home</h2><h3 id="1-下载-AdGuard-Home"><a href="#1-下载-AdGuard-Home" class="headerlink" title="1. 下载 AdGuard Home"></a>1. 下载 AdGuard Home</h3><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">自动安装</button><button type="button" class="tab " data-href="test4-2">Docker</button><button type="button" class="tab " data-href="test4-3">Docker Compose</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><h3 id="1-选择自动安装方式"><a href="#1-选择自动安装方式" class="headerlink" title="1. 选择自动安装方式"></a>1. 选择自动安装方式</h3><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">curl</button><button type="button" class="tab " data-href="test4-2">wget</button><button type="button" class="tab " data-href="test4-3">fetch</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-2"><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">wget --no-verbose -O - https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-3"><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">fetch -o - https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v</span><br></pre></td></tr></table></figure></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h3 id="2-如果系统启用防火墙，需手动开放端口："><a href="#2-如果系统启用防火墙，需手动开放端口：" class="headerlink" title="2. 如果系统启用防火墙，需手动开放端口："></a>2. 如果系统启用防火墙，需手动开放端口：</h3><p>DNS 监听端口（默认 53）和 HTTP 管理端口（默认 3000）</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> ufw allow 53</span><br><span class="line"><span class="built_in">sudo</span> ufw allow 3000/tcp</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-2"><p>安装<a href="https://adaiblog.github.io/posts/docker.html">docker</a></p><ol><li>拉取 Docker 镜像<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">docker pull adguard/adguardhome</span><br></pre></td></tr></table></figure></li><li>创建并运行容器<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><span class="line">docker run --name adguardhome\</span><br><span class="line">    --restart unless-stopped\</span><br><span class="line">    -v /my/own/workdir:/opt/adguardhome/work\</span><br><span class="line">    -v /my/own/confdir:/opt/adguardhome/conf\</span><br><span class="line">    -p 53:53/tcp -p 53:53/udp\</span><br><span class="line">    -p 67:67/udp -p 68:68/udp\</span><br><span class="line">    -p 80:80/tcp -p 443:443/tcp -p 443:443/udp -p 3000:3000/tcp\</span><br><span class="line">    -p 853:853/tcp\</span><br><span class="line">    -p 853:853/udp\</span><br><span class="line">    -p 5443:5443/tcp -p 5443:5443/udp\</span><br><span class="line">    -p 6060:6060/tcp\</span><br><span class="line">    -d adguard/adguardhome</span><br></pre></td></tr></table></figure><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 参数说明</span></span><br><span class="line"><span class="string">--name</span> <span class="string">adguardhome</span> <span class="string">\</span>  <span class="comment">#指定容器名称为 adguardhome，方便后续通过名称管理容器（如启动、停止、删除等）</span></span><br><span class="line"><span class="string">--restart</span> <span class="string">unless-stopped</span> <span class="string">\</span>  <span class="comment">#设置容器重启策略：除非手动停止，否则容器退出时自动重启（确保服务持续运行）</span></span><br><span class="line"><span class="string">-v</span> <span class="string">/my/own/workdir:/opt/adguardhome/work</span> <span class="string">\</span> <span class="comment">#挂载主机目录到容器工作目录：主机目录 /my/own/workdir &lt;-&gt; 容器内 /opt/adguardhome/work 用于持久化存储 AdGuard Home 的工作数据（如过滤规则、查询日志、缓存等）</span></span><br><span class="line"><span class="string">-v</span> <span class="string">/my/own/confdir:/opt/adguardhome/conf</span> <span class="string">\</span> <span class="comment">#挂载主机目录到容器配置目录：主机目录 /my/own/confdir &lt;-&gt; 容器内 /opt/adguardhome/conf 用于持久化存储配置文件（如 AdGuardHome.yaml），避免容器删除后配置丢失</span></span><br><span class="line"><span class="string">-p</span> <span class="number">53</span><span class="string">:53/tcp</span> <span class="string">-p</span> <span class="number">53</span><span class="string">:53/udp</span> <span class="string">\</span> <span class="comment">#映射 DNS 服务端口（TCP+UDP）：主机 53 端口 &lt;-&gt; 容器 53 端口 53 是 DNS 协议默认端口，AdGuard Home 作为 DNS 服务器需监听此端口处理域名解析请求</span></span><br><span class="line"><span class="string">-p</span> <span class="number">67</span><span class="string">:67/udp</span> <span class="string">-p</span> <span class="number">68</span><span class="string">:68/udp</span> <span class="string">\</span> <span class="comment">#映射 DHCP 服务端口（UDP）：主机 67/68 端口 &lt;-&gt; 容器 67/68 端口 67 是 DHCP 服务器端口，68 是 DHCP 客户端端口，启用 AdGuard Home 的 DHCP 功能时需要</span></span><br><span class="line"><span class="string">-p</span> <span class="number">80</span><span class="string">:80/tcp</span> <span class="string">\</span> <span class="comment">#映射 HTTP 端口（TCP）：主机 80 端口 &lt;-&gt; 容器 80 端口 用于处理 HTTP 请求（如 Web 管理界面的 HTTP 访问、广告过滤的 HTTP 请求拦截等）</span></span><br><span class="line"><span class="string">-p</span> <span class="number">443</span><span class="string">:443/tcp</span> <span class="string">-p</span> <span class="number">443</span><span class="string">:443/udp</span> <span class="string">\</span> <span class="comment">#映射 HTTPS 及相关加密端口（TCP+UDP）：主机 443 端口 &lt;-&gt; 容器 443 端口 TCP 用于 HTTPS 协议（Web 管理界面的 HTTPS 访问），UDP 可能用于 DNS-over-HTTPS（DoH）等加密通信</span></span><br><span class="line"><span class="string">-p</span> <span class="number">3000</span><span class="string">:3000/tcp</span> <span class="string">\</span> <span class="comment">#映射初始配置界面端口（TCP）：主机 3000 端口 &lt;-&gt; 容器 3000 端口 首次启动 AdGuard Home 时，通过此端口访问初始化配置界面（如设置管理员账号、DNS 上游等）</span></span><br><span class="line"><span class="string">-p</span> <span class="number">853</span><span class="string">:853/tcp</span> <span class="string">-p</span> <span class="number">853</span><span class="string">:853/udp</span> <span class="string">\</span> <span class="comment">#映射 DNS-over-TLS/QUIC 端口（TCP+UDP）：主机 853 端口 &lt;-&gt; 容器 853 端口 853 是 DNS-over-TLS（DoT）的标准端口（TCP），同时也用于 DNS-over-QUIC（DoQ）（UDP，符合 RFC 规范）</span></span><br><span class="line"><span class="string">-p</span> <span class="number">5443</span><span class="string">:5443/tcp</span> <span class="string">-p</span> <span class="number">5443</span><span class="string">:5443/udp</span> <span class="string">\</span> <span class="comment">#映射备用加密服务端口（TCP+UDP）：主机 5443 端口 &lt;-&gt; 容器 5443 端口 常用于 DNS-over-HTTPS（DoH）的备用端口，或其他加密管理服务</span></span><br><span class="line"><span class="string">-p</span> <span class="number">6060</span><span class="string">:6060/tcp</span> <span class="string">\</span> <span class="comment">#映射性能分析端口（TCP）：主机 6060 端口 &lt;-&gt; 容器 6060 端口 对应配置中 pprof.port，用于 AdGuard Home 的性能分析和调试（如 Go 语言的 pprof 工具）</span></span><br><span class="line"><span class="string">-d</span> <span class="string">adguard/adguardhome</span> <span class="string">-d</span> <span class="comment">#表示后台运行容器；adguard/adguardhome 是使用的 Docker 镜像名称</span></span><br></pre></td></tr></table></figure></li></ol><h3 id="控制指令"><a href="#控制指令" class="headerlink" title="控制指令"></a>控制指令</h3><p>启动</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">docker start adguardhome </span><br></pre></td></tr></table></figure><p>停止</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">docker stop adguardhome</span><br></pre></td></tr></table></figure><p>删除</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">docker <span class="built_in">rm</span> adguardhome</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-3"><ol><li>安装<a href="https://adaiblog.github.io/posts/docker.html">docker和Docker-Composr</a><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">mkdir</span> adguardhome &amp;&amp; <span class="built_in">cd</span> adguardhome</span><br></pre></td></tr></table></figure></li><li>创建 docker-compose.yml<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">nano docker-compose.yml</span><br></pre></td></tr></table></figure></li><li>编写<strong>docker-compose.yml</strong><kbd>Ctrl</kbd> + <kbd>X</kbd>按<kbd>Y</kbd>，<kbd>Enter</kbd>保存<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br></pre></td><td class="code"><pre><span class="line">version: <span class="string">&#x27;3&#x27;</span>  <span class="comment"># 指定Docker Compose文件格式版本（v3兼容大多数现代Docker环境）</span></span><br><span class="line"></span><br><span class="line">services:</span><br><span class="line">  adguardhome:  <span class="comment"># 定义服务名称为adguardhome</span></span><br><span class="line">    image: adguard/adguardhome:latest  <span class="comment"># 使用AdGuard Home官方最新镜像</span></span><br><span class="line">    container_name: adguardhome  <span class="comment"># 指定容器名称，便于通过名称管理（如启动、停止）</span></span><br><span class="line">    restart: unless-stopped  <span class="comment"># 容器重启策略：除非手动停止，否则退出后自动重启（保证服务持续运行）</span></span><br><span class="line">    <span class="comment"># 使用命名卷存储数据，无需手动创建主机目录，由Docker自动管理</span></span><br><span class="line">    volumes:</span><br><span class="line">      - adguard_work:/opt/adguardhome/work  <span class="comment"># 命名卷adguard_work映射到容器工作目录：</span></span><br><span class="line">                                            <span class="comment"># 存储过滤规则、查询日志、缓存等动态数据，数据持久化且独立于容器生命周期</span></span><br><span class="line">      - adguard_conf:/opt/adguardhome/conf  <span class="comment"># 命名卷adguard_conf映射到容器配置目录：</span></span><br><span class="line">                                            <span class="comment"># 存储核心配置文件（如AdGuardHome.yaml），确保配置不丢失</span></span><br><span class="line">    ports:  <span class="comment"># 端口映射（主机端口:容器端口），按需保留或删除</span></span><br><span class="line">      - <span class="string">&quot;53:53/tcp&quot;</span>     <span class="comment"># 普通DNS服务（TCP协议）</span></span><br><span class="line">      - <span class="string">&quot;53:53/udp&quot;</span>     <span class="comment"># 普通DNS服务（UDP协议，DNS主要使用UDP）</span></span><br><span class="line">      - <span class="string">&quot;67:67/udp&quot;</span>     <span class="comment"># DHCP服务器端口（如需用AdGuard作为DHCP服务器则保留）</span></span><br><span class="line">      - <span class="string">&quot;68:68/udp&quot;</span>     <span class="comment"># DHCP客户端端口（配合DHCP服务器使用）</span></span><br><span class="line">      - <span class="string">&quot;80:80/tcp&quot;</span>     <span class="comment"># HTTP端口：用于Web管理界面访问、广告过滤的HTTP请求拦截</span></span><br><span class="line">      - <span class="string">&quot;443:443/tcp&quot;</span>   <span class="comment"># HTTPS端口：用于加密管理界面访问、DNS-over-HTTPS（DoH）服务</span></span><br><span class="line">      - <span class="string">&quot;443:443/udp&quot;</span>   <span class="comment"># 443端口UDP：支持DoH相关的UDP通信</span></span><br><span class="line">      - <span class="string">&quot;3000:3000/tcp&quot;</span> <span class="comment"># 初始化配置端口：首次启动时通过此端口访问设置界面（配置完成后可关闭）</span></span><br><span class="line">      - <span class="string">&quot;853:853/tcp&quot;</span>   <span class="comment"># DNS-over-TLS（DoT）服务端口（加密DNS协议）</span></span><br><span class="line">      - <span class="string">&quot;853:853/udp&quot;</span>   <span class="comment"># DNS-over-QUIC（DoQ）服务端口（基于QUIC的加密DNS）</span></span><br><span class="line">      - <span class="string">&quot;5443:5443/tcp&quot;</span> <span class="comment"># DNSCrypt服务端口（另一种加密DNS协议）</span></span><br><span class="line">      - <span class="string">&quot;5443:5443/udp&quot;</span> <span class="comment"># DNSCrypt服务的UDP端口</span></span><br><span class="line">      - <span class="string">&quot;6060:6060/tcp&quot;</span> <span class="comment"># 调试端口：用于性能分析（如Go语言pprof工具），非必要可删除</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 定义命名卷（Docker会自动在宿主机创建并管理这些卷的存储路径，通常在/var/lib/docker/volumes/）</span></span><br><span class="line">volumes:</span><br><span class="line">  adguard_work:  <span class="comment"># 卷名称：对应容器内的工作目录，存储动态数据</span></span><br><span class="line">  adguard_conf:  <span class="comment"># 卷名称：对应容器内的配置目录，存储核心配置</span></span><br></pre></td></tr></table></figure></li><li>启动 AdGuard Home</li></ol><ul><li>启动容器<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">docker-compose up -d</span><br></pre></td></tr></table></figure></li><li>查看容器状态<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">docker-compose ps</span><br></pre></td></tr></table></figure></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h2 id="首次配置"><a href="#首次配置" class="headerlink" title="首次配置"></a>首次配置</h2><h3 id="1-访问管理界面"><a href="#1-访问管理界面" class="headerlink" title="1. 访问管理界面"></a>1. 访问管理界面</h3><ul><li>​<strong>本地访问</strong>: <code>http://主机IP地址:3000</code>  </li><li>​<strong>远程访问</strong>: <code>http://&lt;你的服务器IP&gt;:3000</code></li></ul><h3 id="2-初始设置步骤"><a href="#2-初始设置步骤" class="headerlink" title="2. 初始设置步骤"></a>2. 初始设置步骤</h3><ol><li>选择语言（如中文），点击 ​<strong>Next</strong>。  </li><li>阅读并接受服务条款，点击 ​<strong>Next</strong>。  </li><li>设置管理员账户的用户名和密码。  </li><li>完成配置后登录管理后台。</li></ol><h2 id="关键配置说明"><a href="#关键配置说明" class="headerlink" title="关键配置说明"></a>关键配置说明</h2><h3 id="1-广告拦截规则"><a href="#1-广告拦截规则" class="headerlink" title="1. 广告拦截规则"></a>1. 广告拦截规则</h3><ul><li>​<strong>默认规则</strong>：系统已预装基础广告过滤规则。  </li><li>​<strong>自定义规则</strong>:  <ul><li>进入 ​<strong>Filtering → Rulesets → Manual</strong>，输入规则链接（例如 <code>https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt</code>）。</li></ul></li></ul><h3 id="2-家长控制"><a href="#2-家长控制" class="headerlink" title="2. 家长控制"></a>2. 家长控制</h3><ul><li>​<strong>内容过滤</strong>:  <ul><li>在 ​<strong>Parent Control → Content Blocking</strong>​ 中勾选需要屏蔽的类别（如成人内容、赌博）。</li></ul></li><li>​<strong>屏幕时间管理</strong>:  <ul><li>在 ​<strong>Screen Time</strong>​ 中设置设备可用时间段（例如每天 18:00-22:00）。</li></ul></li></ul><h3 id="3-网络监控"><a href="#3-网络监控" class="headerlink" title="3. 网络监控"></a>3. 网络监控</h3><ul><li>查看实时流量：进入 ​<strong>Network → Dashboard</strong>​ 查看各设备的连接状态和 DNS 请求统计。</li></ul><h2 id="更新和卸载"><a href="#更新和卸载" class="headerlink" title="更新和卸载"></a>更新和卸载</h2><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">自动更新</button><button type="button" class="tab " data-href="test4-2">Docker</button><button type="button" class="tab " data-href="test4-3">Docker-Compose</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">### 更新</span></span><br><span class="line"><span class="comment"># 1. 停止 AdGuard Home 服务 </span></span><br><span class="line"><span class="string">sudo</span> <span class="string">systemctl</span> <span class="string">stop</span> <span class="string">AdGuardHome</span></span><br><span class="line"><span class="comment"># 2. 重新运行自动安装脚本(curl,wget,fetch)</span></span><br><span class="line"><span class="comment"># 3. 重启服务</span></span><br><span class="line"><span class="string">sudo</span> <span class="string">systemctl</span> <span class="string">start</span> <span class="string">AdGuardHome</span></span><br><span class="line"><span class="comment"># 4. 验证版本</span></span><br><span class="line"><span class="string">/opt/AdGuardHome/AdGuardHome</span> <span class="string">--version</span></span><br><span class="line"></span><br><span class="line"><span class="comment">### 卸载</span></span><br><span class="line"><span class="comment"># 1. 停止并禁用服务</span></span><br><span class="line"><span class="string">sudo</span> <span class="string">systemctl</span> <span class="string">stop</span> <span class="string">AdGuardHome</span></span><br><span class="line"><span class="string">sudo</span> <span class="string">systemctl</span> <span class="string">disable</span> <span class="string">AdGuardHome</span></span><br><span class="line"><span class="comment"># 2. 执行卸载命令</span></span><br><span class="line"><span class="string">sudo</span> <span class="string">/opt/AdGuardHome/AdGuardHome</span> <span class="string">-s</span> <span class="string">uninstall</span></span><br><span class="line"><span class="comment"># 3. 清理残留文件</span></span><br><span class="line"><span class="string">sudo</span> <span class="string">rm</span> <span class="string">-rf</span> <span class="string">/opt/AdGuardHome</span></span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-2"><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">### 更新</span></span><br><span class="line"><span class="comment"># 1. 从 Docker Hub 中拉出新版本</span></span><br><span class="line"><span class="string">docker</span> <span class="string">pull</span> <span class="string">adguard/adguardhome</span> </span><br><span class="line"><span class="comment"># 2. 停止当前运行的容器</span></span><br><span class="line"><span class="string">docker</span> <span class="string">stop</span> <span class="string">adguardhome</span> </span><br><span class="line"><span class="comment"># 3. 移除当前运行的容器</span></span><br><span class="line"><span class="string">docker</span> <span class="string">rm</span> <span class="string">adguardhome</span> </span><br><span class="line"><span class="comment"># 4. 再次创建并运行容器，如果之前自定义过端口或挂载目录，重新创建时务必保持参数一致，否则可能导致配置或数据丢失</span></span><br><span class="line"></span><br><span class="line"><span class="comment">### 卸载</span></span><br><span class="line"><span class="comment"># 1. 停止当前运行的容器</span></span><br><span class="line"><span class="string">docker</span> <span class="string">stop</span> <span class="string">adguardhome</span> </span><br><span class="line"><span class="comment"># 2. 移除当前运行的容器</span></span><br><span class="line"><span class="string">docker</span> <span class="string">rm</span> <span class="string">adguardhome</span> </span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-3"><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">### 更新</span></span><br><span class="line"><span class="comment"># 1. 拉取最新镜像</span></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">pull</span> </span><br><span class="line"><span class="comment"># 2. 重新部署容器</span></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">up</span> <span class="string">-d</span> </span><br><span class="line"></span><br><span class="line"><span class="comment">### 卸载</span></span><br><span class="line"><span class="comment"># 进入存放adguard home的docker compose文件夹</span></span><br><span class="line"><span class="comment"># 基础删除（保留数据卷，仅删除容器和网络）</span></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">down</span> </span><br><span class="line"><span class="comment">#彻底删除（包括数据卷，数据会丢失）</span></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">down</span> <span class="string">-v</span> </span><br><span class="line"><span class="comment">#额外清理（删除未使用的镜像）</span></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">down</span> <span class="string">--rmi</span> <span class="string">all</span> </span><br></pre></td></tr></table></figure></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h2 id="常见问题"><a href="#常见问题" class="headerlink" title="常见问题"></a>常见问题</h2><h3 id="1-无法访问管理界面"><a href="#1-无法访问管理界面" class="headerlink" title="1. 无法访问管理界面"></a>1. 无法访问管理界面</h3><p>开放防火墙端口  </p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> ufw allow 3000/tcp  </span><br><span class="line"><span class="built_in">sudo</span> ufw reload  </span><br></pre></td></tr></table></figure><h3 id="2-集成到路由器"><a href="#2-集成到路由器" class="headerlink" title="2. 集成到路由器"></a>2. 集成到路由器</h3><ul><li>在路由器设置中将 DNS 服务器地址指向 AdGuard Home 的 IP（例如 <code>192.168.1.100:53</code>）。</li></ul><p><strong>参考文档</strong>:<br><a href="https://adguardhome.org/docs/">AdGuard Home 官方文档</a>  </p>]]></content>
    
    
    <summary type="html">本指南详细介绍如何在 Debian 系统或 Docker 中部署 AdGuard Home，为您的家庭网络提供全面的广告拦截、恶意软件防护、家长内容控制以及详尽的设备网络活动监控，打造更清洁、更安全的上网环境。</summary>
    
    
    
    <category term="服务器" scheme="https://www.adaiblog.github.io/categories/%E6%9C%8D%E5%8A%A1%E5%99%A8/"/>
    
    
    <category term="网络" scheme="https://www.adaiblog.github.io/tags/%E7%BD%91%E7%BB%9C/"/>
    
    <category term="Docker" scheme="https://www.adaiblog.github.io/tags/Docker/"/>
    
  </entry>
  
  <entry>
    <title>一站式聚合多平台存储的利器：OpenList</title>
    <link href="https://www.adaiblog.github.io/posts/alist.html"/>
    <id>https://www.adaiblog.github.io/posts/alist.html</id>
    <published>2025-02-07T05:01:14.000Z</published>
    <updated>2026-02-25T15:49:48.725Z</updated>
    
    <content type="html"><![CDATA[<div class="note danger simple"><p>Alist已被出售给其他公司，请谨慎使用!</p></div><p>使用Alist Helper图像化Alist&#x2F;Openlist和Rclone挂载云盘到本地使用。</p><h1 id="OpenList-是什么？"><a href="#OpenList-是什么？" class="headerlink" title="OpenList 是什么？"></a>OpenList 是什么？</h1><p>OpenList 是一款开源的文件列表程序，支持将 20+种存储服务（如阿里云盘、百度网盘、OneDrive、Google Drive、本地存储等）统一挂载到同一个Web界面中，实现多平台文件集中管理和分享。其特点包括：</p><ul><li>📁 免费开源（GitHub可查源码）</li><li>🌐 支持WebDAV协议</li><li>🔒 密码保护和权限管理</li><li>📱 响应式设计（适配手机&#x2F;电脑）</li><li>🚀 Docker一键部署</li></ul><h1 id="Linux部署"><a href="#Linux部署" class="headerlink" title="Linux部署"></a>Linux部署</h1><ol><li><p>创建并进入openlist文件夹，编辑<code>docker-compose.yml</code></p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">mkdir</span> openlist &amp;&amp; <span class="built_in">cd</span> oepnlist</span><br><span class="line">nano docker-compose.yml</span><br></pre></td></tr></table></figure></li><li><p>编辑<code>docker-compose.yml</code>内容<kbd>Ctrl</kbd> + <kbd>X</kbd>按<kbd>Y</kbd>，<kbd>Enter</kbd>保存</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">services:</span></span><br><span class="line">  <span class="attr">openlist:</span></span><br><span class="line">    <span class="attr">image:</span> <span class="string">&#x27;openlistteam/openlist:latest&#x27;</span></span><br><span class="line">    <span class="attr">container_name:</span> <span class="string">openlist</span></span><br><span class="line">    <span class="attr">user:</span> <span class="string">&#x27;0:0&#x27;</span> <span class="comment"># 替换成自己的user ID:group ID</span></span><br><span class="line">    <span class="attr">volumes:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">&#x27;./data:/opt/openlist/data&#x27;</span></span><br><span class="line">    <span class="attr">ports:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">&#x27;5244:5244&#x27;</span></span><br><span class="line">    <span class="attr">environment:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">UMASK=022</span></span><br><span class="line">    <span class="attr">restart:</span> <span class="string">unless-stopped</span></span><br></pre></td></tr></table></figure><p>查询Linux当前user ID和group ID</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">id</span> 用户名</span><br></pre></td></tr></table></figure><p><img src="/img/posts/alist/id.jpg"></p></li><li><p>启动docker</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">docker compose up -d</span><br></pre></td></tr></table></figure></li><li><p>查看docker日志获取登录密码<br><img src="/img/posts/alist/openlist.jpg"></p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">docker compose logs openlist</span><br></pre></td></tr></table></figure><p>如果报错提示没有访问权限,赋予用户文件夹读取权限即可</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> <span class="built_in">chown</span> -R user ID:group ID data</span><br></pre></td></tr></table></figure></li><li><p>服务器ip:5244进入openlist登录页面。</p></li></ol><h2 id="设置本地储存"><a href="#设置本地储存" class="headerlink" title="设置本地储存"></a>设置本地储存</h2><ol><li>确认容器内 &#x2F;opt&#x2F;openlist 目录的权限和所有者<figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 进入 openlist 容器</span></span><br><span class="line"><span class="string">docker</span> <span class="string">exec</span> <span class="string">-it</span> <span class="string">openlist</span> <span class="string">bash</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 查看 /opt/openlist 目录的所有者和权限</span></span><br><span class="line"><span class="string">ls</span> <span class="string">-ld</span> <span class="string">/opt/openlist</span></span><br></pre></td></tr></table></figure>如果输出结果类似<strong>drwxr-xr-x 3 root root 4096 … &#x2F;opt&#x2F;openlist</strong>而不是<strong>docker-compose.yml</strong>里面的<code>User</code>值<br>这说明目录所有者是 root，而你的运行用户是 User（非 root），因此没有写权限。</li><li>赋予运行用户对 <strong>&#x2F;opt&#x2F;openlist</strong> 的写权限<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 在容器内执行（已进入容器）</span></span><br><span class="line"><span class="built_in">chown</span> -R 1000:1000 /opt/openlist</span><br></pre></td></tr></table></figure>如果出现错误类似<figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">chown: /opt/openlist/openlist:</span> <span class="string">Operation</span> <span class="string">not</span> <span class="string">permitted</span></span><br><span class="line"><span class="attr">chown: /opt/openlist:</span> <span class="string">Operation</span> <span class="string">not</span> <span class="string">permitted</span></span><br><span class="line"><span class="attr">chown: /opt/openlist:</span> <span class="string">Operation</span> <span class="string">not</span> <span class="string">permitted</span></span><br></pre></td></tr></table></figure></li><li>以 root 身份重新进入容器<figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 先退出之前的容器会话（如果还在里面）</span></span><br><span class="line"><span class="string">exit</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 以 root 身份进入容器</span></span><br><span class="line"><span class="string">docker</span> <span class="string">exec</span> <span class="string">-it</span> <span class="string">--user</span> <span class="string">root</span> <span class="string">openlist</span> <span class="string">bash</span></span><br></pre></td></tr></table></figure></li><li>再次执行 chown 命令修改权限<figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 在 root 身份的容器内执行 1000:1000替换成你的User值</span></span><br><span class="line"><span class="string">chown</span> <span class="string">-R</span> <span class="number">1000</span><span class="string">:1000</span> <span class="string">/opt/openlist</span></span><br></pre></td></tr></table></figure></li><li>验证权限是否修改成功<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">ls -ld /opt/openlist</span><br><span class="line"># 输出应类似：drwxr-xr-x 3 1000 1000 4096 ... （所有者为1000:1000）</span><br></pre></td></tr></table></figure></li><li>重启容器<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 退出 root 身份的容器会话</span></span><br><span class="line"><span class="built_in">exit</span></span><br><span class="line"><span class="comment"># 进入openlist的docker-compose.yml所在文件夹执行</span></span><br><span class="line">docker-compose restart openlist</span><br></pre></td></tr></table></figure></li><li>添加本地存储<br>打开openlist网页-&gt;管理-&gt;存储-&gt;添加-&gt;本地存储,找到根<strong>文件夹路径</strong>。添加路径<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">/opt/openlist</span><br><span class="line"># 如果觉得有一些其他配置文件乱，可以先创建一个文件夹(yunpan)，然后修改文件夹路径为</span><br><span class="line">/opt/openlist/yunpan</span><br></pre></td></tr></table></figure></li></ol><h1 id="Windown部署"><a href="#Windown部署" class="headerlink" title="Windown部署"></a>Windown部署</h1><h2 id="安装配置AList-Helper"><a href="#安装配置AList-Helper" class="headerlink" title="安装配置AList Helper"></a>安装配置AList Helper</h2><p>下载<a href="https://github.com/Xmarmalade/alisthelper/releases">Alist Helper</a>并打开<br><img src="/img/posts/alist/alist.png"><br>接下来还需要下载<a href="https://github.com/OpenListTeam/OpenList">Openlist</a>和<a href="https://github.com/rclone/rclone">Rclone</a></p><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">自动下载</button><button type="button" class="tab " data-href="test4-2">手动下载</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><p>分别点击安装Openlist和Rclone自动下载<br><img src="/img/posts/alist/peizhi.png"></p></div><div class="tab-item-content" id="test4-2"><p><a href="https://github.com/OpenListTeam/OpenList/releases">Openlist</a><br><a href="https://github.com/rclone/rclone/releases">Rclone</a><br>将解压出来的<code>alist.exe</code>，<code>rclone.exe</code>文件放在AlistHelper文件夹中，并设置工作目录</p><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="330" data-limit="10">    <span class="gallery-data">[{"url":"/img/posts/alist/alist2.png","alt":""},{"url":"/img/posts/alist/rclone.png","alt":""}]</span>  </div><button class="gallery-load-more" style="opacity:0">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><p>设置完成后，点击<code>启动</code>开启Alist服务</p><h2 id="Openlist添加云盘"><a href="#Openlist添加云盘" class="headerlink" title="Openlist添加云盘"></a>Openlist添加云盘</h2><p><a href="https://doc.oplist.org/guide/drivers/common">添加云盘文档</a><br>点击<code>打开Web GUI</code>进行Alist设置<br><img src="/img/posts/alist/peizhi2.png"><br>打开页面之后需要进行登录<br><img src="/img/posts/alist/login.png"><br>用户名默认：<code>admin </code>,密码点击Alist Helper中的<code>生成随机密码</code><br><img src="/img/posts/alist/mima.png"><br>登录之后点击管理-&gt;储存-&gt;添加</p><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="330" data-limit="10">    <span class="gallery-data">[{"url":"/img/posts/alist/setting.png","alt":""},{"url":"/img/posts/alist/guazai.png","alt":""}]</span>  </div><button class="gallery-load-more" style="opacity:0">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div><p>挂载路径最好式dav&#x2F;xxxx这样如果要本地映射所有云盘，只需要映射dav这个目录（dav也可以其他名字）<br><img src="/img/posts/alist/dav.png"><br>返回<a href="http://localhost:5244/">主页</a>即可看到添加的云盘</p><h2 id="Rclone挂载到本地"><a href="#Rclone挂载到本地" class="headerlink" title="Rclone挂载到本地"></a>Rclone挂载到本地</h2><p>首先设置一下Openlist用户的权限</p><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="330" data-limit="10">    <span class="gallery-data">[]</span>  </div><button class="gallery-load-more" style="opacity:0">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div><p>设置Rclone的WebDav帐号，输入Openlist帐号密码<br><img src="/img/posts/alist/webdav.png"><br>之后启动Reclone服务<br><img src="/img/posts/alist/startrelone.png"><br>添加本地映射<br><img src="/img/posts/alist/guazai2.png"><br>名称：自定义，路径：Openlist添加云盘设置的路径，挂载点：映射本地硬盘编号，点击保存<br>参数：–vfs-cache-mode writes –vfs-cache-max-size 100M<br><img src="/img/posts/alist/guazai3.png"><br>点击运行<br><img src="/img/posts/alist/guazai4.png"><br>之后打开此电脑，就可以正常使用了<br><img src="/img/posts/alist/guazai5.png"></p><h2 id="错误"><a href="#错误" class="headerlink" title="错误"></a>错误</h2><ol><li>配置完成之后无法映射到本地<br>解： 下载<a href="https://github.com/winfsp/winfsp">WinFsp</a>之后重启电脑</li></ol><h2 id="视频"><a href="#视频" class="headerlink" title="视频"></a>视频</h2><iframe class="bilibili" src="//player.bilibili.com/player.html?isOutside=true&&bvid=BV1oNNTenEKX&p=1&autoplay=0" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe><h1 id="注意"><a href="#注意" class="headerlink" title="注意"></a>注意</h1><ol><li>如果开启用户双因素身份验证（2FA）已经要核对服务器时间和本地时间是否一直，否则2FA数值不对。<br>同步服务器方法<a href="https://adaiblog.github.io/posts/debian.html#%E5%BC%80%E5%90%AF%E8%BF%9C%E7%A8%8Bssh%E8%AE%BF%E9%97%AE">点击跳转</a></li></ol>]]></content>
    
    
    <summary type="html">使用openlist挂载多个云盘使用</summary>
    
    
    
    <category term="软件" scheme="https://www.adaiblog.github.io/categories/%E8%BD%AF%E4%BB%B6/"/>
    
    
    <category term="Windows" scheme="https://www.adaiblog.github.io/tags/Windows/"/>
    
    <category term="Docker" scheme="https://www.adaiblog.github.io/tags/Docker/"/>
    
  </entry>
  
  <entry>
    <title>AnZhiYu</title>
    <link href="https://www.adaiblog.github.io/posts/anzhiyutag.html"/>
    <id>https://www.adaiblog.github.io/posts/anzhiyutag.html</id>
    <published>2025-01-31T10:16:57.000Z</published>
    <updated>2026-02-25T15:49:47.241Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Front-matter"><a href="#Front-matter" class="headerlink" title="Front-matter"></a>Front-matter</h1><table><thead><tr><th align="left">参数</th><th align="center">作用</th></tr></thead><tbody><tr><td align="left">title</td><td align="center">【必需】页面标题</td></tr><tr><td align="left">date</td><td align="center">【必需】页面创建日期</td></tr><tr><td align="left">updated</td><td align="center">【可选】文章更新日期</td></tr><tr><td align="left">tags</td><td align="center">【可选】文章标签</td></tr><tr><td align="left">categories</td><td align="center">【可选】文章分类</td></tr><tr><td align="left">description</td><td align="center">【可选】文章描述</td></tr><tr><td align="left">top_img</td><td align="center">【可选】文章顶部图片</td></tr><tr><td align="left">aside</td><td align="center">隐藏侧边栏</td></tr><tr><td align="left">hide</td><td align="center">隐藏文章</td></tr><tr><td align="left">indexing</td><td align="center">是否能被搜索栏搜索到</td></tr><tr><td align="left">cover</td><td align="center">【可选】文章缩略图(如果没有设置 top_img,文章页顶部将显示缩略图，可设为 false&#x2F;图片地址&#x2F;留空)</td></tr><tr><td align="left">id</td><td align="center">自定义文章URL</td></tr><tr><td align="left">comments</td><td align="center">【可选】显示文章评论模块(默认 true)</td></tr><tr><td align="left">toc</td><td align="center">【可选】显示文章导航(默认为设置enable)</td></tr><tr><td align="left">aside</td><td align="center">【可选】显示侧边栏 (默认 true)</td></tr><tr><td align="left">swiper_index</td><td align="center">【可选】首页轮播图配置 index 索引，数字越小越靠前</td></tr><tr><td align="left">top_group_index</td><td align="center">【可选】首页右侧卡片组配置, 数字越小越靠前</td></tr><tr><td align="left">main_color</td><td align="center">【可选】文章主色，必须是16进制颜色且有6位，不可缩减，例如#ffffff 不可写成#fff</td></tr><tr><td align="left">copyright</td><td align="center">【可选】显示文章版权模块(默认为设置中 post_copyright 的 enable 配置)</td></tr><tr><td align="left">copyright_author</td><td align="center">【可选】文章版权模块的文章作者</td></tr><tr><td align="left">copyright_author_href</td><td align="center">【可选】文章版权模块的文章作者链接</td></tr><tr><td align="left">copyright_url</td><td align="center">【可选】文章版权模块的文章链接链接</td></tr><tr><td align="left">copyright_info</td><td align="center">【可选】文章版权模块的版权声明文字</td></tr><tr><td align="left">sitemap</td><td align="center">是否生成站点地图</td></tr></tbody></table><div class="note blue anzhiyufont anzhiyu-icon-bullhorn simple"><p><mark class="hl-label default">AnZhiYu主题</mark> 中大部分标签移植于<a href="https://akilar.top/">店长</a>的<a href="https://www.npmjs.com/package/hexo-butterfly-tag-plugins-plus">hexo-butterfly-tag-plugins-plus</a>，转载请注明来自<a href="https://blog.anheyu.com/posts/d50a.html">安知鱼</a></p></div><h1 id="段落文本-p"><a href="#段落文本-p" class="headerlink" title="段落文本 p"></a>段落文本 p</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">样式预览</button><button type="button" class="tab " data-href="test4-2">示例源码</button><button type="button" class="tab " data-href="test4-3">标签语法</button><button type="button" class="tab " data-href="test4-4">参数配置</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><ul><li>彩色文字<br>在一段话中方便插入各种颜色的标签，包括：<p class='p red'>红色</p><p class='p yellow'>黄色</p><p class='p green'>绿色</p><p class='p cyan'>青色</p><p class='p blue'>蓝色</p><p class='p gray'>灰色</p></li><li>超大号文字<br>文档「开始」页面中的标题部分就是超大号文字。<p class='p center logo large'>Volantis</p><p class='p center small'>A Wonderful Theme for Hexo</p></li></ul></div><div class="tab-item-content" id="test4-2"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><span class="line"><span class="bullet">-</span> 彩色文字</span><br><span class="line">  在一段话中方便插入各种颜色的标签，包括：</span><br><span class="line">  &#123;% p red, 红色 %&#125;</span><br><span class="line">  &#123;% p yellow, 黄色 %&#125;</span><br><span class="line">  &#123;% p green, 绿色 %&#125;</span><br><span class="line">  &#123;% p cyan, 青色 %&#125;</span><br><span class="line">  &#123;% p blue, 蓝色 %&#125;</span><br><span class="line">  &#123;% p gray, 灰色 %&#125;</span><br><span class="line"><span class="bullet">-</span> 超大号文字</span><br><span class="line">  &#123;% p center logo large, Volantis %&#125;</span><br><span class="line">  &#123;% p center small, A Wonderful Theme for Hexo %&#125;</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-3"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">&#123;% p 样式参数(参数以空格划分), 文本内容 %&#125;</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-4"><ol><li>字体: logo, code</li><li>颜色: red,yellow,green,cyan,blue,gray</li><li>大小: small, h4, h3, h2, h1, large, huge, ultra</li><li>对齐方向: left, center, right</li></ol></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h1 id="行内文本样式-text"><a href="#行内文本样式-text" class="headerlink" title="行内文本样式 text"></a>行内文本样式 text</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">样式预览</button><button type="button" class="tab " data-href="test4-2">示例源码</button><button type="button" class="tab " data-href="test4-3">标签语法</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><ol><li>带 <u>下划线</u> 的文本</li><li>带 <emp>着重号</emp> 的文本</li><li>带 <wavy>波浪线</wavy> 的文本</li><li>带 <del>删除线</del> 的文本</li><li>键盘样式的文本 <kbd>command</kbd> + <kbd>D</kbd></li><li>密码样式的文本：<psw>这里没有验证码</psw></li></ol></div><div class="tab-item-content" id="test4-2"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line"><span class="bullet">1.</span> 带 &#123;% u 下划线 %&#125; 的文本</span><br><span class="line"><span class="bullet">2.</span> 带 &#123;% emp 着重号 %&#125; 的文本</span><br><span class="line"><span class="bullet">3.</span> 带 &#123;% wavy 波浪线 %&#125; 的文本</span><br><span class="line"><span class="bullet">4.</span> 带 &#123;% del 删除线 %&#125; 的文本</span><br><span class="line"><span class="bullet">5.</span> 键盘样式的文本 &#123;% kbd command %&#125; + &#123;% kbd D %&#125;</span><br><span class="line"><span class="bullet">6.</span> 密码样式的文本：&#123;% psw 这里没有验证码 %&#125;</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-3"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line">&#123;% u 文本内容 %&#125;</span><br><span class="line">&#123;% emp 文本内容 %&#125;</span><br><span class="line">&#123;% wavy 文本内容 %&#125;</span><br><span class="line">&#123;% del 文本内容 %&#125;</span><br><span class="line">&#123;% kbd 文本内容 %&#125;</span><br><span class="line">&#123;% psw 文本内容 %&#125;</span><br></pre></td></tr></table></figure></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h1 id="分栏-tab"><a href="#分栏-tab" class="headerlink" title="分栏 tab"></a>分栏 tab</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">样式预览</button><button type="button" class="tab " data-href="test4-2">示例源码</button><button type="button" class="tab " data-href="test4-3">标签语法</button><button type="button" class="tab " data-href="test4-4">参数配置</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><div class="note primary simple"><p>Demo 1 - 预设选择第一个【默认】</p></div><div class="tabs" id="test1"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test1-1">test1 1</button><button type="button" class="tab " data-href="test1-2">test1 2</button><button type="button" class="tab " data-href="test1-3">test1 3</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test1-1"><p>This is Tab 1</p></div><div class="tab-item-content" id="test1-2"><p>This is Tab 2</p></div><div class="tab-item-content" id="test1-3"><p>This is Tab 3</p></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><div class="note primary simple"><p>Demo 2 - 预设选择 tabs</p></div><div class="tabs" id="test2"><ul class="nav-tabs"><button type="button" class="tab " data-href="test2-1">test2 1</button><button type="button" class="tab " data-href="test2-2">test2 2</button><button type="button" class="tab  active" data-href="test2-3">test2 3</button></ul><div class="tab-contents"><div class="tab-item-content" id="test2-1"><p>This is Tab 1</p></div><div class="tab-item-content" id="test2-2"><p>This is Tab 2</p></div><div class="tab-item-content active" id="test2-3"><p>This is Tab 3</p></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><div class="note primary simple"><p>Demo 3 - 没有预设值】</p></div><div class="tabs" id="test3"><ul class="nav-tabs no-default"><button type="button" class="tab " data-href="test3-1">test3 1</button><button type="button" class="tab " data-href="test3-2">test3 2</button><button type="button" class="tab " data-href="test3-3">test3 3</button></ul><div class="tab-contents"><div class="tab-item-content" id="test3-1"><p>This is Tab 1</p></div><div class="tab-item-content" id="test3-2"><p>This is Tab 2</p></div><div class="tab-item-content" id="test3-3"><p>This is Tab 3</p></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><div class="note primary simple"><p>Demo 4 - 自定义 Tab 名 + 只有 icon + icon 和 Tab 名</p></div><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">第一个Tab</button><button type="button" class="tab " data-href="test4-2"><i class="fab fa-apple-pay" style="text-align: center;"></i></button><button type="button" class="tab " data-href="test4-3"><i class="fas fa-bomb"></i>炸弹</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><p>tab 名字为第一个 Tab</p></div><div class="tab-item-content" id="test4-2"><p>只有图标 没有 Tab 名字</p></div><div class="tab-item-content" id="test4-3"><p>名字+icon</p></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div></div><div class="tab-item-content" id="test4-2"><div class="note primary simple"><p>Demo 1 - 预设选择第一个【默认】</p></div><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br></pre></td><td class="code"><pre><span class="line">&#123;% tabs test1 %&#125;</span><br><span class="line"></span><br><span class="line">&lt;!-- tab --&gt;</span><br><span class="line"></span><br><span class="line">This is Tab 1</span><br><span class="line"></span><br><span class="line">&lt;!-- endtab --&gt;</span><br><span class="line"></span><br><span class="line">&lt;!-- tab --&gt;</span><br><span class="line"></span><br><span class="line">This is Tab 2</span><br><span class="line">&lt;!-- endtab --&gt;</span><br><span class="line"></span><br><span class="line">&lt;!-- tab --&gt;</span><br><span class="line"></span><br><span class="line">This is Tab 3</span><br><span class="line"></span><br><span class="line">&lt;!-- endtab --&gt;</span><br><span class="line"></span><br><span class="line">&#123;% endtabs %&#125;</span><br></pre></td></tr></table></figure><div class="note primary simple"><p>Demo 2 - 预设选择 tabs</p></div><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br></pre></td><td class="code"><pre><span class="line">&#123;% tabs test2, 3 %&#125;</span><br><span class="line"></span><br><span class="line">&lt;!-- tab --&gt;</span><br><span class="line"></span><br><span class="line">This is Tab 1</span><br><span class="line"></span><br><span class="line">&lt;!-- endtab --&gt;</span><br><span class="line"></span><br><span class="line">&lt;!-- tab --&gt;</span><br><span class="line"></span><br><span class="line">This is Tab 2</span><br><span class="line"></span><br><span class="line">&lt;!-- endtab --&gt;</span><br><span class="line"></span><br><span class="line">&lt;!-- tab --&gt;</span><br><span class="line"></span><br><span class="line">This is Tab 3</span><br><span class="line"></span><br><span class="line">&lt;!-- endtab --&gt;</span><br><span class="line"></span><br><span class="line">&#123;% endtabs %&#125;</span><br></pre></td></tr></table></figure><div class="note primary simple"><p>Demo 3 - 没有预设值</p></div><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br></pre></td><td class="code"><pre><span class="line">&#123;% tabs test3, -1 %&#125;</span><br><span class="line"></span><br><span class="line">&lt;!-- tab --&gt;</span><br><span class="line"></span><br><span class="line">This is Tab 1</span><br><span class="line"></span><br><span class="line">&lt;!-- endtab --&gt;</span><br><span class="line"></span><br><span class="line">&lt;!-- tab --&gt;</span><br><span class="line"></span><br><span class="line">This is Tab 2.</span><br><span class="line"></span><br><span class="line">&lt;!-- endtab --&gt;</span><br><span class="line"></span><br><span class="line">&lt;!-- tab --&gt;</span><br><span class="line"></span><br><span class="line">This is Tab 3.</span><br><span class="line"></span><br><span class="line">&lt;!-- endtab --&gt;</span><br><span class="line"></span><br><span class="line">&#123;% endtabs %&#125;</span><br></pre></td></tr></table></figure><div class="note primary simple"><p>Demo 4 - 自定义 Tab 名 + 只有 icon + icon 和 Tab 名</p></div><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br></pre></td><td class="code"><pre><span class="line">&#123;% tabs test4 %&#125;</span><br><span class="line"></span><br><span class="line">&lt;!-- tab 第一个Tab --&gt;</span><br><span class="line"></span><br><span class="line">tab 名字为第一个 Tab</span><br><span class="line"></span><br><span class="line">&lt;!-- endtab --&gt;</span><br><span class="line"></span><br><span class="line">&lt;!-- tab @fab fa-apple-pay --&gt;</span><br><span class="line"></span><br><span class="line">只有图标 没有 Tab 名字</span><br><span class="line"></span><br><span class="line">&lt;!-- endtab --&gt;</span><br><span class="line"></span><br><span class="line">&lt;!-- tab 炸弹@fas fa-bomb --&gt;</span><br><span class="line"></span><br><span class="line">名字+icon</span><br><span class="line"></span><br><span class="line">&lt;!-- endtab --&gt;</span><br><span class="line"></span><br><span class="line">&#123;% endtabs %&#125;</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-3"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line">&#123;% tabs Unique name, [index] %&#125;</span><br><span class="line"></span><br><span class="line">&lt;!-- tab [Tab caption] [@icon] --&gt;</span><br><span class="line"></span><br><span class="line">Any content (support inline tags too).</span><br><span class="line"></span><br><span class="line">&lt;!-- endtab --&gt;</span><br><span class="line"></span><br><span class="line">&#123;% endtabs %&#125;</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-4"><ol><li>Unique name :<br>选项卡块标签的唯一名称，不带逗号。<br>将在#id 中用作每个标签及其索引号的前缀。<br>如果名称中包含空格，则对于生成#id，所有空格将由破折号代替。<br>仅当前帖子&#x2F;页面的 URL 必须是唯一的！</li><li>如果未指定，将选择第一个标签（1）。<br>如果 index 为-1，则不会选择任何选项卡。<br>可选参数。</li><li>如果未指定标题，则带有制表符索引后缀的唯一名称将用作制表符的标题。<br>如果未指定标题，但指定了图标，则标题将为空。<br>可选参数。</li><li>[@icon]: - FontAwesome 图标名称（全名，看起来像“ fas fa-font”） - 可以指定带空格或不带空格； - 例如’Tab caption @icon’ 和 ‘Tab caption@icon’. - 可选参数。</div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div></li></ol><h1 id="按钮-btns"><a href="#按钮-btns" class="headerlink" title="按钮 btns"></a>按钮 btns</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">样式预览</button><button type="button" class="tab " data-href="test4-2">示例源码</button><button type="button" class="tab " data-href="test4-3">标签语法</button><button type="button" class="tab " data-href="test4-4">参数配置</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><ol><li>如果需要显示类似「团队成员」之类的一组含有头像的链接</li></ol><div class="btns circle grid5">            <a class="button no-text-decoration" href='https://xaoxuu.com' title='xaoxuu'><img src='https://bu.dusays.com/2023/06/01/64787e6a5816d.png'>xaoxuu</a>          </div>2. 含有图标的按钮<div class="btns rounded grid5">            <a class="button no-text-decoration" href='/' title='下载源码'><i class='anzhiyufont anzhiyu-icon-bolt'></i>下载源码</a><a class="button no-text-decoration" href='/' title='查看文档'><i class='anzhiyufont anzhiyu-icon-book'></i>查看文档</a>          </div>3. 圆形图标 + 标题 + 描述 + 图片 + 网格 5 列 + 居中<div class="btns circle center grid5">            <a href='https://apps.apple.com/cn/app/heart-mate-pro-hrm-utility/id1463348922?ls=1' class="no-text-decoration"><i class='anzhiyufont anzhiyu-icon-heartbeat'></i><b>心率管家</b><p class='p red'>专业版</p><img src='https://bu.dusays.com/2023/06/01/64787e2a1347c.png'></a><a href='https://apps.apple.com/cn/app/heart-mate-lite-hrm-utility/id1475747930?ls=1' class="no-text-decoration"><i class='anzhiyufont anzhiyu-icon-heartbeat'></i><b>心率管家</b><p class='p green'>免费版</p><img src='https://bu.dusays.com/2023/06/01/64787e515e261.png'></a>          </div></div><div class="tab-item-content" id="test4-2"><ol><li>如果需要显示类似「团队成员」之类的一组含有头像的链接：<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">&#123;% btns circle grid5 %&#125;</span><br><span class="line">&#123;% cell xaoxuu, https://xaoxuu.com, https://bu.dusays.com/2023/06/01/64787e6a5816d.png %&#125;</span><br><span class="line">&#123;% endbtns %&#125;</span><br></pre></td></tr></table></figure></li><li>含有图标的按钮：<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">&#123;% btns rounded grid5 %&#125;</span><br><span class="line">&#123;% cell 下载源码, /, anzhiyufont anzhiyu-icon-bolt %&#125;</span><br><span class="line">&#123;% cell 查看文档, /, anzhiyufont anzhiyu-icon-book %&#125;</span><br><span class="line">&#123;% endbtns %&#125;</span><br></pre></td></tr></table></figure></li><li>圆形图标 + 标题 + 描述 + 图片 + 网格 5 列 + 居中<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><span class="line">&#123;% btns circle center grid5 %&#125;</span><br><span class="line"><span class="language-xml"><span class="tag">&lt;<span class="name">a</span> <span class="attr">href</span>=<span class="string">&#x27;https://apps.apple.com/cn/app/heart-mate-pro-hrm-utility/id1463348922?ls=1&#x27;</span> <span class="attr">class</span>=<span class="string">&quot;no-text-decoration&quot;</span>&gt;</span></span></span><br><span class="line"><span class="language-xml"><span class="tag">&lt;<span class="name">i</span> <span class="attr">class</span>=<span class="string">&#x27;anzhiyufont anzhiyu-icon-heartbeat&#x27;</span>&gt;</span></span><span class="language-xml"><span class="tag">&lt;/<span class="name">i</span>&gt;</span></span></span><br><span class="line"><span class="language-xml"><span class="tag">&lt;<span class="name">b</span>&gt;</span></span>心率管家<span class="language-xml"><span class="tag">&lt;/<span class="name">b</span>&gt;</span></span></span><br><span class="line">&#123;% p red, 专业版 %&#125;</span><br><span class="line"><span class="language-xml"><span class="tag">&lt;<span class="name">img</span> <span class="attr">src</span>=<span class="string">&#x27;https://bu.dusays.com/2023/06/01/64787e2a1347c.png&#x27;</span>&gt;</span></span></span><br><span class="line"><span class="language-xml"><span class="tag">&lt;/<span class="name">a</span>&gt;</span></span></span><br><span class="line"><span class="language-xml"><span class="tag">&lt;<span class="name">a</span> <span class="attr">href</span>=<span class="string">&#x27;https://apps.apple.com/cn/app/heart-mate-lite-hrm-utility/id1475747930?ls=1&#x27;</span> <span class="attr">class</span>=<span class="string">&quot;no-text-decoration&quot;</span>&gt;</span></span></span><br><span class="line"><span class="language-xml"><span class="tag">&lt;<span class="name">i</span> <span class="attr">class</span>=<span class="string">&#x27;anzhiyufont anzhiyu-icon-heartbeat&#x27;</span>&gt;</span></span><span class="language-xml"><span class="tag">&lt;/<span class="name">i</span>&gt;</span></span></span><br><span class="line"><span class="language-xml"><span class="tag">&lt;<span class="name">b</span>&gt;</span></span>心率管家<span class="language-xml"><span class="tag">&lt;/<span class="name">b</span>&gt;</span></span></span><br><span class="line">&#123;% p green, 免费版 %&#125;</span><br><span class="line"><span class="language-xml"><span class="tag">&lt;<span class="name">img</span> <span class="attr">src</span>=<span class="string">&#x27;https://bu.dusays.com/2023/06/01/64787e515e261.png&#x27;</span>&gt;</span></span></span><br><span class="line"><span class="language-xml"><span class="tag">&lt;/<span class="name">a</span>&gt;</span></span></span><br><span class="line">&#123;% endbtns %&#125;</span><br></pre></td></tr></table></figure></li></ol></div><div class="tab-item-content" id="test4-3"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">&#123;% btns 样式参数 %&#125; </span><br><span class="line">&#123;% cell 标题, 链接, 图片或者图标, 图片大小（px） %&#125;</span><br><span class="line">&#123;% cell 标题, 链接, 图片或者图标, 图片大小（px） %&#125;</span><br><span class="line">&#123;% endbtns %&#125;</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-4"><ol><li>圆角样式：rounded, circle</li><li>增加文字样式：可以在容器内增加 <b>标题</b> 和 <p>描述文字</p></li><li>布局方式：<br>默认为自动宽度，适合视野内只有一两个的情况。</li></ol><table><thead><tr><th>参数</th><th>含义</th></tr></thead><tbody><tr><td>wide</td><td>宽一点的按钮</td></tr><tr><td>fill</td><td>填充布局，自动铺满至少一行，多了会换行</td></tr><tr><td>center</td><td>居中，按钮之间是固定间距</td></tr><tr><td>around</td><td>居中分散</td></tr><tr><td>grid2</td><td>等宽最多 2 列，屏幕变窄会适当减少列数</td></tr><tr><td>grid3</td><td>等宽最多 3 列，屏幕变窄会适当减少列数</td></tr><tr><td>grid4</td><td>等宽最多 4 列，屏幕变窄会适当减少列数</td></tr><tr><td>grid5</td><td>等宽最多 5 列，屏幕变窄会适当减少列数</td></tr></tbody></table></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h1 id="按钮-btn"><a href="#按钮-btn" class="headerlink" title="按钮 btn"></a>按钮 btn</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">样式预览</button><button type="button" class="tab " data-href="test4-2">示例源码</button><button type="button" class="tab " data-href="test4-3">标签语法</button><button type="button" class="tab " data-href="test4-4">参数配置</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><ol><li>不同样式<br><a class="btn-anzhiyu " href="https://blog.anheyu.com/"   title="AnZhiYu"><span>AnZhiYu</span></a><br><a class="btn-anzhiyu " href="https://blog.anheyu.com/"   title="AnZhiYu"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>AnZhiYu</span></a><br><a class="btn-anzhiyu outline" href="https://blog.anheyu.com/"   title="AnZhiYu"><span>AnZhiYu</span></a><br><a class="btn-anzhiyu outline" href="https://blog.anheyu.com/"   title="AnZhiYu"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>AnZhiYu</span></a><br><a class="btn-anzhiyu larger" href="https://blog.anheyu.com/"   title="AnZhiYu"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>AnZhiYu</span></a></li><li>调整位置&#x2F;大小<br><a class="btn-anzhiyu block" href="https://blog.anheyu.com/"   title="AnZhiYu"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>AnZhiYu</span></a><br><a class="btn-anzhiyu block center larger" href="https://blog.anheyu.com/"   title="AnZhiYu"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>AnZhiYu</span></a><br><a class="btn-anzhiyu block right outline larger" href="https://blog.anheyu.com/"   title="AnZhiYu"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>AnZhiYu</span></a></li><li>按钮颜色</li></ol><span><a class="btn-anzhiyu larger" href="https://blog.anheyu.com/"   title="AnZhiYu"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>AnZhiYu</span></a><a class="btn-anzhiyu blue larger" href="https://blog.anheyu.com/"   title="AnZhiYu"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>AnZhiYu</span></a><a class="btn-anzhiyu pink larger" href="https://blog.anheyu.com/"   title="AnZhiYu"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>AnZhiYu</span></a><a class="btn-anzhiyu red larger" href="https://blog.anheyu.com/"   title="AnZhiYu"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>AnZhiYu</span></a><a class="btn-anzhiyu purple larger" href="https://blog.anheyu.com/"   title="AnZhiYu"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>AnZhiYu</span></a><a class="btn-anzhiyu orange larger" href="https://blog.anheyu.com/"   title="AnZhiYu"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>AnZhiYu</span></a><a class="btn-anzhiyu green larger" href="https://blog.anheyu.com/"   title="AnZhiYu"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>AnZhiYu</span></a></span><ol start="4"><li>按钮位置<div class="btn-center"><a class="btn-anzhiyu outline larger" href="https://blog.anheyu.com/"   title="AnZhiYu"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>AnZhiYu</span></a></div></li></ol></div><div class="tab-item-content" id="test4-2"><ol><li><p>不同样式</p><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">&#123;% btn &#x27;https://blog.anheyu.com/&#x27;,AnZhiYu %&#125;</span><br><span class="line">&#123;% btn &#x27;https://blog.anheyu.com/&#x27;,AnZhiYu,anzhiyufont anzhiyu-icon-circle-arrow-right %&#125;</span><br><span class="line">&#123;% btn &#x27;https://blog.anheyu.com/&#x27;,AnZhiYu,,outline %&#125;</span><br><span class="line">&#123;% btn &#x27;https://blog.anheyu.com/&#x27;,AnZhiYu,anzhiyufont anzhiyu-icon-circle-arrow-right,outline %&#125;</span><br><span class="line">&#123;% btn &#x27;https://blog.anheyu.com/&#x27;,AnZhiYu,anzhiyufont anzhiyu-icon-circle-arrow-right,larger %&#125;</span><br></pre></td></tr></table></figure></li><li><p>调整位置&#x2F;大小</p><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">&#123;% btn &#x27;https://blog.anheyu.com/&#x27;,AnZhiYu,anzhiyufont anzhiyu-icon-circle-arrow-right,block %&#125;</span><br><span class="line">&#123;% btn &#x27;https://blog.anheyu.com/&#x27;,AnZhiYu,anzhiyufont anzhiyu-icon-circle-arrow-right,block center larger %&#125;</span><br><span class="line">&#123;% btn &#x27;https://blog.anheyu.com/&#x27;,AnZhiYu,anzhiyufont anzhiyu-icon-circle-arrow-right,block right outline larger %&#125;</span><br></pre></td></tr></table></figure></li><li><p>按钮颜色</p><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="language-xml"><span class="tag">&lt;<span class="name">span</span>&gt;</span></span></span><br><span class="line">&#123;% btn &#x27;https://blog.anheyu.com/&#x27;,AnZhiYu,anzhiyufont anzhiyu-icon-circle-arrow-right,larger %&#125;</span><br><span class="line">&#123;% btn &#x27;https://blog.anheyu.com/&#x27;,AnZhiYu,anzhiyufont anzhiyu-icon-circle-arrow-right,blue larger %&#125;</span><br><span class="line">&#123;% btn &#x27;https://blog.anheyu.com/&#x27;,AnZhiYu,anzhiyufont anzhiyu-icon-circle-arrow-right,pink larger %&#125;</span><br><span class="line">&#123;% btn &#x27;https://blog.anheyu.com/&#x27;,AnZhiYu,anzhiyufont anzhiyu-icon-circle-arrow-right,red larger %&#125;</span><br><span class="line">&#123;% btn &#x27;https://blog.anheyu.com/&#x27;,AnZhiYu,anzhiyufont anzhiyu-icon-circle-arrow-right,purple larger %&#125;</span><br><span class="line">&#123;% btn &#x27;https://blog.anheyu.com/&#x27;,AnZhiYu,anzhiyufont anzhiyu-icon-circle-arrow-right,orange larger %&#125;</span><br><span class="line">&#123;% btn &#x27;https://blog.anheyu.com/&#x27;,AnZhiYu,anzhiyufont anzhiyu-icon-circle-arrow-right,green larger %&#125;</span><br><span class="line"><span class="language-xml"><span class="tag">&lt;/<span class="name">span</span>&gt;</span></span></span><br></pre></td></tr></table></figure></li><li><p>按钮位置</p><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="language-xml"><span class="tag">&lt;<span class="name">div</span> <span class="attr">class</span>=<span class="string">&quot;btn-center&quot;</span>&gt;</span></span></span><br><span class="line">&#123;% btn &#x27;https://blog.anheyu.com/&#x27;,AnZhiYu,anzhiyufont anzhiyu-icon-circle-arrow-right,outline larger %&#125;</span><br><span class="line"><span class="language-xml"><span class="tag">&lt;/<span class="name">div</span>&gt;</span></span></span><br></pre></td></tr></table></figure></li></ol></div><div class="tab-item-content" id="test4-3"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><span class="line">&#123;% btn [url],[text],[icon],[color] [style] [layout] [position] [size] %&#125;</span><br><span class="line"></span><br><span class="line">[url] : 链接</span><br><span class="line">[text] : 按钮文字</span><br><span class="line">[icon] : [可选] 图标</span><br><span class="line">[color] : [可选] 按钮背景顔色(默认 style 时）</span><br><span class="line">按钮字体和边框顔色(outline 时)</span><br><span class="line">default/blue/pink/red/purple/orange/green</span><br><span class="line">[style] : [可选] 按钮样式 默认实心</span><br><span class="line">outline/留空</span><br><span class="line">[layout] : [可选] 按钮佈局 默认为 line</span><br><span class="line">block/留空</span><br><span class="line">[position] : [可选] 按钮位置 前提是设置了 layout 为 block 默认为左边</span><br><span class="line">center/right/留空</span><br><span class="line">[size] : [可选] 按钮大小</span><br><span class="line">larger/留空</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-4"><table><thead><tr><th>参数</th><th>含义</th></tr></thead><tbody><tr><td>url</td><td>跳转链接</td></tr><tr><td>text</td><td>按钮文字</td></tr><tr><td>icon</td><td>[可选] 图标，如果开启了fontawesome可以使用 fontawesome 的图标，否则只能使用默内置图标</td></tr><tr><td>color</td><td>[可选] 按钮背景顔色(默认 style 时）按钮字体和边框顔色(outline 时)default&#x2F;blue&#x2F;pink&#x2F;red&#x2F;purple&#x2F;orange&#x2F;green</td></tr><tr><td>style</td><td>[可选] 按钮样式 默认实心数，outline&#x2F;留空</td></tr><tr><td>layout</td><td>[可选] 按钮佈局 默认为 line block&#x2F;留空</td></tr><tr><td>position</td><td>[可选] 按钮位置 前提是设置了 layout 为 block 默认为左边 center&#x2F;right&#x2F;留空数</td></tr><tr><td>size</td><td>[可选] 按钮大小 larger&#x2F;留空</td></tr></tbody></table></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h1 id="单张图片-image"><a href="#单张图片-image" class="headerlink" title="单张图片 image"></a>单张图片 image</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">样式预览</button><button type="button" class="tab " data-href="test4-2">示例源码</button><button type="button" class="tab " data-href="test4-3">标签语法</button><button type="button" class="tab " data-href="test4-4">参数配置</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><ol><li>添加描述：<div class="img-wrap"><div class="img-bg"><img class="img" src="https://bu.dusays.com/2023/06/01/6478937d7de6f.webp" alt="每天下课回宿舍的路，没有什么故事。"/></div><span class="image-caption">每天下课回宿舍的路，没有什么故事。</span></div></li><li>指定宽度：<div class="img-wrap"><div class="img-bg"><img class="img" src="https://bu.dusays.com/2023/06/01/6478937d7de6f.webp" style="width:400px;"/></div></div></li><li>指定宽度并添加描述：<div class="img-wrap"><div class="img-bg"><img class="img" src="https://bu.dusays.com/2023/06/01/6478937d7de6f.webp" alt="每天下课回宿舍的路，没有什么故事。" style="width:400px;"/></div><span class="image-caption">每天下课回宿舍的路，没有什么故事。</span></div></li><li>设置占位背景色：<div class="img-wrap"><div class="img-bg" style="background:#1D0C04"><img class="img" src="https://bu.dusays.com/2023/06/01/6478937d7de6f.webp" alt="优化不同宽度浏览的观感" style="width:400px;"/></div><span class="image-caption">优化不同宽度浏览的观感</span></div></li></ol></div><div class="tab-item-content" id="test4-2"><ol><li>添加描述：<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">&#123;% image https://bu.dusays.com/2023/06/01/6478937d7de6f.webp, alt=每天下课回宿舍的路，没有什么故事。 %&#125;</span><br></pre></td></tr></table></figure></li><li>指定宽度：<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">&#123;% image https://bu.dusays.com/2023/06/01/6478937d7de6f.webp, width=400px %&#125;</span><br></pre></td></tr></table></figure></li><li>指定宽度并添加描述：<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">&#123;% image https://bu.dusays.com/2023/06/01/6478937d7de6f.webp, width=400px, alt=每天下课回宿舍的路，没有什么故事。 %&#125;</span><br></pre></td></tr></table></figure></li><li>设置占位背景色：<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">&#123;% image https://bu.dusays.com/2023/06/01/6478937d7de6f.webp, width=400px, bg=#1D0C04, alt=优化不同宽度浏览的观感 %&#125;</span><br></pre></td></tr></table></figure></li></ol></div><div class="tab-item-content" id="test4-3"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">&#123;% image 链接, width=宽度（可选）, height=高度（可选）, alt=描述（可选）, bg=占位颜色（可选） %&#125;</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-4"><ol><li>图片宽度高度：width&#x3D;300px, height&#x3D;32px</li><li>图片描述：alt&#x3D;图片描述（butterfly 需要在主题配置文件中开启图片描述）</li><li>占位背景色：bg&#x3D;#f2f2f2</li></ol></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h1 id="行内图片"><a href="#行内图片" class="headerlink" title="行内图片"></a>行内图片</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">样式预览</button><button type="button" class="tab " data-href="test4-2">示例源码</button><button type="button" class="tab " data-href="test4-3">标签语法</button><button type="button" class="tab " data-href="test4-4">参数配置</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><ol><li>inlineImg<br>我觉得很漂亮 <img class="inline-img" src="https://i.loli.net/2021/03/19/5M4jUB3ynq7ePgw.png" style="height:150px"/></li><li>inlineimage<br>这是 <img no-lazy class="inline" src="https://bu.dusays.com/2023/06/01/647895232e5d5.webp" style="height:1.5em"/> 一段话。<br>这又是 <img no-lazy class="inline" src="https://bu.dusays.com/2022/05/19/6285328a83ca7.gif" style="height:40px;"/> 一段话。</li></ol></div><div class="tab-item-content" id="test4-2"><ol><li>inlineImg<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">我觉得很漂亮 &#123;% inlineImg https://i.loli.net/2021/03/19/5M4jUB3ynq7ePgw.png 150px %&#125;</span><br></pre></td></tr></table></figure></li><li>inlineimage<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">这是 &#123;% inlineimage https://bu.dusays.com/2023/06/01/647895232e5d5.webp %&#125; 一段话。</span><br><span class="line">这又是 &#123;% inlineimage https://bu.dusays.com/2022/05/19/6285328a83ca7.gif, height=40px %&#125; 一段话。</span><br></pre></td></tr></table></figure></li></ol></div><div class="tab-item-content" id="test4-3"><ol><li>inlineImg<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">&#123;% inlineImg [src] [height] %&#125;</span><br><span class="line"></span><br><span class="line">[src] : 图片链接</span><br><span class="line">[height] ： 图片高度限制【可选】</span><br></pre></td></tr></table></figure></li><li>inlineimage<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">&#123;% inlineimage 图片链接, height=高度（可选） %&#125;</span><br></pre></td></tr></table></figure></li></ol></div><div class="tab-item-content" id="test4-4"><ol><li>inlineImg<table><thead><tr><th>参数</th><th>含义</th></tr></thead><tbody><tr><td>src</td><td>图片链接</td></tr><tr><td>height</td><td>图片高度限制【可选】</td></tr></tbody></table></li><li>inlineImg<table><thead><tr><th>参数</th><th>含义</th></tr></thead><tbody><tr><td>height</td><td>高度（可选）</td></tr></tbody></table></li></ol></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h1 id="label-标签"><a href="#label-标签" class="headerlink" title="label 标签"></a>label 标签</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">样式预览</button><button type="button" class="tab " data-href="test4-2">示例源码</button><button type="button" class="tab " data-href="test4-3">标签语法</button><button type="button" class="tab " data-href="test4-4">参数配置</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><p>臣亮言：<mark class="hl-label default">先帝</mark> 创业未半，而<mark class="hl-label blue">中道崩殂</mark> 。今天下三分，<mark class="hl-label pink">益州疲敝</mark> ，此诚<mark class="hl-label red">危急存亡之秋</mark> 也！然侍衞之臣，不懈于内；<mark class="hl-label purple">忠志之士</mark> ，忘身于外者，盖追先帝之殊遇，欲报之于陛下也。诚宜开张圣听，以光先帝遗德，恢弘志士之气；不宜妄自菲薄，引喻失义，以塞忠谏之路也。<br>宫中、府中，俱为一体；陟罚臧否，不宜异同。若有<mark class="hl-label orange">作奸</mark> 、<mark class="hl-label green">犯科</mark> ，及为忠善者，宜付有司，论其刑赏，以昭陛下平明之治；不宜偏私，使内外异法也。</p></div><div class="tab-item-content" id="test4-2"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">臣亮言：&#123;% label 先帝 %&#125;创业未半，而&#123;% label 中道崩殂 blue %&#125;。今天下三分，&#123;% label 益州疲敝 pink %&#125;，此诚&#123;% label 危急存亡之秋 red %&#125;也！然侍衞之臣，不懈于内；&#123;% label 忠志之士 purple %&#125;，忘身于外者，盖追先帝之殊遇，欲报之于陛下也。诚宜开张圣听，以光先帝遗德，恢弘志士之气；不宜妄自菲薄，引喻失义，以塞忠谏之路也。</span><br><span class="line">宫中、府中，俱为一体；陟罚臧否，不宜异同。若有&#123;% label 作奸 orange %&#125;、&#123;% label 犯科 green %&#125;，及为忠善者，宜付有司，论其刑赏，以昭陛下平明之治；不宜偏私，使内外异法也。</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-3"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">&#123;% label text color %&#125;</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-4"><table><thead><tr><th>参数</th><th>含义</th></tr></thead><tbody><tr><td>text</td><td>文字</td></tr><tr><td>color</td><td>【可选】背景颜色，默认为 default，default&#x2F;blue&#x2F;pink&#x2F;red&#x2F;purple&#x2F;orange&#x2F;green</td></tr></tbody></table></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h1 id="timeline"><a href="#timeline" class="headerlink" title="timeline"></a>timeline</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">样式预览</button><button type="button" class="tab " data-href="test4-2">示例源码</button><button type="button" class="tab " data-href="test4-3">标签语法</button><button type="button" class="tab " data-href="test4-4">参数配置</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><ol><li>默认颜色<div class="timeline undefined"><div class='timeline-item headline'><div class='timeline-item-title'><div class='item-circle'><p>2022</p></div></div></div><div class='timeline-item'><div class='timeline-item-title'><div class='item-circle'><p>01-02</p></div></div><div class='timeline-item-content'><p>这是测试页面</p></div></div></div></li><li>可其他颜色<div class="timeline blue"><div class='timeline-item headline'><div class='timeline-item-title'><div class='item-circle'><p>2022</p></div></div></div><div class='timeline-item'><div class='timeline-item-title'><div class='item-circle'><p>01-02</p></div></div><div class='timeline-item-content'><p>这是测试页面</p></div></div></div></li></ol></div><div class="tab-item-content" id="test4-2"><ol><li>默认颜色<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">&#123;% timeline 2022 %&#125;</span><br><span class="line">&lt;!-- timeline 01-02 --&gt;</span><br><span class="line"></span><br><span class="line">这是测试页面</span><br><span class="line">&lt;!-- endtimeline --&gt;</span><br><span class="line"></span><br><span class="line">&#123;% endtimeline %&#125;</span><br></pre></td></tr></table></figure></li><li>可其他颜色<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">&#123;% timeline 2022,blue %&#125;</span><br><span class="line">&lt;!-- timeline 01-02 --&gt;</span><br><span class="line"></span><br><span class="line">这是测试页面</span><br><span class="line">&lt;!-- endtimeline --&gt;</span><br><span class="line"></span><br><span class="line">&#123;% endtimeline %&#125;</span><br></pre></td></tr></table></figure></li></ol></div><div class="tab-item-content" id="test4-3"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><span class="line">&#123;% timeline title,color %&#125;</span><br><span class="line"></span><br><span class="line">&lt;!-- timeline title --&gt;</span><br><span class="line"></span><br><span class="line">内容</span><br><span class="line"></span><br><span class="line">&lt;!-- endtimeline --&gt;</span><br><span class="line">&lt;!-- timeline title --&gt;</span><br><span class="line"></span><br><span class="line">内容</span><br><span class="line"></span><br><span class="line">&lt;!-- endtimeline --&gt;</span><br><span class="line"></span><br><span class="line">&#123;% endtimeline %&#125;</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-4"><table><thead><tr><th>参数</th><th>含义</th></tr></thead><tbody><tr><td>title</td><td>标题&#x2F;时间线</td></tr><tr><td>color</td><td>timeline 颜色，default(留空) &#x2F; blue &#x2F; pink &#x2F; red &#x2F; purple &#x2F; orange &#x2F; greenn</td></tr></tbody></table></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h1 id="flink-友链标签"><a href="#flink-友链标签" class="headerlink" title="flink 友链标签"></a>flink 友链标签</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">样式预览</button><button type="button" class="tab " data-href="test4-2">示例源码</button><button type="button" class="tab " data-href="test4-3">标签语法</button><button type="button" class="tab " data-href="test4-4">参数配置</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><div class="flink"><div class="flink-name">推荐博客</div> <div class="flink-list"><div class="flexcard-flink-list">              <a href="https://blog.anheyu.com/" title="安知鱼" target="_blank" class="flink-list-card cf-friends-link">                <div class="wrapper cover">                    <img class="no-lightbox cover fadeIn" src="https://npm.elemecdn.com/anzhiyu-theme-static@1.1.6/img/blog.anheyu.com.jpg" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="安知鱼" />                </div>                <div class="info">                  <img class="no-lightbox cf-friends-avatar flink-avatar" src="https://npm.elemecdn.com/anzhiyu-blog-static@1.0.4/img/avatar.jpg" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="安知鱼"/>                  <span class="flink-sitename cf-friends-name">安知鱼</span>                </div>              </a></div></div><div class="flink-name">网站</div><div class="flink-desc">值得推荐的网站</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://www.adaiblog.github.io" title="阿呆的博客" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://q2.qlogo.cn/headimg_dl?dst_uin=1432231192&spec=640" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="阿呆的博客" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">阿呆的博客</div>                  <div class="flink-item-desc" title="博客">博客</div>                </div>              </a>            </div></div></div></div></div><div class="tab-item-content" id="test4-2"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br></pre></td><td class="code"><pre><span class="line">&#123;% flink %&#125;</span><br><span class="line"><span class="bullet">-</span> class<span class="emphasis">_name: 技术大佬</span></span><br><span class="line"><span class="emphasis">  flink_</span>style: flexcard</span><br><span class="line">  link<span class="emphasis">_list:</span></span><br><span class="line"><span class="emphasis">    - name: 安知鱼</span></span><br><span class="line"><span class="emphasis">      link: https://blog.anheyu.com/</span></span><br><span class="line"><span class="emphasis">      avatar: https://npm.elemecdn.com/anzhiyu-blog-static@1.0.4/img/avatar.jpg</span></span><br><span class="line"><span class="emphasis">      descr: 生活明朗，万物可爱</span></span><br><span class="line"><span class="emphasis">      siteshot: https://npm.elemecdn.com/anzhiyu-theme-static@1.1.6/img/blog.anheyu.com.jpg</span></span><br><span class="line"><span class="emphasis"></span></span><br><span class="line"><span class="emphasis">- class_</span>name: 网站</span><br><span class="line">  class<span class="emphasis">_desc: 值得推荐的网站</span></span><br><span class="line"><span class="emphasis">  flink_</span>style: anzhiyu</span><br><span class="line">  link<span class="emphasis">_list:</span></span><br><span class="line"><span class="emphasis">    - name: 阿呆的博客</span></span><br><span class="line"><span class="emphasis">      link: https://www.adaiblog.github.io</span></span><br><span class="line"><span class="emphasis">      avatar: https://q2.qlogo.cn/headimg_</span>dl?dst<span class="emphasis">_uin=1432231192&amp;spec=640</span></span><br><span class="line"><span class="emphasis">      descr: 博客</span></span><br><span class="line"><span class="emphasis">&#123;% endflink %&#125;</span></span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-3"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">&#123;% flink %&#125;</span><br><span class="line">xxxxxx</span><br><span class="line">&#123;% endflink %&#125;</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-4"><table><thead><tr><th>参数</th><th>含义</th></tr></thead><tbody><tr><td>class_name</td><td>h2标题</td></tr><tr><td>flink_style</td><td>【可选】友链样式，默认为 flexcard，flexcard&#x2F;anzhiyu</td></tr><tr><td>link_list</td><td>【可选】友链样式，默认为 flexcard，flexcard&#x2F;anzhiyu</td></tr></tbody></table></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h1 id="mermaid-图"><a href="#mermaid-图" class="headerlink" title="mermaid 图"></a>mermaid 图</h1><div class="note blue anzhiyufont anzhiyu-icon-bullhorn simple"><p>使用mermaid标签可以绘制Flowchart（流程图）、Sequence diagram（时序图 ）、Class Diagram（类别图）、State Diagram（状态图）、Gantt（甘特图）和Pie Chart（圆形图），具体可以查看<a href="https://mermaid.js.org/">mermaid文档</a></p></div><p>修改<mark class="hl-label blue">主题配置文件</mark> </p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># mermaid</span></span><br><span class="line"><span class="comment"># see https://github.com/mermaid-js/mermaid</span></span><br><span class="line"><span class="attr">mermaid:</span></span><br><span class="line">  <span class="attr">enable:</span> <span class="literal">true</span></span><br><span class="line">  <span class="comment"># built-in themes: default/forest/dark/neutral</span></span><br><span class="line">  <span class="attr">theme:</span></span><br><span class="line">    <span class="attr">light:</span> <span class="string">default</span></span><br><span class="line">    <span class="attr">dark:</span> <span class="string">dark</span></span><br></pre></td></tr></table></figure><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">样式预览</button><button type="button" class="tab " data-href="test4-2">示例源码</button><button type="button" class="tab " data-href="test4-3">标签语法</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><div class="mermaid-wrap"><pre class="mermaid-src" hidden>  pie    title Key elements in Product X    &quot;Calcium&quot; : 42.96    &quot;Potassium&quot; : 50.05    &quot;Magnesium&quot; : 10.01    &quot;Iron&quot; :  5  </pre></div></div><div class="tab-item-content" id="test4-2"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line">&#123;% mermaid %&#125;</span><br><span class="line">pie</span><br><span class="line"><span class="code">    title Key elements in Product X</span></span><br><span class="line"><span class="code">    &quot;Calcium&quot; : 42.96</span></span><br><span class="line"><span class="code">    &quot;Potassium&quot; : 50.05</span></span><br><span class="line"><span class="code">    &quot;Magnesium&quot; : 10.01</span></span><br><span class="line"><span class="code">    &quot;Iron&quot; :  5</span></span><br><span class="line"><span class="code">&#123;% endmermaid %&#125;</span></span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-3"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">&#123;% mermaid %&#125;</span><br><span class="line">内容</span><br><span class="line">&#123;% endmermaid %&#125;</span><br></pre></td></tr></table></figure></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h1 id="复选列表-checkbox"><a href="#复选列表-checkbox" class="headerlink" title="复选列表 checkbox"></a>复选列表 checkbox</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">样式预览</button><button type="button" class="tab " data-href="test4-2">示例源码</button><button type="button" class="tab " data-href="test4-3">标签语法</button><button type="button" class="tab " data-href="test4-4">参数配置</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><div class='checkbox'><input type="checkbox" />            <p>纯文本测试</p>            </div><div class='checkbox checked'><input type="checkbox" checked="checked"/>            <p>支持简单的 <a href="https://guides.github.com/features/mastering-markdown/">markdown</a> 语法</p>            </div><div class='checkbox red'><input type="checkbox" />            <p>支持自定义颜色</p>            </div><div class='checkbox green checked'><input type="checkbox" checked="checked"/>            <p>绿色 + 默认选中</p>            </div><div class='checkbox yellow checked'><input type="checkbox" checked="checked"/>            <p>黄色 + 默认选中</p>            </div><div class='checkbox cyan checked'><input type="checkbox" checked="checked"/>            <p>青色 + 默认选中</p>            </div><div class='checkbox blue checked'><input type="checkbox" checked="checked"/>            <p>蓝色 + 默认选中</p>            </div><div class='checkbox plus green checked'><input type="checkbox" checked="checked"/>            <p>增加</p>            </div><div class='checkbox minus yellow checked'><input type="checkbox" checked="checked"/>            <p>减少</p>            </div><div class='checkbox times red checked'><input type="checkbox" checked="checked"/>            <p>叉</p>            </div></div><div class="tab-item-content" id="test4-2"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line">&#123;% checkbox 纯文本测试 %&#125;</span><br><span class="line">&#123;% checkbox checked, 支持简单的 [<span class="string">markdown</span>](<span class="link">https://guides.github.com/features/mastering-markdown/</span>) 语法 %&#125;</span><br><span class="line">&#123;% checkbox red, 支持自定义颜色 %&#125;</span><br><span class="line">&#123;% checkbox green checked, 绿色 + 默认选中 %&#125;</span><br><span class="line">&#123;% checkbox yellow checked, 黄色 + 默认选中 %&#125;</span><br><span class="line">&#123;% checkbox cyan checked, 青色 + 默认选中 %&#125;</span><br><span class="line">&#123;% checkbox blue checked, 蓝色 + 默认选中 %&#125;</span><br><span class="line">&#123;% checkbox plus green checked, 增加 %&#125;</span><br><span class="line">&#123;% checkbox minus yellow checked, 减少 %&#125;</span><br><span class="line">&#123;% checkbox times red checked, 叉 %&#125;</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-3"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">&#123;% checkbox 样式参数（可选）, 文本（支持简单md） %&#125;</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-4"><ol><li>样式: plus, minus, times</li><li>颜色: red,yellow,green,cyan,blue,gray</li><li>选中状态: checked</li></ol></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h1 id="折叠框-folding"><a href="#折叠框-folding" class="headerlink" title="折叠框 folding"></a>折叠框 folding</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">样式预览</button><button type="button" class="tab " data-href="test4-2">示例源码</button><button type="button" class="tab " data-href="test4-3">标签语法</button><button type="button" class="tab " data-href="test4-4">参数配置</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><details class="folding-tag" ><summary> 查看图片测试 </summary>              <div class='content'>              <p><img src="https://bu.dusays.com/2023/06/01/64788d71c832d.webp"></p>              </div>            </details><details class="folding-tag" cyan open><summary> 查看默认打开的折叠框 </summary>              <div class='content'>              <p>这是一个默认打开的折叠框。</p>              </div>            </details><details class="folding-tag" green><summary> 查看代码测试 </summary>              <div class='content'>              <p>假装这里有代码块（代码块没法嵌套代码块）</p>              </div>            </details><details class="folding-tag" yellow><summary> 查看列表测试 </summary>              <div class='content'>              <ul><li>haha</li><li>hehe</li></ul>              </div>            </details><details class="folding-tag" red><summary> 查看嵌套测试 </summary>              <div class='content'>              <details class="folding-tag" ><summary> 查看嵌套测试2 </summary>              <div class='content'>              <details class="folding-tag" ><summary> 查看嵌套测试3 </summary>              <div class='content'>              <p>hahaha <span><img src='https://bu.dusays.com/2023/06/01/64788cd5a356b.png' style='height:24px'></span></p>              </div>            </details>              </div>            </details>              </div>            </details></div><div class="tab-item-content" id="test4-2"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br></pre></td><td class="code"><pre><span class="line">&#123;% folding 查看图片测试 %&#125;</span><br><span class="line"></span><br><span class="line">![](<span class="link">https://bu.dusays.com/2023/06/01/64788d71c832d.webp</span>)</span><br><span class="line"></span><br><span class="line">&#123;% endfolding %&#125;</span><br><span class="line"></span><br><span class="line">&#123;% folding cyan open, 查看默认打开的折叠框 %&#125;</span><br><span class="line"></span><br><span class="line">这是一个默认打开的折叠框。</span><br><span class="line"></span><br><span class="line">&#123;% endfolding %&#125;</span><br><span class="line"></span><br><span class="line">&#123;% folding green, 查看代码测试 %&#125;</span><br><span class="line">假装这里有代码块（代码块没法嵌套代码块）</span><br><span class="line">&#123;% endfolding %&#125;</span><br><span class="line"></span><br><span class="line">&#123;% folding yellow, 查看列表测试 %&#125;</span><br><span class="line"></span><br><span class="line"><span class="bullet">-</span> haha</span><br><span class="line"><span class="bullet">-</span> hehe</span><br><span class="line"></span><br><span class="line">&#123;% endfolding %&#125;</span><br><span class="line"></span><br><span class="line">&#123;% folding red, 查看嵌套测试 %&#125;</span><br><span class="line"></span><br><span class="line">&#123;% folding, 查看嵌套测试2 %&#125;</span><br><span class="line"></span><br><span class="line">&#123;% folding 查看嵌套测试3 %&#125;</span><br><span class="line"></span><br><span class="line">hahaha <span class="language-xml"><span class="tag">&lt;<span class="name">span</span>&gt;</span></span><span class="language-xml"><span class="tag">&lt;<span class="name">img</span> <span class="attr">src</span>=<span class="string">&#x27;https://bu.dusays.com/2023/06/01/64788cd5a356b.png&#x27;</span> <span class="attr">style</span>=<span class="string">&#x27;height:24px&#x27;</span>&gt;</span></span><span class="language-xml"><span class="tag">&lt;/<span class="name">span</span>&gt;</span></span></span><br><span class="line"></span><br><span class="line">&#123;% endfolding %&#125;</span><br><span class="line"></span><br><span class="line">&#123;% endfolding %&#125;</span><br><span class="line"></span><br><span class="line">&#123;% endfolding %&#125;</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-3"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">&#123;% folding 参数（可选）, 标题 %&#125;</span><br><span class="line">![](<span class="link">https://bu.dusays.com/2023/06/01/64788d71c832d.webp</span>)</span><br><span class="line">&#123;% endfolding %&#125;</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-4"><ol><li>颜色：blue, cyan, green, yellow, red</li><li>状态：状态填写 open 代表默认打开。</li></ol></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h1 id="Gallery-相册图库"><a href="#Gallery-相册图库" class="headerlink" title="Gallery 相册图库"></a>Gallery 相册图库</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">样式预览</button><button type="button" class="tab " data-href="test4-2">示例源码</button><button type="button" class="tab " data-href="test4-3">标签语法</button><button type="button" class="tab " data-href="test4-4">参数配置</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><ol><li>gallerygroup 相册图库</li></ol><div class="gallery-group-main">   <figure class="gallery-group">  <img class="gallery-group-img no-lightbox" src='https://bu.dusays.com/2023/06/01/64788f24d05bd.webp' alt="Group Image Gallery">  <figcaption>  <div class="gallery-group-name">MC</div>  <p>在Rikkaの六花服务器里留下的足迹</p>  <a href='/wordSc%0A%20enery/'></a>  </figcaption>  </figure>     <figure class="gallery-group">  <img class="gallery-group-img no-lightbox" src='https://bu.dusays.com/2023/06/01/64788f456fc3d.webp' alt="Group Image Gallery">  <figcaption>  <div class="gallery-group-name">Gundam</div>  <p>哦咧哇gundam哒！</p>  <a href='/thousand/'></a>  </figcaption>  </figure>     <figure class="gallery-group">  <img class="gallery-group-img no-lightbox" src='https://bu.dusays.com/2023/06/01/64788f83e5fa1.webp' alt="Group Image Gallery">  <figcaption>  <div class="gallery-group-name">I-am-Akilar</div>  <p>某种意义上也算自拍吧</p>  <a href='/wallpaper/'></a>  </figcaption>  </figure>  </div><ol start="2"><li>gallery 相册</li></ol><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="220" data-limit="2">    <span class="gallery-data">[{"url":"https://bu.dusays.com/2023/06/01/647896b15759c.jpg","alt":""},{"url":"https://bu.dusays.com/2023/06/01/647896cabde59.jpg","alt":""},{"url":"https://bu.dusays.com/2023/06/01/647896eb0f3ea.jpg","alt":""}]</span>  </div><button class="gallery-load-more" style="opacity:0">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div></div><div class="tab-item-content" id="test4-2"><div class="note blue anzhiyufont anzhiyu-icon-bullhorn simple"><p>对于很多同学提问的gallerygroup和gallery相册页的链接问题。这里说下我个人的使用习惯。<br>一般使用相册图库的话，可以在导航栏加一个 gallery 的 page(使用指令hexo new page gallery添加)，里面放相册图库作为封面。然后在[Blogroot]&#x2F;source&#x2F;gallery&#x2F;下面建立相应的文件夹，例如若按照这里的示例，若欲使用&#x2F;gallery&#x2F;MC&#x2F;路径访问 MC 相册，则需要新建[Blogroot]&#x2F;source&#x2F;gallery&#x2F;MC&#x2F;index.md，并在里面填入gallery相册内容。</p></div><p>注意 ⚠️：本站相册集为单独优化，可参考配置相册页面。</p><ol><li>gallerygroup 相册图库<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="language-xml"><span class="tag">&lt;<span class="name">div</span> <span class="attr">class</span>=<span class="string">&quot;gallery-group-main&quot;</span>&gt;</span></span></span><br><span class="line"> &#123;% galleryGroup MC 在Rikkaの六花服务器里留下的足迹 &#x27;/wordScenery/&#x27; https://bu.dusays.com/2023/06/01/64788f24d05bd.webp %&#125;</span><br><span class="line"> &#123;% galleryGroup Gundam 哦咧哇gundam哒！ &#x27;/thousand/&#x27; https://bu.dusays.com/2023/06/01/64788f456fc3d.webp %&#125;</span><br><span class="line"> &#123;% galleryGroup I-am-Akilar 某种意义上也算自拍吧 &#x27;/wallpaper/&#x27; https://bu.dusays.com/2023/06/01/64788f83e5fa1.webp %&#125;</span><br><span class="line"><span class="language-xml"><span class="tag">&lt;/<span class="name">div</span>&gt;</span></span></span><br></pre></td></tr></table></figure></li><li>gallery 相册<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">&#123;% gallery true,,2 %&#125;</span><br><span class="line">![](<span class="link">https://bu.dusays.com/2023/06/01/647896b15759c.jpg</span>)</span><br><span class="line">![](<span class="link">https://bu.dusays.com/2023/06/01/647896cabde59.jpg</span>)</span><br><span class="line">![](<span class="link">https://bu.dusays.com/2023/06/01/647896eb0f3ea.jpg</span>)</span><br><span class="line">&#123;% endgallery %&#125;</span><br></pre></td></tr></table></figure></li></ol></div><div class="tab-item-content" id="test4-3"><ol><li><p>gallerygroup 相册图库</p><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="language-xml"><span class="tag">&lt;<span class="name">div</span> <span class="attr">class</span>=<span class="string">&quot;gallery-group-main&quot;</span>&gt;</span></span></span><br><span class="line">&#123;% galleryGroup name description link img-url %&#125;</span><br><span class="line">&#123;% galleryGroup name description link img-url %&#125;</span><br><span class="line">&#123;% galleryGroup name description link img-url %&#125;</span><br><span class="line"><span class="language-xml"><span class="tag">&lt;/<span class="name">div</span>&gt;</span></span></span><br></pre></td></tr></table></figure></li><li><p>gallery 相册</p><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">本地</button><button type="button" class="tab " data-href="test4-2">远程</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><span class="line">&#123;% gallery %&#125;</span><br><span class="line">markdown 图片格式</span><br><span class="line">&#123;% endgallery %&#125;</span><br><span class="line"></span><br><span class="line">&#123;% gallery true,220,10 %&#125;</span><br><span class="line">markdown 图片格式</span><br><span class="line">&#123;% endgallery %&#125;</span><br><span class="line"></span><br><span class="line">&#123;% gallery true,,10 %&#125;</span><br><span class="line">markdown 图片格式</span><br><span class="line">&#123;% endgallery %&#125;</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-2"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">&#123;% gallery url,[link],[lazyload],[rowHeight],[limit] %&#125;</span><br><span class="line">&#123;% endgallery %&#125;</span><br></pre></td></tr></table></figure></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div></li></ol></div><div class="tab-item-content" id="test4-4"><ol><li>gallerygroup 相册图库<table><thead><tr><th>参数</th><th>含义</th></tr></thead><tbody><tr><td>name</td><td>图库名字</td></tr><tr><td>description</td><td>图库描述</td></tr><tr><td>link</td><td>链接到对应相册的地址</td></tr><tr><td>img-url</td><td>图库封面</td></tr></tbody></table></li></ol><div class="note blue anzhiyufont anzhiyu-icon-bullhorn simple"><p>思维拓展一下，相册图库的实质其实就是个快捷方式，可以自定义添加描述、封面、链接。那么我们未必要把它当做一个相册，完全可以作为一个链接卡片，链接到视频、QQ、友链都是不错的选择。</p></div><ol><li>gallery 相册<div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">本地</button><button type="button" class="tab " data-href="test4-2">远程</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><table><thead><tr><th>参数</th><th>含义</th></tr></thead><tbody><tr><td>lazyload</td><td>【可选】点击按钮加载更多图片，填写 true&#x2F;false。默认为 false。</td></tr><tr><td>rowHeight</td><td>【可选】图片显示的高度，如果需要一行显示更多的图片，可设置更小的数字。默认为 220。</td></tr><tr><td>limit</td><td>【可选】每次加载多少张照片。默认为 10。</td></tr></tbody></table></div><div class="tab-item-content" id="test4-2"><table><thead><tr><th>参数</th><th>含义</th></tr></thead><tbody><tr><td>url</td><td>【必须】 识别词</td></tr><tr><td>link</td><td>【必须】远程的 json 链接</td></tr><tr><td>lazyload</td><td>【可选】点击按钮加载更多图片，填写 true&#x2F;false。默认为 false。</td></tr><tr><td>rowHeight</td><td>【可选】图片显示的高度，如果需要一行显示更多的图片，可设置更小的数字。默认为 220。</td></tr><tr><td>limit</td><td>【可选】每次加载多少张照片。默认为 10。</td></tr></tbody></table></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div></li></ol><h1 id="链接卡片-link"><a href="#链接卡片-link" class="headerlink" title="链接卡片 link"></a>链接卡片 link</h1><p><a href="https://www.adai.fun/posts/anzhiyu.html#%E8%AF%AD%E9%9B%80%E5%8D%A1%E7%89%87">语雀卡片</a></p><a href="https://store.steampowered.com/" target="_blank" title="Steam" referrerPolicy="no-referrer" class="link_card"><div class="link_icon"><img src="/img/posts/steam/steam.webp" class="no-lightbox"></div><div class="link_content"><div class="link_title">Steam</div><div class="link_desc">https://store.steampowered.com</div></div></a><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">示例源码</button><button type="button" class="tab " data-href="test4-2">标签语法</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><p><a href="https://www.adai.fun/posts/anzhiyu.html#%E8%AF%AD%E9%9B%80%E5%8D%A1%E7%89%87">语雀卡片</a></p><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">&#123;% link https://store.steampowered.com/,Steam,/img/posts/steam/steam.webp,https://store.steampowered.com %&#125;</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-2"><p><a href="https://www.adai.fun/posts/anzhiyu.html#%E8%AF%AD%E9%9B%80%E5%8D%A1%E7%89%87">语雀卡片</a></p><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">&#123;% link 链接,标题,图标,介绍 %&#125;</span><br></pre></td></tr></table></figure></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h1 id="单选列表-radio"><a href="#单选列表-radio" class="headerlink" title="单选列表 radio"></a>单选列表 radio</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">样式预览</button><button type="button" class="tab " data-href="test4-2">示例源码</button><button type="button" class="tab " data-href="test4-3">标签语法</button><button type="button" class="tab " data-href="test4-4">参数配置</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><div class='checkbox'><input type="radio" />            <p>纯文本测试</p>            </div><div class='checkbox checked'><input type="radio" checked="checked"/>            <p>支持简单的 <a href="https://guides.github.com/features/mastering-markdown/">markdown</a> 语法</p>            </div><div class='checkbox red'><input type="radio" />            <p>支持自定义颜色</p>            </div><div class='checkbox green'><input type="radio" />            <p>绿色</p>            </div><div class='checkbox yellow'><input type="radio" />            <p>黄色</p>            </div><div class='checkbox cyan'><input type="radio" />            <p>青色</p>            </div><div class='checkbox blue'><input type="radio" />            <p>蓝色</p>            </div></div><div class="tab-item-content" id="test4-2"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">&#123;% radio 纯文本测试 %&#125;</span><br><span class="line">&#123;% radio checked, 支持简单的 [<span class="string">markdown</span>](<span class="link">https://guides.github.com/features/mastering-markdown/</span>) 语法 %&#125;</span><br><span class="line">&#123;% radio red, 支持自定义颜色 %&#125;</span><br><span class="line">&#123;% radio green, 绿色 %&#125;</span><br><span class="line">&#123;% radio yellow, 黄色 %&#125;</span><br><span class="line">&#123;% radio cyan, 青色 %&#125;</span><br><span class="line">&#123;% radio blue, 蓝色 %&#125;</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-3"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">&#123;% radio 样式参数（可选）, 文本（支持简单md） %&#125;</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-4"><ol><li>颜色: red,yellow,green,cyan,blue,gray</li><li>选中状态: checked</li></ol></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h1 id="上标标签-tip"><a href="#上标标签-tip" class="headerlink" title="上标标签 tip"></a>上标标签 tip</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">样式预览</button><button type="button" class="tab " data-href="test4-2">示例源码</button><button type="button" class="tab " data-href="test4-3">标签语法</button><button type="button" class="tab " data-href="test4-4">参数配置</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><div class="tip "><p>default</p></div><div class="tip info"><p>info</p></div><div class="tip success"><p>success</p></div><div class="tip error"><p>error</p></div><div class="tip warning"><p>warning</p></div><div class="tip bolt"><p>bolt</p></div><div class="tip ban"><p>ban</p></div><div class="tip home"><p>home</p></div><div class="tip sync"><p>sync</p></div><div class="tip cogs"><p>cogs</p></div><div class="tip key"><p>key</p></div><div class="tip bell"><p>bell</p></div><div class="tip fa-atom"><p>自定义 font awesome 图标</p></div></div><div class="tab-item-content" id="test4-2"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><span class="line">&#123;% tip %&#125;default&#123;% endtip %&#125;</span><br><span class="line">&#123;% tip info %&#125;info&#123;% endtip %&#125;</span><br><span class="line">&#123;% tip success %&#125;success&#123;% endtip %&#125;</span><br><span class="line">&#123;% tip error %&#125;error&#123;% endtip %&#125;</span><br><span class="line">&#123;% tip warning %&#125;warning&#123;% endtip %&#125;</span><br><span class="line">&#123;% tip bolt %&#125;bolt&#123;% endtip %&#125;</span><br><span class="line">&#123;% tip ban %&#125;ban&#123;% endtip %&#125;</span><br><span class="line">&#123;% tip home %&#125;home&#123;% endtip %&#125;</span><br><span class="line">&#123;% tip sync %&#125;sync&#123;% endtip %&#125;</span><br><span class="line">&#123;% tip cogs %&#125;cogs&#123;% endtip %&#125;</span><br><span class="line">&#123;% tip key %&#125;key&#123;% endtip %&#125;</span><br><span class="line">&#123;% tip bell %&#125;bell&#123;% endtip %&#125;</span><br><span class="line">&#123;% tip fa-atom %&#125;自定义 font awesome 图标&#123;% endtip %&#125;</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-3"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">&#123;% tip [参数，可选] %&#125;文本内容&#123;% endtip %&#125;</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-4"><ol><li>样式: success,error,warning,bolt,ban,home,sync,cogs,key,bell</li><li>自定义图标: 支持 fontawesome。</li></ol></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h1 id="Note"><a href="#Note" class="headerlink" title="Note"></a>Note</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">样式预览</button><button type="button" class="tab " data-href="test4-2">示例源码</button><button type="button" class="tab " data-href="test4-3">标签语法</button><button type="button" class="tab " data-href="test4-4">参数配置</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><p>方法一</p><ol><li>simple样式<div class="note simple"><p>默认 提示块标签</p></div><div class="note default simple"><p>default 提示块标签</p></div><div class="note primary simple"><p>primary 提示块标签</p></div><div class="note success simple"><p>success 提示块标签</p></div><div class="note info simple"><p>info 提示块标签</p></div><div class="note warning simple"><p>warning 提示块标签</p></div><div class="note danger simple"><p>danger 提示块标签</p></div></li><li>modern样式<div class="note modern"><p>默认 提示块标签</p></div><div class="note default modern"><p>default 提示块标签</p></div><div class="note primary modern"><p>primary 提示块标签</p></div><div class="note success modern"><p>success 提示块标签</p></div><div class="note info modern"><p>info 提示块标签</p></div><div class="note warning modern"><p>warning 提示块标签</p></div><div class="note danger modern"><p>danger 提示块标签</p></div></li><li>flat样式<div class="note flat"><p>默认 提示块标签</p></div><div class="note default flat"><p>default 提示块标签</p></div><div class="note primary flat"><p>primary 提示块标签</p></div><div class="note success flat"><p>success 提示块标签</p></div><div class="note info flat"><p>info 提示块标签</p></div><div class="note warning flat"><p>warning 提示块标签</p></div><div class="note danger flat"><p>danger 提示块标签</p></div></li><li>disabled样式<div class="note disabled"><p>默认 提示块标签</p></div><div class="note default disabled"><p>default 提示块标签</p></div><div class="note primary disabled"><p>primary 提示块标签</p></div><div class="note success disabled"><p>success 提示块标签</p></div><div class="note info disabled"><p>info 提示块标签</p></div><div class="note warning disabled"><p>warning 提示块标签</p></div><div class="note danger disabled"><p>danger 提示块标签</p></div></li><li>no-icon样式<div class="note no-icon flat"><p>默认 提示块标签</p></div><div class="note default no-icon flat"><p>default 提示块标签</p></div><div class="note primary no-icon flat"><p>primary 提示块标签</p></div><div class="note success no-icon flat"><p>success 提示块标签</p></div><div class="note info no-icon flat"><p>info 提示块标签</p></div><div class="note warning no-icon flat"><p>warning 提示块标签</p></div><div class="note danger no-icon flat"><p>danger 提示块标签</p></div></li></ol><p>方法二</p><p>图标支持 fontawesome 和 主题内置的阿里图标，使用方法为加上对应的类名，fontawesome图标需开启主题配置文件中icons.fontawesome，默认未开启 fontawesome</p><ol><li>simple 样式<br>主题内置阿里图标<div class="note anzhiyufont anzhiyu-icon-rocket simple"><p>你是刷 Visa 还是 UnionPay</p></div><div class="note blue anzhiyufont anzhiyu-icon-bullhorn simple"><p>2022 年快到了….</p></div><div class="note pink anzhiyufont anzhiyu-icon-instagram simple"><p>小心开车 安全至上</p></div><div class="note red anzhiyufont anzhiyu-icon-fan simple"><p>这是三片呢？还是四片？</p></div><div class="note orange anzhiyufont anzhiyu-icon-dengpao simple"><p>你是刷 Visa 还是 UnionPay</p></div><div class="note purple anzhiyufont anzhiyu-icon-sanmingzhi simple"><p>剪刀石头布</p></div><div class="note green anzhiyufont anzhiyu-icon-ic_train simple"><p>前端最讨厌的浏览器</p></div>fontawesome 图标，开启主题配置文件中的icons.fontawesome为true后可见<div class="note icon-padding simple"><i class="note-icon fab fa-cc-visa"></i><p>你是刷 Visa 还是 UnionPay</p></div><div class="note blue icon-padding simple"><i class="note-icon fas fa-bullhorn"></i><p>2022 年快到了….</p></div><div class="note pink icon-padding simple"><i class="note-icon fas fa-car-crash"></i><p>小心开车 安全至上</p></div><div class="note red icon-fan simple"><p>这是三片呢？还是四片？</p></div><div class="note orange icon-padding simple"><i class="note-icon fas fa-battery-half"></i><p>你是刷 Visa 还是 UnionPay</p></div><div class="note purple icon-padding simple"><i class="note-icon far fa-hand-scissors"></i><p>剪刀石头布</p></div><div class="note green icon-padding simple"><i class="note-icon fab fa-internet-explorer"></i><p>前端最讨厌的浏览器</p></div></li><li>modern 样式<br>主题内置阿里图标<div class="note anzhiyufont anzhiyu-icon-rocket modern"><p>你是刷 Visa 还是 UnionPay</p></div><div class="note blue anzhiyufont anzhiyu-icon-bullhorn modern"><p>2022 年快到了….</p></div><div class="note pink anzhiyufont anzhiyu-icon-instagram modern"><p>小心开车 安全至上</p></div><div class="note red anzhiyufont anzhiyu-icon-fan modern"><p>这是三片呢？还是四片？</p></div><div class="note orange anzhiyufont anzhiyu-icon-dengpao modern"><p>你是刷 Visa 还是 UnionPay</p></div><div class="note purple anzhiyufont anzhiyu-icon-sanmingzhi modern"><p>剪刀石头布</p></div><div class="note green anzhiyufont anzhiyu-icon-ic_train modern"><p>前端最讨厌的浏览器</p></div>fontawesome 图标，开启主题配置文件中的icons.fontawesome为true后可见<div class="note icon-padding modern"><i class="note-icon fab fa-cc-visa"></i><p>你是刷 Visa 还是 UnionPay</p></div><div class="note blue icon-padding modern"><i class="note-icon fas fa-bullhorn"></i><p>2021 年快到了….</p></div><div class="note pink icon-padding modern"><i class="note-icon fas fa-car-crash"></i><p>小心开车 安全至上</p></div><div class="note red icon-fan modern"><p>这是三片呢？还是四片？</p></div><div class="note orange icon-padding modern"><i class="note-icon fas fa-battery-half"></i><p>你是刷 Visa 还是 UnionPay</p></div><div class="note purple icon-padding modern"><i class="note-icon far fa-hand-scissors"></i><p>剪刀石头布</p></div><div class="note green icon-padding modern"><i class="note-icon fab fa-internet-explorer"></i><p>前端最讨厌的浏览器</p></div></li><li>flat 样式<br>主题内置阿里图标<div class="note anzhiyufont anzhiyu-icon-rocket flat"><p>你是刷 Visa 还是 UnionPay</p></div><div class="note blue anzhiyufont anzhiyu-icon-bullhorn flat"><p>2022 年快到了….</p></div><div class="note pink anzhiyufont anzhiyu-icon-instagram flat"><p>小心开车 安全至上</p></div><div class="note red anzhiyufont anzhiyu-icon-fan flat"><p>这是三片呢？还是四片？</p></div><div class="note orange anzhiyufont anzhiyu-icon-dengpao flat"><p>你是刷 Visa 还是 UnionPay</p></div><div class="note purple anzhiyufont anzhiyu-icon-sanmingzhi flat"><p>剪刀石头布</p></div><div class="note green anzhiyufont anzhiyu-icon-ic_train flat"><p>前端最讨厌的浏览器</p></div>fontawesome 图标，开启主题配置文件中的icons.fontawesome为true后可见<div class="note icon-padding flat"><i class="note-icon fab fa-cc-visa"></i><p>你是刷 Visa 还是 UnionPay</p></div><div class="note blue icon-padding flat"><i class="note-icon fas fa-bullhorn"></i><p>2021 年快到了….</p></div><div class="note pink icon-padding flat"><i class="note-icon fas fa-car-crash"></i><p>小心开车 安全至上</p></div><div class="note red icon-fan flat"><p>这是三片呢？还是四片？</p></div><div class="note orange icon-padding flat"><i class="note-icon fas fa-battery-half"></i><p>你是刷 Visa 还是 UnionPay</p></div><div class="note purple icon-padding flat"><i class="note-icon far fa-hand-scissors"></i><p>剪刀石头布</p></div><div class="note green icon-padding flat"><i class="note-icon fab fa-internet-explorer"></i><p>前端最讨厌的浏览器</p></div></li><li>disabled 样式<br>主题内置阿里图标<div class="note anzhiyufont anzhiyu-icon-rocket disabled"><p>你是刷 Visa 还是 UnionPay</p></div><div class="note blue anzhiyufont anzhiyu-icon-bullhorn disabled"><p>2022 年快到了….</p></div><div class="note pink anzhiyufont anzhiyu-icon-instagram disabled"><p>小心开车 安全至上</p></div><div class="note red anzhiyufont anzhiyu-icon-fan disabled"><p>这是三片呢？还是四片？</p></div><div class="note orange anzhiyufont anzhiyu-icon-dengpao disabled"><p>你是刷 Visa 还是 UnionPay</p></div><div class="note purple anzhiyufont anzhiyu-icon-sanmingzhi disabled"><p>剪刀石头布</p></div><div class="note green anzhiyufont anzhiyu-icon-ic_train disabled"><p>前端最讨厌的浏览器</p></div>fontawesome 图标，开启主题配置文件中的icons.fontawesome为true后可见<div class="note icon-padding disabled"><i class="note-icon fab fa-cc-visa"></i><p>你是刷 Visa 还是 UnionPay</p></div><div class="note blue icon-padding disabled"><i class="note-icon fas fa-bullhorn"></i><p>2021 年快到了….</p></div><div class="note pink icon-padding disabled"><i class="note-icon fas fa-car-crash"></i><p>小心开车 安全至上</p></div><div class="note red icon-fan disabled"><p>这是三片呢？还是四片？</p></div><div class="note orange icon-padding disabled"><i class="note-icon fas fa-battery-half"></i><p>你是刷 Visa 还是 UnionPay</p></div><div class="note purple icon-padding disabled"><i class="note-icon far fa-hand-scissors"></i><p>剪刀石头布</p></div><div class="note green icon-padding disabled"><i class="note-icon fab fa-internet-explorer"></i><p>前端最讨厌的浏览器</p></div></li><li>no-icon 样式<div class="note no-icon flat"><p>你是刷 Visa 还是 UnionPay</p></div><div class="note blue no-icon flat"><p>2021 年快到了….</p></div><div class="note pink no-icon flat"><p>小心开车 安全至上</p></div><div class="note red no-icon flat"><p>这是三片呢？还是四片？</p></div><div class="note orange no-icon flat"><p>你是刷 Visa 还是 UnionPay</p></div><div class="note purple no-icon flat"><p>剪刀石头布</p></div><div class="note green no-icon flat"><p>前端最讨厌的浏览器</p></div></li></ol></div><div class="tab-item-content" id="test4-2"><p>方法一</p><ol><li>simple样式<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">&#123;% note simple %&#125;默认 提示块标签&#123;% endnote %&#125;</span><br><span class="line">&#123;% note default simple %&#125;default 提示块标签&#123;% endnote %&#125;</span><br><span class="line">&#123;% note primary simple %&#125;primary 提示块标签&#123;% endnote %&#125;</span><br><span class="line">&#123;% note success simple %&#125;success 提示块标签&#123;% endnote %&#125;</span><br><span class="line">&#123;% note info simple %&#125;info 提示块标签&#123;% endnote %&#125;</span><br><span class="line">&#123;% note warning simple %&#125;warning 提示块标签&#123;% endnote %&#125;</span><br><span class="line">&#123;% note danger simple %&#125;danger 提示块标签&#123;% endnote %&#125;</span><br></pre></td></tr></table></figure></li><li>modern样式<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">&#123;% note modern %&#125;默认 提示块标签&#123;% endnote %&#125;</span><br><span class="line">&#123;% note default modern %&#125;default 提示块标签&#123;% endnote %&#125;</span><br><span class="line">&#123;% note primary modern %&#125;primary 提示块标签&#123;% endnote %&#125;</span><br><span class="line">&#123;% note success modern %&#125;success 提示块标签&#123;% endnote %&#125;</span><br><span class="line">&#123;% note info modern %&#125;info 提示块标签&#123;% endnote %&#125;</span><br><span class="line">&#123;% note warning modern %&#125;warning 提示块标签&#123;% endnote %&#125;</span><br><span class="line">&#123;% note danger modern %&#125;danger 提示块标签&#123;% endnote %&#125;</span><br></pre></td></tr></table></figure></li><li>flat样式<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">&#123;% note flat %&#125;默认 提示块标签&#123;% endnote %&#125;</span><br><span class="line">&#123;% note default flat %&#125;default 提示块标签&#123;% endnote %&#125;</span><br><span class="line">&#123;% note primary flat %&#125;primary 提示块标签&#123;% endnote %&#125;</span><br><span class="line">&#123;% note success flat %&#125;success 提示块标签&#123;% endnote %&#125;</span><br><span class="line">&#123;% note info flat %&#125;info 提示块标签&#123;% endnote %&#125;</span><br><span class="line">&#123;% note warning flat %&#125;warning 提示块标签&#123;% endnote %&#125;</span><br><span class="line">&#123;% note danger flat %&#125;danger 提示块标签&#123;% endnote %&#125;</span><br></pre></td></tr></table></figure></li><li>disabled样式<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">&#123;% note disabled %&#125;默认 提示块标签&#123;% endnote %&#125;</span><br><span class="line">&#123;% note default disabled %&#125;default 提示块标签&#123;% endnote %&#125;</span><br><span class="line">&#123;% note primary disabled %&#125;primary 提示块标签&#123;% endnote %&#125;</span><br><span class="line">&#123;% note success disabled %&#125;success 提示块标签&#123;% endnote %&#125;</span><br><span class="line">&#123;% note info disabled %&#125;info 提示块标签&#123;% endnote %&#125;</span><br><span class="line">&#123;% note warning disabled %&#125;warning 提示块标签&#123;% endnote %&#125;</span><br><span class="line">&#123;% note danger disabled %&#125;danger 提示块标签&#123;% endnote %&#125;</span><br></pre></td></tr></table></figure></li><li>no-icon样式<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">&#123;% note no-icon %&#125;默认 提示块标签&#123;% endnote %&#125;</span><br><span class="line">&#123;% note default no-icon %&#125;default 提示块标签&#123;% endnote %&#125;</span><br><span class="line">&#123;% note primary no-icon %&#125;primary 提示块标签&#123;% endnote %&#125;</span><br><span class="line">&#123;% note success no-icon %&#125;success 提示块标签&#123;% endnote %&#125;</span><br><span class="line">&#123;% note info no-icon %&#125;info 提示块标签&#123;% endnote %&#125;</span><br><span class="line">&#123;% note warning no-icon %&#125;warning 提示块标签&#123;% endnote %&#125;</span><br><span class="line">&#123;% note danger no-icon %&#125;danger 提示块标签&#123;% endnote %&#125;</span><br></pre></td></tr></table></figure>方法二</li></ol><p>图标支持 fontawesome 和 主题内置的阿里图标，使用方法为加上对应的类名，fontawesome图标需开启主题配置文件中icons.fontawesome，默认未开启 fontawesome</p><ol><li>simple 样式<br>主题内置阿里图标<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">&#123;% note &#x27;anzhiyufont anzhiyu-icon-rocket&#x27; simple %&#125;你是刷 Visa 还是 UnionPay&#123;% endnote %&#125;</span><br><span class="line">&#123;% note blue &#x27;anzhiyufont anzhiyu-icon-bullhorn&#x27; simple %&#125;2022 年快到了....&#123;% endnote %&#125;</span><br><span class="line">&#123;% note pink &#x27;anzhiyufont anzhiyu-icon-instagram&#x27; simple %&#125;小心开车 安全至上&#123;% endnote %&#125;</span><br><span class="line">&#123;% note red &#x27;anzhiyufont anzhiyu-icon-fan&#x27; simple%&#125;这是三片呢？还是四片？&#123;% endnote %&#125;</span><br><span class="line">&#123;% note orange &#x27;anzhiyufont anzhiyu-icon-dengpao&#x27; simple %&#125;你是刷 Visa 还是 UnionPay&#123;% endnote %&#125;</span><br><span class="line">&#123;% note purple &#x27;anzhiyufont anzhiyu-icon-sanmingzhi&#x27; simple %&#125;剪刀石头布&#123;% endnote %&#125;</span><br><span class="line">&#123;% note green &#x27;anzhiyufont anzhiyu-icon-ic<span class="emphasis">_train&#x27; simple %&#125;前端最讨厌的浏览器&#123;% endnote %&#125;</span></span><br></pre></td></tr></table></figure>fontawesome 图标，开启主题配置文件中的icons.fontawesome为true后可见<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">&#123;% note &#x27;fab fa-cc-visa&#x27; simple %&#125;你是刷 Visa 还是 UnionPay&#123;% endnote %&#125;</span><br><span class="line">&#123;% note blue &#x27;fas fa-bullhorn&#x27; simple %&#125;2022 年快到了....&#123;% endnote %&#125;</span><br><span class="line">&#123;% note pink &#x27;fas fa-car-crash&#x27; simple %&#125;小心开车 安全至上&#123;% endnote %&#125;</span><br><span class="line">&#123;% note red &#x27;icon-fan&#x27; simple%&#125;这是三片呢？还是四片？&#123;% endnote %&#125;</span><br><span class="line">&#123;% note orange &#x27;fas fa-battery-half&#x27; simple %&#125;你是刷 Visa 还是 UnionPay&#123;% endnote %&#125;</span><br><span class="line">&#123;% note purple &#x27;far fa-hand-scissors&#x27; simple %&#125;剪刀石头布&#123;% endnote %&#125;</span><br><span class="line">&#123;% note green &#x27;fab fa-internet-explorer&#x27; simple %&#125;前端最讨厌的浏览器&#123;% endnote %&#125;</span><br></pre></td></tr></table></figure></li><li>modern 样式<br>主题内置阿里图标<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">&#123;% note &#x27;anzhiyufont anzhiyu-icon-rocket&#x27; modern %&#125;你是刷 Visa 还是 UnionPay&#123;% endnote %&#125;</span><br><span class="line">&#123;% note blue &#x27;anzhiyufont anzhiyu-icon-bullhorn&#x27; modern %&#125;2022 年快到了....&#123;% endnote %&#125;</span><br><span class="line">&#123;% note pink &#x27;anzhiyufont anzhiyu-icon-instagram&#x27; modern %&#125;小心开车 安全至上&#123;% endnote %&#125;</span><br><span class="line">&#123;% note red &#x27;anzhiyufont anzhiyu-icon-fan&#x27; modern%&#125;这是三片呢？还是四片？&#123;% endnote %&#125;</span><br><span class="line">&#123;% note orange &#x27;anzhiyufont anzhiyu-icon-dengpao&#x27; modern %&#125;你是刷 Visa 还是 UnionPay&#123;% endnote %&#125;</span><br><span class="line">&#123;% note purple &#x27;anzhiyufont anzhiyu-icon-sanmingzhi&#x27; modern %&#125;剪刀石头布&#123;% endnote %&#125;</span><br><span class="line">&#123;% note green &#x27;anzhiyufont anzhiyu-icon-ic<span class="emphasis">_train&#x27; modern %&#125;前端最讨厌的浏览器&#123;% endnote %&#125;</span></span><br></pre></td></tr></table></figure>fontawesome 图标，开启主题配置文件中的icons.fontawesome为true后可见<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">&#123;% note &#x27;fab fa-cc-visa&#x27; modern %&#125;你是刷 Visa 还是 UnionPay&#123;% endnote %&#125;</span><br><span class="line">&#123;% note blue &#x27;fas fa-bullhorn&#x27; modern %&#125;2021 年快到了....&#123;% endnote %&#125;</span><br><span class="line">&#123;% note pink &#x27;fas fa-car-crash&#x27; modern %&#125;小心开车 安全至上&#123;% endnote %&#125;</span><br><span class="line">&#123;% note red &#x27;icon-fan&#x27; modern%&#125;这是三片呢？还是四片？&#123;% endnote %&#125;</span><br><span class="line">&#123;% note orange &#x27;fas fa-battery-half&#x27; modern %&#125;你是刷 Visa 还是 UnionPay&#123;% endnote %&#125;</span><br><span class="line">&#123;% note purple &#x27;far fa-hand-scissors&#x27; modern %&#125;剪刀石头布&#123;% endnote %&#125;</span><br><span class="line">&#123;% note green &#x27;fab fa-internet-explorer&#x27; modern %&#125;前端最讨厌的浏览器&#123;% endnote %&#125;</span><br></pre></td></tr></table></figure></li><li>flat 样式<br>主题内置阿里图标<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">&#123;% note &#x27;anzhiyufont anzhiyu-icon-rocket&#x27; flat %&#125;你是刷 Visa 还是 UnionPay&#123;% endnote %&#125;</span><br><span class="line">&#123;% note blue &#x27;anzhiyufont anzhiyu-icon-bullhorn&#x27; flat %&#125;2022 年快到了....&#123;% endnote %&#125;</span><br><span class="line">&#123;% note pink &#x27;anzhiyufont anzhiyu-icon-instagram&#x27; flat %&#125;小心开车 安全至上&#123;% endnote %&#125;</span><br><span class="line">&#123;% note red &#x27;anzhiyufont anzhiyu-icon-fan&#x27; flat%&#125;这是三片呢？还是四片？&#123;% endnote %&#125;</span><br><span class="line">&#123;% note orange &#x27;anzhiyufont anzhiyu-icon-dengpao&#x27; flat %&#125;你是刷 Visa 还是 UnionPay&#123;% endnote %&#125;</span><br><span class="line">&#123;% note purple &#x27;anzhiyufont anzhiyu-icon-sanmingzhi&#x27; flat %&#125;剪刀石头布&#123;% endnote %&#125;</span><br><span class="line">&#123;% note green &#x27;anzhiyufont anzhiyu-icon-ic<span class="emphasis">_train&#x27; flat %&#125;前端最讨厌的浏览器&#123;% endnote %&#125;</span></span><br></pre></td></tr></table></figure>fontawesome 图标，开启主题配置文件中的icons.fontawesome为true后可见<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">&#123;% note &#x27;fab fa-cc-visa&#x27; flat %&#125;你是刷 Visa 还是 UnionPay&#123;% endnote %&#125;</span><br><span class="line">&#123;% note blue &#x27;fas fa-bullhorn&#x27; flat %&#125;2021 年快到了....&#123;% endnote %&#125;</span><br><span class="line">&#123;% note pink &#x27;fas fa-car-crash&#x27; flat %&#125;小心开车 安全至上&#123;% endnote %&#125;</span><br><span class="line">&#123;% note red &#x27;icon-fan&#x27; flat%&#125;这是三片呢？还是四片？&#123;% endnote %&#125;</span><br><span class="line">&#123;% note orange &#x27;fas fa-battery-half&#x27; flat %&#125;你是刷 Visa 还是 UnionPay&#123;% endnote %&#125;</span><br><span class="line">&#123;% note purple &#x27;far fa-hand-scissors&#x27; flat %&#125;剪刀石头布&#123;% endnote %&#125;</span><br><span class="line">&#123;% note green &#x27;fab fa-internet-explorer&#x27; flat %&#125;前端最讨厌的浏览器&#123;% endnote %&#125;</span><br></pre></td></tr></table></figure></li><li>disabled 样式<br>主题内置阿里图标<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">&#123;% note &#x27;anzhiyufont anzhiyu-icon-rocket&#x27; disabled %&#125;你是刷 Visa 还是 UnionPay&#123;% endnote %&#125;</span><br><span class="line">&#123;% note blue &#x27;anzhiyufont anzhiyu-icon-bullhorn&#x27; disabled %&#125;2022 年快到了....&#123;% endnote %&#125;</span><br><span class="line">&#123;% note pink &#x27;anzhiyufont anzhiyu-icon-instagram&#x27; disabled %&#125;小心开车 安全至上&#123;% endnote %&#125;</span><br><span class="line">&#123;% note red &#x27;anzhiyufont anzhiyu-icon-fan&#x27; disabled%&#125;这是三片呢？还是四片？&#123;% endnote %&#125;</span><br><span class="line">&#123;% note orange &#x27;anzhiyufont anzhiyu-icon-dengpao&#x27; disabled %&#125;你是刷 Visa 还是 UnionPay&#123;% endnote %&#125;</span><br><span class="line">&#123;% note purple &#x27;anzhiyufont anzhiyu-icon-sanmingzhi&#x27; disabled %&#125;剪刀石头布&#123;% endnote %&#125;</span><br><span class="line">&#123;% note green &#x27;anzhiyufont anzhiyu-icon-ic<span class="emphasis">_train&#x27; disabled %&#125;前端最讨厌的浏览器&#123;% endnote %&#125;</span></span><br></pre></td></tr></table></figure>fontawesome 图标，开启主题配置文件中的icons.fontawesome为true后可见<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">&#123;% note &#x27;fab fa-cc-visa&#x27; disabled %&#125;你是刷 Visa 还是 UnionPay&#123;% endnote %&#125;</span><br><span class="line">&#123;% note blue &#x27;fas fa-bullhorn&#x27; disabled %&#125;2021 年快到了....&#123;% endnote %&#125;</span><br><span class="line">&#123;% note pink &#x27;fas fa-car-crash&#x27; disabled %&#125;小心开车 安全至上&#123;% endnote %&#125;</span><br><span class="line">&#123;% note red &#x27;icon-fan&#x27; disabled %&#125;这是三片呢？还是四片？&#123;% endnote %&#125;</span><br><span class="line">&#123;% note orange &#x27;fas fa-battery-half&#x27; disabled %&#125;你是刷 Visa 还是 UnionPay&#123;% endnote %&#125;</span><br><span class="line">&#123;% note purple &#x27;far fa-hand-scissors&#x27; disabled %&#125;剪刀石头布&#123;% endnote %&#125;</span><br><span class="line">&#123;% note green &#x27;fab fa-internet-explorer&#x27; disabled %&#125;前端最讨厌的浏览器&#123;% endnote %&#125;</span><br></pre></td></tr></table></figure></li><li>no-icon 样式<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">&#123;% note no-icon %&#125;你是刷 Visa 还是 UnionPay&#123;% endnote %&#125;</span><br><span class="line">&#123;% note blue no-icon %&#125;2021 年快到了....&#123;% endnote %&#125;</span><br><span class="line">&#123;% note pink no-icon %&#125;小心开车 安全至上&#123;% endnote %&#125;</span><br><span class="line">&#123;% note red no-icon %&#125;这是三片呢？还是四片？&#123;% endnote %&#125;</span><br><span class="line">&#123;% note orange no-icon %&#125;你是刷 Visa 还是 UnionPay&#123;% endnote %&#125;</span><br><span class="line">&#123;% note purple no-icon %&#125;剪刀石头布&#123;% endnote %&#125;</span><br><span class="line">&#123;% note green no-icon %&#125;前端最讨厌的浏览器&#123;% endnote %&#125;</span><br></pre></td></tr></table></figure></li></ol></div><div class="tab-item-content" id="test4-3"><p>方法一</p><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">&#123;% note [class] [no-icon] [style] %&#125;</span><br><span class="line">Any content (support inline tags too.io).</span><br><span class="line">&#123;% endnote %&#125;</span><br></pre></td></tr></table></figure><p>方法二</p><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">&#123;% note [color] [icon] [style] %&#125;</span><br><span class="line">Any content (support inline tags too.io).</span><br><span class="line">&#123;% endnote %&#125;</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-4"><p>方法一</p><table><thead><tr><th>参数</th><th>含义</th></tr></thead><tbody><tr><td>class</td><td>【可选】标识，不同的标识有不同的配色</td></tr><tr><td>（ default &#x2F; primary &#x2F; success &#x2F; info &#x2F; warning &#x2F; danger ）</td><td></td></tr><tr><td>no-icon</td><td>【可选】不显示 icon</td></tr><tr><td>style</td><td>【可选】可以覆盖配置中的 style（simple&#x2F;modern&#x2F;flat&#x2F;disabled）</td></tr></tbody></table><p>方法二</p><table><thead><tr><th>参数</th><th>含义</th></tr></thead><tbody><tr><td>class</td><td>【可选】标识，不同的标识有不同的配色（ default &#x2F; blue &#x2F; pink &#x2F; red &#x2F; purple &#x2F; orange &#x2F; green ）</td></tr><tr><td>no-icon</td><td>【可选】可配置自定义 icon (支持 fontawesome 图标和主题内置的阿里图标,fontawesome图标需开启主题配置文件中icons.fontawesome, 也可以配置 no-icon )</td></tr><tr><td>style</td><td>【可选】可以覆盖配置中的 style（simple&#x2F;modern&#x2F;flat&#x2F;disabled）</td></tr></tbody></table></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h1 id="音频-audio"><a href="#音频-audio" class="headerlink" title="音频 audio"></a>音频 audio</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">样式预览</button><button type="button" class="tab " data-href="test4-2">示例源码</button><button type="button" class="tab " data-href="test4-3">标签语法</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><div class="audio"><audio controls preload><source src='https://npm.elemecdn.com/anzhiyu-music@1.0.4/%E9%9D%92%E8%8A%B1%E7%93%B7/%E9%9D%92%E8%8A%B1%E7%93%B7.mp3' type='audio/mp3'>Your browser does not support the audio tag.</audio></div></div><div class="tab-item-content" id="test4-2"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">&#123;% audio https://npm.elemecdn.com/anzhiyu-music@1.0.4/%E9%9D%92%E8%8A%B1%E7%93%B7/%E9%9D%92%E8%8A%B1%E7%93%B7.mp3 %&#125;</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-3"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">&#123;% audio 音频链接 %&#125;</span><br></pre></td></tr></table></figure></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h1 id="视频-video"><a href="#视频-video" class="headerlink" title="视频 video"></a>视频 video</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">样式预览</button><button type="button" class="tab " data-href="test4-2">示例源码</button><button type="button" class="tab " data-href="test4-3">标签语法</button><button type="button" class="tab " data-href="test4-4">参数配置</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><ol><li>100%宽度<div class="video"><video controls preload><source src='https://github.com/volantis-x/volantis-docs/releases/download/assets/IMG_0341.mov' type='video/mp4'>Your browser does not support the video tag.</video></div></li><li>50%宽度<div class="videos" col='2'><div class="video"><video controls preload><source src='https://github.com/volantis-x/volantis-docs/releases/download/assets/IMG_0341.mov' type='video/mp4'>Your browser does not support the video tag.</video></div></div></li><li>25%宽度<div class="videos" col='4'><div class="video"><video controls preload><source src='https://github.com/volantis-x/volantis-docs/releases/download/assets/IMG_0341.mov' type='video/mp4'>Your browser does not support the video tag.</video></div></div></li></ol></div><div class="tab-item-content" id="test4-2"><ol><li>100%宽度<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">&#123;% video https://github.com/volantis-x/volantis-docs/releases/download/assets/IMG<span class="emphasis">_0341.mov %&#125;</span></span><br></pre></td></tr></table></figure></li><li>50%宽度<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">&#123;% videos, 2 %&#125;</span><br><span class="line">&#123;% video https://github.com/volantis-x/volantis-docs/releases/download/assets/IMG<span class="emphasis">_0341.mov %&#125;</span></span><br><span class="line"><span class="emphasis">&#123;% endvideos %&#125;</span></span><br></pre></td></tr></table></figure></li><li>25%宽度<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">&#123;% videos, 4 %&#125;</span><br><span class="line">&#123;% video https://github.com/volantis-x/volantis-docs/releases/download/assets/IMG<span class="emphasis">_0341.mov %&#125;</span></span><br><span class="line"><span class="emphasis">&#123;% endvideos %&#125;</span></span><br></pre></td></tr></table></figure></li></ol></div><div class="tab-item-content" id="test4-3"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">&#123;% video 视频链接 %&#125;</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-4"><ol><li>对其方向：left, center, right</li><li>列数：逗号后面直接写列数，支持 1 ～ 4 列。</li></ol></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div>]]></content>
    
    
      
      
    <summary type="html">&lt;h1 id=&quot;Front-matter&quot;&gt;&lt;a href=&quot;#Front-matter&quot; class=&quot;headerlink&quot; title=&quot;Front-matter&quot;&gt;&lt;/a&gt;Front-matter&lt;/h1&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th align=&quot;l</summary>
      
    
    
    
    <category term="博客" scheme="https://www.adaiblog.github.io/categories/%E5%8D%9A%E5%AE%A2/"/>
    
    
    <category term="AnZhiYu" scheme="https://www.adaiblog.github.io/tags/AnZhiYu/"/>
    
  </entry>
  
  <entry>
    <title>密码管理器：Keepass系列</title>
    <link href="https://www.adaiblog.github.io/posts/keepass.html"/>
    <id>https://www.adaiblog.github.io/posts/keepass.html</id>
    <published>2025-01-24T07:37:21.000Z</published>
    <updated>2026-02-25T15:49:46.925Z</updated>
    
    <content type="html"><![CDATA[<p>KeePass (<a href="https://keepass.info/">https://keepass.info/</a>) 是桌面端的原版和官方项目，提供标准数据库文件的技术文档。它定期更新，并处于积极维护状态（使用 C# 编写）。<br>KeePassXC (<a href="https://keepassxc.org/">https://keepassxc.org/</a>) 是用 C++ 编写的一个 KeePass 的替代集成版本。<br>KeeWeb (<a href="https://keeweb.info/">https://keeweb.info/</a>) 是一个网页版本，也兼容 KeePass 文件。<br>KeePassDX (<a href="https://www.keepassdx.com/">https://www.keepassdx.com/</a>) 是一个安卓软件<br>KeePass2AnDroid (<a href="https://github.com/PhilippC/keepass2android">https://github.com/PhilippC/keepass2android</a>) 是一个安卓软件</p><h1 id="KeePass"><a href="#KeePass" class="headerlink" title="KeePass"></a>KeePass</h1><p><a href="https://keepass.info/">KeePassXC</a> 是一款开源的密码管理软件，支持本地离线存储密码数据库，通过高强度加密（如 AES-256）保护用户数据。与云端密码管理器不同，KeePass 的数据库文件（<code>.kdbx</code>）完全由用户掌控，适合注重隐私与安全的人群。</p><h2 id="创建密码数据库"><a href="#创建密码数据库" class="headerlink" title="创建密码数据库"></a>创建密码数据库</h2><ol><li>新建数据库<br>打开 KeePass，点击 File → New。<br>设置保存路径和文件名（例如 MyPasswords.kdbx）。</li><li>设置主密码与密钥文件<br>主密码：输入一个高强度密码（建议 12 位以上，含大小写字母、数字、符号）。<br>密钥文件（可选）：可额外绑定一个文件（如 U 盘中的文件）作为双重验证。<div class="note warning simple"><p>重要提示：主密码和密钥文件丢失将无法恢复数据库！建议备份至安全位置。</p></div></li><li>配置加密设置<br>默认使用 AES-256 加密，保持默认设置即可。<br>点击 OK 完成创建。</li></ol><h2 id="新建密码条目"><a href="#新建密码条目" class="headerlink" title="新建密码条目"></a>新建密码条目</h2><ol><li>右键左侧目录 → <strong>Add Entry</strong>。  </li><li>填写信息：  <ul><li><strong>Title</strong>：网站&#x2F;应用名称（如“Gmail 账户”）。  </li><li><strong>User name</strong>：用户名或邮箱。  </li><li><strong>Password</strong>：点击生成按钮生成随机密码（可自定义长度和字符类型）。  </li><li><strong>URL</strong>：关联的网站链接（可选）。  </li><li><strong>Notes</strong>：备注信息（如安全问题答案）。</li></ul></li></ol><h2 id="插件"><a href="#插件" class="headerlink" title="插件"></a>插件</h2><p><a href="https://github.com/KeeTrayTOTP/KeeTrayTOTP/releases">KeeTrayTOTP</a>：显示Steam令牌<br><a href="https://sourceforge.net/projects/webautotype/">WebAutoType</a>：根据URL匹配条目<br><a href="https://keepass.info/plugins.html">更多插件</a></p><h3 id="插件使用"><a href="#插件使用" class="headerlink" title="插件使用"></a>插件使用</h3><p>将下载的<code>.plgx</code>文件复制到<em><strong>KeePass Password Safe 2\Plugins</strong></em>文件夹中并重启软件。</p><h2 id="设置"><a href="#设置" class="headerlink" title="设置"></a>设置</h2><p>工具-&gt; 选项</p><h3 id="界面一"><a href="#界面一" class="headerlink" title="界面一"></a>界面一</h3><div class='checkbox green checked'><input type="checkbox" checked="checked"/>            <p>最小化到系统托盘（不是任务栏）</p>            </div><div class='checkbox green checked'><input type="checkbox" checked="checked"/>            <p>锁定后最小化窗口</p>            </div><div class='checkbox green checked'><input type="checkbox" checked="checked"/>            <p>关闭按钮[X]最小化窗口，而不是退出程序</p>            </div><h3 id="高级"><a href="#高级" class="headerlink" title="高级"></a>高级</h3><div class='checkbox green checked'><input type="checkbox" checked="checked"/>            <p>退出和锁定数据库时自动保存）</p>            </div><h1 id="KeePassXC"><a href="#KeePassXC" class="headerlink" title="KeePassXC"></a>KeePassXC</h1><p><a href="https://keepassxc.org/">KeePassXC</a>是一款现代、安全、开源的密码管理器,可以在 Windows、macOS 和 Linux 系统上运行<br><a href="https://keepassxc.org/docs/KeePassXC_UserGuide#_configure_auto_type_sequences">KeepassXC官方文档</a></p><h2 id="插件下载"><a href="#插件下载" class="headerlink" title="插件下载"></a>插件下载</h2><div class="flink"> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://addons.mozilla.org/zh-CN/firefox/addon/keepassxc-browser/adguard-%E5%B9%BF%E5%91%8A%E6%8B%A6%E6%88%AA%E5%99%A8/pdffkfellgipmhklpdmokmckkkfcopbh" title="Firefox" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://addons.mozilla.org/user-media/addon_icons/917/917354-64.png?modified=1723572339" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Firefox" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Firefox</div>                  <div class="flink-item-desc" title="适用火狐浏览器插件">适用火狐浏览器插件</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://chrome.google.com/webstore/detail/keepassxc-browser/oboonakemofpalcgghocfoadofidjkkk" title="Chrome/Brave/Vivaldi" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://addons.mozilla.org/user-media/addon_icons/917/917354-64.png?modified=1723572339" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Chrome/Brave/Vivaldi" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Chrome/Brave/Vivaldi</div>                  <div class="flink-item-desc" title="适用Chromium内核浏览器插件">适用Chromium内核浏览器插件</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://microsoftedge.microsoft.com/addons/detail/pdffhmdngciaglkoonimfcmckehcpafo" title="Edge" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://addons.mozilla.org/user-media/addon_icons/917/917354-64.png?modified=1723572339" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Edge" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Edge</div>                  <div class="flink-item-desc" title="适用Edge浏览器插件">适用Edge浏览器插件</div>                </div>              </a>            </div></div></div></div><h2 id="配置浏览器集成"><a href="#配置浏览器集成" class="headerlink" title="配置浏览器集成"></a>配置浏览器集成</h2><ol><li>打开KeePassXC-&gt;工具-&gt;设置-&gt;浏览器集成<br><img src="/img/posts/keepass/liulanqichajian.png"></li><li>浏览器点击KeePassXC-Browser 扩展图标，点击连接按钮<br><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAx4AAAFBCAMAAADOo4kHAAACx1BMVEVHTVlJT1s7Oz04ODlDRDErKysuLi8zMzNKSkpXV1dbW1shPjcZaFkQj3cGr48ZeWcVWEwoNi4JpIcQg201NTZvb2+goKDHyMfU1dbd3d0iLi4sVE23t7r39/f////6+vw0QUCJi4no6+n08O2rratCREInJifj9vOUk5OY3NFZw7zB6OTMy8eBgYEnt6Hu/P66xcjS8uqp4NjMz8t2y74iJCckUzrAvLSynYiyXFfLenbqrKl9JimHRDmiinHApIfTTkTga2QdHh61wMbcOSWVkYHIwrb22toZGRnCzsuhTyv3//9aPTeGXkJMfENal1Beo1KqhkHbvkTuwkVHVzh6YDjhwUX16KKFpFLTlziFcja9qkmp6PT++tmmo1DtnTUiJTO/wUXusTteJinAbSl+nUXuwkC+eTBKLinchzEjaz5fq53S1IXA7v///vP27r2gsUdepHTtu0CwjT1lRzg1LCkxQTBfYzZJRC1dhkHU9/+wz8uC1sjVzVXPgzHpqTuhcD1uhkCvw3abtbGtYCrl3FOO4Opzo1JAJSnJvUZgo7zl/P/r4ZBi19+apkWOn0N8kUGSWDxCcT+5lz1vOzyKOzzM0LnMz8dzRz07PIrMza87caLMw6I7O0ZggaPMzsFvosHDom88jbHMtIw7O1uLs8o7O22jw8u/taA7QnnGqn5DOz1Yj7PHzsvMyLZlfZSmuMC6rJLHs41kOz20j1k/hKusyctMcY+9oXSle0F0lK4+Tm/Lu5aQeV1OOz1EZIGUuss6WJC4zss+ZZebvss7RF2DoLKxlHChgWC6nWc+e6WQrLh/q8SRb0lwSoI7W390jZxjmrmSeaXMxKdDYatFc91NffZLe/FXqPyNv/yNlff77f2dhPf/9/3j1/tNlPpxxf7y3/u5pfed2/5wffbRu/e13v5IeOlNvP6Nffa3g/Y9ZMUzVaWBGPCWAAAmM0lEQVR42uzYBQ7CABBE0bp7739XfHCo63/JVqOEySwYAL4yAXxhWAC+MI5jMwzzaYxvLxiGoT0Y5tNoudINZ86cFZDLcnV5qDNnzpzty6XBR7GFM2fnfHZO947uu9aHGC6wcp5vv3/HgzDqKQyIB7bAu7WI6iSIBhAQD2yCknG9CKMBhMQDm+BprbpcRIMgHtgGX91xOhAP4DkeKo/9xQOIkzTNTtK8KN+3K9XH3pYroEyq7FH9mpDLWkV7gHCcVHn8HI/H/thNPICiyj5KC1cuwdhbewBJ9lWVlIqHumM37QGUdSY/ArLHf64ApeN3QFQezX57hEdrjweQZ/9VyYGd+2xrGwYCOP40LmC5RKRuLMet7+SNGWLvvfn+36hSwkZxw0v1uR+Z7/k/p8v62vTwe77PmK/vXM6DkAGfSTjwJkvH011nHMNIxKMkGcUiGvrO5kHI75DPqP9ntunBvCAFRAkgESENPOZoHoQs8dn1M+/lu37T6+jlBQKUVZ5XJQAWeY85mQchP/iXLGXP731MraOuUCYAIKJIAEAisaqZg3kQ0tiHh8TlqTu653UermqBZSUkyCJNC30nqhLb2sE8CGlCbrGCElc7VhBveh51VEIVCQSQGgCKqIIyqp3Lg5BmwG2WcQ3XOk9Y3pQ8WL2OqVJtIWFMFq1SKa7X7P/Ig9DZagM39YVPF+oBEljVCpNcKbWFAOPhsaWf5Amq2qE8CFmo67rX63MLMzq2caf7NSxmzyPGVOW5anclaHK3Nc9SjCkP4pSgzXMV2s9Wq3wFl3mXcMnWBwuKUqjciBFAxrmhRFkEzKU8CPGVUtxib1zGpm6kU2j5j/cjmbS51ipRlBKEmjxLZOQ7lQchw8iax+RctYbb/B8+DxBf4ajN21xfqjhBqPLWPG1HqCgP4piGcQspubaK8t95MFsexjgPKRPRGpQHcU7TNPvWNz2e7fAu4TfWlUeq8wCMHc2DEJ1HaFvMl8f0fedq7vtM+7x7iDd5jCZPBO0exMU8+vyj1Zd3PGTHct7/WdeWPMwrV5XOQf+ZPOR6K7S2AnrlirilMXks8XfereTbU5fz8GC/6dXj8fH5fY/DSRLpus6jODo2Tk5Pzs5dy4PQ9DjgH23iyssSIrnV4v5+05g6NMu75kKbTI9y6+L48uTq6vr66uTYtTwITY+bkL+396YJaV3O+z9MHXPW4RGw3i7GwkiTQsLtxUlZXt3d3Z3itVt5EKLzeDldWU5U25blPByM45ibnwwP6yd2t4SoRFoClOn98bXp4xRP7xzLg9D42N//w79kcX9cx/z8AjOCz+oWIdZ9VDHAQ3V0fHcNj6YOyoO4t3ywPp/dr99Po2NhYci0qd8WHKVVJeJYmDx0H7oOyoO4t3w0URDyDpalw4yO4dBjrOu75mWynmq7Dyd675DweEV5EPemRx0Fi3wm4eDlXLUw9DyPzfBLJYCPJ2bvuJblFeVBXNMEwV/27tpAkiAGoOgyE1nnjzLQoaejGso/nVXBMDP0f3Lb/U1Ul/Y8VxwhdM+rzqO5/nNV/9v41fQzq9jHYeUByJXXYWGOn4haCCHG0a1j1l8Sa/kvia3Gf6/D+/jPjV0cmisRNbP3OeIw64tjrl9Qp2v39o9G8qNBHjg0Iqpm4WF2HKYxjlRHtf7QDvq4n7j8TShxqPbFQR6ohnx6FWzs4mlfgjOnKlLOq6qSByCXUvoYCeT9xfricDmOKuUBSDm/cvry/p7PqR68jcE4Li9zHFXLAxw+NB9AMguuL45Sx+X5gErkAYhTNRf6WX8c7sqPHr3xPG5XH/LAfpPLy94BxOUy+tpwl9F1fx0cPVCdQMSpsx51uY3ifPDocbsyr+M25SEMs7eT63Bq2mMqhW/iPs4H3a6D5yGXwN7KhUihlkc6Ottcnw85u12D2skZcBDOi49uAZt2c0MeOCBzlEEewL7nAZAHQB4AyAMgD4A8APIAyAMgD4A8APIAyKP2yT4dYGoQggEAJNBF9jpVtbv3P8ojzw/QwkeYucOU2k5Ry5V+ch+TEKNnPT6521nu9O95J2HeR48PrnaaKy3ZjlBv1mOvtNOUtPRJqK7HXm2nqWkZk1BDj712nrRMgumhB3rowYYeeqCHHuihBwH00AM99EAPPQighx7ooQd66MEpPfT4Y+c8dJu3gTjeFaxgBbMwELnT6XaHGazkBT4XRmA7U9nLzrSjLPsb2Xs47u7j9u5P5EC2cqA0qrt4ACyTOp7I4H7mHUnlk/fee2945B+Ex+hYqPgFJ23Hw+Ex7nnexOQ/B4+plAqV6ZlCqMzO9f6Tz/zOq4WnNF8slVXY+Bb7rL/HklqOGw+Hx8pXqwMDa4THuo/v1r1P03yjUh14WDbWvOFY8ZhX4WK5WbC5ta3Uzq7/H8Aj6E9UW9LxTO3UivlSqt5uPBweK889r/I1UUCXF2lv3eTjJVcniY9Xv8fh655XWuOr4b8Nj72yUokafRAZbcVj/+CwjXiI2zs82o0H6DDFQuGTtFc5It8//krqpBWrISgTLNqMx+KJShwCidHBNuOxpOox4BFDa4dH2/HwTuXemVeRbL3teOzUQqRMjiIanf5fmns4PBwemCIsGT6XW1bE1GY8pquhjimOMnWREI348XB4ODwkq2aZeO+9LGKrS3M5qzJi5emkMbF6PnB17UFOdVOvwiSdDlD9hJ/pIRs352aDW70mlumh0vurkfFYLDUoyh8z5I7xEJfJ4WrgsT/YoXYauhyUvlVq5/ASBY6/tlWi2NCFfS7s+vAvVitOFkSkaZMTYv2wKe11s9+Vycbkfdy3bNsFNLzCtHPHqtt0DXHw2YMy2wbJ2mLXYR7PgafjUxpLXg5ZECN7WykoCB4YRqLoAw8Z39PxcHhsHCMrX1+VOKtyJEjcZk0+Prn2ku938/RydZ2kjD2ZPF1LZvmLgcfb2fX3qe5GNyDDxEQP8DjLet09SW84Mh6zc8vkcqb05gWPoA/Ti4nH6MXOYFlphSnyu10q8QyDNEW9NfhtSn0P70olioM16AX9amd3q0MmA2m6td2bN/HAdEU2apQdl2qkUavlbLvA41nXLpXqs3O4Hv4Bjz3il2yrzhmwdYGn9/ZbePxQ3tklPpuCx0mtzJHmHRtBGf2jZwoesz8qGlI5MYaOyvieiIfDQ+aBYSvOurlnZxyzhSQpN8RKJr3+KiS40ngQQDfn3GzCp9bPvYkqqbKRSboHBDPRZ49CMFQI8qYMFQSP/XLnpY1HV7kBP+wd4lKiqUkgR0TlpfaiOt9D3b6PH+Ym6gU1Noymi5sWHuyJQC3wJbiy7KK24/shRH01uvKzLy08cKsBByfQ8aQ73drEQ73Fj5fG0lpf8Fkn64FMORhGbkjDumyNLx48HB7wdRAgsGg+PkZ0pPN0ZCW4tsaDdXB9xXMPQ6IxmeTSZIy5xxQ8zMRDHeorO8w8FSAnAIJQEqbg7LL3mNNXhatuIb/bNh6S3Agetl2uJb9EM1Qv/oQhiIPjDvOgv0gnqbWFR66AxqoRjsdseVm34qtuNJVavjdLX2R8MePh8NgQPOx8o1Lle1CC1zda44HaDZQka0fu8Ul6ffVxeAR9FFxZm+fLQ6F4CBZwEZ52JGOF5+ypujh8g37C4cVAAQ4M1x8SO535UDyCuemGjYdtVxJjyYpO0FwcnD0afYaBnHSSWlt4NKRBKB57+M6aBKFuJA/aAx4YX5x4uODqRoIrwcMEpDIimjh80hKPdV9KxNqpgQchI4FaRDz6c4WlminfPzR7oKzxmLpgd5fqE3Vn+hnvl1zqn2gBT4xNIaYPwaNQSqld38LDsiu1uEqlrQDbmlqGZSgED/58CI8T83wN1DFkWbmS8cWAh0vNV471sZFX/H0Nzv8zcnNDMmnvBnlFUssDeEwIHlpF8OCN9iwvAZzHEVzJbBGOh8QX8B9UGX6N3fZeXwf6NS3FvKURhkdhdE7xwpgo2XYj4VE3egurj8YD50u0vKXx0B+Ch4wvTjzcwm7lF3BiLuwa24MTjatr486fwYMBucY8FRWPUb8w+4MpvuDBv/zN1niklo1qHfpYTje6pRJV8SuLPzMNsfDAMm6KqgQPy24EPMQ2Ovin8WhIfSgeMr4Y8HB4YPnVkBD/RVq9glgpOh78cSN0TcpSGL4+fWG3sIcEOByPYO7+HkApWTmChOmSKougQe+Q7ZXQlWP2F2xZA2DbjYAHYj6BcBadBOnR8ZCE3sRDRlVCR6XPT8fD4YHJI/zMlXm45Fz2CCPjASqgK0xAI47ZA1sWxXw4Hvy7fyjrUEhWZYUpb+jbPiSzkiCzp3KyIGT4owBg2Y2Ah9imTjY0FdrMY/CYkiVf6U5J5zSU7KOjMr648XBnruzp49PK0Tmv7lLugbwd59ozX/mA6kYCpxZ4fHJNDfAArFytjjBoNA/FkntgKVdnAoEcSRQ8pi7u9z1QeyL7E7x+5Os738Of6kNs4WCmIE9IJRo4K5+/P7dS6sDCLprpCWBK8adtNwIesK33Pb5HqZPN7891RMcDsH6fx95+VavLonbwDB01xhcPHi64muDlW32xz1zxnrhHdXBtPhNC+95A4IymmfQpoFnvroTiMfCSG6TJKvY9PK/7vSzmpih47LU4kkg/u8LHr0qRlhxoFzwQBGHXHO6LmUbvbh/Ce7t4U7lzRu+QJ7hg5iClFHa22dw8Ndstd/6gtxMSNTIBYII+UslZdqPgIbYx78H8Dj28/pjcg2FAn1PTggdGy11GcCXjezIeDg/w0XMzAhLIdTM9tOst8nU6ydUTR7qY+SpLpcqRziLg6vqVkHA8cMqK9Ku3rPCJNI6Ex+JJSoVI4tBUGiUAyFeaeTu4ksNNxbuhe82tDvIgH5EQjj0dQhtqxtEs+0iWPsq0e6n3PQ74JNYuaYLMVCJn2Y2AB2zj3FZDepVSxUl0OSoeciaMHirq6PJOcwipuYwvZjzcy7Tw7fgFeISJ+1cMQvQ/+l1zh8dtdzIpqXfM8uCbhA6PAFs4/1M83D/y+QSHGFuJw2MPifr/DA+Hx9VX2CLPXIe+c+jwWGoOgQ6sj/3v8HB4XOOlEI+PtYeIw0PxmZZthWPt/zc8HB4bH9MqML8fGDp3ODwWS1vbetmsLeLwcP9E9Df26eXEQhgAACDksmkk7eSr9l/Kgix7VR4vGGSmh0EPPdBDDz6lhx7ooQd66MHjPfQodTUlnPpgqq7HtVxXk8OpDaZqelxLdTUpnOIxmOiIetyw1bVs4c/ux0THHvS4I+VSV1FyCv9i64MpeotBD+A9PUAP0AP0AD1AD9AD9AD0AD1AD9AD9AA9QA/QA/T4gdfQA77UA9AD9AA9QA/QA/QAPUAP0AP0APQAPUAP0AP0AD1AD9AD9AA9AD1AD9AD9AA9QI/n/bJvNjtNBVEcT3yJbtyYuHRBMgvYqAsiSRNdsPBJZOeGxCcwEVEEC0Jbpb2IUFuBAloEQesH8kKe39yBw4njiJ81kUkE7p2Zc/7zP/Ofz+v9mxNjf8Dsg+LknT8Pfuphn3PDv05BafSPwJt2M/+JPB65Wf97ruwm7327WKXqSKXH105g80nVzdfyP+vZwm0f76eLmdQfGjA+yrnRZ9dP5WFTPXOFwo1pt7T8O+UBeud8GEZ+xM6pPKam3QQ9PyGPC4VC5tx44wRGn2chLk+azpdvNZ0TA/LjhpFHMIrrf1YercUXf1se95ulFfn1R+RRKBTczzJeWe0f64E8cNtbedTp0El5+Py1srvL73RiKmpfzUXXJsAPi25ofUOeN8tWHo7Hzaqb3fhn5UFf+KvysE5+tzwwPNVqEpef4rQH8sBtL+UBbWFWSMqDjv/yRMy86oyzct7qUIsxax61hGTlQbEizf9bnJ7Kg/iYnGQ6lcerpqojLQ/Kn6hPsZNBSzWp+9otGXVYedD8vyuPU3lMwfyJ0qk82Eq/qB0emQyyV8430Ns7RecW3mx8JY+1nT7ZSrBN94WoAesttt9Du2F3vidbkImL8vfb4l225wl5dGg+JMiBzR7LrXfFwx17181TZO61LyomZ2tn1nz2wIaBqPWV09ailCNTIK9Kw1z/e/5WoKoAMSQtwqP1X3YkGq0dzJsdGEkSRjmyvBdNazlbyxRehcT+9ZqClbo1KPZp8g69MMCVOh+qUPBI3ut4hZfVIu8Njvxh4ENUHsq8/Pi4iD0YBSpQlF0NrdnXi83Al6MHGA40TX0apHUUAD8WybdUg0DcSd0ImflpztC6uu2NPObKYXRnsyCABrN85/bktbSvz5Gp8th3836f7kvdRgcUyujfdQni2UIeUqTxocqcRA+frSXlUUcCdJHPwsQMhsTmYCaMYMcH9FWHMthqyFyHS8JqIGp9Uv5YOitvXoRTgNLZ3KQCVXlcfi3tdu6AyBj/3ULG+cH8sQ62muFTpscEYZTbybzHFdM9YQ62aIUbknw/MinYhjSZzXOh0EYe3kWGWfDF5LEqJm5YHHNd5zDW34nLgwl9fAVO3lSRYWA0h6LsamjztNXncS2MwlcZPPQAw0FIUAGEDMRkY5F8SzUIBpo+b5YOaBtRzhsxo257Iw/ZPwM17xgHAm2765Y2wHdZRL1JJw/RgDzZVFRurde8MGb86YoU2v50h6mcnrC5TjlqD9FP2K7IiJ6Qx9pORk+T+ncHscVG6M0GKGD/ftNPPXXh8w4w7t6WhcELyV47t2wgan0Sj+MFMSOU+yns3e4GoFCqAlV5FA6uS/ybIDX+I4urC5nkUnY+QRjlSruSU9ZNMCKXEozKY7C3dI/xkl1fDrbmwY5pL8Yzk2+pIXS3Oi4mj6E+IcPggKyFFW/axeVBcUgpu7PUEiy+wS3UpOxqaCOLqwIVA1/GN8nHXN4JhGGyS0xLay9BbqgGQaE9QhPZqhpDU123wFTfutTjxdWF7ODi0YUFfTH/LZg5fRLsWXvDRwOq+qTLa1XJoIdb6rUrYIxAhiIxefjE1AoJrm3kxB/5Kll+TiyWRjE6uZxDIVmIob6GkssXDkkZKI8wisgsUNJ0gLpPi4z/iDzYT+GT84RvEka5Bg9burIk5EDyqY5s8j8mly1YK4+AAocxeVDPBk5+IH9MZ3F5rL3LxgFXDs2uB1isDJRdDW1EHpxf5nwZ33qyz+RAQnvD+oehGheU88TYRhjeeiqPoWbYeRDYsAwqS0u6sBPA0cd9YqIxXHcZYkgcU9l1hIPotDxYtxTYH9TwQzkkMHFR9Ufs6DazddfgzQzbkPkwTBmI1DehzGWBvmx8FajKg1iFFln/X8uDsIX+mSDMlwvF1Lt/F6R3Q18asFYeCqcS3Xvw0wZOHiiC6cjiyvk07iPOXOqxUMzntpcNu4Q2Lg/ly/om+WYgP5KikVrztioI5nVHawxR+N/Ymuup7r47SjeEp8OUy4Oe/Hg9b8Dap1uyeCdSWx3p3CNhbHR5fljdnmWAtPIIwzopZ4ec7VUAhHMWRh6qBQpxcEAIGlsdIa87vkIBN3QJjg3Eo/raFy8eHwS3gZxR0AIN+0V1aP2HTDv/HNpNEJbXtfJ4e2Q5XzMGoqSAAWvlQaWEPOg4NnAMKOlrwaGB68HZTI6FeiEoyq6GNiIP5cv6tquQMCVpV6vZqjRX5WHIfBm01nt56CQ8jQbyNBwEQToY0yiTKiyK2OnSws1Flkd+ilzl3Ga3Fky1P4Qr8zIEaXpy6zxpYFnZ2ScukHBEldIyR/fp3r1dqU6M8Y/16GB+cmQhWhL10TuZ28mcFD5Ld1KgUXlY//GD3WA3QVhEHlg26NSOAWvlQaWEPHiygaNa6mA3cq7uCiG17yi7GtqkPKxvLWe41dIJeVgyFXqv5TE1nW+DzIzG4Ya999AlNHfgyjXHoGyuGaEHHRNBuBAMH1zts6tOnFyFQVDl0d6wo3ejUpURtFsaZQbxCFqLnA8ZiEl5sFu9dFVfKtCYPKz/uDxEtuPDCcIi8lDLADGzR1oeNZUHJ3lReSgOHk4sD4OFpOxqaJPysL61dQaNaiAhjziZvZcHK2EO04jf8jHy9uLyYGFgV5Ufq64RqN3P0EJFVrC18JNNOpZOKo8tu/ZnSbrV2aNj7NWDG19K+DMQU/KY82wDhZcKNCIP/Kf3Hhe1C8QJi8uDd1hWcamdhDxYzQXaySNL9xXhyeIAduDoRPKogMUm2NXQJuVhfJOsRfS8rEJJySNOZu/lwXktgwTfGqhm65wqGHkYtEwinmvlSzPrnKbCQfi0rrSblMe0Lq7gVk+OGr5bTOyIc8lvl9Gl1jUQk/II8ME1ZvIj8jD+YydXDT16ihMWl4e2jLSvJ1ezGwl5cJgVHHKLIB7hgKfj8lAcqgoWBd+XB6mrR34mS7kx+znLl/FtWxdUHaTCgVpKHtYQV8rGbQ/lAVqm0/ywmc3yHs3hmIpjwFEbZQJWY/iVTj13jiL+zK61nh/AT9JrfEixh+q44Vm6xnMr8kmieMsoThcJzIR7hyC/bqlPBlAOWPog/cmVES9oAWQgpuQRzmMeFpGHAo3Kw/qHIS1IEbTOpYI0OUFYRB749JbXuPdoHt57kP9NefDz6BaDPL7Q4aag41QeFgd0+0uH1YwylTKdLikPrmP8XuP82DF2NbQ6SIYHw5fxTfL1Q+uGkUq49+A6IyEPY4h2+kZw74Hb3sqDselFLVx29rlwPca9bgGObZSnKZSNn5cWVqr+ghltPWK3zmnu0Qe70IQlehob4/gH7byd131BuCbGKPwAUfLD8cxM2EmGK14DMSUPmge4Z7xUoFF5WP90Hqm6dOzkahFTuf9vEBaXR7Acbs0fdCicIba0PCplT7e7XCWP6w/umS+bvYfF8bGZB2iAvcdWkQgn5QE7wGLsUHY1tFqjK5j7Ry1f1ndItC7cmnOHD2LGjoQ8Yo0ocGuubnsnD2ZihvA5/yFQONn7+K7Ip1Uo2kaZQkPvaeEcn9Y4X37zVtH/fylzHbUfboE23/U5bDFw22tB892R/NJvot6MmM9/uc1eAcpOH3V2awZiWh58zcNhFS8VaFQeX/t/K/4uH+9gO/qB0rcIi8sjWKY0c0j4sCstD1x4f4eWaEnpTcXKw+KogKP/PVtztv7p2YO0CSyPRdnV0Gra7mZu4bbhy/gOSb/cuqcfT5Gdloc1tA0Sjym4/cLeXRMACAUAFAxFYTIQAdtphLtt6F2Hh3y1mZbTRdOsyYMkXozfIA/G2aZovvAZeVA0M9hZvlpfiDwIg+b4hOXcEfKg3ZrZDuFwdx4gD5AHIA+QB8gD5AHyAHmAPEAeII92v9Z13HFHyd5Z4EhvBFFYijgXCIpD4p9gRWFmpmtMDhA4wTIzMzMz84VSfj37VE+xHIfBXT+2oXvB39rVPVNfxCNnqE9qKPdh2XiwwACLozJ+r2YPtYg4Jmt6JZXl8JbbGEXEw95t/D31ejlj/aepvxgPDpKNx2B/inTnd2v2LlGtnZWEgzrWOoB3IkYh8cC7m3kZ5i/t8JcHBsnGI9u0m1+zp7Jd8DkcSo60wJY4PxHx+G9FxCPDtPv7NHtQXH0fqpNVlgtW/Vff2Roj4jEymkHH79HsBYXWYBBeDSKtiVEIPKCJe7Ncg7qbRaIgGrAoOb1eK2sfpRj5sIlyAhrlNJVGjSwUiXKKQmJK250F62WGqsso1Y7DOIg47gQPeC8Q1OZpQzV7KMUEK6DK9VrbIMg7ZbWtcnHMERTVjlEEPPZ3UK0PPxYFj7nHUNrwE+r1ymXs3kH9btHEMYMNh67UeKOc1A7vZYlBpygkHrTded3myV1gsmmiDxzGQbzjTvBwpl2nzZOGava6LM1+CA2hk+vRdUfLwhkexGivjlEAPKCJa4XUSvD45cNVKN4Kzd2CGvlSipKKUQ6BM5Iqqq22c/ERURQSD9junDkFB9ydQc9DOIyDiONOgO8P9iPV5mlDNXuzqDGL/zq5nlVUR5nXb28KzN6COI11Z2MUAI+xSor0fgWPIxTg539EE6d4qFHO4YEO4ZKTevvEA11KemB/P/NO0ueJdSR4qOPOA0+Fn2jztKGavRsAFvlJh2E0O8d9kt6MGEXAY0jUVll4nCT/8DpSTZzioUY5dfjJKVJtlbY7cXBdtr/Yf11jYxqSgkfqR4A7EEtCiTZPGqLZQ2gx95D0jPmkZgTPgcXCI+IxI2qrDDygbOF1RGhS8VCjnJiC2D8VhQ4PeaiHxbxn47rmJKk0voWbjOKhHwE/Ns7qijZPGl6zB7XC3jO3YAinXA9F9OsnCcjmXN1ruP0UCo84c5UXDzaxIRMPNcqphYn9U1FIPPjR0IHSbRn5kHV6iD958eCaoGjzpKHnhDXwh7esdy/Xc3N6WBAsL5n3wZgUo0h4QMh6mYkHDGT57h5qlPN4sJyyKApT8MCHcV3TVf+JIdI9bHeQ3HgEE41I7rTBc6hIeOlR9u7less2D42Bw4JgR8DuJDE6xSgEHp188MF1R9lfWu5xKLlHBh5ilHN4dA8zHRdFYSoeSB1OYKdtOrP8Iy8ecIzh+hZtHhtyDh8FKRtXuV7PiX2sWAmcwd+HSNKLMnUV8bhu4AyTXaqh1XE3DQ/63o6gg0zHAwSoUc7hUcdpMlEUpuKB67ZiLumvo/4Fe8byeAxn4UHblWjz2Eh/6ANTJelFDGFhQXC0rhIPWtB8xfj/43F35TusT6xMI5VdWIPHDv5v6EGp14PvDeseUAfqxan2VTXK+UX16y/gUrODnKJQ8FCnxZvvzOAO8xC44QAOkoUHbFeqzdOG3j2uGyBhvVvy6sLx1WF0ZOKAIyzDB7Xf+1iLqYfwe3d84nvbOYVbZYz/IR7PvIO16zDXM5Ksdb9jVjrDA603XytRr1eW1r0TJkPTL87BxEg3UCNGOYfHwJz1CCWkKArT8UASjPuNYQsgcAAHycADP+HbvxdtnjZ4jlson7hb8urCDjv6aXxlwgt2w1DgdHAHtsRRvKAdI8X4n6bmSSLajp+F0AbSwWctm7lpX3R6vd1kN+R5aXgg1l+ztHZajHI+NR/sHcXLrERRKHhI4JkG9zGscOAADpKBBxgC8tTmqUOP53C7TVbZqV5dOB+ObsDrfytpobluQPqeGArvPjawOvwz+/ZOAzEAxFCQP6bUy2A/dO5YxIpmODy58r+6D6yHPJxfQR4gD5AHyAPkAfIAeYA8QB4gD5AH8I08QB4gD5AHyAPkAfIAeQDyAHmAPEAeIA+QB8gD5AHyAHkA8gB5gDxAHiAPkAfIA6png0xXSh7w3Ia5JyMPqNs4VxF5QG+gjsgDZgNNRB6wkV7JA+QBv/buIDdtIIziuNQoYRE8IMMqkcasQFWloFR1D9Ctz+ILoN6AW/QaXXWRTdfBAcAAAUhCeoj6OdjKII8hVU0pfv+qLVaZXX+a+RjU1oqGIZBRKtbIg7G4WskUrzMUIeTBiEPJrFy+Iw/GLk2RmFHMOQ/GTkpCm1mq5ZgHYzVDoBQgeeXB2Al0bAOSTx6MOipie2YxjzwYdRQF2hWInke31z8yHow6aqbYMeMyhUe3JaUcDI+JB6MOHK12zqjpeHTbEsHH0fBg5HEp3tR6Rk/S4Y+a8HHEPBg3j6/ypeb1lX4E8dTGLSn9IZBofUxcR0rpT+//Gx6MOqpmAo8GCoBcaUcQT20W6vBefMw9pDZ2Ic5ypBx4f6NJa5o5D0YelyKBh0BXDXmtPWHd3Xmvc6W8jw9Zi+S5fdTHi9nf4TGT5MEy51GtaHmIT9ISmsyO6mP5gmLc608CBx5SakkffJQOngfj2crQ8EB4oevq4TWQiQx9LKXfwovNZtDxv/Fg3Dyqpp7He9kQKX177cOFD2wi6yFErbW5o3RdJx7THx1/2GtLaS3Up2jIwLyyxjVehsueXBk2yJQHI4+C0PJ435BfRWo4YSk+xu1QyXi2VDaLR0eu1MEaf+XbDt4bglg6fvIT3mm1reihKYMnR66WmPEta5ohD0YdGh5R78WWvj2oPsL8pbNxPziR/tOGjtEcewHOXMDjLIInF+9SnvBOHzBmjj8Mx/5pH8tW//BwxcijgSxpfdzOY9OHJZHqY7ZxDHLlNH4RghjhoduU95tProSO9e9LOZ3vcfZg5HEm0maP9NOV2eko8/msZY3ucUEop8smfCTzwC6wiraVwRwg7j3UggHlqdv2h7GGcRt/sjcejDwKZ7rRHF3La6Hv5/Nz5wE+NscKTOfK/flMvSp8jM9amMPDX2IQ6tOjjJviT572yoORh5HC40PKR1fmr18BD3X7QK6U4SQNH9N57GGo8Ig3E+wj6TysdaNo2f54MPIo/dHuYf74oeHRkn7fxeANHysPYY5YqDzmu+0eeKeybK88GHmU9Ty+amePoh3ouH05XHlquBZUbtKRGx2nIi3K7KHloX4ijIe98mAczU+1X0lsSs3mYZzb9ouOBB4TKfFZrLJ74G/29Ok1oWnEZuSl8cB9orJsnzwYeRROS7p7D6vxUSRklm27Xo91gIeSCx8b393FwO4v8NRdDpR7j2EqD2ALl/WAIV62Uq5SMuPByOPsXLypog0dp88aHZGPXlsq83jPAThr/U2Q2frWHLeCqTw8FyuaDlZh2frWPNTnNwcZ8mAMPLB97FzlIsRxehbgUHWoPtR7QTSetUMho378TSq8TucBV+1oVbxsMcdLfDKWKQ9GHsHwcWGKHTPO1zjOClocyFV0ZFjWPBhPV/WySE0dOurAUag+aHWgnjtazL0j4MF4uqqXdsRhRzhOToBjS0fBg3H7qFe24lhP5NBRDXScQEcOeDDyOK1fVN6GI0//iCijD7u4BUc8dFSBgzxYfqYP+PhsisSMsooDOvLCg5FH5MMuAoiaWTpPwJFDHow+NoFUyrYGB3mwvPkAkIty9B83F2EjGsjjiTynPBh9AIgaNo5o54COfPJg9BEBqdtfgh928DO0oRyr8suD0QeAQAiKbCTuHKjjHWCdTHgw+oiAQAgCDdhI2jnQrXeA3WbHgxEIhIAIKkQ2IhxqN3fewXV3kxkPRiAQgkIZaTbQ97uD0/H9XbY8GIGgEEYaDnRz2zmoueMWe0emPBhTZBxl5MFYOo/fDcezfiZF1vsAAAAASUVORK5CYII="></li><li>输入连接设备名称点击保存并允许访问<br><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAwAAAAGRCAMAAADl+iRzAAACeVBMVEVgandRXGtJVGE+RlFARElITVVWWV17fYHCw8Tq7uv09PX29vZISk6Bg4jY2dn39/fv8u7F27y0zrCztbhsn2g8gjbc5tecvpvQ389Qjkrj6+BbmU1xsef////IlmtRltDksYapr7bc3N2Rlp94qHG91LdRernl//9RXJ/J/////+etemvkzJ9xXGv//9CQXGuQzP9RXIZxltDm6ef/5tCVm6X6+PdDiDSt5v//5ufIzNDk5///zJ/I5ufj/9+QsdDk5rlcZnSDsHhHjDatlob/5rmTvYO9v8CQemtRep+tzOfkzLlxlrnI5v/IloaQzOfIsZ/ksahKjzabw4lOkzjk5tCtlp/IsbmQsbqtsZ+QlrmtsdBxep+JuXWtzJ9sqVJTlzrIlqx5sl5xl56tzNDIzOeMToLU1d1XnDyQlobkzNBdoT6Qermvl2pxeWyV2bv/zNCu0v9jpkJ8ud27ciAdHUyX3f///7xyHSAdHXS7//8dHSByu////96XSiAdcrz/u3QdSpjd////3ZhKHSBKl97dl0xKl7xSmZmXl3S/uHS/4Zjd3ZhKSiByHUxKcrwdSkxKHUxKHXRKcnSc1t0dcnSFXkxKSpi7l0xyu7y7ckzd/7zfvXRyciCRgyC7/7wYQIJySiD5+fmhuIlWgCpLdxytyZBonDRelSa6urpTgyBbjiRimSfX2N/a2+JTg3RTrrzlw01zw97JriDU1cB+PxgYGmP/7JlzgyDUnWMYGhi41d2R1/8YYKK4fz9Tg02u7P8YGj/U1aJfGhhfnd3/13SumSCcYBg9f8DUuYM9Ghjl13RfGj8YPz89YKLJ/97/7N6u7N6cfz9DHGwVAAAgRElEQVR42uzTBWFEMRBAwQYveJvP5F9n2cW+8TAfgG4GUIsAIABAAIAAAAEAAgCKAgAEAAgAEAAggP1mAI0BrPM+xBi8dySAtgDWxVfKpdaS0ytSALoChNbfVcY0z9OQ+u4tGEBNABeXUkXyum1rFqllic4ASgKEmMp+iJRj244icuwlxWAAFQFsW8p5rSIy7nuIyHqdZWnWABoCuF72a3uG/BvPdu2luy/2rfq9bRiIzmMn31ZOUUmK3pwyM3fMZWYc9///YfK7eU9J55TyNaUrvch31jV6z9ZJjnUlrEJFBWTYYioe1Hxr57ZKWylVYGXEqqotWnXuqQVw9+FTu6aoqLQ2nAML15YWFdXYTx/6t4A6B2P+7LmbYBQNh5Q2t77BCja4NTYBNAtpW1rblLZ2NNIJFIMb3K+hAG4t1HHH6ghlRgHVndUmPrUA7j0K5WvKd9VEoIBwpKZLyyE/9OhekgBaulU0mNk9vb29fYqEDSJrXE7YL3+Uq8MGBlMF4CayJ4BgGxpuyEI/19RGcBsIWRlTANGpBXD/sT3apW1stCSkC+GS0THv1aj9+D4FwKt2gADA6FaFPwEGEYHSzW4Cp3XH/y8mZ6IhewIIzh1ZZaGfa2tPlJVRBeDvGQRglxR2QQHFdk6O/WIMLwpLbFMAuHgfJ4Djxy6m+jGL4HyIxnOhr1sBXHt72WtlUgH4fXoB3H0Qqi0fg70oLsspGxVcXht6cJcCAHNhrX1Ktb8yIAUAxr5+4yj1Fg7v3ivV84FALv4Y4RTitqq4IQBogwKQbnjjiItXkgA+qvoUTzj5XEqfFeLcTw3iOaCU0tVMTEXNuGblWRzNZoTXUPde+2jMjFpxE+Nb1TLkKPcz/ssK5Ia0mTGz8fu5AdahHlkZVAB+ziKAh+H88i+wF6ORHHtyCrg8P/yQAqjDgMrATc8M9WEQCUFHmeHoUnm2+o3S7jg+9z5OINN/DD3YHSQAyM13YTfCvQqcG5gCqEAAPeV0dEqf1UfVPr8woI8iRnsuvoUAzLilhfftM9Wv0MwIZDI7+BaYAph19EvzrWoGbEsRADNmNn4/N4H/HQIypICX4P+ZBFBbPgXzBJBTtgxcXmsI4DMuycKpD/6llVAEIMXts5UGGV7eywHIDnAVccHTKRQcIgB2gyMt3W3giz5EAUjxQU85OTWWJivE1f+r0Kl0MJ1x8PebGQHFJFgiSbP7IfWtigOmCoAuzAboRhQAHZmdT3W+FHCGKVDeKgUQLnux5uHVPGMKBNLCmjE6oJYBRQDvHDfBsiFAALr0jfo8DxYAJkFCYHbT0g2trTtCYwogpvCKnsIydhGcFStzNGDyRAEwzhRAcgTuVihsKAC0MB3fP5YqALrcPAH0FhBn5w7AIjiysQZ7sRzJCeWXA29EzCK4WcW54O+ZmzCg39yOod3c2u5TGGrVjmUeAlwpwdZjBABaibbYDbgTa9zp7tetcXPCIWekJyhLCqfNipmQhxQA4yiApAjxE5FQksnpwP+oAEwXpnVTBLBLumarBuAy6Is9GASQtyo411wGxSaA3K2rxRoMKPsAs/uoId+rnoPZIdCh1UGhSAAOgB8Y52ABYEohAmA3IFlzv1Ux0RBzE6Sbkhemp1zN2UO6rEw6Y8JCATDuDAJgOoECoAvTuikCeFlJnKVVIG6E1QrpJ7UAcleAV2uTNsL8bWAShJCkBa+1H+mw9F71E/hlMjcDAgWA00MA7EZH6wWiqKXZr0sA0m39SG6gGe8S6bMKvgMw7iwCYDqBAqAL00I/t3Yh+wB8FOLFV888AbQJfJHyKIT+1djE+bJFyBEmwlDTiwDcwEGWm7RUtnj8Yjcg3LfBhPb40K19SLfXUIB4MmfeJdJnlVwDCCbTBQbXAEECYB/kNIpmHJU7HF2Y1q0ALnAnmA/DlW1AAGXhnLZJD22U4WE4CkCWH1Hgoem7AZMF4Hk9e+8N9Y+/F0kCkB7XVTmhrJH/TGIBL69uHzTDbqyYu+2doPnX86gpAE+dr0xPlKC/SaS0WXFNB+Lsb6AAGOcTGs1mRJAAkt8qKO/1c1ln6oe750QXZoN+boAVVBJn7VkgPg4d2Tg8PNQrP7oE0GAj8u9xaI5ts9ygZQU8akCSFl7tM0POAWZN0zMLb1Q9AZjPi/9Hpdp7ewdUY1PKPoAPvCPsRppEiwZHhIWObqEniIq/x2eFo4hDvx9VzyfuAzAOgl0Yl2ZGBAuA6SDvt9WLTq8IyVv7d9qS3kJm4/dz7c22ibP3NCg/EFP2YtVTQJ73+0WZ/4EYCgCjFZc9Tdk/JTQF0KJp7X7QIRrJYQK54HHRHNusPV7ld1QA5Dm7gYIoIJNuMc+XnnzS4vissB8r0MfuZxDbjNP4DXeCGREsAKYjsT3jmEoBt4/DiS5GNtLPrV30RyJz8yaXN7QtT+blXoOPRFJH2bGr9yj17YficyN52iK5oevwoXiWwDdNAH/YuQsCAIEAimJB8ECkwSmPd+Bk6/BwPmZRvgcveQaAYayh678TQIYBYBqx/L7KEAAJj+OCAEAAIAAQAAgABAACAAGAAEAAIAAEUEG2BEB0BAACAAGAAEAAIAAQAAgABAACAAGAAEAAIAAQAAgAAYAAQAAgABAACAAEAAIAAYAAQAAgABAACAAEME5zFYZl3fYqZye7ZY0AIAwEwU/ji9u7qabCHZLQnstwCSMp3aSZ5eut8qRiPGtsr/5KFZsqrOrbAfBEKk0bJ68DQCKfAcBTNyPpVby8/xcC4OkYAARQ+j8ACMJKeytFOACYXpy8AUAYpXv5y/IOALa0/C0AKO9JAMaNbFqiuSfQJwPzg2LnNkyi1yYAUHz1CeTpBQA4ASRgFQAOAAcAJ4ADYBkADgAHAAMlfi9JA3vmkRi3EUTRC3Dvla/i43jnDNJpJEABUM75tu6ex/JrFVXMzh6FARsVfoUPVjdwG5Tg26TcuOnua+riK6Oydek6rA8Rr02vOUInktrWMKYKcTNV2m4Lcm7/1ujDYe3wCEPzXlzUIvXacFnFPxZGYJvoGmoccdlC0vVeCunpfKEve3d0Asn3ewMK1tFpqrgRHiFaMrp1wTs3CK8vdzuYxGZ0oIIWDrlEAN3AFvYNCCh6ws3OOuWwx/IbHo7maASMqAsErpGyc+DVBQlA89LlmAJISYBv6IA1IgTHKEw4rBv3vZu9kLiIJG3KqQLxiYWYSJRR7j/3TSxr4p6xK2yRej2PbcSlmAW2RVFAnQgQwO2NHzC0nha6aocPThBAsDsD25UEsGQ040OcZwI8QgzWCzgRwCxkAuiGJ0yHFpSZEcUNlqo6jWFrdJUAQABdb4THiMzq+ijx0ib6+eIEgMot9d0hWZlaCCUBnty63VDyNHxKBnrqePLTL1vX79Z2QxccdI2+OHex5qgvkodnowoEiCc/qZ26Oxz1rM2kdyTAcfvB4ucvjvYCuhdplwqnC2n+8jYhdzt0j8CCALNHxoEMAmzBuuO4DrpJ8Naho0bxMgFaKklOs9Gucb8rRqBUsrb4ZM2TDcszsmQdL2sSTFmQAMlNTwDY16j4pHfi/HSdDBuRl/1OD5TwwNq/ohGe310HrRXqr7Rsu/7yl7FzLvcbgLhf9SanNiysFQEQ8fAU6KSQdLWbziJ2AWt0Hxnz8GxUgQBY5bqt2nJ0oXnLw1y3gdmtmDMxbNnxi384AbCQ4dJMjASQ5WDcAIWBOnTzN2UCACE846vcA+SSNb/GbIAsgxFsDtgK5ixIgOxmojvvU6d2P0R186k6ma24aSQ5vI3kgn8sJU1up+dmuzABUA5i7qx0RQBLNQ7ASAEMLORO2FY/ukfDqEigY1MkAmE3B1iwN8YpqC+J25SIlCa1NYVnNQQmAZgTMgEU9TGg1jlCP7kHQBf89FRJgFwyFlMbKcs32RWPgikLEiC5IfLl8GiKYiGqm7b+qTqlsN15GYnz3arqgPn3iVtAds5lCcBzXRs4LDfBVgOksY0hZwwffOQ+OVOjB8gan1EF76ABEjMqDchNE2se0TYl4s5I3bOSaJrOAAXGHfFlAiiKINIS4bTQKwJ0eHwYW1pQBQFyyfixOAWS3WE+ESBnQQIkN/w33bq9NHkiUVSenaxTDrsFJxBzEEnKNjbT0gzwnZrtcgQA2MUJwChnj6zoXQ8BMEszn04AMgkhKwKIFBQkXTKcToDeNAyafzIBCAPe/Y0I0O/8+NP8ef+3NaFLEqBlRPZ4DMlG5SQBFp9vPryumQDFCFQQgNDIGyCXYyrMhQdy4xqGkwpx45f02k7m0wvVCwIoa4XTHMSQGQAFhgoACgKkESgRoAx9LgiQGt0RviCAJTs3AQwuE6AYgbKbhnp35+6uLd/64ibkzASo6+RFIJEAZkkChFcELC9zUGq2KxEgb3V8RVwQgADY2bDUhkJDzh5SZ6ioigQgF69JrzUDmy1s/XBSECAhNdGGMm7/kJMAPp1O3wSXBMhr5NbepvOoaCqp8M+xCT4PAUYiXm4TzEnzfrkdiq/RFtlNqlMOm0D1SngkF22SG17Bzf5Z1ChcEwE87OqYOY7rXioCxFnVQVDzzU9gQ58TLT0Ea+lVTJPOZ6OKxF/a4RQFBAmHmQtKTZfI7fzl8ElBgBHpjbdHkejJZ44HgH1NYLT0RiaeN4s+dT0GNa5EgCp0jy1jogVffLU1DgnvvOshLLIkESCXTALYyCyrs8WbiPIYFDh2dXYT56otpK8JOBOgqNNHYcex9osn7Yvw+i2IfAABAIJXOn963su7rdGEQrrcMWiu0TgdLlx/Vu4BNuby9zFZozduOZOHtJ30HYYqEqB9E1veLXH9QeqH9r1yDyBSX6qN7vUPTO9sIDp2Cer0IkwriQBl6L5Qfjh6n1tWrUJ6d+bLcAmQSpYJwM31484UcSJAzoJdnd1Ae+SxnAhQ1CmHjcQ8jeEtIcAI9B4jpqW14zy+yxMzZLgCAay8Q1aPuNwDgGMeqo4gN2S+HszBqge0VHH0g/Pi8i14E4zffTJgV2+CRerJmyejWBWywNzgdJUODGcSQHsFAarQp70Dnln8NPsySEYNcW+ZALlkEkDfmQCsilgCpCykrtaNAx8Vqghwsk4Guvhud90rG95CXmIPsIEHp/2yldeT0tRsl/4N8P/nN/bOA7ltGIqCJ+Et3XvlEdJz13D+0DvME+FOq+2mugDTtLYAGYs1wGpwITy5t1YBRAFYh+ylAKIArGr3SwBRgNrEYiNjnwQQBcgdxX0TQBSAXd9rw1giCiCiACIKIKIAIgog8tUCiCiAiAL4cpEoQByC+Agc3dhCAUQBiusPCcAk2ySAKAA5I44evRnOXxEk3CYBRAE4tf0hATj/sGUCiAIQV/iIAJyA2yoBRAH47+RQNtGi4xO6DfXhPKuNACTqZ0vunDQn70kN5zqmHA9DX0ROnpPqIksIQCN12mEfMhT1AB6DFhddxOLnvgM0Su5k6PunkhYJxOmU5DAuIifPeJElBKBYN2hAh2hIvlc+8Nvp2RioiiZ9CNAPw+ZK7lTTfx11pFGJafw3ZXXhLzInPxkvsqAAB/T0yHF1/dNtINnJSwGQIkvufAbrhJvhC3vFX65jyurCZ06e8SLLCUBFKaqYNPZWY/FFPIeZK7nzsCY+fPv7pAx5jClLkMzJM15kwTVAFT9HuPtmkl+OVnYKUJ82X3In9E1K/bE7GO9Xm+vPZ02b8SILCMB/3y0A/2+U3JGhBo63Kww5w2HcqwRgvMgSAtQCNjbyU4CMxc8LkCX3fB5UF0v11X59HH53MSUCREWf8SJLCNBzV01bgOcXwUWr5M5jebxOtF5buP2zmrlHgKjoM17k0wXgpjx+nKe/DgEasfgUoFVyv7meXsVQG51df/q35phOiQCRk5+MF/lEAeKSJZawDQEi+pUCNEvuvL5GWJ7LZGPKEiBz8pPxIp8vwMqdixddCNCIxYcArZI7g1husNMfUyJA5OT5DJEtOBH2j306EAAAAAAA8n9thAc1QA1QA9QANUANUAPUADVADVAD1AA1QA1QA9QANUANUAPUADVADVAD1AA1QA1QA9QADVAD1AA1QA1QA9QANUANUAPUADVADVAD1AA1QA1QA2DPLLAkx4EgeoG565Ib5R27wV5mJrrpKuu/nJiJ97IZq0sLZUuJkRlVkvrg8OT0UTPbjbPztrf/EI4G3GwnAea2GWN//Ph1fDxlAgxtuXObpP3ExtymDcaNMRb9vyPALQlA+4Oxd0Ld+ePDE2DF2UskAGO5j2+DHQHW1k5OaYLx6t/CD0+As/MXtd8SAY6Owbpt3jW0eIuxI8DcLLMnSIAdAXhv410SYEcAIATVp02AHQH4rRYCtyfAjgBC2RNdmaTR+fVlJmc5MWwIEMewrEI8t8U31yGqR5bn/rmGVRaOjsMHECNIrXEeK2Ga2TWs4QwVgt4oicvS9HbhM/SnHgaOVN9hMxN5mzhrpMqw9OUP2ysvcsGzYpQSc5FZf0XYCYCsspEuGK6gk2Gt2DQ889tujjcADOOUY+Dlnap0TSomgFaSpDm2gACWBYmq9AmJqmgE+LM/CBEVhIEuUzwGyiA+sALUX5zLzPxGTjYXJwBsCgME/R7NoGQww1RFgDVtknasMPO3EwDCZYwM0ldK8he2B4TlgpCzoQSlBNb222ErCaBiOQGIDeeE9WvmbXjyK6qykk+IfPIamXeq8s9hARDwtOl5EwCaR15GAJCmTdl6hiCFsy3Qt+dLwEqHdzBtTzWD5dk3/ZHK8xXX3171IqASQXy1gCiNFoIDNtGaF22BIMCQlUN476sp7HTb8k1TxVRBgG+/2w8L2COQ3gJU2QlAdLKX6Y8EbP667e+Pw9xPh4tcNNy+hThf1ALwFcYrAqyqgTISqICSYTEMzyGeQXDt7zk9h+cw80Noqiqsoc8c1YtMRMfnTYAsMsQnUbDnuefs+31yR2uhVBv49PPvl4siEGIcvSnIZm1CE1yXjAxhxtsEUBvhuuvE/yVuLVIQgOBWpY0xSGziiGkr4OlrTl0Oacgy5rTdkIHczuECiWsSQKzEEWGpVsITBQokVLOj4UqWjapkegJINWBsxS+AEwBgAYfGzwURwDuKxhenhK5KpSpSXLqBIFITdUBOMSeA9NElnozRdkEVAbAHYdFUgw1OAASsfyWAJfzJNp2EjhSRVkrpUO5rAmDOCIC2DEpD5UAZowMTOjjgSl8giIIsFshfAYhDW3QGUCcAAf/T9rIZAVRLIGerqZZTs8i4dwPIgzCQQ0XGqIobAXKBeNWdykaB1wSYZFdmCgKwgdce3tOXP9kmIVKm2xhoCR9LqiSA85tF8FNEdjcnPLE+8AlbRYBF5ggEq8oCgFqOrSGAvnVEAJ5B4LkSIOxQxochgPzdFwF4vDUBVj6jrvzWv2wCsFt1ApD02fmivtMoCWCgaHOMcdsC1QTgBdliC6QFVUdxyfK1CIB6QQD8aBTpX0iApcZnuAoBBlkwAqDom1ZnDRI/MUE4VyEAswKIsSUE4G7CCQA+6xsqXIUAjjTzxSG4JoBvY652CHYCqMAc73QmZ6kgAMY4H5s49moCyF9BAPwwikNwTQBV6kqHYDkSJlLA7pDJ1QSISb8lmLaMANxOLzxkomDx73/ZcMwMwCFMrAMoUNgZJRe2/Ro0VGsChCClmbRjnZdkjl+Dsm4EUCfOe19hm2XmWkEArhNjBqsmTsgzKXv68lcRIC9pD772a9C0XROATDFGrsU1aLwaAQzPcUPs7Pz12/OSADQG9RdA3Nd9vw3XoAzf3aqXtB/QqkDty0aANIRe6vofwihVTQAJTgqOBvI/hCkqJ4AEPgnbdi7+rdgCkVd4DjsmnmutIID8FQToYjpLCR/lWhFARwds8ikCEKlMGwGEp/4EzJmF5C7YAn1uEMsRBqZtIIAw1k2i7R1msHVQnQDMSk09l1LyUhIAHQTlfEJfBLA7TiOAGDCGbct0rM4AKbCkHYnzRjf8z95Z4DYMREH0JL2lFVGYREVhFVF708LIU32NtsJ16L3iBvYX9oVszzfhv+ulAPrxikCxQ0dDgOqdnpkVATz1qvxYtcb4wNGPe7Tzyf/PAXy4gf9A8nx1I7tCQGKRLpT1VD+aVL4sEAABjh2WJQLAxQvgZbmaqBICIMDtgACAAAgACIAAALcOAgAgAAACACAAIAAAAgAgAAAC9A87z+QAAAQAQAA3GQC4VwHY4QYQAAABAM7eI2yzddy9M1wVlhzZ82sdYe2LuoNACFAaBOgUH2btjPUs8DNbdzkAAbx2FUzguHtHxv+s8Mye12DtFMTaQaAK4GsfdMraIwsQBR41tk8A/QRYLLXeT7OS9u8E/8yef5v9DD4+Vw50yg4CFkARSs5LU3C9pnL2SITbHxwZBdBRAEcLZty9E/wze37+4JQzJcRFBwELUFPYlTjoqSRAFiiBfABTxKNndqxjIDN73otVizw7CFiAkv2kGXyWZm4V8KwA/TvEZNCZw8Ia0duDn9bWAPVxMNd5NQ/QSsgEzdEoYBMArkaAuAdwwupwmQIAAmglNwTI7PkUQGdU6nkhgAO6GwU8AugogJ+CtgXI56gpgDsIpABa6kpl1WdL1X4SPPcIoH+neL2Wf5o1BIjs+RAgOghYAK/8tycJ8HPB+hJSFqg9Ra0nQA8B3P+5JUDNnk8BNBIhwHjWanwINHgqNxmIAu8azq0WQAcBzKDl1hAgs+dTgOwgUOU4/D0HOI5bjN1kIAusvYmZewC4lUMirUQbGwbQ5oudOyYCAAaBIOgi/gd4n9FAy+x6uPYEAAIAAYAtCggABAACAAGAAEAAIAAEAAIAAYAAQADVEzhiupYBdOCQXgYweQVHvMwygKTgjEQAHCIAEAAIAAQAAgABgABAACAAEAB7AgABgABAACAAEAAIAAQAAgABgABAACAAEAAIAAQAAgABgABAACAAEAAIAAQAAgABgABAACAAEAAIAAQAAgABgABAACAAEAAIAAQAAgABsCKAySs44mWWAXTgkF4GUD2BI6ZrEcBnn04KBAQBAAAm2bMMUWzGDRn3q/vUlzDTYWBBAoAAIAAIAAIgAAgAAoAAIAAIAAK8TUyZB1L8uPgNZQHhd5cAMfPQZcBvWcTvJgFSrq1zW6s5fZyEcoz5euMoYZMAObfOAy3nj5NSxlzAKGWbAL1Xbuv9f4A5j9ebUwAEEAABBEAAARBAAAQQAAEEQAABEGCVAAggAAIIgAACIIAACCAAAgiAAAIggAAIIAACCIAA9wnwx555azluBFFU7iv2HEby5g821j9IsVwk7yLmMqnCdbEszI7v8QOut1+kfny4y+k+kBcOGHSNYbVBAcG77KrCgP326tdXBheqWR3/N7O2APD37PrG5g/jAVAA+OZlXbm1PSYABYCdXdm1vXUDoAAQZrZ2FAAKAMjftr9mABQAmpl1GsYDoABwwHf/QQFgzQA4PEpkOgYABYCd3ePP160GKAAg07EBKACcnO6erW0RXE6AWZsXxF9fkRP/W64dlUIq6Eb36zhFfnt1NpsvkH5cqRMANKcNKQDcUQvytrZ5ooyQijLdt6NkwSWOAvOwBGF2QgB28sz/xm60m2bj2t6t27u7Uri1rqUzL1EyFABGAgBttamorcfgaX3SKELhSA9VRgCe1wYE7pU3AIA5qzIFgDCzzhwZlTrNzSxoAGy4IHEDrlkjIs84KQA3kgPAypa4DcCH0YWAA1ZwVToUAMbtAjUSLn5nvXV880c1bW1LUtabpAQArbXWyp9frH9kV4Sls+TPA6ArHSABIMR7e3MNc5UUqzCKYgu1WamXy77LncRtYhwepzm3QZF++35KAKTftAI4uavhrdtxNgJw7/aZBssDYcfav3V/6Z7pUs0XAMYBACN7sZGLOIORWi0pWfC2hJ5a0tQ6aVPoN1cAkJUFAOCTxREtVTMXtj7VZJXXCF5epWx2Cew4osYc8XST1wDod+hcEABSuPR+bU9y56iQS4o0KgAFABCoEQ1JQ+i/3BcIH+mmWVDdbyJrYQBBaRaUAsAx4xCcNrW0n8MWnNUYThsuwucJaOwqPEHWCQCyIAMQ1xD6rdvxHxt690Y8J8YEoACAgkg/ZOQg/kcqndaTgRnLLlFxDgBFRA6A/hEO0Kr54rdXO8IApa1LGExczGeQig0urCcFABFjFLoGAKEbhB2dBjYVxrbxASgAkINIpk6lo8+3aTsMQGNKqr8GwP7Mgf4MAK+Er6/o75uXV8KtaEz9PQB0H5I6YJgUgAMLG7tBlVsAWBMAkKtzZgDQ6PDIKGSZBFPDAHiAs0rfBwHoiGfyusOjLk7PFw23pBEFABTiqUscLMuDJgSAehcj6xkEIA64BHf8NmgBANGjNDVrnGO/83LtiXqIF+k2B0ByrVMJEkBa/JMimH7qcroOiJuwrq7d6LHhJrClF8HPZADwnY+C0bYknwPgqaRzND4A5U3wg0UvphrlNw/76jLMP6C50gvY8+eUfyEHQFruBQ4AK+XPL+pjsA0Kehe04/DozVc7rqWvFB6+3DluTe9z5QZyn/bHw0cLkAgtTzUdANS8zm4O9p8o/7kcgLjqbbfuyzUBN0ZugxYAXl3VvQy+cwpEnz0rjs/PfP1WDgDlsaJoNnltdilPgViwknmHoEWtphX0/G0BQHgzgUscXYZbJ1unA4C617bPK65rj3MAJHc2ybUVAEYFgA7Lk9alXOrYNN1ApRCw5KHKAWDp6yukJSsC2qwGSLqjbGuzdwgQoLq4Y2QUE7dxHCbnPgbMxMQAWOE0fkzA/kANQPHrqZ2+BP69fTomdBiEAgCohAUzSIkzgOTzNXZNu74JuPNwAgQDEA2wGAEQQAAEEAABBEAAARBAAAQQAAEEQAABEEAABBAAAQRAgLUJIIAAzx8Bz2+A+b+BeUyA1m8DAp67t/RSxrXBgHmNckiA2gmq6SWPTeRDAqTaOgGtpi+5jA2UnMIBYH0CgAAgAAiAALAOAUAAEAAEAAFAABAABAABQAAQAAQAAUAAEAAEQAA42geR4879BzPCrwAAAABJRU5ErkJggg=="></li></ol><h1 id="自动输入规则"><a href="#自动输入规则" class="headerlink" title="自动输入规则"></a>自动输入规则</h1><p>编辑条目-&gt;自动输入-&gt;使用自定义自动输入序列<br><img src="/img/posts/keepass/zidongshuru.png"><br><code>&#123;USERNAME&#125;</code>用户名<br><br><code>&#123;PASSWORD&#125;</code>用户密码<br><br><code>&#123;TOTP&#125;</code>TOTP值<br><br><code>&#123;DELAY 2500&#125;</code>2500毫秒延迟<br><br><code>&#123;TAB&#125;</code>,<code>&#123;ENTER&#125;</code>,<code>&#123;SPACE&#125;</code>对应键盘按键功能<br><br><code>&#123;CLEARFIELD&#125;</code>清除输入字段<br></p><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">通用规则</button><button type="button" class="tab " data-href="test4-2">通用带有totp</button><button type="button" class="tab " data-href="test4-3">需要点击下一步</button><button type="button" class="tab " data-href="test4-4">需要点击下一步带有totp</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><p><strong>{CLEARFIELD}{USERNAME}{TAB}{PASSWORD}{ENTER}</strong></p></div><div class="tab-item-content" id="test4-2"><p><strong>{CLEARFIELD}{USERNAME}{TAB}{PASSWORD}{ENTER}{DELAY 2500}{TOTP}{ENTER}</strong></p></div><div class="tab-item-content" id="test4-3"><p><strong>{CLEARFIELD}{USERNAME}{ENTER}{DELAY 2500}{PASSWORD}{ENTER}{ENTER}</strong></p></div><div class="tab-item-content" id="test4-4"><p><strong>{CLEARFIELD}{USERNAME}{ENTER}{DELAY 2500}{PASSWORD}{ENTER}{DELAY 2500}{TOTP}{ENTER}</strong></p></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h1 id="Keepass安卓"><a href="#Keepass安卓" class="headerlink" title="Keepass安卓"></a>Keepass安卓</h1><h2 id="Keepass2Android"><a href="#Keepass2Android" class="headerlink" title="Keepass2Android"></a>Keepass2Android</h2><a class="btn-anzhiyu orange larger" href="https://github.com/PhilippC/keepass2android/releases"   title="Github"><i class="anzhiyufont anzhiyu-icon-github"></i><span>Github</span></a><h2 id="KeepassDX"><a href="#KeepassDX" class="headerlink" title="KeepassDX"></a>KeepassDX</h2><div class="note warning disabled"><p>部分主题和添加Steam令牌需要解锁PRO版本才可以使用。</p></div><a class="btn-anzhiyu orange larger" href="https://github.com/Kunzisoft/KeePassDX/releases"   title="Github"><i class="anzhiyufont anzhiyu-icon-github"></i><span>Github</span></a><a class="btn-anzhiyu purple larger" href="https://adaifun.lanzout.com/b00wnarg8d"   title="官网"><i class="anzhiyufont anzhiyu-icon-fw-fire"></i><span>官网</span></a><h3 id="快速打开数据库"><a href="#快速打开数据库" class="headerlink" title="快速打开数据库"></a>快速打开数据库</h3><p>再应用首页点击需要快速打开的数据库右边的⭐号，下次打开软件自动打开这个数据库<br>![](&#x2F;img&#x2F;posts&#x2F;keepass&#x2F;KeepassDX (1).jpg)</p><h3 id="启动指纹验证"><a href="#启动指纹验证" class="headerlink" title="启动指纹验证"></a>启动指纹验证</h3><ol><li>点击<code>设置</code> -&gt; <code>设备解锁</code> -&gt; 勾选<code>生物识别解锁</code>,<code>自动打开提示</code><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="500" data-limit="2">    <span class="gallery-data">[]</span>  </div><button class="gallery-load-more" style="opacity:0">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div></li><li>输入密码，点击左下角<code>设备解锁链接</code><br>![](&#x2F;img&#x2F;posts&#x2F;keepass&#x2F;KeepassDX (5).jpg)</li><li>解锁成功之后，后续打开数据库自动弹出指纹解锁弹窗直接解锁数据库<div class="note warning disabled"><p>设备凭据解锁就是使用解屏密码</p></div></li></ol>]]></content>
    
    
    <summary type="html">本文介绍了两款强大的开源密码管理器 KeePass 与 KeePassXC。详细讲解了如何创建并管理本地加密数据库、生成高强度密码、安装实用插件（如 TOTP 令牌），并配置浏览器集成以实现自动填充，为您提供一套完整的离线密码安全管理方案。</summary>
    
    
    
    <category term="软件" scheme="https://www.adaiblog.github.io/categories/%E8%BD%AF%E4%BB%B6/"/>
    
    
    <category term="密码管理器" scheme="https://www.adaiblog.github.io/tags/%E5%AF%86%E7%A0%81%E7%AE%A1%E7%90%86%E5%99%A8/"/>
    
  </entry>
  
  <entry>
    <title>轻量级代码编辑器：VSCode</title>
    <link href="https://www.adaiblog.github.io/posts/VSCode.html"/>
    <id>https://www.adaiblog.github.io/posts/VSCode.html</id>
    <published>2025-01-23T07:59:25.000Z</published>
    <updated>2025-10-17T09:49:10.911Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Visual-Studio-Code和Visual-Studio区别"><a href="#Visual-Studio-Code和Visual-Studio区别" class="headerlink" title="Visual Studio Code和Visual Studio区别"></a>Visual Studio Code和Visual Studio区别</h1><p>两款都是微软公司开发的集成开发环境（IDE）<br><a href="https://code.visualstudio.com/">Visual Studio Code</a>：是一款轻量级开源的跨平台代码编辑器<br><a href="https://visualstudio.microsoft.com/zh-hans/downloads/">Visual Studio</a>：一款功能强大的IDE，专为开发各种类型的应用程序设计</p><h1 id="修改客户端语言"><a href="#修改客户端语言" class="headerlink" title="修改客户端语言"></a>修改客户端语言</h1><p>点击扩展-&gt;搜索需要的语言插件安装即可<br><img src="/img/posts/vscode/language.png"></p><h1 id="终端使用git-bash"><a href="#终端使用git-bash" class="headerlink" title="终端使用git bash"></a>终端使用git bash</h1><p>点击管理-&gt;设置-&gt;搜索<code>windows shell</code>-&gt;选择<code>Git Bash</code><br><img src="/img/posts/vscode/gitbash.png"></p>]]></content>
    
    
    <summary type="html">本文介绍了轻量级代码编辑器 Visual Studio Code (VSCode) 与其同名 IDE Visual Studio 的核心区别，并分享了两个实用的配置技巧。</summary>
    
    
    
    <category term="软件" scheme="https://www.adaiblog.github.io/categories/%E8%BD%AF%E4%BB%B6/"/>
    
    <category term="开源" scheme="https://www.adaiblog.github.io/categories/%E5%BC%80%E6%BA%90/"/>
    
    
    <category term="生产力工具" scheme="https://www.adaiblog.github.io/tags/%E7%94%9F%E4%BA%A7%E5%8A%9B%E5%B7%A5%E5%85%B7/"/>
    
    <category term="Windows" scheme="https://www.adaiblog.github.io/tags/Windows/"/>
    
  </entry>
  
  <entry>
    <title>动态壁纸：lively</title>
    <link href="https://www.adaiblog.github.io/posts/lively.html"/>
    <id>https://www.adaiblog.github.io/posts/lively.html</id>
    <published>2025-01-22T11:50:21.000Z</published>
    <updated>2025-10-17T09:49:11.023Z</updated>
    
    <content type="html"><![CDATA[<h1 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h1><p>提到动态壁纸，第一时间想到的就是第一人称射击游戏：<a href="https://store.steamchina.com/app/431960/Wallpaper_Engine/">Wallpaper Engine</a>，创意工坊有着许多优秀作品，但是需要22.9元进行购买。<br>如果也想尝试动态壁纸，又没有太多资金，那么你可以尝试一下这款免费开源的动态壁纸<a href="https://www.rocksdanister.com/lively/">lively</a>应用。</p><h1 id="软件详情"><a href="#软件详情" class="headerlink" title="软件详情"></a>软件详情</h1><p>这款动态壁纸软件目前在Github上有着15.6K的Star<br><img src="/img/posts/lively/star.png"></p><h2 id="软件大小占用"><a href="#软件大小占用" class="headerlink" title="软件大小占用"></a>软件大小占用</h2><p>软件包大小：298MB，安装后大小：701MB，运行动内存占用：400MB左右</p><h2 id="支持壁纸类型"><a href="#支持壁纸类型" class="headerlink" title="支持壁纸类型"></a>支持壁纸类型</h2><p><img src="/img/posts/lively/moshi.png"></p><h3 id="视频-GIF"><a href="#视频-GIF" class="headerlink" title="视频&#x2F;GIF"></a>视频&#x2F;GIF</h3><p><img src="https://github.com/rocksdanister/lively/raw/core-separation/resources/wallpaper_video.gif"></p><h3 id="网页"><a href="#网页" class="headerlink" title="网页"></a>网页</h3><p><img src="https://github.com/rocksdanister/lively/raw/core-separation/resources/wallpaper_html.gif"></p><h3 id="应用程序-游戏"><a href="#应用程序-游戏" class="headerlink" title="应用程序&#x2F;游戏"></a>应用程序&#x2F;游戏</h3><p><img src="https://github.com/rocksdanister/lively/raw/core-separation/resources/wallpaper_emulator.gif"></p><h1 id="壁纸资源"><a href="#壁纸资源" class="headerlink" title="壁纸资源"></a>壁纸资源</h1><p><a href="https://wallpaperwaifu.com/">Waifu</a><br><a href="https://livewallp.com/">livewallp</a><br><a href="https://moewalls.com/anime/ellen-joe-jamming-zenless-zone-zero-live-wallpaper/">moewalls</a></p>]]></content>
    
    
    <summary type="html">本文介绍了免费开源的动态壁纸软件 Lively，并将其与付费的 Wallpaper Engine 进行对比。内容涵盖软件特性、资源占用情况、支持的壁纸类型（视频/网页/应用），并提供了多个优质动态壁纸资源网站，为您提供出色的桌面美化方案。</summary>
    
    
    
    <category term="软件" scheme="https://www.adaiblog.github.io/categories/%E8%BD%AF%E4%BB%B6/"/>
    
    
    <category term="Windows" scheme="https://www.adaiblog.github.io/tags/Windows/"/>
    
    <category term="壁纸" scheme="https://www.adaiblog.github.io/tags/%E5%A3%81%E7%BA%B8/"/>
    
  </entry>
  
  <entry>
    <title>使用Sunshine，Moonlight实现设备之间的串流</title>
    <link href="https://www.adaiblog.github.io/posts/Streaming.html"/>
    <id>https://www.adaiblog.github.io/posts/Streaming.html</id>
    <published>2025-01-17T13:16:03.000Z</published>
    <updated>2025-10-17T09:49:10.963Z</updated>
    
    <content type="html"><![CDATA[<h1 id="软件下载"><a href="#软件下载" class="headerlink" title="软件下载"></a>软件下载</h1><p>要串流设备下载：<a href="https://github.com/LizardByte/Sunshine/releases">Sunshine</a><br>显示串流内容设备下载：Moonlight：<a href="https://github.com/moonlight-stream/moonlight-qt/releases">Win&#x2F;Mac&#x2F;Linux</a>,<a href="https://github.com/moonlight-stream/moonlight-android/releases">Android&#x2F;Android TV</a>,<a href="https://github.com/moonlight-stream/moonlight-ios/releases">iOS&#x2F;tvOS</a>,<a href="https://github.com/moonlight-stream/moonlight-chrome/releases">ChromeOS</a>,<a href="https://apps.microsoft.com/detail/9mw1bs08zbth?hl=en-US&gl=CN">XBox</a></p><h1 id="Sunshine"><a href="#Sunshine" class="headerlink" title="Sunshine"></a>Sunshine</h1><h2 id="初始化设置"><a href="#初始化设置" class="headerlink" title="初始化设置"></a>初始化设置</h2><p>首先在串流设备上安装<a href="https://github.com/LizardByte/Sunshine/releases">Sunshine</a>，并进行安装</p><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="220" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/chuanliu/sunshine1.png","alt":""},{"url":"/img/posts/chuanliu/sunshine2.png","alt":""},{"url":"/img/posts/chuanliu/sunshine3.png","alt":""},{"url":"/img/posts/chuanliu/sunshine4.png","alt":""},{"url":"/img/posts/chuanliu/sunshine5.png","alt":""}]</span>  </div><button class="gallery-load-more" style="">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div><p>安装之后打开软件，会弹出一个页面提示警告，点击高级-&gt;继续访问localhost（这个一个在本地运行的服务，没有任何安全问题）<br><img src="/img/posts/chuanliu/sunshine7.png"><br>第一次进入来到欢迎页面，设置帐号密码<br><img src="/img/posts/chuanliu/welcome.png"><br>点击登录之后浏览器会自动刷新，之后输入我们刚设置好的帐号密码，即可进入管理页面<br><img src="/img/posts/chuanliu/welcome2.png"></p><h2 id="设置中文"><a href="#设置中文" class="headerlink" title="设置中文"></a>设置中文</h2><p>点击Configuration-&gt;General-&gt;Locale设置成简体中文-&gt;Save-&gt;Apply，软件会自动重启，再次刷新就是中文了。<br><img src="/img/posts/chuanliu/locale.png"></p><h2 id="Input"><a href="#Input" class="headerlink" title="Input"></a>Input</h2><p>将模拟游戏手柄类型更换为X360-&gt;Save-&gt;应用<br><img src="/img/posts/chuanliu/input.png"></p><h1 id="Moonlight"><a href="#Moonlight" class="headerlink" title="Moonlight"></a>Moonlight</h1><p>这里以安卓端为例，打开应用如果两台设备连接的是同一个网络，会直接显示出来可串流显示画面的设备</p><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="400" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/chuanliu/Moonlight1.jpg","alt":""}]</span>  </div><button class="gallery-load-more" style="">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div><h2 id="设置"><a href="#设置" class="headerlink" title="设置"></a>设置</h2><p>点击齿轮进入设置，可以看到视频分辨率，视频帧数，视频码率，根据设备进行修改达到最佳效果。</p><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="400" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/chuanliu/huamian.jpg","alt":""}]</span>  </div><button class="gallery-load-more" style="">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div><h1 id="串流"><a href="#串流" class="headerlink" title="串流"></a>串流</h1><p>打开Moonlight软件，可以看到可串流设备，当我们第一次连接的时候会出现一个pin码。</p><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="400" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/chuanliu/pin2.jpg","alt":""}]</span>  </div><button class="gallery-load-more" style="">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div><p>此时我们打开Sunshine配置网页，点击Pin码进行添加。<br><img src="/img/posts/chuanliu/pin.png"><br>添加之后，此时Moonlight提示连接成功，会有Desktop和Steam串流</p><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="400" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/chuanliu/Moonlight3.jpg","alt":""}]</span>  </div><button class="gallery-load-more" style="">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div><p>当我们点击Desktop后，画面直接串流显示了Sunshine端的画面，当我们不需要继续串流的时候，退出画面，再次点击Desktop，点击退出串流即可。</p><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="400" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/chuanliu/Moonlight2.jpg","alt":""}]</span>  </div><button class="gallery-load-more" style="">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div>]]></content>
    
    
    <summary type="html">本文是一份详细的 Sunshine + Moonlight 串流教程。内容涵盖服务端 (Sunshine) 的安装、初始配置与中文设置，以及客户端 (Moonlight) 的连接、画质优化和最终实现跨设备高清投屏与游戏串流的完整流程。</summary>
    
    
    
    <category term="软件" scheme="https://www.adaiblog.github.io/categories/%E8%BD%AF%E4%BB%B6/"/>
    
    
    <category term="Linux" scheme="https://www.adaiblog.github.io/tags/Linux/"/>
    
    <category term="Windows" scheme="https://www.adaiblog.github.io/tags/Windows/"/>
    
    <category term="Android" scheme="https://www.adaiblog.github.io/tags/Android/"/>
    
  </entry>
  
  <entry>
    <title>灯的开关面板如何接线</title>
    <link href="https://www.adaiblog.github.io/posts/Switchpanels.html"/>
    <id>https://www.adaiblog.github.io/posts/Switchpanels.html</id>
    <published>2025-01-06T20:38:12.000Z</published>
    <updated>2025-10-17T09:49:11.115Z</updated>
    
    <content type="html"><![CDATA[<div class="note warning simple"><p>这仅是我自己尝试和参考文章得到的结果，可能存在错误，大家购买之后咨询商家得到正确的接法，同时也欢迎大家指出错误。</p></div><p>零线（N）： 蓝色<br>火线（L）： 红色或棕色。</p><h3 id="什么是开什么是控？"><a href="#什么是开什么是控？" class="headerlink" title="什么是开什么是控？"></a>什么是开什么是控？</h3><p>在开关面板的分类中，“开” 和 “控” 是两个核心概念：“开” 指面板上独立开关的数量（单开 &#x3D; 1 个开关，双开 &#x3D; 2 个独立开关）；“控” 指控制方式（单控 &#x3D; 仅能在一个位置控制电路，双控 &#x3D; 可在两个不同位置控制同一电路）。</p><h3 id="为什么有的面板是L，L1，L2接口，有的是L1，L11，L12，L2，L21，L22接口？"><a href="#为什么有的面板是L，L1，L2接口，有的是L1，L11，L12，L2，L21，L22接口？" class="headerlink" title="为什么有的面板是L，L1，L2接口，有的是L1，L11，L12，L2，L21，L22接口？"></a>为什么有的面板是L，L1，L2接口，有的是L1，L11，L12，L2，L21，L22接口？</h3><p>单控的面板：L（公共进线）、L1、L2、L3…（每个开关对应一个出线端），无细分触点标注（不会出现 L11、L12 这类带两位数的标注）<br>双控的面板：每个开关单元必然有 “公共端（如 L、L1、L2）+ 两个触点（如 L11&#x2F;L12、L21&#x2F;L22）</p><h2 id="单控"><a href="#单控" class="headerlink" title="单控"></a>单控</h2><h3 id="1个单开（1个灯）"><a href="#1个单开（1个灯）" class="headerlink" title="1个单开（1个灯）"></a>1个单开（1个灯）</h3><p><img src="/img/posts/Switchpanels/1.png"></p><ol><li><code>电源火线</code>接入<code>开关面板L口</code>,</li><li>用一根电线连接<code>开关面板L1口</code>和<code>灯火线口</code>连接</li><li><code>电源零线</code>接入<code>灯零线口</code></li></ol><h3 id="1个双开（2个灯）"><a href="#1个双开（2个灯）" class="headerlink" title="1个双开（2个灯）"></a>1个双开（2个灯）</h3><p><img src="/img/posts/Switchpanels/5.png"></p><ol><li><code>电源火线</code>接入<code>开关面板L口</code></li><li>用一根电线将<code>开关面板L1口</code>和<code>灯一火线口</code>连接</li><li>用一根电线将<code>开关面板L2口</code>和<code>灯二火线口</code>连接</li><li><code>灯一零线口</code>和<code>灯二零线口</code>用导线并联（拧在一起）接入电源零线。</li></ol><h2 id="双控"><a href="#双控" class="headerlink" title="双控"></a>双控</h2><h3 id="2个单开（1个灯）"><a href="#2个单开（1个灯）" class="headerlink" title="2个单开（1个灯）"></a>2个单开（1个灯）</h3><p><img src="/img/posts/Switchpanels/8.png"></p><ol><li>电源火线连接<code>开关面板一L口</code></li><li>用一根电线将<code>开关面板一L1</code>和<code>开关面板二L1</code>连接</li><li>用一根电线将<code>开关面板一L2</code>和<code>开关面板二L2</code>连接</li><li>用一根电线将<code>开关面板二L</code>和<code>灯火线口</code>连接</li><li><code>电源零线</code>接入<code>灯零线口</code></li></ol><h3 id="2个双开（2个灯）"><a href="#2个双开（2个灯）" class="headerlink" title="2个双开（2个灯）"></a>2个双开（2个灯）</h3><p><img src="/img/posts/Switchpanels/6.png"></p><ol><li>电源火线连接<code>开关面板一L1口</code></li><li>用一根电线将<code>开关面板二L1口</code>和<code>灯一火线口</code>连接</li><li>用一根电线将<code>开关面板一L11</code>和<code>开关面板二L11</code>连接</li><li>用一根电线将<code>开关面板一L12</code>和<code>开关面板二L12</code>连接</li><li>用一根电线将<code>开关面板一L1</code>和<code>开关面板一L2</code>连接</li><li>用一根电线将<code>开关面板二L2</code>和<code>灯二火线口</code>连接</li><li>用一根电线将<code>开关面板一L21</code>和<code>开关面板二L21</code>连接</li><li>用一根电线将<code>开关面板一L22</code>和<code>开关面板二L22</code>连接</li><li><code>灯一零线口</code>和<code>灯二零线口</code>用导线并联（拧在一起）接入电源零线。</li></ol><h2 id="浪费资源或者不安全的接法"><a href="#浪费资源或者不安全的接法" class="headerlink" title="浪费资源或者不安全的接法"></a>浪费资源或者不安全的接法</h2><h3 id="2个单开单控（1个灯）"><a href="#2个单开单控（1个灯）" class="headerlink" title="2个单开单控（1个灯）"></a>2个单开单控（1个灯）</h3><p><img src="/img/posts/Switchpanels/2.png"></p><ol><li><code>电源火线</code>接入<code>开关面板一L口</code></li><li>用一根电线将<code>开关面板一L1</code>和<code>开关面板二L1口</code>连接</li><li>用一根电线将<code>开关面板二L口</code>和<code>灯火线口</code>连接</li><li><code>电源零线</code>接入<code>灯零线口</code><div class="note danger simple"><p>不建议这么接，不符合符合所有安全规范，有短路风险，开关状态不同步</p></div></li></ol><h3 id="1个双开单控（1个灯）"><a href="#1个双开单控（1个灯）" class="headerlink" title="1个双开单控（1个灯）"></a>1个双开单控（1个灯）</h3><p><img src="/img/posts/Switchpanels/7.png"></p><ol><li><code>电源火线</code>接入<code>开关面板L口</code></li><li>用一根电线将<code>开关面板L1口</code>和<code>开关面板L2口</code>连接</li><li>用一根电线将<code>开关面板L2口</code>和<code>灯二火线口</code>连接</li><li><code>电源零线</code>和<code>灯零线口</code>连接</li></ol><div class="note danger simple"><p>不建议这么接，开关状态显示会相反（一个”上”是开，另一个”上”可能是关），建议换一个单开或者按照单开的方法去接。</p></div><div class="note info simple"><p>如果只需要一个地方控制灯的开关，建议选择单开单控面板，避免浪费资源和成本</p></div><h3 id="1个双开双控（2个灯）"><a href="#1个双开双控（2个灯）" class="headerlink" title="1个双开双控（2个灯）"></a>1个双开双控（2个灯）</h3><p><img src="/img/posts/Switchpanels/4.png"></p><ol><li>电源火线接入<code>开关面板L口</code>·&#96;</li><li>用一根电线将<code>开关面板L1口</code>与<code>开关面板L2口</code>连接</li><li><code>开关面板L11口</code>和<code>开关面板L21口</code>分别连接不同灯的火线</li><li><code>L12口</code>和<code>L22口</code>不动</li><li><code>灯一零线口</code>和<code>灯二零线口</code>用导线并联（拧在一起）接入电源零线。</li></ol><div class="note info simple"><p>如果只需要一个地方控制灯的开关，建议选择单开单控面板，避免浪费资源和成本</p></div>]]></content>
    
    
    <summary type="html">一份清晰易懂的家用灯具开关面板接线指南。本文通过示意图详细讲解了单控、双控等常见场景的正确接法，并特别指出了几种常见但不规范、存在安全隐患的“浪费型”接法，帮助您安全、规范地完成接线。</summary>
    
    
    
    <category term="知识" scheme="https://www.adaiblog.github.io/categories/%E7%9F%A5%E8%AF%86/"/>
    
    
    <category term="开关面板" scheme="https://www.adaiblog.github.io/tags/%E5%BC%80%E5%85%B3%E9%9D%A2%E6%9D%BF/"/>
    
  </entry>
  
  <entry>
    <title>3.5mm接口有什么区别，怎么选择？</title>
    <link href="https://www.adaiblog.github.io/posts/microphone.html"/>
    <id>https://www.adaiblog.github.io/posts/microphone.html</id>
    <published>2024-12-30T17:20:01.000Z</published>
    <updated>2025-10-17T09:49:10.807Z</updated>
    
    <content type="html"><![CDATA[<p>当我们购买麦克风的时候，可以看到麦克风接口会有两环或者三环的黑圈。</p><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="500" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/microphone/microphone2.png","alt":""},{"url":"/img/posts/microphone/microphone3.png","alt":""}]</span>  </div><button class="gallery-load-more" style="">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div><p>黑环是用来绝缘的，将接头分成3段和4段。<br>三段：从接口头部到底部分别是，左声道，右声道，接地<br>四段：从接口头部到底部分别是，左声道，右声道，麦克风，接地<br>手机这种只有1个3.5mm接口同时我们需要麦克风功能，这时候就需要买三个环接口的<br>电脑这种麦克风，耳机分别独立接口，我们就需要买两个环接口的。<br>有的头戴式耳机麦克风可以拆卸，如果需要更换这个时候我们只需要买两环的。</p>]]></content>
    
    
      
      
    <summary type="html">&lt;p&gt;当我们购买麦克风的时候，可以看到麦克风接口会有两环或者三环的黑圈。&lt;/p&gt;
&lt;div class=&quot;gallery&quot;&gt;
  &lt;div class=&quot;fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload</summary>
      
    
    
    
    <category term="知识" scheme="https://www.adaiblog.github.io/categories/%E7%9F%A5%E8%AF%86/"/>
    
    
    <category term="接口" scheme="https://www.adaiblog.github.io/tags/%E6%8E%A5%E5%8F%A3/"/>
    
  </entry>
  
  <entry>
    <title>开源的文字冒险游戏：A Dark Room</title>
    <link href="https://www.adaiblog.github.io/posts/adarkroom.html"/>
    <id>https://www.adaiblog.github.io/posts/adarkroom.html</id>
    <published>2024-12-22T18:31:39.000Z</published>
    <updated>2025-10-17T09:49:10.671Z</updated>
    
    <content type="html"><![CDATA[<p>进入<a href="https://github.com/doublespeakgames/adarkroom/releases">A Dark Room</a>的Github网页,下载Source code源码并解压。<br>下载<a href="https://git-scm.com/downloads/win">Git</a>，<a href="https://nodejs.org/zh-cn/download/prebuilt-installer">Node</a>，安装完成之后进入解压好的ADarkRoom文件夹右键选择<code>Open Git Bash here</code><br>安装npm包,并启动服务器</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">npm install</span><br><span class="line">npm start</span><br></pre></td></tr></table></figure><p>打开浏览器输入<a href="http://localhost:8080/">localhost:8080</a>,即可开始游玩<br><img src="/img/posts/adarkroom/shezhi.png"><br>下方可进行设置，最主要的几个分别是保存，灯光，声音，语言，大家根据自己需求设置</p>]]></content>
    
    
    <summary type="html">本指南详细讲解了如何从源码开始，在本地搭建并运行经典文字冒险游戏《A Dark Room》。通过安装Git和Node.js，简单几步命令即可在浏览器中体验这款沉浸感极强的游戏。</summary>
    
    
    
    <category term="游戏" scheme="https://www.adaiblog.github.io/categories/%E6%B8%B8%E6%88%8F/"/>
    
    
  </entry>
  
  <entry>
    <title>直播录像开源工具：OBS</title>
    <link href="https://www.adaiblog.github.io/posts/obs.html"/>
    <id>https://www.adaiblog.github.io/posts/obs.html</id>
    <published>2024-12-11T18:48:27.000Z</published>
    <updated>2025-10-17T09:49:10.843Z</updated>
    
    <content type="html"><![CDATA[<h1 id="下载"><a href="#下载" class="headerlink" title="下载"></a>下载</h1><a class="btn-anzhiyu larger" href="https://obsproject.com/"   title="OBS官网"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>OBS官网</span></a><a class="btn-anzhiyu blue larger" href="https://store.steampowered.com/app/1905180/OBS_Studio/"   title="Steam"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>Steam</span></a><a class="btn-anzhiyu pink larger" href="https://cloud.189.cn/web/share?code=VBRRze6fqEV3%EF%BC%88%E8%AE%BF%E9%97%AE%E7%A0%81%EF%BC%9Ari1t%EF%BC%89"   title="云盘v30.2.3"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>云盘v30.2.3</span></a><h1 id="设置"><a href="#设置" class="headerlink" title="设置"></a>设置</h1><h2 id="直播设置"><a href="#直播设置" class="headerlink" title="直播设置"></a>直播设置</h2><p>输出模式选择高级，视频编码器，X264就是CPU进行编码，换成显卡选项缓解CPU压力.<br><img src="/img/posts/obs/obsshuchu2.png"><br>关键帧间隔设置2S，码率根据上行宽带进行修改，使用约75%上行宽带，因为游戏等也会抢占宽带</p><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="500" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/obs/obsshuchu3.png","alt":""},{"url":"/img/posts/obs/malv.png","alt":""}]</span>  </div><button class="gallery-load-more" style="">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div><h2 id="录像设置"><a href="#录像设置" class="headerlink" title="录像设置"></a>录像设置</h2><p>录像设置与直播设置基本一直，但录像没有码率设置，看硬盘大小来选择录像质量<br><img src="/img/posts/obs/obsshuchu4.png"></p><h1 id="插件"><a href="#插件" class="headerlink" title="插件"></a>插件</h1><a class="btn-anzhiyu larger" href="https://obsproject.com/forum/plugins/"   title="OBS插件"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>OBS插件</span></a><h2 id="obs-multi-rtmp"><a href="#obs-multi-rtmp" class="headerlink" title="obs-multi-rtmp"></a>obs-multi-rtmp</h2><p>这是一款开源多平台推流插件，可以实现多个平台同时直播<br>下载安装完<a href="https://github.com/sorayuki/obs-multi-rtmp/releases">obs-multi-rtmp</a>插件之后，打开OBS，点击<code>停靠窗口</code>，就可以看到<code>多路推流</code>。<br><img src="/img/posts/obs/duolutuiliu.png"><br>打开之后点击<code>新建推流目标</code>，<code>名称</code>：自定义，<code>URL</code>：服务器地址，<code>流名称</code>：推流码</p><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="500" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/obs/duolutuiliu2.png","alt":""},{"url":"/img/posts/obs/duolutuiliu3.png","alt":""}]</span>  </div><button class="gallery-load-more" style="">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div><h1 id="其他"><a href="#其他" class="headerlink" title="其他"></a>其他</h1><h2 id="获取抖音推流码"><a href="#获取抖音推流码" class="headerlink" title="获取抖音推流码"></a>获取抖音推流码</h2><p>下载安装网络协议分析仪<a href="https://www.wireshark.org/">wireshark</a><br>接下来我们打开抖音直播伴侣，点击开始直播。<br><img src="/img/posts/obs/zhibobanlv.png"></p><div class="note warning simple"><p>直播画面需要全部关闭，不然在我们获取的时候推流码就全部泄漏了</p></div><p>开启直播之后打开<code>Wireshark</code>软件，如果是网线联网，就选择<code>以太网</code>，WIFI联网选择<code>WLAN</code>，搜索<code>rtmpt</code>拉到最上方</p><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="500" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/obs/wireshark.png","alt":""},{"url":"/img/posts/obs/wireshark2.png","alt":""}]</span>  </div><button class="gallery-load-more" style="">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div><p>接下来需要分别找得到抖音的<code>服务器</code>和<code>推流码</code><br>服务器：<br><img src="/img/posts/obs/wireshark5.png"><br>推流码:<br><img src="/img/posts/obs/wireshark4.png"><br>OBS推流之后，需要把直播伴侣关闭掉，不要勾选推出并关闭直播间</p><h2 id="获取B站弹幕"><a href="#获取B站弹幕" class="headerlink" title="获取B站弹幕"></a>获取B站弹幕</h2><p>下载安装开源应用<a href="https://github.com/xfgryujk/blivechat">blivechat</a>,运行之后会得到一个控制台窗口和网页<br><img src="/img/posts/obs/bilichat.png"><br>首先获取<a href="https://play-live.bilibili.com/">身份码</a>输入到页面中，之后点击样式生成器，根据自己需求进行更改。下方会生成<code>CSS</code></p><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="300" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/obs/bilichat2.png","alt":""},{"url":"/img/posts/obs/bilichat6.png","alt":""}]</span>  </div><button class="gallery-load-more" style="">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div><p>返回到首页复制<code>房间URL</code>，打开OBS添加<code>浏览器</code>，输入自定义名称，之后URL输入刚复制的<code>房间URL</code>，如果更改了弹幕样式，<code>自定义CSS</code>输入上方页面中的CSS点击确认就完成了</p><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="300" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/obs/bilichat5.png","alt":""},{"url":"/img/posts/obs/bilichat7.png","alt":""}]</span>  </div><button class="gallery-load-more" style="">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div><div class="note warning simple"><p>更改常规选项，或者样式房间URL和CSS都会发生变化，需要在OBS进行更新</p></div>]]></content>
    
    
    <summary type="html">一份详尽的 OBS 直播与录像设置指南。内容涵盖推流/录制参数优化、多平台同步直播插件的使用，以及独家分享的获取抖音推流码和在 OBS 内显示 B 站弹幕的实用技巧，助力你打造更专业的直播体验。</summary>
    
    
    
    <category term="软件" scheme="https://www.adaiblog.github.io/categories/%E8%BD%AF%E4%BB%B6/"/>
    
    
    <category term="生产力工具" scheme="https://www.adaiblog.github.io/tags/%E7%94%9F%E4%BA%A7%E5%8A%9B%E5%B7%A5%E5%85%B7/"/>
    
    <category term="Windows" scheme="https://www.adaiblog.github.io/tags/Windows/"/>
    
  </entry>
  
  <entry>
    <title>购物和生活知识</title>
    <link href="https://www.adaiblog.github.io/posts/life.html"/>
    <id>https://www.adaiblog.github.io/posts/life.html</id>
    <published>2024-12-10T07:07:42.000Z</published>
    <updated>2025-10-17T09:49:11.239Z</updated>
    
    <content type="html"><![CDATA[<h1 id="醋"><a href="#醋" class="headerlink" title="醋"></a>醋</h1><p><img src="/img/posts/food/cu.png"><br>一种发酵的酸味液态</p><h3 id="种类"><a href="#种类" class="headerlink" title="种类"></a>种类</h3><p>陈醋：原料主要是高粱，麸皮、大米、小麦、豌豆为辅进行发酵制作<br>米醋：原料主要是高粱和大米，糯米，玉米为辅发酵制作<br>白醋：食用酒精或食用冰醋酸为原料经过醋酸发酵制成<br>香醋：已糯米为原料制作</p><h3 id="发酵方式"><a href="#发酵方式" class="headerlink" title="发酵方式"></a>发酵方式</h3><p>液态发酵食醋：用水或者酒精发酵而来<br>固态发酵食醋：高粱，大米，水果等固体发酵而来</p><h3 id="执行标准"><a href="#执行标准" class="headerlink" title="执行标准"></a>执行标准</h3><p>老陈醋的标准号是GB&#x2F;T 19777：山西本地生产的陈醋，且达到标准的陈醋<br>普通陈醋标准号是GB&#x2F;T 18187</p><h3 id="储存条件"><a href="#储存条件" class="headerlink" title="储存条件"></a>储存条件</h3><p>储存温度15-25℃，使用后尽快紧闭瓶盖，避免与氧气发生反应导致风味变差</p><h1 id="米"><a href="#米" class="headerlink" title="米"></a>米</h1><p><img src="/img/posts/food/mi.png"><br>又叫稻米，由稻谷脱壳的而来</p><h3 id="种类-1"><a href="#种类-1" class="headerlink" title="种类"></a>种类</h3><p>根据粒型、熟化后粘性以及直链淀粉含量进行分类<br>籼米：直链淀粉20%-24%左右<br>粳米：直链淀粉15%-18%左右<br>糯米：支链淀粉含量小于2%</p><h3 id="执行标准-1"><a href="#执行标准-1" class="headerlink" title="执行标准"></a>执行标准</h3><p>GB&#x2F;T 1354：大米质量国家标准，国产，进口大米销售都需符合此标准<br>GB&#x2F;T 19266：针对五常大米的标准<br>GB&#x2F;T 22438: 原阳大米<br>GB&#x2F;T 20040：方正大米<br>GB&#x2F;T 22499：富硒大米<br>GB&#x2F;T 18824: 盘锦大米</p><h3 id="质量等级"><a href="#质量等级" class="headerlink" title="质量等级"></a>质量等级</h3><p>优质大米<br>优质一级：垩白粒率10％以下<br>优质二级：垩白粒率11－20％<br>优质三级：垩白粒率21－30％<br>普通大米<br>一级：背沟无皮，或有皮不成线，米胚和粒面皮层去净的占90%以上<br>二级：背沟有皮，加功精度低于一级大米，米胚和粒面皮层去净的占85%以上<br>三级：背沟有皮，粒面皮层不超过五分之一的占80%以上，米中的粗纤维和灰分较高<br>四级：背沟有皮，粒面皮层残留不超过三分之一的占75%以上。保留了大量的皮层和糊粉层，因而米中的粗纤维和灰分最多</p><h3 id="新陈米区分"><a href="#新陈米区分" class="headerlink" title="新陈米区分"></a>新陈米区分</h3><p>新米比陈年米更硬一些</p><h1 id="酱油"><a href="#酱油" class="headerlink" title="酱油"></a>酱油</h1><p><img src="/img/posts/food/jiangyou.jpg"><br>大豆、脱脂大豆、黑豆、小麦或麸皮，加入水、食盐酿造而成</p><h3 id="质量等级-1"><a href="#质量等级-1" class="headerlink" title="质量等级"></a>质量等级</h3><p>酿造酱油分为四级，配制酱油不分级<br>特级：氨基酸态氮≥0.8g&#x2F;100ml<br>一级：0.8g&#x2F;100ml&gt;氨基酸态氮≥0.7g&#x2F;100ml<br>二级：0.7g&#x2F;100ml&gt;氨基酸态氮≥0.55g&#x2F;100ml<br>三级：0.55g&#x2F;100ml&gt;氨基酸态氮≥0.4g&#x2F;100ml</p><h3 id="产品类别"><a href="#产品类别" class="headerlink" title="产品类别"></a>产品类别</h3><p>酱油：大豆、脱脂大豆、黑豆、小麦或麸皮，加入水、食盐酿造而成<br>生抽：大豆、面粉为主要原料，人工接入种曲，经天然露晒，发酵而成<br>老抽：在生抽酱油的基础上，加焦糖色经过特殊工艺制成</p><h3 id="执行标准-2"><a href="#执行标准-2" class="headerlink" title="执行标准"></a>执行标准</h3><p>GB 2717：酱油<br>GB&#x2F;T 18186: 酿造酱油<br>SB&#x2F;T 10336：配制酱油</p><h3 id="储存条件-1"><a href="#储存条件-1" class="headerlink" title="储存条件"></a>储存条件</h3><p>未开盖：放置阴凉处<br> 开盖 ：用完即使封口，不要放在潮湿的地方</p><h1 id="食用盐"><a href="#食用盐" class="headerlink" title="食用盐"></a>食用盐</h1><p><img src="/img/posts/food/shiyongyan.jpg"><br>食用盐主要的成分氯化钠，是人体不能缺乏的重要元素，有调节人体活动的作用。</p><h3 id="种类-2"><a href="#种类-2" class="headerlink" title="种类"></a>种类</h3><p>海盐：海水中提取，矿物质相对丰富<br>湖盐：湖泊中提取，纯度较高<br>井盐：地下深层盐水，矿物质浓度较高</p><h3 id="执行标准-3"><a href="#执行标准-3" class="headerlink" title="执行标准"></a>执行标准</h3><p>GB 2721：国家强制标准，加碘盐<br>GB&#x2F;T 5461：国家推荐标准</p><h3 id="质量等级-2"><a href="#质量等级-2" class="headerlink" title="质量等级"></a>质量等级</h3><p>根据纯度区分<br>优级：氯化钠含量≥99.1%<br>一级：氯化钠含量≥98.5%<br>二级：氯化钠含量97%，含有2%的杂质</p>]]></content>
    
    
    <summary type="html">一份实用的日常生活消费品选购指南。本文详细解读了醋、米、酱油、食用盐的产品种类、执行标准、质量等级与储存条件等关键知识，帮助您在购物时看懂标签、辨别优劣，做出更明智的选择。</summary>
    
    
    
    <category term="知识" scheme="https://www.adaiblog.github.io/categories/%E7%9F%A5%E8%AF%86/"/>
    
    
    <category term="生活" scheme="https://www.adaiblog.github.io/tags/%E7%94%9F%E6%B4%BB/"/>
    
  </entry>
  
  <entry>
    <title>关于CS2，Apex游戏画面，按键等设置</title>
    <link href="https://www.adaiblog.github.io/posts/GameSetting.html"/>
    <id>https://www.adaiblog.github.io/posts/GameSetting.html</id>
    <published>2024-12-08T01:00:24.000Z</published>
    <updated>2025-10-17T09:49:11.215Z</updated>
    
    <content type="html"><![CDATA[<h1 id="CS2"><a href="#CS2" class="headerlink" title="CS2"></a>CS2</h1><p><img src="/img/posts/game/cs2.png"></p><h2 id="视频设置"><a href="#视频设置" class="headerlink" title="视频设置"></a>视频设置</h2><p><img src="/img/posts/game/cs2shipin.png" alt="视频设置"></p><span class='p red'>显示模式</span> ：没有特殊要求全屏<br><span class='p red'>纵横比和分辨率</span>4：3拉伸人物模型大，16：9视野大<br><span class='p red'>刷新率</span>：选择显示器支持的最大刷新赫兹<br><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="220" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/game/cs243.jpg","alt":"4:3"},{"url":"/img/posts/game/cs2169.jpg","alt":"16:9"}]</span>  </div><button class="gallery-load-more" style="opacity:0">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div><h3 id="4-3拉伸无黑边设置"><a href="#4-3拉伸无黑边设置" class="headerlink" title="4:3拉伸无黑边设置"></a>4:3拉伸无黑边设置</h3><h4 id="英伟达："><a href="#英伟达：" class="headerlink" title="英伟达："></a>英伟达：</h4><p>打开<span class='p red'>英伟达驱动</span>找到<span class='p red'>调整桌面尺寸和位置</span></p><span class='p red'>缩放模式</span>选择全屏<h4 id="AMD："><a href="#AMD：" class="headerlink" title="AMD："></a>AMD：</h4><p><img src="/img/posts/game/cs2amdsetting.jpg" alt="AMD拉伸"></p><span class='p red'>AMD驱动控制面板</span>，选择上方游戏，点击需要拉伸的游戏<p>在<span class='p red'>显示器栏</span>将缩放模式设置为<span class='p red'>AMD整个面板</span></p><h3 id="视频高级设置"><a href="#视频高级设置" class="headerlink" title="视频高级设置"></a>视频高级设置</h3><p><img src="/img/posts/game/cs2shipingaojishezhi.jpg" alt="视频高级设置"></p><span class='p red'>多重采样抗锯齿模式</span>：关闭是游戏看起来相当锯齿状推荐2xMSAA<br><span class='p red'>全局阴影效果</span>：新版本之后全局阴影无论高低都一样了，这里推荐设置成低，动态阴影设置为全部<br><span class='p red'>动态阴影</span>：全部<br><span class='p red'>模型/贴图细节</span>：如果不在意地图一些细节，比如墙上的一些污点，电线杆等可以设置成低<br><span class='p red'>贴图过滤模式</span>：推荐异响4X，太低会有一些停滞感<br><span class='p red'>Fidelitu FX超级分辨率</span>：通过AI提升帧数，但画面太模糊了<br><h2 id="其他设置"><a href="#其他设置" class="headerlink" title="其他设置"></a>其他设置</h2><h3 id="人数显示图片或者数字"><a href="#人数显示图片或者数字" class="headerlink" title="人数显示图片或者数字"></a>人数显示图片或者数字</h3><p><img src="/img/posts/game/cs2Hudsetting.jpg" alt="设置玩家显示方式"><br><img src="/img/posts/game/cs2renshushuzi.jpg" alt="玩家人数显示"><br><img src="/img/posts/game/cs2renshutupian.jpg" alt="玩家图片显示"></p><h3 id="关闭友伤提示准星"><a href="#关闭友伤提示准星" class="headerlink" title="关闭友伤提示准星"></a>关闭友伤提示准星</h3><p><img src="/img/posts/game/cs2youshangtishi.jpg" alt="关闭友伤提示准星"><br><img src="/img/posts/game/cs2youshang.jpg" alt="关闭友伤提示准星"></p><h3 id="显示帧数网络延迟"><a href="#显示帧数网络延迟" class="headerlink" title="显示帧数网络延迟"></a>显示帧数网络延迟</h3><p><img src="/img/posts/game/cs2fpsxianshi.jpg" alt="显示FPS和ping"></p><p>总是<br>打开<span class='p red'>游戏设置</span>选择<span class='p red'>遥测</span><br></p><span class='p red'>显示帧间时间及FPS</span> 是<br><span class='p red'>显示网络延迟</span> 是<br><p><img src="/img/posts/game/cs2tonghua.jpg" alt="按键通话"><br>如果你每次说话的时候帧数浮动比较大,可以在音频设置中将<span class='p red'>简化按键通话</span>设置为是</p><h2 id="指令"><a href="#指令" class="headerlink" title="指令"></a>指令</h2><p>开启控制台：设置-&gt;游戏设置-&gt;启用开发者控制台-&gt;是，按 “ <span class='p red'>`</span> “ （1左边的按键）打开控制台<br><img src="/img/posts/game/cs2kongzhitai.jpg" alt="开启控制台"></p><h3 id="通用指令"><a href="#通用指令" class="headerlink" title="通用指令"></a>通用指令</h3><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">#绑定按键</span><br><span class="line">bind &quot;键位&quot; &quot;指令&quot;   //比如绑定飞天 bind &quot;/&quot; &quot;noclip&quot;</span><br></pre></td></tr></table></figure><h3 id="跑图"><a href="#跑图" class="headerlink" title="跑图"></a>跑图</h3><a class="btn-anzhiyu larger" href="https://codeload.github.com/ADAIBLOG/CS2-CFG/zip/refs/heads/main"   title="跑图cfg下载"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>跑图cfg下载</span></a><p>使用方法：将文件复制到 <span class='p red'>steam\steamapps\common\Counter-Strike Global Offensive\game\csgo\cfg</span> 中<br>进入地图打开控制台输入 <span class='p red'>exec adaipaotu.cfg</span></p><div class="note info simple"><p>添加BOT概率BOT不停止，重复添加删除BOT几次就好了。添加删除BOT有概率导致cs2闪退</p></div><h4 id="简单跑图"><a href="#简单跑图" class="headerlink" title="简单跑图"></a>简单跑图</h4><p>只需要点击开始-&gt;练习-&gt;竞技模式-&gt;选择地图勾选 <span class='p red'>无限弹药</span>，<span class='p red'>投掷物时间</span>，<span class='p red'>无限热身即可</span></p><div class="note info simple"><p>局限性：无法实现无敌，全地图购买武器，重复上一次道具等功能</p></div><h4 id="指令跑图"><a href="#指令跑图" class="headerlink" title="指令跑图"></a>指令跑图</h4><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br></pre></td><td class="code"><pre><span class="line">sv_cheats true                   //开启服务器权限         </span><br><span class="line">noclip                           //飞天</span><br><span class="line">bind &quot;键位&quot; &quot;noclip&quot;             //绑定飞天按键</span><br><span class="line">sv_regeneration_force_on 1       //恢复HP</span><br><span class="line">mp_warmup_offline_enabled true   //启动热身</span><br><span class="line">mp_warmup_pausetimer 1           //无限热身</span><br><span class="line">mp_warmup_start                  //重启热身，部分指令需要重启才生效</span><br><span class="line">sv_alltalk 1                     //全局语音</span><br><span class="line"># 购买 </span><br><span class="line">mp_maxmoney 65535                //最高金额，需要重启热身</span><br><span class="line">mp_buy_anywhere 1                //任何地方购买</span><br><span class="line">host_timescale 1/2/3                            //加速时间,可输入任意倍数</span><br><span class="line">bind &quot;键位&quot; &quot;host_timescale 加速倍数&quot;            //绑定加速时间   </span><br><span class="line"></span><br><span class="line"># 道具</span><br><span class="line">sv_infinite_ammo 1               //无限子弹,投掷物</span><br><span class="line">ammo_grenade_limit_total 6       //携带道具数量，输入完必要重启游戏指令才生效</span><br><span class="line">sv_grenade_trajectory_prac_pipreview  1          //飞行轨迹及预测落点</span><br><span class="line">sv_showimpacts 1                                 //显示子弹落点</span><br><span class="line">sv_rethrow_last_grenade                          //重掷上次道具</span><br><span class="line">bind &quot;键位&quot; &quot;sv_rethrow_last_grenade&quot;            //绑定键位快速重掷上次道具</span><br><span class="line"></span><br><span class="line">#机器人</span><br><span class="line">bot_add                                         //添加bot</span><br><span class="line">bot_stop 1                                      //停止bot行为</span><br><span class="line">bot_place                                       //bot位置</span><br><span class="line">bind &quot;键位&quot;  &quot;bot_add;bot_stop 1;bot_place&quot;     //绑定添加bot按键</span><br><span class="line">bot_kick                                        //删除bot</span><br><span class="line">bind &quot;键位&quot;  &quot;bot_kick&quot;                         //绑定删除bot按键</span><br><span class="line">bot_crouch false                                // bot站立</span><br><span class="line">bind &quot;键位&quot; &quot;bot_crouch false&quot;                  //绑定bot站立</span><br><span class="line">bot_crouch true                                 // bot蹲下</span><br><span class="line">bind &quot;键位&quot; &quot;bot_crouch true&quot;                   //绑定bot蹲下</span><br><span class="line">bot_mimic 1                                     //模仿玩家动作</span><br></pre></td></tr></table></figure><h1 id="Apex"><a href="#Apex" class="headerlink" title="Apex"></a>Apex</h1><p><img src="/img/posts/game/apex.jpg"></p><h2 id="启动项"><a href="#启动项" class="headerlink" title="启动项"></a>启动项</h2><p>steam右键apex-&gt;属性-&gt;通用-&gt;启动项</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">+fps_max unlimited     //解除apex帧数限制</span><br><span class="line">+fps_max 190           //设置最高帧数限制，二选一即可</span><br></pre></td></tr></table></figure><h2 id="游戏设置"><a href="#游戏设置" class="headerlink" title="游戏设置"></a>游戏设置</h2><span class='p green'>互动提示风格</span>：对准物品是否提示描述<br><span class='p green'>按钮提示</span>：是否显示技能等按钮键位<br><span class='p green'>准星伤害显示</span>：关闭-打中人不会额外增加一个X提示你打中目标。推荐<span class='p red'>准星X</span><br><span class='p green'>弹药耗尽后武器自动切换</span>：这个弹药是所有子弹耗尽才会切换，而不是打完一梭子之后切换<br><span class='p green'>收到伤害时关闭死亡之箱或制造菜单</span>：添包的时候被打自动关闭页面。推荐<span class='p red'>关闭</span><br><span class='p green'>共享使用信息</span>：推荐关闭，不上传信息给EA<br><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="220" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/game/apexyouxishezhi1.jpg","alt":""},{"url":"/img/posts/game/apexyouxishezhi2.jpg","alt":""},{"url":"/img/posts/game/apexyouxishezhi3.jpg","alt":""}]</span>  </div><button class="gallery-load-more" style="opacity:0">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div><h2 id="键盘-鼠标"><a href="#键盘-鼠标" class="headerlink" title="键盘&#x2F;鼠标"></a>键盘&#x2F;鼠标</h2><span class='p green'>鼠标加速度</span>：同样滑动距离，鼠标移动速度越快，距离移动越远。不适合对鼠标移动距离的精准控制，推荐<span class='p red'>关闭</span><br><span class='p green'>按键里面</span>：如何需要身法，前进设置为上滚轮，跳跃下滚轮<br><p><img src="/img/posts/game/apexjianpanshubiao.jpg"></p><h2 id="控制器"><a href="#控制器" class="headerlink" title="控制器"></a>控制器</h2><div class="gallery">  <div class="fj-gallery page_img_lazyload  data" data-rowHeight="220" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/game/apexkongzhiqi1.jpg","alt":""},{"url":"/img/posts/game/","alt":""},{"url":"/img/posts/game/apexkongzhiqi2.jpg","alt":""}]</span>  </div><button class="gallery-load-more" style="opacity:0">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div><h2 id="视频"><a href="#视频" class="headerlink" title="视频"></a>视频</h2><span class='p green'>视野[FOV]</span>：数字越大视野越大但人物会越小。<br><span class='p green'>视野技能缩放</span>：狗子，动力等使用技能视野会变化。推荐<span class='p red'>禁用</span><br><span class='p green'>奔跑时视角抖动</span>：推荐<span class='p red'>最低</span><br><span class='p green'>垂直同步</span>：跟随显示器相同赫兹，推荐<span class='p red'>禁用</span><br><span class='p green'>NVIDIA Reflex</span>：减少输入延迟，N卡推荐<span class='p red'>开启</span><br><span class='p green'>自适应分辨率帧率目标</span>：如果没有达到目标帧数，降低画质。推荐<span class='p red'>0</span><br><span class='p green'>抗锯齿</span>：让画面看起来更平滑。<br><span class='p green'>纹理串流预算</span>：显卡利用率。<br><p>如果没有画面精致好看的需求最求帧数，其他拉到<span class='p red'>最低</span>就可以了<br></p><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="220" data-limit="100">    <span class="gallery-data">[{"url":"/img/posts/game/apexshipin3.jpg","alt":""},{"url":"/img/posts/game/apexshipin1.jpg","alt":""},{"url":"/img/posts/game/apexshipin2.jpg","alt":""}]</span>  </div><button class="gallery-load-more" style="opacity:0">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div><h2 id="音频"><a href="#音频" class="headerlink" title="音频"></a>音频</h2><p>音频根据自己喜好就行<br><img src="/img/posts/game/apexyinpin.jpg"></p>]]></content>
    
    
    <summary type="html">一份超详细的 CS2 与 Apex Legends 游戏设置优化指南。内容涵盖 CS2 的视频拉伸、画面优化、实用指令与跑图配置，以及 Apex 的启动项、键位、视频与控制器高级设置，助你全面提升游戏体验与竞技表现。</summary>
    
    
    
    <category term="游戏" scheme="https://www.adaiblog.github.io/categories/%E6%B8%B8%E6%88%8F/"/>
    
    
    <category term="游戏设置" scheme="https://www.adaiblog.github.io/tags/%E6%B8%B8%E6%88%8F%E8%AE%BE%E7%BD%AE/"/>
    
  </entry>
  
  <entry>
    <title>注销</title>
    <link href="https://www.adaiblog.github.io/posts/logout.html"/>
    <id>https://www.adaiblog.github.io/posts/logout.html</id>
    <published>2024-12-07T10:14:35.000Z</published>
    <updated>2026-02-25T16:38:32.365Z</updated>
    
    <content type="html"><![CDATA[<h1 id="应用"><a href="#应用" class="headerlink" title="应用"></a>应用</h1><div class="flink"> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://getsimnum.caict.ac.cn/applist/index.html#/internetAccounts?urlCode=143cIQ" title="解绑与投诉" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts4.cn.mm.bing.net/th?id=ODLS.629fe6a2-8139-4b5d-a9b8-717053bd4bcb&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="解绑与投诉" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">解绑与投诉</div>                  <div class="flink-item-desc" title="一证通查在线注销">一证通查在线注销</div>                </div>              </a>            </div></div></div><div class="flink-name">互联网账号</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://id.163.com/mail/logoutQuery.html#/shunt" title="网易" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts3.cn.mm.bing.net/th?id=ODLS.4513eab4-d0fd-4869-9324-19d3dc78c677&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="网易" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">网易</div>                  <div class="flink-item-desc" title="网易账号注销">网易账号注销</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://id.163.com/mail/mailaq/cancellation.html#/confirm" title="网易邮箱" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts3.cn.mm.bing.net/th?id=ODLS.4513eab4-d0fd-4869-9324-19d3dc78c677&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="网易邮箱" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">网易邮箱</div>                  <div class="flink-item-desc" title="网易邮箱账号注销">网易邮箱账号注销</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://workspace.jianguoyun.com/inbox/collect/74f87ceb21434b8da53601f2aead68e5/submitv2" title="坚果云" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts1.cn.mm.bing.net/th?id=ODLS.26f5d660-f947-47ba-a73f-d76e758d1281&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="坚果云" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">坚果云</div>                  <div class="flink-item-desc" title="坚果云账号注销">坚果云账号注销</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://www.zhihu.com/unregister?token=c0da5a035f2641038d49c796417c06e1&step=agreement" title="知乎" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts1.cn.mm.bing.net/th?id=ODLS.91d06d6c-c525-4bed-b048-db8100f436a0&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="知乎" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">知乎</div>                  <div class="flink-item-desc" title="知乎账号注销">知乎账号注销</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/settings/admin" title="Github" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts3.cn.mm.bing.net/th?id=ODLS.03245701-8d3e-443e-af13-66e289085f86&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Github" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Github</div>                  <div class="flink-item-desc" title="Github注销">Github注销</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://go.microsoft.com/fwlink/p/?linkid=845493" title="Microsoft" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts1.cn.mm.bing.net/th?id=ODLS.61ccb3ad-8c62-401e-b4f9-4450313deffd&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Microsoft" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Microsoft</div>                  <div class="flink-item-desc" title="Microsoft账号注销">Microsoft账号注销</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://login.lianjia.com/yztc/unbind" title="链家" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://m.lianjia.com/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="链家" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">链家</div>                  <div class="flink-item-desc" title="在线注销链家">在线注销链家</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://api.toutiaoapi.com/security_center/app/account/authentication" title="今日头条" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://www.toutiao.com/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="今日头条" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">今日头条</div>                  <div class="flink-item-desc" title="在线注销今日头条">在线注销今日头条</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://login.ke.com/yztc/unbind#/unbindExplain" title="贝壳找房" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://m.ke.com/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="贝壳找房" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">贝壳找房</div>                  <div class="flink-item-desc" title="在线注销贝壳找房">在线注销贝壳找房</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://accounts.ctrip.com/h5login/phone_unbind" title="携程" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://accounts.ctrip.com/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="携程" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">携程</div>                  <div class="flink-item-desc" title="在线注销携程">在线注销携程</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://render.alipay.com/p/yuyan/180020010001261094/index.html" title="支付宝" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ds.alipay.com/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="支付宝" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">支付宝</div>                  <div class="flink-item-desc" title="在线注销支付宝">在线注销支付宝</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://n.dingtalk.com/dingding/account-unbind-page/index.html#/" title="钉钉" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://g.alicdn.com/dingding/web/0.2.6/img/oldIcon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="钉钉" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">钉钉</div>                  <div class="flink-item-desc" title="在线注销钉钉">在线注销钉钉</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://getsimnum.caict.ac.cn/applist/index.html#/singlewindow?&type=1&toUrl=alxianyu" title="咸鱼" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://img.alicdn.com/tfs/TB19WObTNv1gK0jSZFFXXb0sXXa-144-144.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="咸鱼" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">咸鱼</div>                  <div class="flink-item-desc" title="下载APP注销">下载APP注销</div>                </div>              </a>            </div></div></div><div class="flink-name">视频</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://m.iqiyi.com/user.html#queryPhone?isLogin=true&requestType=22&queryType=1" title="爱奇艺" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts2.cn.mm.bing.net/th?id=ODLS.0b1d081e-4e97-44fb-9a14-2244a9afe2b2&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="爱奇艺" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">爱奇艺</div>                  <div class="flink-item-desc" title="爱奇艺账号注销">爱奇艺账号注销</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://account.bilibili.com/h5/account-h5/logout" title="Blibili" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts2.cn.mm.bing.net/th?id=ODLS.e42d2c4d-ad65-4c7a-b0fd-817a1c3bed01&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Blibili" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Blibili</div>                  <div class="flink-item-desc" title="B站账号注销">B站账号注销</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://www.acfun.cn/about/help" title="Acfun" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts3.cn.mm.bing.net/th?id=ODLS.56b7b92a-ac78-4437-b18f-0734e7e23163&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Acfun" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Acfun</div>                  <div class="flink-item-desc" title="A站账号注销">A站账号注销</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://s.douyu.com/BLNa2" title="斗鱼直播" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts4.cn.mm.bing.net/th?id=ODLS.d9e2f1c4-597d-48f7-b14e-96561fe0e60f&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="斗鱼直播" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">斗鱼直播</div>                  <div class="flink-item-desc" title="斗鱼直播账号注销">斗鱼直播账号注销</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://passport.kuaishou.com/account-h5/one-id-query/v3" title="快手" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://s2-111422.kwimgs.com/kos/nlav111422/ks-web/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="快手" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">快手</div>                  <div class="flink-item-desc" title="在线注销快手">在线注销快手</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://api.amemv.com/ucenter_web/app/douyin-second-account#/process/cancel" title="抖音" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://lf1-cdn-tos.bytegoofy.com/goofy/ies/douyin_web/public/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="抖音" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">抖音</div>                  <div class="flink-item-desc" title="下载App注销">下载App注销</div>                </div>              </a>            </div></div></div></div><h1 id="手机号注销"><a href="#手机号注销" class="headerlink" title="手机号注销"></a>手机号注销</h1><div class="flink"> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://getsimnum.caict.ac.cn/?hmsr=iplaysoft.com#/" title="一证通查" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts4.cn.mm.bing.net/th?id=ODLS.629fe6a2-8139-4b5d-a9b8-717053bd4bcb&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="一证通查" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">一证通查</div>                  <div class="flink-item-desc" title="查询名下手机号">查询名下手机号</div>                </div>              </a>            </div></div></div></div><h1 id="运营商-App一键解绑（二次号码焕新）"><a href="#运营商-App一键解绑（二次号码焕新）" class="headerlink" title="运营商 App一键解绑（二次号码焕新）"></a>运营商 App一键解绑（二次号码焕新）</h1><p>移动 &#x2F; 联通 &#x2F; 电信 App → 搜索「一键解绑」或「二次号码焕新」<br>验证身份后，勾选平台提交，5 个工作日内处理完成<br>解绑≠注销：解绑手机号后，账号仍存在；重要账号建议进入 App 完成账号注销。</p><h2 id="联通"><a href="#联通" class="headerlink" title="联通"></a>联通</h2><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="500" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/phonenumber/liantong1.png","alt":""},{"url":"/img/posts/phonenumber/liantong2.png","alt":""},{"url":"/img/posts/phonenumber/liantong3.png","alt":""}]</span>  </div><button class="gallery-load-more" style="">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div><h3 id="手机卡丢失，但想注销手机号怎么办？"><a href="#手机卡丢失，但想注销手机号怎么办？" class="headerlink" title="手机卡丢失，但想注销手机号怎么办？"></a>手机卡丢失，但想注销手机号怎么办？</h3><p>首先打电话告知客服帮我反馈，我手机卡丢失，但我需要注销手机号，并且本人在外地无法去当地营业厅。<br>稍后他们会有联通企业微信添加你好友，让你写一个纸质代理注销协议，并将身份证正反面，手持照片等提交，他们在线帮你注销。</p><h2 id="移动"><a href="#移动" class="headerlink" title="移动"></a>移动</h2><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="500" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/phonenumber/yidong1.png","alt":""},{"url":"/img/posts/phonenumber/yidong2.png","alt":""},{"url":"/img/posts/phonenumber/yidong3.png","alt":""}]</span>  </div><button class="gallery-load-more" style="">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div><h2 id="电信"><a href="#电信" class="headerlink" title="电信"></a>电信</h2><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="500" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/phonenumber/dianxin1.png","alt":""},{"url":"/img/posts/phonenumber/dianxin2.png","alt":""},{"url":"/img/posts/phonenumber/dianxin3.png","alt":""}]</span>  </div><button class="gallery-load-more" style="">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div><h2 id="广电"><a href="#广电" class="headerlink" title="广电"></a>广电</h2><p><img src="/img/posts/phonenumber/guangdian.png"></p><h2 id="如何找到运营商人工"><a href="#如何找到运营商人工" class="headerlink" title="如何找到运营商人工"></a>如何找到运营商人工</h2><p>电信：10000<br>联通：10010<br>移动：10086<br>广电：10099<br>拨打对应运营商电话，如果AI语音识别，就说转人工，别看着他的引导说，一直说转人工<br>如果没有AI，在按键选项就一直按0</p><h2 id="注销时告知有合约怎么办？"><a href="#注销时告知有合约怎么办？" class="headerlink" title="注销时告知有合约怎么办？"></a>注销时告知有合约怎么办？</h2><p>如果不知道什么时候添加的合约套餐，直接打对应的运营商电话，告知客服我要投诉，让他们进行反馈，自己需要注销账号，但是告知有合约无法注销，这个合约套餐自己并没有办理过，我要投诉。</p><h2 id="积分兑换话费"><a href="#积分兑换话费" class="headerlink" title="积分兑换话费"></a>积分兑换话费</h2><p>联通：FJFJ@Q短信至10010<br>电信：FJHD短信至10001<br>移动：HF短信至10658999</p>]]></content>
    
    
    <summary type="html">一份详尽的账户与手机号注销全指南。本文汇集了主流互联网应用（如网易、知乎、B站、支付宝等）的官方注销入口，并提供了三大运营商（移动、联通、电信）及广电的手机号注销方法与投诉技巧，助您彻底清理数字足迹。</summary>
    
    
    
    <category term="指南" scheme="https://www.adaiblog.github.io/categories/%E6%8C%87%E5%8D%97/"/>
    
    
    <category term="注销" scheme="https://www.adaiblog.github.io/tags/%E6%B3%A8%E9%94%80/"/>
    
  </entry>
  
  <entry>
    <title>Nextcloud开源免费的私有云存储网盘项目</title>
    <link href="https://www.adaiblog.github.io/posts/NextCloud.html"/>
    <id>https://www.adaiblog.github.io/posts/NextCloud.html</id>
    <published>2024-12-06T09:37:36.000Z</published>
    <updated>2026-02-25T15:49:48.209Z</updated>
    
    <content type="html"><![CDATA[<a class="btn-anzhiyu purple larger" href="https://nextcloud.com"   title="官网"><i class="anzhiyufont anzhiyu-icon-fw-fire"></i><span>官网</span></a><a class="btn-anzhiyu red larger" href="https://github.com/nextcloud"   title="Github"><i class="anzhiyufont anzhiyu-icon-github"></i><span>Github</span></a><a class="btn-anzhiyu orange larger" href="https://github.com/nextcloud/docker"   title="Docker Hub"><i class="anzhiyufont anzhiyu-icon-anzhiyu"></i><span>Docker Hub</span></a><a class="btn-anzhiyu green larger" href="https://github.com/nextcloud/android/releases"   title="Android客户端"><i class="anzhiyufont anzhiyu-icon-anzhiyu"></i><span>Android客户端</span></a><a class="btn-anzhiyu blue larger" href="https://apps.apple.com/us/app/nextcloud/id1125420102"   title="iOS客户端"><i class="anzhiyufont anzhiyu-icon-anzhiyu"></i><span>iOS客户端</span></a><h1 id="安装"><a href="#安装" class="headerlink" title="安装"></a>安装</h1><p>首先安装Docker和Docker-Compose，安装教程请看<a href="https://www.adai.fun/posts/docker.html">Docker文章</a><br>创建一个存放docker-compose文件夹并进入</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">mkdir</span> nextcloud &amp;&amp; <span class="built_in">cd</span> nextcloud</span><br></pre></td></tr></table></figure><p>创建docker-compose文件</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">nano docker-compose.yml</span><br></pre></td></tr></table></figure><p>选择Docker compose并<kbd>Ctrl</kbd> + <kbd>X</kbd>按<kbd>Y</kbd>，<kbd>Enter</kbd>保存</p><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">Apache 基础版本</button><button type="button" class="tab " data-href="test4-2">FPM 基础版本</button><button type="button" class="tab " data-href="test4-3">Docker 密钥</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><p>适合本地测试或内部网络使用（无 HTTPS 加密，需注意安全边界）</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">services:</span></span><br><span class="line">  <span class="comment"># 注：MariaDB 是一个外部服务。你可以在以下链接找到更多关于其配置的信息：</span></span><br><span class="line">  <span class="comment"># https://hub.docker.com/_/mariadb</span></span><br><span class="line">  <span class="attr">db:</span></span><br><span class="line">    <span class="comment"># 注：请在以下链接查看推荐的数据库版本：https://docs.nextcloud.com/server/latest/admin_manual/installation/system_requirements.html#server</span></span><br><span class="line">    <span class="attr">image:</span> <span class="string">mariadb:lts</span>  <span class="comment"># 使用 MariaDB 的长期支持版本镜像</span></span><br><span class="line">    <span class="attr">restart:</span> <span class="string">always</span>  <span class="comment"># 容器退出时总是自动重启</span></span><br><span class="line">    <span class="attr">command:</span> <span class="string">--transaction-isolation=READ-COMMITTED</span>  <span class="comment"># 设置数据库事务隔离级别为 READ-COMMITTED，适配 Nextcloud 需求</span></span><br><span class="line">    <span class="attr">volumes:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">db:/var/lib/mysql</span>  <span class="comment"># 将数据库数据目录 /var/lib/mysql 挂载到名为 db 的数据卷，实现数据持久化</span></span><br><span class="line">    <span class="attr">environment:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">MYSQL_ROOT_PASSWORD=</span>  <span class="comment"># 数据库 root 用户的密码（必须填写，例如：myrootpass123）</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">MYSQL_PASSWORD=</span>  <span class="comment"># Nextcloud 专用数据库用户的密码（必须填写，需与 app 服务中的对应参数一致，例如：myncpass456）</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">MYSQL_DATABASE=nextcloud</span>  <span class="comment"># Nextcloud 使用的数据库名称（固定为 nextcloud）</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">MYSQL_USER=nextcloud</span>  <span class="comment"># Nextcloud 专用的数据库用户名（固定为 nextcloud）</span></span><br><span class="line"></span><br><span class="line">  <span class="comment"># 注：Redis 是一个外部服务。你可以在以下链接找到更多关于其配置的信息：</span></span><br><span class="line">  <span class="comment"># https://hub.docker.com/_/redis</span></span><br><span class="line">  <span class="attr">redis:</span></span><br><span class="line">    <span class="attr">image:</span> <span class="string">redis:alpine</span>  <span class="comment"># 使用 Redis 的轻量 alpine 版本镜像</span></span><br><span class="line">    <span class="attr">restart:</span> <span class="string">always</span>  <span class="comment"># 容器退出时总是自动重启</span></span><br><span class="line"></span><br><span class="line">  <span class="attr">app:</span></span><br><span class="line">    <span class="attr">image:</span> <span class="string">nextcloud</span>  <span class="comment"># 使用 Nextcloud 官方镜像（默认是 apache 版本，包含 web 服务器）</span></span><br><span class="line">    <span class="attr">restart:</span> <span class="string">always</span>  <span class="comment"># 容器退出时总是自动重启</span></span><br><span class="line">    <span class="attr">ports:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="number">8080</span><span class="string">:80</span>  <span class="comment"># 将容器内的 80 端口映射到主机的 8080 端口，可通过 http://主机IP:8080 访问 Nextcloud</span></span><br><span class="line">    <span class="attr">depends_on:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">redis</span>  <span class="comment"># 依赖 redis 服务，确保 redis 启动后再启动 app</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">db</span>  <span class="comment"># 依赖 db 服务，确保数据库启动后再启动 app</span></span><br><span class="line">    <span class="attr">volumes:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">nextcloud:/var/www/html</span>  <span class="comment"># 将 Nextcloud 数据目录 /var/www/html 挂载到名为 nextcloud 的数据卷，持久化应用数据（文件、配置等）</span></span><br><span class="line">    <span class="attr">environment:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">MYSQL_PASSWORD=</span>  <span class="comment"># 需与 db 服务中的 MYSQL_PASSWORD 保持一致（例如：myncpass456）</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">MYSQL_DATABASE=nextcloud</span>  <span class="comment"># 数据库名称，与 db 服务中的保持一致</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">MYSQL_USER=nextcloud</span>  <span class="comment"># 数据库用户名，与 db 服务中的保持一致</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">MYSQL_HOST=db</span>  <span class="comment"># 数据库主机地址（容器名，因同一网络内可通过容器名访问）</span></span><br><span class="line"></span><br><span class="line"><span class="attr">volumes:</span></span><br><span class="line">  <span class="attr">nextcloud:</span>  <span class="comment"># 定义名为 nextcloud 的数据卷，用于存储 Nextcloud 应用数据</span></span><br><span class="line">  <span class="attr">db:</span>  <span class="comment"># 定义名为 db 的数据卷，用于存储 MariaDB 数据库数据</span></span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-2"><p>无 HTTPS，适合本地测试或反向代理后使用</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">services:</span></span><br><span class="line">  <span class="comment"># 注：MariaDB 是一个外部服务。你可以在以下链接找到更多关于其配置的信息：</span></span><br><span class="line">  <span class="comment"># https://hub.docker.com/_/mariadb</span></span><br><span class="line">  <span class="attr">db:</span></span><br><span class="line">    <span class="comment"># 注：请在以下链接查看推荐的数据库版本：https://docs.nextcloud.com/server/latest/admin_manual/installation/system_requirements.html#server</span></span><br><span class="line">    <span class="attr">image:</span> <span class="string">mariadb:lts</span>  <span class="comment"># 使用 MariaDB 的长期支持版本镜像</span></span><br><span class="line">    <span class="attr">restart:</span> <span class="string">always</span>  <span class="comment"># 容器退出时总是自动重启</span></span><br><span class="line">    <span class="attr">command:</span> <span class="string">--transaction-isolation=READ-COMMITTED</span>  <span class="comment"># 设置数据库事务隔离级别为 READ-COMMITTED，适配 Nextcloud 需求</span></span><br><span class="line">    <span class="attr">volumes:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">db:/var/lib/mysql</span>  <span class="comment"># 将数据库数据目录 /var/lib/mysql 挂载到名为 db 的数据卷，实现数据持久化</span></span><br><span class="line">    <span class="attr">environment:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">MYSQL_ROOT_PASSWORD=</span>  <span class="comment"># 数据库 root 用户的密码（必须填写，例如：myrootpass123）</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">MYSQL_PASSWORD=</span>  <span class="comment"># Nextcloud 专用数据库用户的密码（必须填写，需与 app 服务中的对应参数一致，例如：myncpass456）</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">MYSQL_DATABASE=nextcloud</span>  <span class="comment"># Nextcloud 使用的数据库名称（固定为 nextcloud）</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">MYSQL_USER=nextcloud</span>  <span class="comment"># Nextcloud 专用的数据库用户名（固定为 nextcloud）</span></span><br><span class="line"></span><br><span class="line">  <span class="comment"># 注：Redis 是一个外部服务。你可以在以下链接找到更多关于其配置的信息：</span></span><br><span class="line">  <span class="comment"># https://hub.docker.com/_/redis</span></span><br><span class="line">  <span class="attr">redis:</span></span><br><span class="line">    <span class="attr">image:</span> <span class="string">redis:alpine</span>  <span class="comment"># 使用 Redis 的轻量 alpine 版本镜像，用于缓存提升 Nextcloud 性能</span></span><br><span class="line">    <span class="attr">restart:</span> <span class="string">always</span>  <span class="comment"># 容器退出时总是自动重启</span></span><br><span class="line"></span><br><span class="line">  <span class="attr">app:</span></span><br><span class="line">    <span class="attr">image:</span> <span class="string">nextcloud:fpm</span>  <span class="comment"># 使用 Nextcloud 的 FPM 版本镜像（仅提供 PHP 处理，需配合 web 服务器使用）</span></span><br><span class="line">    <span class="attr">restart:</span> <span class="string">always</span>  <span class="comment"># 容器退出时总是自动重启</span></span><br><span class="line">    <span class="attr">depends_on:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">redis</span>  <span class="comment"># 依赖 redis 服务，确保 redis 启动后再启动 app</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">db</span>  <span class="comment"># 依赖 db 服务，确保数据库启动后再启动 app</span></span><br><span class="line">    <span class="attr">volumes:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">nextcloud:/var/www/html</span>  <span class="comment"># 将 Nextcloud 应用目录 /var/www/html 挂载到名为 nextcloud 的数据卷，持久化应用数据（文件、配置等）</span></span><br><span class="line">    <span class="attr">environment:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">MYSQL_PASSWORD=</span>  <span class="comment"># 需与 db 服务中的 MYSQL_PASSWORD 保持一致（例如：myncpass456）</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">MYSQL_DATABASE=nextcloud</span>  <span class="comment"># 数据库名称，与 db 服务中的保持一致</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">MYSQL_USER=nextcloud</span>  <span class="comment"># 数据库用户名，与 db 服务中的保持一致</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">MYSQL_HOST=db</span>  <span class="comment"># 数据库主机地址（容器名，同一网络内可通过容器名访问）</span></span><br><span class="line"></span><br><span class="line">  <span class="comment"># 注：Nginx 是一个外部服务。你可以在以下链接找到更多关于其配置的信息：</span></span><br><span class="line">  <span class="comment"># https://hub.docker.com/_/nginx/</span></span><br><span class="line">  <span class="attr">web:</span></span><br><span class="line">    <span class="attr">image:</span> <span class="string">nginx:alpine-slim</span>  <span class="comment"># 使用轻量的 Nginx alpine 版本镜像，作为 web 服务器处理 HTTP 请求</span></span><br><span class="line">    <span class="attr">restart:</span> <span class="string">always</span>  <span class="comment"># 容器退出时总是自动重启</span></span><br><span class="line">    <span class="attr">ports:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="number">8080</span><span class="string">:80</span>  <span class="comment"># 将容器内的 80 端口映射到主机的 8080 端口，可通过 http://主机IP:8080 访问 Nextcloud</span></span><br><span class="line">    <span class="attr">depends_on:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">app</span>  <span class="comment"># 依赖 app 服务，确保 FPM 容器启动后再启动 Nginx</span></span><br><span class="line">    <span class="attr">volumes:</span></span><br><span class="line">      <span class="comment"># 挂载自定义的 Nginx 配置文件（需提前创建 ./nginx.conf，参考 Nextcloud 官方 Nginx 配置文档）</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">./nginx.conf:/etc/nginx/nginx.conf:ro</span>  <span class="comment"># :ro 表示只读，防止容器内修改配置</span></span><br><span class="line">    <span class="attr">volumes_from:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">app</span>  <span class="comment"># 共享 app 容器的卷，确保 Nginx 能访问 Nextcloud 的静态文件（如 CSS、JS 等）</span></span><br><span class="line"></span><br><span class="line"><span class="attr">volumes:</span></span><br><span class="line">  <span class="attr">nextcloud:</span>  <span class="comment"># 定义名为 nextcloud 的数据卷，用于存储 Nextcloud 应用数据（文件、配置、插件等）</span></span><br><span class="line">  <span class="attr">db:</span>  <span class="comment"># 定义名为 db 的数据卷，用于存储 MariaDB 数据库数据</span></span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-3"><p>安全存储和传递敏感信息</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">services:</span></span><br><span class="line">  <span class="comment"># 注：PostgreSQL 是一个外部服务。你可以在以下链接找到更多关于其配置的信息：</span></span><br><span class="line">  <span class="comment"># https://hub.docker.com/_/postgres</span></span><br><span class="line">  <span class="attr">db:</span></span><br><span class="line">    <span class="comment"># 注：请在以下链接查看推荐的数据库版本：https://docs.nextcloud.com/server/latest/admin_manual/installation/system_requirements.html#server</span></span><br><span class="line">    <span class="attr">image:</span> <span class="string">postgres:alpine</span>  <span class="comment"># 使用 PostgreSQL 的轻量 alpine 版本镜像</span></span><br><span class="line">    <span class="attr">restart:</span> <span class="string">always</span>  <span class="comment"># 容器退出时总是自动重启</span></span><br><span class="line">    <span class="attr">volumes:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">db:/var/lib/postgresql/data</span>  <span class="comment"># 将 PostgreSQL 数据目录 /var/lib/postgresql/data 挂载到名为 db 的数据卷，实现数据持久化</span></span><br><span class="line">    <span class="attr">environment:</span></span><br><span class="line">      <span class="comment"># 通过文件读取数据库配置（避免敏感信息明文暴露），文件路径由 secrets 定义</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">POSTGRES_DB_FILE=/run/secrets/postgres_db</span>  <span class="comment"># 从指定路径的文件中读取数据库名称</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">POSTGRES_USER_FILE=/run/secrets/postgres_user</span>  <span class="comment"># 从指定路径的文件中读取数据库用户名</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">POSTGRES_PASSWORD_FILE=/run/secrets/postgres_password</span>  <span class="comment"># 从指定路径的文件中读取数据库用户密码</span></span><br><span class="line">    <span class="attr">secrets:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">postgres_db</span>  <span class="comment"># 引用名为 postgres_db 的 secret（存储数据库名称）</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">postgres_password</span>  <span class="comment"># 引用名为 postgres_password 的 secret（存储数据库密码）</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">postgres_user</span>  <span class="comment"># 引用名为 postgres_user 的 secret（存储数据库用户名）</span></span><br><span class="line"></span><br><span class="line">  <span class="comment"># 注：Redis 是一个外部服务。你可以在以下链接找到更多关于其配置的信息：</span></span><br><span class="line">  <span class="comment"># https://hub.docker.com/_/redis</span></span><br><span class="line">  <span class="attr">redis:</span></span><br><span class="line">    <span class="attr">image:</span> <span class="string">redis:alpine</span>  <span class="comment"># 使用 Redis 的轻量 alpine 版本镜像，用于缓存提升 Nextcloud 性能</span></span><br><span class="line">    <span class="attr">restart:</span> <span class="string">always</span>  <span class="comment"># 容器退出时总是自动重启</span></span><br><span class="line"></span><br><span class="line">  <span class="attr">app:</span></span><br><span class="line">    <span class="attr">image:</span> <span class="string">nextcloud</span>  <span class="comment"># 使用 Nextcloud 官方镜像（默认是 apache 版本，包含 web 服务器）</span></span><br><span class="line">    <span class="attr">restart:</span> <span class="string">always</span>  <span class="comment"># 容器退出时总是自动重启</span></span><br><span class="line">    <span class="attr">ports:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="number">8080</span><span class="string">:80</span>  <span class="comment"># 将容器内的 80 端口映射到主机的 8080 端口，可通过 http://主机IP:8080 访问 Nextcloud</span></span><br><span class="line">    <span class="attr">volumes:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">nextcloud:/var/www/html</span>  <span class="comment"># 将 Nextcloud 应用目录 /var/www/html 挂载到名为 nextcloud 的数据卷，持久化应用数据（文件、配置等）</span></span><br><span class="line">    <span class="attr">environment:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">POSTGRES_HOST=db</span>  <span class="comment"># PostgreSQL 数据库主机地址（容器名，同一网络内可通过容器名访问）</span></span><br><span class="line">      <span class="comment"># 通过文件读取数据库连接信息（与 db 服务的 secrets 对应，确保信息一致）</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">POSTGRES_DB_FILE=/run/secrets/postgres_db</span>  <span class="comment"># 从 secret 文件中读取数据库名称</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">POSTGRES_USER_FILE=/run/secrets/postgres_user</span>  <span class="comment"># 从 secret 文件中读取数据库用户名</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">POSTGRES_PASSWORD_FILE=/run/secrets/postgres_password</span>  <span class="comment"># 从 secret 文件中读取数据库密码</span></span><br><span class="line">      <span class="comment"># 通过文件读取 Nextcloud 管理员账号信息（避免明文暴露）</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">NEXTCLOUD_ADMIN_PASSWORD_FILE=/run/secrets/nextcloud_admin_password</span>  <span class="comment"># 从 secret 文件中读取管理员密码</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">NEXTCLOUD_ADMIN_USER_FILE=/run/secrets/nextcloud_admin_user</span>  <span class="comment"># 从 secret 文件中读取管理员用户名</span></span><br><span class="line">    <span class="attr">depends_on:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">redis</span>  <span class="comment"># 依赖 redis 服务，确保 redis 启动后再启动 app</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">db</span>  <span class="comment"># 依赖 db 服务，确保数据库启动后再启动 app</span></span><br><span class="line">    <span class="attr">secrets:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">nextcloud_admin_password</span>  <span class="comment"># 引用管理员密码的 secret</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">nextcloud_admin_user</span>  <span class="comment"># 引用管理员用户名的 secret</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">postgres_db</span>  <span class="comment"># 引用数据库名称的 secret（与 db 服务共享）</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">postgres_password</span>  <span class="comment"># 引用数据库密码的 secret（与 db 服务共享）</span></span><br><span class="line">      <span class="bullet">-</span> <span class="string">postgres_user</span>  <span class="comment"># 引用数据库用户名的 secret（与 db 服务共享）</span></span><br><span class="line"></span><br><span class="line"><span class="attr">volumes:</span></span><br><span class="line">  <span class="attr">db:</span>  <span class="comment"># 定义名为 db 的数据卷，用于存储 PostgreSQL 数据库数据</span></span><br><span class="line">  <span class="attr">nextcloud:</span>  <span class="comment"># 定义名为 nextcloud 的数据卷，用于存储 Nextcloud 应用数据（文件、配置、插件等）</span></span><br><span class="line"></span><br><span class="line"><span class="attr">secrets:</span></span><br><span class="line">  <span class="attr">nextcloud_admin_password:</span></span><br><span class="line">    <span class="attr">file:</span> <span class="string">./nextcloud_admin_password.txt</span>  <span class="comment"># 管理员密码存储路径（需手动创建该文件并填写密码，例如：myadminpass123）</span></span><br><span class="line">  <span class="attr">nextcloud_admin_user:</span></span><br><span class="line">    <span class="attr">file:</span> <span class="string">./nextcloud_admin_user.txt</span>  <span class="comment"># 管理员用户名存储路径（需手动创建该文件并填写用户名，例如：admin）</span></span><br><span class="line">  <span class="attr">postgres_db:</span></span><br><span class="line">    <span class="attr">file:</span> <span class="string">./postgres_db.txt</span>  <span class="comment"># PostgreSQL 数据库名称存储路径（需手动创建该文件，通常填写 nextcloud）</span></span><br><span class="line">  <span class="attr">postgres_password:</span></span><br><span class="line">    <span class="attr">file:</span> <span class="string">./postgres_password.txt</span>  <span class="comment"># PostgreSQL 用户密码存储路径（需手动创建该文件并填写密码，例如：mydbpass456）</span></span><br><span class="line">  <span class="attr">postgres_user:</span></span><br><span class="line">    <span class="attr">file:</span> <span class="string">./postgres_user.txt</span>  <span class="comment"># PostgreSQL 用户名存储路径（需手动创建该文件，通常填写 nextcloud）</span></span><br></pre></td></tr></table></figure></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><p>启动部署</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> docker compose up -d</span><br></pre></td></tr></table></figure><h1 id="获取WebDav地址"><a href="#获取WebDav地址" class="headerlink" title="获取WebDav地址"></a>获取WebDav地址</h1><p><img src="/img/posts/nextcloud/webdav.png"><br>映射到Windows本地请看<a href="https://www.adai.fun/posts/windwos.html">Windows</a>文章中基础操作映射磁盘</p>]]></content>
    
    
    <summary type="html">本文是一份使用 Docker Compose 快速搭建 Nextcloud 私有云盘的简明指南。内容包含详细的 docker-compose.yml 配置文件、部署命令以及如何开启 WebDAV 服务并挂载到 Windows 本地磁盘的完整流程。</summary>
    
    
    
    <category term="服务器" scheme="https://www.adaiblog.github.io/categories/%E6%9C%8D%E5%8A%A1%E5%99%A8/"/>
    
    
    <category term="云盘" scheme="https://www.adaiblog.github.io/tags/%E4%BA%91%E7%9B%98/"/>
    
  </entry>
  
  <entry>
    <title>动画精灵编辑器和像素艺术工具Aseprite</title>
    <link href="https://www.adaiblog.github.io/posts/aseprite.html"/>
    <id>https://www.adaiblog.github.io/posts/aseprite.html</id>
    <published>2024-12-04T10:21:40.000Z</published>
    <updated>2026-02-25T15:49:47.549Z</updated>
    
    <content type="html"><![CDATA[<p><a href="https://www.aseprite.org/">Aseprite</a>是一款非常好用强大的像素艺术创作工具<br><a href="https://www.aseprite.org/#buy">官网售价</a>：$19.99（送Steam Key）<br><a href="https://store.steampowered.com/app/431730/Aseprite/">Steam售价（国区）</a>: ¥70<br>同时这款软件开发者在<a href="https://github.com/aseprite/aseprite">Github</a>上进行了开源，供大家自行编译使用，编译软件受官方许可，制作出的美术资产可用于商用，但不能进行二次销售。如果资金充足可以从官网或者Steam购买支持开发者</p><h1 id="购买与编译有什么区别？"><a href="#购买与编译有什么区别？" class="headerlink" title="购买与编译有什么区别？"></a>购买与编译有什么区别？</h1><p>购买：会直接获得Win，Mac，Linux安装包直接可以使用，并且有官方邮件支持，更新更方便。<br>编译：不能直接使用，不同系统，不同版本需要自行下载源代码本地进行编译。</p><h1 id="编译"><a href="#编译" class="headerlink" title="编译"></a>编译</h1><h2 id="Github-Actions在线编译"><a href="#Github-Actions在线编译" class="headerlink" title="Github Actions在线编译"></a>Github Actions在线编译</h2><ol><li>注册<a href="https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=/&source=header-home">Github</a>账号,进入<a href="https://github.com/aseprite/aseprite">Aseprite的Github仓</a>，并<code>Fork</code>项目<div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="200" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/aseprite/aseprite1.jpg","alt":""},{"url":"/img/posts/aseprite/aseprite2.jpg","alt":""}]</span>  </div><button class="gallery-load-more" style="">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div></li><li>点击 <code>github</code> -&gt; <code>workflows</code> -&gt; <code>build.yml</code>,点击<code>铅笔</code>进行编辑<div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="200" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/aseprite/aseprite3.jpg","alt":""},{"url":"/img/posts/aseprite/aseprite4.jpg","alt":""},{"url":"/img/posts/aseprite/aseprite5.jpg","alt":""}]</span>  </div><button class="gallery-load-more" style="">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div></li></ol><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">Win</button><button type="button" class="tab " data-href="test4-2">MacOS</button><button type="button" class="tab " data-href="test4-3">Linux</button><button type="button" class="tab " data-href="test4-4">全平台（Win，MacOS，Linux）</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">name:</span> <span class="string">Build</span> <span class="string">Aseprite</span> <span class="string">(Windows)</span> <span class="bullet">-</span> <span class="string">Artifact</span> <span class="string">Only</span></span><br><span class="line"></span><br><span class="line"><span class="attr">on:</span></span><br><span class="line">  <span class="attr">push:</span></span><br><span class="line">    <span class="attr">branches:</span> [ <span class="string">main</span> ]</span><br><span class="line">  <span class="attr">pull_request:</span></span><br><span class="line">    <span class="attr">branches:</span> [ <span class="string">main</span> ]</span><br><span class="line">  <span class="attr">workflow_dispatch:</span>  <span class="comment"># 支持手动触发构建</span></span><br><span class="line"></span><br><span class="line"><span class="attr">env:</span></span><br><span class="line">  <span class="attr">BUILD_TYPE:</span> <span class="string">Release</span></span><br><span class="line"></span><br><span class="line"><span class="attr">jobs:</span></span><br><span class="line">  <span class="attr">build-windows:</span></span><br><span class="line">    <span class="attr">name:</span> <span class="string">Build</span> <span class="string">&amp;</span> <span class="string">Package</span> <span class="string">Aseprite</span> <span class="string">(Windows)</span></span><br><span class="line">    <span class="attr">runs-on:</span> <span class="string">windows-latest</span></span><br><span class="line">    <span class="attr">permissions:</span></span><br><span class="line">      <span class="attr">contents:</span> <span class="string">read</span>  <span class="comment"># 仅需读取权限</span></span><br><span class="line">    <span class="attr">steps:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">uses:</span> <span class="string">actions/checkout@v4</span></span><br><span class="line">        <span class="attr">with:</span></span><br><span class="line">          <span class="attr">submodules:</span> <span class="string">&#x27;recursive&#x27;</span></span><br><span class="line"></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Install</span> <span class="string">Dependencies</span></span><br><span class="line">        <span class="attr">shell:</span> <span class="string">bash</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">          choco install wget 7zip -y --no-progress</span></span><br><span class="line"><span class="string"></span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Install</span> <span class="string">Skia</span></span><br><span class="line">        <span class="attr">shell:</span> <span class="string">bash</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">          wget https://github.com/aseprite/skia/releases/download/m124-08a5439a6b/Skia-Windows-Release-x64.zip</span></span><br><span class="line"><span class="string">          unzip Skia-Windows-Release-x64.zip -d skia</span></span><br><span class="line"><span class="string"></span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">uses:</span> <span class="string">aseprite/get-ninja@main</span></span><br><span class="line"></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">uses:</span> <span class="string">ilammy/msvc-dev-cmd@v1</span></span><br><span class="line"></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Generate</span> <span class="string">Build</span> <span class="string">Files</span></span><br><span class="line">        <span class="attr">shell:</span> <span class="string">bash</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">          export enable_ccache=off</span></span><br><span class="line"><span class="string">          export laf_backend=skia</span></span><br><span class="line"><span class="string">          export enable_scripting=on</span></span><br><span class="line"><span class="string">          export skia_arch=x64</span></span><br><span class="line"><span class="string"></span></span><br><span class="line">          <span class="string">cmake</span> <span class="string">-S</span> <span class="string">.</span> <span class="string">-B</span> <span class="string">build</span> <span class="string">-G</span> <span class="string">Ninja</span> <span class="string">\</span></span><br><span class="line">            <span class="string">-DCMAKE_BUILD_TYPE=$&#123;&#123;</span> <span class="string">env.BUILD_TYPE</span> <span class="string">&#125;&#125;</span> <span class="string">\</span></span><br><span class="line">            <span class="string">-DENABLE_TESTS=OFF</span> <span class="string">\</span></span><br><span class="line">            <span class="string">-DENABLE_SCRIPTING=$enable_scripting</span> <span class="string">\</span></span><br><span class="line">            <span class="string">-DENABLE_CCACHE=$enable_ccache</span> <span class="string">\</span></span><br><span class="line">            <span class="string">-DLAF_BACKEND=$laf_backend</span> <span class="string">\</span></span><br><span class="line">            <span class="string">-DSKIA_DIR=$(realpath</span> <span class="string">skia)</span> <span class="string">\</span></span><br><span class="line">            <span class="string">-DSKIA_LIBRARY_DIR=$(realpath</span> <span class="string">skia/out/Release-$skia_arch)</span></span><br><span class="line"></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Compile</span> <span class="string">Aseprite</span></span><br><span class="line">        <span class="attr">shell:</span> <span class="string">bash</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">cd</span> <span class="string">build</span> <span class="string">&amp;&amp;</span> <span class="string">ninja</span></span><br><span class="line"></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Verify</span> <span class="string">Build</span> <span class="string">Output</span></span><br><span class="line">        <span class="attr">shell:</span> <span class="string">bash</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">          if [[ ! -d &quot;build/bin&quot; ]]; then</span></span><br><span class="line"><span class="string">            echo &quot;Error: Build output directory not found!&quot;</span></span><br><span class="line"><span class="string">            exit 1</span></span><br><span class="line"><span class="string">          fi</span></span><br><span class="line"><span class="string">          if [[ ! -f &quot;build/bin/aseprite.exe&quot; ]]; then</span></span><br><span class="line"><span class="string">            echo &quot;Error: aseprite.exe not found in build output!&quot;</span></span><br><span class="line"><span class="string">            exit 1</span></span><br><span class="line"><span class="string">          fi</span></span><br><span class="line"><span class="string">          ls -la build/bin</span></span><br><span class="line"><span class="string"></span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Clean</span> <span class="string">&amp;</span> <span class="string">Prepare</span> <span class="string">Portable</span> <span class="string">Package</span></span><br><span class="line">        <span class="attr">working-directory:</span> <span class="string">build/bin</span></span><br><span class="line">        <span class="attr">shell:</span> <span class="string">bash</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">          find . -mindepth 1 ! \( -name &#x27;aseprite.exe&#x27; -o -name &#x27;data&#x27; -prune \) -exec rm -rf &#123;&#125; +</span></span><br><span class="line"><span class="string">          echo &#x27;# Portable mode&#x27; &gt; aseprite.ini</span></span><br><span class="line"><span class="string"></span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Package</span> <span class="string">as</span> <span class="string">Zip</span></span><br><span class="line">        <span class="attr">working-directory:</span> <span class="string">build/bin</span></span><br><span class="line">        <span class="attr">shell:</span> <span class="string">bash</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">          TIMESTAMP=$(date +%Y%m%d-%H%M%S)</span></span><br><span class="line"><span class="string">          7z -tzip a &quot;Aseprite-Windows-$&#123;TIMESTAMP&#125;.zip&quot; *</span></span><br><span class="line"><span class="string"></span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Upload</span> <span class="string">Build</span> <span class="string">Artifact</span></span><br><span class="line">        <span class="attr">uses:</span> <span class="string">actions/upload-artifact@v4</span>  <span class="comment"># 已升级到最新的v4版本</span></span><br><span class="line">        <span class="attr">with:</span></span><br><span class="line">          <span class="attr">name:</span> <span class="string">Aseprite-Windows-Build</span></span><br><span class="line">          <span class="attr">path:</span> <span class="string">build/bin/Aseprite-Windows-*.zip</span></span><br><span class="line">          <span class="attr">retention-days:</span> <span class="number">30</span></span><br><span class="line">          <span class="attr">if-no-files-found:</span> <span class="string">error</span>  <span class="comment"># 如果没有找到文件则报错</span></span><br><span class="line">     </span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-2"><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">name:</span> <span class="string">Build</span> <span class="string">Aseprite</span> <span class="string">(Windows)</span> <span class="bullet">-</span> <span class="string">Artifact</span> <span class="string">Only</span></span><br><span class="line"></span><br><span class="line"><span class="attr">on:</span></span><br><span class="line">  <span class="attr">push:</span></span><br><span class="line">    <span class="attr">branches:</span> [ <span class="string">main</span> ]</span><br><span class="line">  <span class="attr">pull_request:</span></span><br><span class="line">    <span class="attr">branches:</span> [ <span class="string">main</span> ]</span><br><span class="line">  <span class="attr">workflow_dispatch:</span>  </span><br><span class="line"></span><br><span class="line"><span class="attr">env:</span></span><br><span class="line">  <span class="attr">BUILD_TYPE:</span> <span class="string">Release</span></span><br><span class="line"></span><br><span class="line"><span class="attr">jobs:</span></span><br><span class="line">  <span class="attr">build-windows:</span></span><br><span class="line">    <span class="attr">name:</span> <span class="string">Build</span> <span class="string">&amp;</span> <span class="string">Package</span> <span class="string">Aseprite</span> <span class="string">(Windows)</span></span><br><span class="line">    <span class="attr">runs-on:</span> <span class="string">windows-latest</span></span><br><span class="line">    <span class="attr">permissions:</span></span><br><span class="line">      <span class="attr">contents:</span> <span class="string">read</span> </span><br><span class="line">    <span class="attr">steps:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">uses:</span> <span class="string">actions/checkout@v4</span></span><br><span class="line">        <span class="attr">with:</span></span><br><span class="line">          <span class="attr">submodules:</span> <span class="string">&#x27;recursive&#x27;</span></span><br><span class="line"></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Install</span> <span class="string">Dependencies</span></span><br><span class="line">        <span class="attr">shell:</span> <span class="string">bash</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">          choco install wget 7zip -y --no-progress</span></span><br><span class="line"><span class="string"></span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Install</span> <span class="string">Skia</span></span><br><span class="line">        <span class="attr">shell:</span> <span class="string">bash</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">          wget https://github.com/aseprite/skia/releases/download/m124-08a5439a6b/Skia-Windows-Release-x64.zip</span></span><br><span class="line"><span class="string">          unzip Skia-Windows-Release-x64.zip -d skia</span></span><br><span class="line"><span class="string"></span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">uses:</span> <span class="string">aseprite/get-ninja@main</span></span><br><span class="line"></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">uses:</span> <span class="string">ilammy/msvc-dev-cmd@v1</span></span><br><span class="line"></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Generate</span> <span class="string">Build</span> <span class="string">Files</span></span><br><span class="line">        <span class="attr">shell:</span> <span class="string">bash</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">          export enable_ccache=off</span></span><br><span class="line"><span class="string">          export laf_backend=skia</span></span><br><span class="line"><span class="string">          export enable_scripting=on</span></span><br><span class="line"><span class="string">          export skia_arch=x64</span></span><br><span class="line"><span class="string"></span></span><br><span class="line">          <span class="string">cmake</span> <span class="string">-S</span> <span class="string">.</span> <span class="string">-B</span> <span class="string">build</span> <span class="string">-G</span> <span class="string">Ninja</span> <span class="string">\</span></span><br><span class="line">            <span class="string">-DCMAKE_BUILD_TYPE=$&#123;&#123;</span> <span class="string">env.BUILD_TYPE</span> <span class="string">&#125;&#125;</span> <span class="string">\</span></span><br><span class="line">            <span class="string">-DENABLE_TESTS=OFF</span> <span class="string">\</span></span><br><span class="line">            <span class="string">-DENABLE_SCRIPTING=$enable_scripting</span> <span class="string">\</span></span><br><span class="line">            <span class="string">-DENABLE_CCACHE=$enable_ccache</span> <span class="string">\</span></span><br><span class="line">            <span class="string">-DLAF_BACKEND=$laf_backend</span> <span class="string">\</span></span><br><span class="line">            <span class="string">-DSKIA_DIR=$(realpath</span> <span class="string">skia)</span> <span class="string">\</span></span><br><span class="line">            <span class="string">-DSKIA_LIBRARY_DIR=$(realpath</span> <span class="string">skia/out/Release-$skia_arch)</span></span><br><span class="line"></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Compile</span> <span class="string">Aseprite</span></span><br><span class="line">        <span class="attr">shell:</span> <span class="string">bash</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">cd</span> <span class="string">build</span> <span class="string">&amp;&amp;</span> <span class="string">ninja</span></span><br><span class="line"></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Verify</span> <span class="string">Build</span> <span class="string">Output</span></span><br><span class="line">        <span class="attr">shell:</span> <span class="string">bash</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">          if [[ ! -d &quot;build/bin&quot; ]]; then</span></span><br><span class="line"><span class="string">            echo &quot;Error: Build output directory not found!&quot;</span></span><br><span class="line"><span class="string">            exit 1</span></span><br><span class="line"><span class="string">          fi</span></span><br><span class="line"><span class="string">          if [[ ! -f &quot;build/bin/aseprite.exe&quot; ]]; then</span></span><br><span class="line"><span class="string">            echo &quot;Error: aseprite.exe not found in build output!&quot;</span></span><br><span class="line"><span class="string">            exit 1</span></span><br><span class="line"><span class="string">          fi</span></span><br><span class="line"><span class="string">          ls -la build/bin</span></span><br><span class="line"><span class="string"></span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Clean</span> <span class="string">&amp;</span> <span class="string">Prepare</span> <span class="string">Portable</span> <span class="string">Package</span></span><br><span class="line">        <span class="attr">working-directory:</span> <span class="string">build/bin</span></span><br><span class="line">        <span class="attr">shell:</span> <span class="string">bash</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">          find . -mindepth 1 ! \( -name &#x27;aseprite.exe&#x27; -o -name &#x27;data&#x27; -prune \) -exec rm -rf &#123;&#125; +</span></span><br><span class="line"><span class="string">          echo &#x27;# Portable mode&#x27; &gt; aseprite.ini</span></span><br><span class="line"><span class="string"></span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Package</span> <span class="string">as</span> <span class="string">Zip</span></span><br><span class="line">        <span class="attr">working-directory:</span> <span class="string">build/bin</span></span><br><span class="line">        <span class="attr">shell:</span> <span class="string">bash</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">          TIMESTAMP=$(date +%Y%m%d-%H%M%S)</span></span><br><span class="line"><span class="string">          7z -tzip a &quot;Aseprite-Windows-$&#123;TIMESTAMP&#125;.zip&quot; *</span></span><br><span class="line"><span class="string"></span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Upload</span> <span class="string">Build</span> <span class="string">Artifact</span></span><br><span class="line">        <span class="attr">uses:</span> <span class="string">actions/upload-artifact@v4</span></span><br><span class="line">        <span class="attr">with:</span></span><br><span class="line">          <span class="attr">name:</span> <span class="string">Aseprite-Windows-Build</span></span><br><span class="line">          <span class="attr">path:</span> <span class="string">build/bin/Aseprite-Windows-*.zip</span></span><br><span class="line">          <span class="attr">retention-days:</span> <span class="number">30</span></span><br><span class="line">          <span class="attr">if-no-files-found:</span> <span class="string">error</span> </span><br><span class="line">    </span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-3"><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">name:</span> <span class="string">Build</span> <span class="string">Aseprite</span> <span class="string">(Linux)</span> <span class="bullet">-</span> <span class="string">Artifact</span> <span class="string">Only</span></span><br><span class="line"></span><br><span class="line"><span class="attr">on:</span></span><br><span class="line">  <span class="attr">push:</span></span><br><span class="line">    <span class="attr">branches:</span> [ <span class="string">main</span> ]</span><br><span class="line">  <span class="attr">pull_request:</span></span><br><span class="line">    <span class="attr">branches:</span> [ <span class="string">main</span> ]</span><br><span class="line">  <span class="attr">workflow_dispatch:</span>  </span><br><span class="line"></span><br><span class="line"><span class="attr">env:</span></span><br><span class="line">  <span class="attr">BUILD_TYPE:</span> <span class="string">Release</span></span><br><span class="line"></span><br><span class="line"><span class="attr">jobs:</span></span><br><span class="line">  <span class="attr">build-linux:</span></span><br><span class="line">    <span class="attr">name:</span> <span class="string">Build</span> <span class="string">&amp;</span> <span class="string">Package</span> <span class="string">Aseprite</span> <span class="string">(Linux)</span></span><br><span class="line">    <span class="attr">runs-on:</span> <span class="string">ubuntu-latest</span></span><br><span class="line">    <span class="attr">permissions:</span></span><br><span class="line">      <span class="attr">contents:</span> <span class="string">read</span> </span><br><span class="line">    <span class="attr">steps:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">uses:</span> <span class="string">actions/checkout@v4</span></span><br><span class="line">        <span class="attr">with:</span></span><br><span class="line">          <span class="attr">submodules:</span> <span class="string">&#x27;recursive&#x27;</span></span><br><span class="line"></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Install</span> <span class="string">Dependencies</span></span><br><span class="line">        <span class="attr">shell:</span> <span class="string">bash</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">          # Linux 依赖安装（使用 apt）</span></span><br><span class="line"><span class="string">          sudo apt-get update -qq</span></span><br><span class="line"><span class="string">          sudo apt-get install -y \</span></span><br><span class="line"><span class="string">            wget p7zip-full \</span></span><br><span class="line"><span class="string">            libpixman-1-dev libfreetype6-dev libharfbuzz-dev zlib1g-dev \</span></span><br><span class="line"><span class="string">            libx11-dev libxcursor-dev libxi-dev libgl1-mesa-dev libfontconfig1-dev</span></span><br><span class="line"><span class="string"></span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Install</span> <span class="string">Skia</span></span><br><span class="line">        <span class="attr">shell:</span> <span class="string">bash</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">          # 下载适用于 Linux x64 的 Skia 库</span></span><br><span class="line"><span class="string">          wget https://github.com/aseprite/skia/releases/download/m124-08a5439a6b/Skia-Linux-Release-x64.zip</span></span><br><span class="line"><span class="string">          unzip Skia-Linux-Release-x64.zip -d skia</span></span><br><span class="line"><span class="string"></span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">uses:</span> <span class="string">aseprite/get-ninja@main</span> </span><br><span class="line"></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Generate</span> <span class="string">Build</span> <span class="string">Files</span></span><br><span class="line">        <span class="attr">shell:</span> <span class="string">bash</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">          export enable_ccache=on  # Linux 支持 ccache 加速构建</span></span><br><span class="line"><span class="string">          export laf_backend=skia</span></span><br><span class="line"><span class="string">          export enable_scripting=on</span></span><br><span class="line"><span class="string">          export skia_arch=x64  # Linux 主流为 x64 架构</span></span><br><span class="line"><span class="string"></span></span><br><span class="line">          <span class="string">cmake</span> <span class="string">-S</span> <span class="string">.</span> <span class="string">-B</span> <span class="string">build</span> <span class="string">-G</span> <span class="string">Ninja</span> <span class="string">\</span></span><br><span class="line">            <span class="string">-DCMAKE_BUILD_TYPE=$&#123;&#123;</span> <span class="string">env.BUILD_TYPE</span> <span class="string">&#125;&#125;</span> <span class="string">\</span></span><br><span class="line">            <span class="string">-DENABLE_TESTS=OFF</span> <span class="string">\</span></span><br><span class="line">            <span class="string">-DENABLE_SCRIPTING=$enable_scripting</span> <span class="string">\</span></span><br><span class="line">            <span class="string">-DENABLE_CCACHE=$enable_ccache</span> <span class="string">\</span></span><br><span class="line">            <span class="string">-DLAF_BACKEND=$laf_backend</span> <span class="string">\</span></span><br><span class="line">            <span class="string">-DSKIA_DIR=$(realpath</span> <span class="string">skia)</span> <span class="string">\</span></span><br><span class="line">            <span class="string">-DSKIA_LIBRARY_DIR=$(realpath</span> <span class="string">skia/out/Release-$skia_arch)</span></span><br><span class="line"></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Compile</span> <span class="string">Aseprite</span></span><br><span class="line">        <span class="attr">shell:</span> <span class="string">bash</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">cd</span> <span class="string">build</span> <span class="string">&amp;&amp;</span> <span class="string">ninja</span></span><br><span class="line"></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Verify</span> <span class="string">Build</span> <span class="string">Output</span></span><br><span class="line">        <span class="attr">shell:</span> <span class="string">bash</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">          if [[ ! -d &quot;build/bin&quot; ]]; then</span></span><br><span class="line"><span class="string">            echo &quot;Error: Build output directory not found!&quot;</span></span><br><span class="line"><span class="string">            exit 1</span></span><br><span class="line"><span class="string">          fi</span></span><br><span class="line"><span class="string">          if [[ ! -f &quot;build/bin/aseprite&quot; ]]; then</span></span><br><span class="line"><span class="string">            echo &quot;Error: aseprite executable not found in build output!&quot;</span></span><br><span class="line"><span class="string">            exit 1</span></span><br><span class="line"><span class="string">          fi</span></span><br><span class="line"><span class="string">          ls -la build/bin</span></span><br><span class="line"><span class="string"></span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Clean</span> <span class="string">&amp;</span> <span class="string">Prepare</span> <span class="string">Portable</span> <span class="string">Package</span></span><br><span class="line">        <span class="attr">working-directory:</span> <span class="string">build/bin</span></span><br><span class="line">        <span class="attr">shell:</span> <span class="string">bash</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">          find . -mindepth 1 ! \( -name &#x27;aseprite&#x27; -o -name &#x27;data&#x27; -prune \) -exec rm -rf &#123;&#125; +</span></span><br><span class="line"><span class="string">          echo &#x27;# Portable mode&#x27; &gt; aseprite.ini</span></span><br><span class="line"><span class="string"></span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Package</span> <span class="string">as</span> <span class="string">Zip</span></span><br><span class="line">        <span class="attr">working-directory:</span> <span class="string">build/bin</span></span><br><span class="line">        <span class="attr">shell:</span> <span class="string">bash</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">          TIMESTAMP=$(date +%Y%m%d-%H%M%S)</span></span><br><span class="line"><span class="string">          7z -tzip a &quot;Aseprite-Linux-$&#123;TIMESTAMP&#125;.zip&quot; *</span></span><br><span class="line"><span class="string"></span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Upload</span> <span class="string">Build</span> <span class="string">Artifact</span></span><br><span class="line">        <span class="attr">uses:</span> <span class="string">actions/upload-artifact@v4</span></span><br><span class="line">        <span class="attr">with:</span></span><br><span class="line">          <span class="attr">name:</span> <span class="string">Aseprite-Linux-Build</span></span><br><span class="line">          <span class="attr">path:</span> <span class="string">build/bin/Aseprite-Linux-*.zip</span></span><br><span class="line">          <span class="attr">retention-days:</span> <span class="number">30</span></span><br><span class="line">          <span class="attr">if-no-files-found:</span> <span class="string">error</span> </span><br><span class="line"></span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-4"><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br><span class="line">113</span><br><span class="line">114</span><br><span class="line">115</span><br><span class="line">116</span><br><span class="line">117</span><br><span class="line">118</span><br><span class="line">119</span><br><span class="line">120</span><br><span class="line">121</span><br><span class="line">122</span><br><span class="line">123</span><br><span class="line">124</span><br><span class="line">125</span><br><span class="line">126</span><br><span class="line">127</span><br><span class="line">128</span><br><span class="line">129</span><br><span class="line">130</span><br><span class="line">131</span><br><span class="line">132</span><br><span class="line">133</span><br><span class="line">134</span><br><span class="line">135</span><br><span class="line">136</span><br><span class="line">137</span><br><span class="line">138</span><br><span class="line">139</span><br><span class="line">140</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">name:</span> <span class="string">Build</span> <span class="string">Aseprite</span> <span class="string">(Multiplatform)</span> <span class="bullet">-</span> <span class="string">Artifact</span> <span class="string">Only</span></span><br><span class="line"></span><br><span class="line"><span class="attr">on:</span></span><br><span class="line">  <span class="attr">push:</span></span><br><span class="line">    <span class="attr">branches:</span> [ <span class="string">main</span> ]</span><br><span class="line">  <span class="attr">pull_request:</span></span><br><span class="line">    <span class="attr">branches:</span> [ <span class="string">main</span> ]</span><br><span class="line">  <span class="attr">workflow_dispatch:</span>  </span><br><span class="line"></span><br><span class="line"><span class="attr">env:</span></span><br><span class="line">  <span class="attr">BUILD_TYPE:</span> <span class="string">Release</span></span><br><span class="line"></span><br><span class="line"><span class="attr">jobs:</span></span><br><span class="line">  <span class="attr">build-multiplatform:</span></span><br><span class="line">    <span class="attr">name:</span> <span class="string">Build</span> <span class="string">&amp;</span> <span class="string">Package</span> <span class="string">Aseprite</span> <span class="string">($&#123;&#123;</span> <span class="string">matrix.os.name</span> <span class="string">&#125;&#125;)</span></span><br><span class="line">    <span class="attr">runs-on:</span> <span class="string">$&#123;&#123;</span> <span class="string">matrix.os.runner</span> <span class="string">&#125;&#125;</span></span><br><span class="line">    <span class="attr">permissions:</span></span><br><span class="line">      <span class="attr">contents:</span> <span class="string">read</span> </span><br><span class="line">    <span class="attr">strategy:</span></span><br><span class="line">      <span class="attr">matrix:</span></span><br><span class="line">        <span class="attr">os:</span></span><br><span class="line">          <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Windows</span></span><br><span class="line">            <span class="attr">runner:</span> <span class="string">windows-latest</span></span><br><span class="line">            <span class="attr">skia-url:</span> <span class="string">https://github.com/aseprite/skia/releases/download/m124-08a5439a6b/Skia-Windows-Release-x64.zip</span></span><br><span class="line">            <span class="attr">skia-arch:</span> <span class="string">x64</span></span><br><span class="line">            <span class="attr">executable:</span> <span class="string">aseprite.exe</span></span><br><span class="line">            <span class="attr">ccache:</span> <span class="string">&quot;off&quot;</span></span><br><span class="line">          <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">macOS</span></span><br><span class="line">            <span class="attr">runner:</span> <span class="string">macos-14</span></span><br><span class="line">            <span class="attr">skia-url:</span> <span class="string">https://github.com/aseprite/skia/releases/download/m124-08a5439a6b/Skia-macOS-Release-arm64.zip</span></span><br><span class="line">            <span class="attr">skia-arch:</span> <span class="string">arm64</span></span><br><span class="line">            <span class="attr">executable:</span> <span class="string">aseprite</span></span><br><span class="line">            <span class="attr">ccache:</span> <span class="string">&quot;on&quot;</span></span><br><span class="line">          <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Linux</span></span><br><span class="line">            <span class="attr">runner:</span> <span class="string">ubuntu-latest</span></span><br><span class="line">            <span class="attr">skia-url:</span> <span class="string">https://github.com/aseprite/skia/releases/download/m124-08a5439a6b/Skia-Linux-Release-x64.zip</span></span><br><span class="line">            <span class="attr">skia-arch:</span> <span class="string">x64</span></span><br><span class="line">            <span class="attr">executable:</span> <span class="string">aseprite</span></span><br><span class="line">            <span class="attr">ccache:</span> <span class="string">&quot;on&quot;</span></span><br><span class="line">      <span class="attr">fail-fast:</span> <span class="literal">false</span>  <span class="comment"># 某平台失败不影响其他平台构建</span></span><br><span class="line"></span><br><span class="line">    <span class="attr">steps:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">uses:</span> <span class="string">actions/checkout@v4</span></span><br><span class="line">        <span class="attr">with:</span></span><br><span class="line">          <span class="attr">submodules:</span> <span class="string">&#x27;recursive&#x27;</span></span><br><span class="line"></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Install</span> <span class="string">Dependencies</span> <span class="string">($&#123;&#123;</span> <span class="string">matrix.os.name</span> <span class="string">&#125;&#125;)</span></span><br><span class="line">        <span class="attr">shell:</span> <span class="string">bash</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">          if [[ &quot;$&#123;&#123; matrix.os.name &#125;&#125;&quot; == &quot;Windows&quot; ]]; then</span></span><br><span class="line"><span class="string">            # Windows 依赖：wget 和 7zip</span></span><br><span class="line"><span class="string">            choco install wget 7zip -y --no-progress</span></span><br><span class="line"><span class="string">          elif [[ &quot;$&#123;&#123; matrix.os.name &#125;&#125;&quot; == &quot;macOS&quot; ]]; then</span></span><br><span class="line"><span class="string">            # macOS 依赖：wget 和 7zip（通过 brew）</span></span><br><span class="line"><span class="string">            brew install wget 7zip</span></span><br><span class="line"><span class="string">          else</span></span><br><span class="line"><span class="string">            # Linux 依赖：系统库和工具</span></span><br><span class="line"><span class="string">            sudo apt-get update -qq</span></span><br><span class="line"><span class="string">            sudo apt-get install -y \</span></span><br><span class="line"><span class="string">              wget p7zip-full \</span></span><br><span class="line"><span class="string">              libpixman-1-dev libfreetype6-dev libharfbuzz-dev zlib1g-dev \</span></span><br><span class="line"><span class="string">              libx11-dev libxcursor-dev libxi-dev libgl1-mesa-dev libfontconfig1-dev</span></span><br><span class="line"><span class="string">          fi</span></span><br><span class="line"><span class="string"></span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Install</span> <span class="string">Skia</span></span><br><span class="line">        <span class="attr">shell:</span> <span class="string">bash</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">          # 下载对应平台的 Skia 库并解压</span></span><br><span class="line"><span class="string">          wget $&#123;&#123; matrix.os.skia-url &#125;&#125; -O skia.zip</span></span><br><span class="line"><span class="string">          unzip skia.zip -d skia</span></span><br><span class="line"><span class="string"></span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">uses:</span> <span class="string">aseprite/get-ninja@main</span>  <span class="comment"># 所有平台共用 Ninja 工具</span></span><br><span class="line"></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Configure</span> <span class="string">MSVC</span> <span class="string">Environment</span> <span class="string">(Windows</span> <span class="string">only)</span></span><br><span class="line">        <span class="attr">if:</span> <span class="string">matrix.os.name</span> <span class="string">==</span> <span class="string">&#x27;Windows&#x27;</span></span><br><span class="line">        <span class="attr">uses:</span> <span class="string">ilammy/msvc-dev-cmd@v1</span>  <span class="comment"># 仅 Windows 需要配置 MSVC</span></span><br><span class="line"></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Generate</span> <span class="string">Build</span> <span class="string">Files</span></span><br><span class="line">        <span class="attr">shell:</span> <span class="string">bash</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">          export enable_ccache=$&#123;&#123; matrix.os.ccache &#125;&#125;</span></span><br><span class="line"><span class="string">          export laf_backend=skia</span></span><br><span class="line"><span class="string">          export enable_scripting=on</span></span><br><span class="line"><span class="string">          export skia_arch=$&#123;&#123; matrix.os.skia-arch &#125;&#125;</span></span><br><span class="line"><span class="string"></span></span><br><span class="line">          <span class="comment"># macOS 额外指定最低系统版本</span></span><br><span class="line">          <span class="string">extra_cmake_args=&quot;&quot;</span></span><br><span class="line">          <span class="string">if</span> [[ <span class="string">&quot;$<span class="template-variable">&#123;&#123; matrix.os.name &#125;&#125;</span>&quot;</span> <span class="string">==</span> <span class="string">&quot;macOS&quot;</span> ]]<span class="string">;</span> <span class="string">then</span></span><br><span class="line">            <span class="string">extra_cmake_args=&quot;-DCMAKE_OSX_DEPLOYMENT_TARGET=10.15&quot;</span></span><br><span class="line">          <span class="string">fi</span></span><br><span class="line"></span><br><span class="line">          <span class="string">cmake</span> <span class="string">-S</span> <span class="string">.</span> <span class="string">-B</span> <span class="string">build</span> <span class="string">-G</span> <span class="string">Ninja</span> <span class="string">\</span></span><br><span class="line">            <span class="string">-DCMAKE_BUILD_TYPE=$&#123;&#123;</span> <span class="string">env.BUILD_TYPE</span> <span class="string">&#125;&#125;</span> <span class="string">\</span></span><br><span class="line">            <span class="string">-DENABLE_TESTS=OFF</span> <span class="string">\</span></span><br><span class="line">            <span class="string">-DENABLE_SCRIPTING=$enable_scripting</span> <span class="string">\</span></span><br><span class="line">            <span class="string">-DENABLE_CCACHE=$enable_ccache</span> <span class="string">\</span></span><br><span class="line">            <span class="string">-DLAF_BACKEND=$laf_backend</span> <span class="string">\</span></span><br><span class="line">            <span class="string">-DSKIA_DIR=$(realpath</span> <span class="string">skia)</span> <span class="string">\</span></span><br><span class="line">            <span class="string">-DSKIA_LIBRARY_DIR=$(realpath</span> <span class="string">skia/out/Release-$skia_arch)</span> <span class="string">\</span></span><br><span class="line">            <span class="string">$extra_cmake_args</span></span><br><span class="line"></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Compile</span> <span class="string">Aseprite</span></span><br><span class="line">        <span class="attr">shell:</span> <span class="string">bash</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">cd</span> <span class="string">build</span> <span class="string">&amp;&amp;</span> <span class="string">ninja</span></span><br><span class="line"></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Verify</span> <span class="string">Build</span> <span class="string">Output</span></span><br><span class="line">        <span class="attr">shell:</span> <span class="string">bash</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">          if [[ ! -d &quot;build/bin&quot; ]]; then</span></span><br><span class="line"><span class="string">            echo &quot;Error: Build output directory not found!&quot;</span></span><br><span class="line"><span class="string">            exit 1</span></span><br><span class="line"><span class="string">          fi</span></span><br><span class="line"><span class="string">          if [[ ! -f &quot;build/bin/$&#123;&#123; matrix.os.executable &#125;&#125;&quot; ]]; then</span></span><br><span class="line"><span class="string">            echo &quot;Error: $&#123;&#123; matrix.os.executable &#125;&#125; not found in build output!&quot;</span></span><br><span class="line"><span class="string">            exit 1</span></span><br><span class="line"><span class="string">          fi</span></span><br><span class="line"><span class="string">          ls -la build/bin</span></span><br><span class="line"><span class="string"></span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Clean</span> <span class="string">&amp;</span> <span class="string">Prepare</span> <span class="string">Portable</span> <span class="string">Package</span></span><br><span class="line">        <span class="attr">working-directory:</span> <span class="string">build/bin</span></span><br><span class="line">        <span class="attr">shell:</span> <span class="string">bash</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">          # 仅保留可执行文件和 data 目录</span></span><br><span class="line"><span class="string">          find . -mindepth 1 ! \( -name &#x27;$&#123;&#123; matrix.os.executable &#125;&#125;&#x27; -o -name &#x27;data&#x27; -prune \) -exec rm -rf &#123;&#125; +</span></span><br><span class="line"><span class="string">          echo &#x27;# Portable mode&#x27; &gt; aseprite.ini</span></span><br><span class="line"><span class="string"></span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Package</span> <span class="string">as</span> <span class="string">Zip</span></span><br><span class="line">        <span class="attr">working-directory:</span> <span class="string">build/bin</span></span><br><span class="line">        <span class="attr">shell:</span> <span class="string">bash</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">          TIMESTAMP=$(date +%Y%m%d-%H%M%S)</span></span><br><span class="line"><span class="string">          7z -tzip a &quot;Aseprite-$&#123;&#123; matrix.os.name &#125;&#125;-$&#123;TIMESTAMP&#125;.zip&quot; *</span></span><br><span class="line"><span class="string"></span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Upload</span> <span class="string">Build</span> <span class="string">Artifact</span></span><br><span class="line">        <span class="attr">uses:</span> <span class="string">actions/upload-artifact@v4</span></span><br><span class="line">        <span class="attr">with:</span></span><br><span class="line">          <span class="attr">name:</span> <span class="string">Aseprite-$&#123;&#123;</span> <span class="string">matrix.os.name</span> <span class="string">&#125;&#125;-Build</span></span><br><span class="line">          <span class="attr">path:</span> <span class="string">build/bin/Aseprite-$&#123;&#123;</span> <span class="string">matrix.os.name</span> <span class="string">&#125;&#125;-*.zip</span></span><br><span class="line">          <span class="attr">retention-days:</span> <span class="number">30</span></span><br><span class="line">          <span class="attr">if-no-files-found:</span> <span class="string">error</span> </span><br></pre></td></tr></table></figure></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><ol start="3"><li><p>点击<code>Commit changes</code> 进行保存。<br><img src="/img/posts/aseprite/aseprite6.jpg"></p></li><li><p>点击<code>Action</code> -&gt; <code>Build Aseprite</code> -&gt; <code>Run Workflow</code>，跳转页面刷新一下，项目再在编译。</p><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="200" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/aseprite/aseprite7.jpg","alt":""},{"url":"/img/posts/aseprite/aseprite8.jpg","alt":""}]</span>  </div><button class="gallery-load-more" style="">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div></li><li><p>10-20分钟编译完成之后点击项目，就可以看到可下载的Aseprite安装包</p><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="200" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/aseprite/aseprite10.jpg","alt":""},{"url":"/img/posts/aseprite/aseprite9.jpg","alt":""}]</span>  </div><button class="gallery-load-more" style="">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div></li></ol><h2 id="Win本地编译"><a href="#Win本地编译" class="headerlink" title="Win本地编译"></a>Win本地编译</h2><h3 id="下载"><a href="#下载" class="headerlink" title="下载"></a>下载</h3><p><a href="https://visualstudio.microsoft.com/zh-hans/downloads/">Visual Studio 2022</a>，<a href="https://github.com/aseprite/aseprite/releases">Aseprite源码</a>，<a href="https://github.com/Kitware/CMake/releases/tag/v3.19.7">CMake</a>，<a href="https://github.com/ninja-build/ninja/releases">Ninja</a>，<a href="https://github.com/aseprite/skia/releases">Skia</a><br><a href="https://adaifun.lanzout.com/b00wm5svza">Aseprite源码云盘下载</a>，<a href="https://adaifun.lanzout.com/i67hJ2h8zwid">CMake云盘下载</a>，<a href="https://adaifun.lanzout.com/i75n02h8zw5a">Ninja云盘下载</a>，<a href="https://adaifun.lanzout.com/b00wm5swwd">Skia云盘下载</a>，云盘密码：adai</p><h3 id="编译前准备"><a href="#编译前准备" class="headerlink" title="编译前准备"></a>编译前准备</h3><ol><li>安装<code>Visual Studio 2022</code>，勾选<code>使用C++的桌面开发</code>，右侧勾选<code>MSVC</code>，<code>Windows 11 SDK</code>（Win10系统勾选<code>Windows 10 SDK 10.0.18362.0</code>）<br><img src="/img/posts/aseprite/vscode.png"></li><li><code>CMake</code>下载<code>.msi</code>文件，并安装<br><img src="/img/posts/aseprite/cmake.png"></li><li>将<code>Ninja</code>文件解压到<a href="">C:\Program Files\CMake\bin</a></li><li>在C盘创建<code>aseprite文件夹</code>，并将<code>Aseprite源码</code>解压到此文件夹(如果下载beta版本，那么Skia也要下载beta版本,不然报错)，并再创建<code>Build文件夹</code><br><img src="/img/posts/aseprite/asepriteyuan.png"></li><li>在C盘创建一个<code>desp文件夹</code>，再在desp中创建<code>skia文件夹</code>，将<code>Skia文件</code>解压到skia文件夹中<br><img src="/img/posts/aseprite/skia.png"></li><li>win+s搜索<code>Developer Command Prompt for VS 2022</code>分别输入以下代码<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">call <span class="string">&quot;C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat&quot;</span> -<span class="built_in">arch</span>=x64</span><br><span class="line"><span class="built_in">cd</span> C:\aseprite\build</span><br><span class="line">cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLAF_BACKEND=skia -DSKIA_DIR=C:\deps\skia -DSKIA_LIBRARY_DIR=C:\deps\skia\out\Release-x64 -DSKIA_LIBRARY=C:\deps\skia\out\Release-x64\skia.lib -G Ninja ..</span><br><span class="line">ninja aseprite</span><br></pre></td></tr></table></figure></li><li>打开<a href="">C:\aseprite\build\bin\aseprite.exe</a>文件即可开始使用<br><img src="/img/posts/aseprite/aseprite13.png"></li></ol><h1 id="汉化和更换主题"><a href="#汉化和更换主题" class="headerlink" title="汉化和更换主题"></a>汉化和更换主题</h1><p><a href="https://github.com/J-11/Aseprite-Simplified-Chinese/blob/master/README.md">Aseprite汉化插件仓</a>，<a href="https://github.com/J-11/Aseprite-Simplified-Chinese/releases/download/1.3-rc1/Aseprite.1.3rc1.aseprite-extension">Aseprite字体汉化</a>，<a href="https://github.com/J-11/Aseprite-Simplified-Chinese/releases/download/v1.2.23/zhuti-Win.aseprite-extension">Aseprite主题</a>，<a href="https://adaifun.lanzout.com/iZsho2h8zdhi">云盘下载</a></p><ol><li><p>打开aseprite，<code>Edit </code>-&gt; <code>Preferences</code> -&gt; <code>Extensions</code> -&gt; <code>Add Extensions</code> -&gt; <code>添加汉化插件和主题插件</code> -&gt; <code>General</code> -&gt; <code>Language</code> -&gt; <code>sChinese</code> -&gt; <code>OK</code></p><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="200" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/aseprite/hanhua.jpg","alt":""},{"url":"/img/posts/aseprite/hanhua2.jpg","alt":""},{"url":"/img/posts/aseprite/hanhua3.jpg","alt":""}]</span>  </div><button class="gallery-load-more" style="">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div></li><li><p><code>主题</code> -&gt; 选择添加的主题 -&gt; <code>选择</code> -&gt; <code>调整缩放</code> -&gt; <code>应用</code>,之后重启软件就可以了.<br><img src="/img/posts/aseprite/hanhua4.jpg"></p></li></ol><h1 id="错误"><a href="#错误" class="headerlink" title="错误"></a>错误</h1><ol><li><p>提示缺少dll文件<br><img src="/img/posts/aseprite/cuowu.png"><br>下载<a href="https://adaifun.lanzout.com/iDzmw2h7uypg">Libcrypto-1_1-x64.dll</a>,将解压的文件放入<a href="C:\Windows\System32">C:\Windows\System32</a></p></li><li><p>Cmake error :generator: Ninja<br>Aseprite源码版本与Skia版本不对</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">CMake Deprecation Warning at src/observable/CMakeLists.txt:4 (cmake_minimum_required):</span></span><br><span class="line">  <span class="string">Compatibility</span> <span class="string">with</span> <span class="string">CMake</span> <span class="string">&lt;</span> <span class="number">3.10</span> <span class="string">will</span> <span class="string">be</span> <span class="string">removed</span> <span class="string">from</span> <span class="string">a</span> <span class="string">future</span> <span class="string">version</span> <span class="string">of</span></span><br><span class="line">  <span class="string">CMake.</span></span><br><span class="line"></span><br><span class="line">  <span class="string">Update</span> <span class="string">the</span> <span class="string">VERSION</span> <span class="string">argument</span> <span class="string">&lt;min&gt;</span> <span class="string">value.</span>  <span class="string">Or,</span> <span class="string">use</span> <span class="string">the</span> <span class="string">&lt;min&gt;...&lt;max&gt;</span> <span class="string">syntax</span></span><br><span class="line">  <span class="string">to</span> <span class="string">tell</span> <span class="string">CMake</span> <span class="string">that</span> <span class="string">the</span> <span class="string">project</span> <span class="string">requires</span> <span class="string">at</span> <span class="string">least</span> <span class="string">&lt;min&gt;</span> <span class="string">but</span> <span class="string">has</span> <span class="string">been</span> <span class="string">updated</span></span><br><span class="line">  <span class="string">to</span> <span class="string">work</span> <span class="string">with</span> <span class="string">policies</span> <span class="string">introduced</span> <span class="string">by</span> <span class="string">&lt;max&gt;</span> <span class="string">or</span> <span class="string">earlier.</span></span><br><span class="line"></span><br><span class="line"></span><br><span class="line"><span class="attr">CMake Deprecation Warning at src/undo/CMakeLists.txt:4 (cmake_minimum_required):</span></span><br><span class="line">  <span class="string">Compatibility</span> <span class="string">with</span> <span class="string">CMake</span> <span class="string">&lt;</span> <span class="number">3.10</span> <span class="string">will</span> <span class="string">be</span> <span class="string">removed</span> <span class="string">from</span> <span class="string">a</span> <span class="string">future</span> <span class="string">version</span> <span class="string">of</span></span><br><span class="line">  <span class="string">CMake.</span></span><br><span class="line"></span><br><span class="line">  <span class="string">Update</span> <span class="string">the</span> <span class="string">VERSION</span> <span class="string">argument</span> <span class="string">&lt;min&gt;</span> <span class="string">value.</span>  <span class="string">Or,</span> <span class="string">use</span> <span class="string">the</span> <span class="string">&lt;min&gt;...&lt;max&gt;</span> <span class="string">syntax</span></span><br><span class="line">  <span class="string">to</span> <span class="string">tell</span> <span class="string">CMake</span> <span class="string">that</span> <span class="string">the</span> <span class="string">project</span> <span class="string">requires</span> <span class="string">at</span> <span class="string">least</span> <span class="string">&lt;min&gt;</span> <span class="string">but</span> <span class="string">has</span> <span class="string">been</span> <span class="string">updated</span></span><br><span class="line">  <span class="string">to</span> <span class="string">work</span> <span class="string">with</span> <span class="string">policies</span> <span class="string">introduced</span> <span class="string">by</span> <span class="string">&lt;max&gt;</span> <span class="string">or</span> <span class="string">earlier.</span></span><br></pre></td></tr></table></figure><p>CMake版本过高</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">ninja: error:</span> <span class="string">&#x27;C:/deps/skia/out/Release-x64/skia.lib&#x27;</span><span class="string">,</span> <span class="string">needed</span> <span class="string">by</span> <span class="string">&#x27;bin/aseprite.exe&#x27;</span><span class="string">,</span> <span class="string">missing</span> <span class="string">and</span> <span class="literal">no</span> <span class="string">known</span> <span class="string">rule</span> <span class="string">to</span> <span class="string">make</span> <span class="string">it</span></span><br></pre></td></tr></table></figure><p>查看创建的文件夹名称路径是否正确</p></li></ol><h1 id="其他系统本地编译"><a href="#其他系统本地编译" class="headerlink" title="其他系统本地编译"></a>其他系统本地编译</h1><p><a href="https://github.com/aseprite/aseprite/blob/main/INSTALL.md">参考文档</a></p><h1 id="视频版"><a href="#视频版" class="headerlink" title="视频版"></a>视频版</h1><iframe class="bilibili" src="//player.bilibili.com/player.html?isOutside=true&aid=113598043064298&bvid=BV1w4i9YQEFf&cid=27186628152&p=1&autoplay=0" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"></iframe>]]></content>
    
    
    <summary type="html">Aseprite 是一款专业的动画精灵编辑器和像素艺术工具。本文提供了从零开始的详细编译指南（包括 Github Actions 自动编译和 Windows 本地编译），帮助您免费获取这款强大的软件，并附有汉化与主题更换教程。</summary>
    
    
    
    <category term="指南" scheme="https://www.adaiblog.github.io/categories/%E6%8C%87%E5%8D%97/"/>
    
    <category term="软件" scheme="https://www.adaiblog.github.io/categories/%E8%BD%AF%E4%BB%B6/"/>
    
    <category term="开源" scheme="https://www.adaiblog.github.io/categories/%E5%BC%80%E6%BA%90/"/>
    
    
    <category term="生产力工具" scheme="https://www.adaiblog.github.io/tags/%E7%94%9F%E4%BA%A7%E5%8A%9B%E5%B7%A5%E5%85%B7/"/>
    
    <category term="Windows" scheme="https://www.adaiblog.github.io/tags/Windows/"/>
    
  </entry>
  
  <entry>
    <title>Markdown语法</title>
    <link href="https://www.adaiblog.github.io/posts/markdown.html"/>
    <id>https://www.adaiblog.github.io/posts/markdown.html</id>
    <published>2024-12-03T11:15:39.000Z</published>
    <updated>2025-10-17T09:49:10.799Z</updated>
    
    <content type="html"><![CDATA[<p>详细请查看：<a href="https://markdown.com.cn/cheat-sheet.html#%E6%89%A9%E5%B1%95%E8%AF%AD%E6%B3%95">Markdown文档</a></p><h1 id="标题"><a href="#标题" class="headerlink" title="标题"></a>标题</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">样式预览</button><button type="button" class="tab " data-href="test4-2">Markdown</button><button type="button" class="tab " data-href="test4-3">HTML</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><h1 id="H1"><a href="#H1" class="headerlink" title="H1"></a>H1</h1><h2 id="H2"><a href="#H2" class="headerlink" title="H2"></a>H2</h2><h3 id="H3"><a href="#H3" class="headerlink" title="H3"></a>H3</h3></div><div class="tab-item-content" id="test4-2"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="section"># H1</span></span><br><span class="line"><span class="section">## H2</span></span><br><span class="line"><span class="section">### H3</span></span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-3"><figure class="highlight html"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="tag">&lt;<span class="name">h1</span>&gt;</span>H1<span class="tag">&lt;/<span class="name">h1</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">h2</span>&gt;</span>H2<span class="tag">&lt;/<span class="name">h2</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">h3</span>&gt;</span>H3<span class="tag">&lt;/<span class="name">h3</span>&gt;</span></span><br></pre></td></tr></table></figure></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h1 id="段落，换行"><a href="#段落，换行" class="headerlink" title="段落，换行"></a>段落，换行</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">样式预览</button><button type="button" class="tab " data-href="test4-2">Markdown</button><button type="button" class="tab " data-href="test4-3">HTML</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><ol><li>换行</li></ol><p>第一段语句<br>添加一个换行</p><ol start="2"><li>段落</li></ol><p>第一段语句</p><p>添加一个段落</p></div><div class="tab-item-content" id="test4-2"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">在语句后面按依次Enter为换行，两次为段落</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-3"><ol><li>换行<figure class="highlight html"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="tag">&lt;<span class="name">p</span>&gt;</span>第一段语句<span class="tag">&lt;/<span class="name">p</span>&gt;</span><span class="tag">&lt;<span class="name">p</span>&gt;</span>添加一个换行<span class="tag">&lt;/<span class="name">p</span>&gt;</span></span><br></pre></td></tr></table></figure></li><li>段落<figure class="highlight html"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">第一段语句<span class="tag">&lt;<span class="name">br</span>&gt;</span>添加一个段落</span><br></pre></td></tr></table></figure></li></ol></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h1 id="文字样式"><a href="#文字样式" class="headerlink" title="文字样式"></a>文字样式</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">样式预览</button><button type="button" class="tab " data-href="test4-2">Markdown</button><button type="button" class="tab " data-href="test4-3">HTML</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><p><em>斜体</em> 或 <em>斜体</em><br><strong>粗体</strong> 或 <strong>粗体</strong><br><em><strong>粗斜体</strong></em> 或 <em><strong>粗斜体</strong></em><br><del>删除线</del><br><code>代码</code></p></div><div class="tab-item-content" id="test4-2"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="emphasis">*斜体*</span> 或 <span class="emphasis">_斜体_</span></span><br><span class="line"><span class="strong">**粗体**</span> 或 <span class="strong">__粗体__</span></span><br><span class="line"><span class="strong">**<span class="emphasis">*粗斜体*</span>**</span> 或 <span class="strong">__<span class="emphasis">_粗斜体_</span>__</span></span><br><span class="line">~~删除线~~ </span><br><span class="line"><span class="code">`代码`</span></span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-3"><figure class="highlight html"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="tag">&lt;<span class="name">em</span>&gt;</span>斜体<span class="tag">&lt;/<span class="name">em</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">strong</span>&gt;</span>粗体<span class="tag">&lt;/<span class="name">strong</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">strong</span>&gt;</span><span class="tag">&lt;<span class="name">em</span>&gt;</span><span class="tag">&lt;/<span class="name">em</span>&gt;</span><span class="tag">&lt;/<span class="name">strong</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">del</span>&gt;</span>删除线<span class="tag">&lt;/<span class="name">del</span>&gt;</span>  或者  <span class="tag">&lt;<span class="name">s</span>&gt;</span>删除线<span class="tag">&lt;/<span class="name">s</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">code</span>&gt;</span>代码<span class="tag">&lt;/<span class="name">code</span>&gt;</span></span><br></pre></td></tr></table></figure></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h1 id="复选框"><a href="#复选框" class="headerlink" title="复选框"></a>复选框</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">样式预览</button><button type="button" class="tab " data-href="test4-2">Markdown</button><button type="button" class="tab " data-href="test4-3">HTML</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><ul><li><input checked="" disabled="" type="checkbox"> 勾选</li><li><input disabled="" type="checkbox"> 未勾选</li></ul></div><div class="tab-item-content" id="test4-2"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="bullet">-</span> [x] 勾选</span><br><span class="line"><span class="bullet">-</span> [ ] 未勾选</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-3"><figure class="highlight html"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><span class="line"><span class="tag">&lt;<span class="name">ul</span> <span class="attr">class</span>=<span class="string">&quot;task-list&quot;</span>&gt;</span></span><br><span class="line">  <span class="comment">&lt;!-- 已勾选 --&gt;</span></span><br><span class="line">  <span class="tag">&lt;<span class="name">li</span> <span class="attr">class</span>=<span class="string">&quot;task-list-item&quot;</span>&gt;</span></span><br><span class="line">    <span class="tag">&lt;<span class="name">input</span> <span class="attr">type</span>=<span class="string">&quot;checkbox&quot;</span> <span class="attr">class</span>=<span class="string">&quot;task-checkbox&quot;</span> <span class="attr">checked</span> <span class="attr">disabled</span>&gt;</span></span><br><span class="line">    <span class="tag">&lt;<span class="name">span</span>&gt;</span>勾选<span class="tag">&lt;/<span class="name">span</span>&gt;</span></span><br><span class="line">  <span class="tag">&lt;/<span class="name">li</span>&gt;</span></span><br><span class="line"></span><br><span class="line">  <span class="comment">&lt;!-- 未勾选 --&gt;</span></span><br><span class="line">  <span class="tag">&lt;<span class="name">li</span> <span class="attr">class</span>=<span class="string">&quot;task-list-item&quot;</span>&gt;</span></span><br><span class="line">    <span class="tag">&lt;<span class="name">input</span> <span class="attr">type</span>=<span class="string">&quot;checkbox&quot;</span> <span class="attr">class</span>=<span class="string">&quot;task-checkbox&quot;</span> <span class="attr">disabled</span>&gt;</span></span><br><span class="line">    <span class="tag">&lt;<span class="name">span</span>&gt;</span>未勾选<span class="tag">&lt;/<span class="name">span</span>&gt;</span></span><br><span class="line">  <span class="tag">&lt;/<span class="name">li</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;/<span class="name">ul</span>&gt;</span></span><br></pre></td></tr></table></figure></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h1 id="列表（List）"><a href="#列表（List）" class="headerlink" title="列表（List）"></a>列表（List）</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">样式预览</button><button type="button" class="tab " data-href="test4-2">Markdown</button><button type="button" class="tab " data-href="test4-3">HTML</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><p> 有序列表</p><ol><li>第一项<ol><li>第一小项</li></ol></li><li>第二项</li></ol><p>无序列表</p><ul><li>项目符号（推荐短横线）</li></ul><ul><li>星号也可使用</li></ul><ul><li>加号变体<ul><li>子列表（缩进两个空格）</li></ul></li></ul></div><div class="tab-item-content" id="test4-2"><p>有序列表</p><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="bullet">1.</span> 第一项</span><br><span class="line"><span class="bullet">    1.</span> 子列表</span><br><span class="line"><span class="bullet">2.</span> 第二项</span><br></pre></td></tr></table></figure><p>无序列表</p><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line"><span class="bullet">-</span> 项目符号（推荐短横线）</span><br><span class="line"><span class="bullet">*</span> 星号也可使用</span><br><span class="line"><span class="bullet">+</span> 加号变体</span><br><span class="line"><span class="bullet">  -</span> 子列表（缩进两个空格）</span><br><span class="line"><span class="bullet">-</span> [x] 已完成</span><br><span class="line"><span class="bullet">-</span> [ ] 待办事项</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-3"><p>有序列表</p><figure class="highlight html"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="tag">&lt;<span class="name">ol</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">li</span>&gt;</span>第一项<span class="tag">&lt;/<span class="name">li</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">li</span>&gt;</span>第二项</span><br><span class="line"><span class="tag">&lt;<span class="name">ol</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">li</span>&gt;</span>子列表<span class="tag">&lt;/<span class="name">li</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;/<span class="name">ol</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;/<span class="name">li</span>&gt;</span></span><br></pre></td></tr></table></figure><p>无序列表</p><figure class="highlight html"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="tag">&lt;<span class="name">ul</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">li</span>&gt;</span>第一项<span class="tag">&lt;/<span class="name">li</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">li</span>&gt;</span>第二项</span><br><span class="line"><span class="tag">&lt;<span class="name">ul</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">li</span>&gt;</span>子列表<span class="tag">&lt;/<span class="name">li</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;/<span class="name">ul</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;/<span class="name">li</span>&gt;</span></span><br></pre></td></tr></table></figure></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h1 id="代码（Code）"><a href="#代码（Code）" class="headerlink" title="代码（Code）"></a>代码（Code）</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">样式预览</button><button type="button" class="tab " data-href="test4-2">Markdown</button><button type="button" class="tab " data-href="test4-3">HTML</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><ol><li>代码<br><code>代码内容</code></li><li>代码块<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">代码内容</span><br></pre></td></tr></table></figure></li></ol></div><div class="tab-item-content" id="test4-2"><ol><li>代码 <figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="code">`代码内容`</span></span><br></pre></td></tr></table></figure></li><li>代码块<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">```</span><br><span class="line">代码内容</span><br><span class="line">```</span><br></pre></td></tr></table></figure></li></ol></div><div class="tab-item-content" id="test4-3"><figure class="highlight html"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="tag">&lt;<span class="name">code</span>&gt;</span>代码内容<span class="tag">&lt;/<span class="name">code</span>&gt;</span></span><br></pre></td></tr></table></figure></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h1 id="分隔线（Horizontal-Rule）"><a href="#分隔线（Horizontal-Rule）" class="headerlink" title="分隔线（Horizontal Rule）"></a>分隔线（Horizontal Rule）</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">样式预览</button><button type="button" class="tab " data-href="test4-2">Markdown</button><button type="button" class="tab " data-href="test4-3">HTML</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><p>HTML样式:</p><!-- 实线 --><hr style="border: 0; border-top: 2px solid #f00;"><!-- 虚线 --><hr style="border: 0; border-top: 2px dashed #00f;"><!-- 渐变效果 --><hr style="height: 4px; background: linear-gradient(90deg, #ff6b6b, #4ecdc4); border: none;"><!-- 图标分割线 --><div style="text-align: center; color: #666;">  <hr style="display: inline-block; width: 40%; vertical-align: middle;">  <span style="padding: 0 10px;">★</span>  <hr style="display: inline-block; width: 40%; vertical-align: middle;"></div>Markdown样式:<hr></div><div class="tab-item-content" id="test4-2"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">---</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-3"><!-- 实线 --><hr style="border: 0; border-top: 2px solid #f00;"><!-- 虚线 --><hr style="border: 0; border-top: 2px dashed #00f;"><!-- 渐变效果 --><hr style="height: 4px; background: linear-gradient(90deg, #ff6b6b, #4ecdc4); border: none;"><!-- 图标分割线 --><div style="text-align: center; color: #666;">  <hr style="display: inline-block; width: 40%; vertical-align: middle;">  <span style="padding: 0 10px;">★</span>  <hr style="display: inline-block; width: 40%; vertical-align: middle;"></div></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h1 id="链接（Link）"><a href="#链接（Link）" class="headerlink" title="链接（Link）"></a>链接（Link）</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">样式预览</button><button type="button" class="tab " data-href="test4-2">Markdown</button><button type="button" class="tab " data-href="test4-3">HTML</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><ol><li>链接<br><a href="https://adai.fun/posts/markdown.html#%E9%93%BE%E6%8E%A5%EF%BC%88Link%EF%BC%89">标题</a></li><li>引入式链接<br><a href="https://adaiblog.github.io/">阿呆的博客</a></li></ol></div><div class="tab-item-content" id="test4-2"><ol><li>链接<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">[<span class="string">标题</span>](<span class="link">https://adaiblog.github.io/posts/markdown.html#%E9%93%BE%E6%8E%A5%EF%BC%88Link%EF%BC%89</span>)</span><br></pre></td></tr></table></figure></li><li>引入式链接<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">[<span class="string">标题</span>][<span class="symbol">1</span>]</span><br><span class="line"></span><br><span class="line">[<span class="symbol">1</span>]: <span class="link">https://adaiblog.github.io/markdown.html#%E9%93%BE%E6%8E%A5%EF%BC%88Link%EF%BC%89</span></span><br></pre></td></tr></table></figure></li></ol></div><div class="tab-item-content" id="test4-3"><figure class="highlight html"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="tag">&lt;<span class="name">a</span> <span class="attr">href</span>=<span class="string">&quot;超链接地址&quot;</span> <span class="attr">title</span>=<span class="string">&quot;超链接title&quot;</span>&gt;</span>超链接显示名<span class="tag">&lt;/<span class="name">a</span>&gt;</span></span><br></pre></td></tr></table></figure></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h1 id="图片"><a href="#图片" class="headerlink" title="图片"></a>图片</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">样式预览</button><button type="button" class="tab " data-href="test4-2">Markdown</button><button type="button" class="tab " data-href="test4-3">HTML</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><p><img src="/img/posts/markdown.png" alt="图片"><br>设置图片大小<br><img src="/img/posts/markdown.png" width="200"></p></div><div class="tab-item-content" id="test4-2"><ol><li>图片<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">![<span class="string">标题</span>](<span class="link">图片路径</span>)</span><br></pre></td></tr></table></figure></li><li>设置图片大小<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="language-xml"><span class="tag">&lt;<span class="name">img</span> <span class="attr">src</span>=<span class="string">&quot;图片路径&quot;</span> <span class="attr">width</span>=<span class="string">&quot;200&quot;</span>&gt;</span></span></span><br></pre></td></tr></table></figure></li></ol></div><div class="tab-item-content" id="test4-3"><figure class="highlight html"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="tag">&lt;<span class="name">img</span> <span class="attr">src</span>=<span class="string">&quot;图片链接&quot;</span> <span class="attr">alt</span>=<span class="string">&quot;未正常显示文本提示内容&quot;</span> <span class="attr">title</span>=<span class="string">&quot;图片标题&quot;</span>&gt;</span></span><br></pre></td></tr></table></figure></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h1 id="表格（Table）"><a href="#表格（Table）" class="headerlink" title="表格（Table）"></a>表格（Table）</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">样式预览</button><button type="button" class="tab " data-href="test4-2">Markdown</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><table><thead><tr><th align="left">标题</th><th align="center">内容</th><th align="right">详情</th></tr></thead><tbody><tr><td align="left">标题1</td><td align="center">内容1</td><td align="right">详情1</td></tr><tr><td align="left">标题2</td><td align="center">内容2</td><td align="right">详情2</td></tr></tbody></table></div><div class="tab-item-content" id="test4-2"><p>在<mark class="hl-label default">- - -</mark> 左侧，右侧或两侧添加冒号<mark class="hl-label default">:</mark> :将列中的文本对齐到左侧，右侧或中心。</p><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">| 标题 | 内容 | 详情 |</span><br><span class="line">| :---| :---: | ---: |</span><br><span class="line">| 标题1 | 内容1 | 详情1 |</span><br><span class="line">| 标题2 | 内容2 | 详情2 |</span><br></pre></td></tr></table></figure></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h1 id="引用"><a href="#引用" class="headerlink" title="引用"></a>引用</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">样式预览</button><button type="button" class="tab " data-href="test4-2">Markdown</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><blockquote><p>一级引用</p><blockquote><p>嵌套引用</p></blockquote></blockquote></div><div class="tab-item-content" id="test4-2"><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="quote">&gt; 一级引用</span></span><br><span class="line">&gt;&gt; 嵌套引用</span><br></pre></td></tr></table></figure></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div>]]></content>
    
    
    <summary type="html">一份简洁实用的 Markdown 语法速查与示例指南。本文通过直观的预览、Markdown 源码及对应 HTML 代码的对比方式，详细展示了从标题、列表、代码块到表格、链接等所有常用元素的写法，助您快速掌握这种轻量级标记语言。</summary>
    
    
    
    <category term="知识" scheme="https://www.adaiblog.github.io/categories/%E7%9F%A5%E8%AF%86/"/>
    
    
    <category term="MarkDown" scheme="https://www.adaiblog.github.io/tags/MarkDown/"/>
    
  </entry>
  
  <entry>
    <title>HyperOS优化</title>
    <link href="https://www.adaiblog.github.io/posts/HyperOS.html"/>
    <id>https://www.adaiblog.github.io/posts/HyperOS.html</id>
    <published>2024-12-03T07:18:15.000Z</published>
    <updated>2026-02-25T15:49:48.153Z</updated>
    
    <content type="html"><![CDATA[<h1 id="关闭广告"><a href="#关闭广告" class="headerlink" title="关闭广告"></a>关闭广告</h1><h2 id="系统广告"><a href="#系统广告" class="headerlink" title="系统广告"></a>系统广告</h2><ol><li><strong>设置</strong>-&gt;<strong>头像</strong>-&gt;<strong>关于小米账号</strong>-&gt;<strong>系统广告</strong>-&gt;<strong>系统工具广告</strong>-&gt;<strong>关闭</strong></li><li><strong>设置</strong>-&gt;<strong>应用设置</strong>-&gt;<strong>右上角三个点</strong>-&gt;<strong>其他设置</strong>-&gt;<strong>应用升级提醒</strong>，<strong>资源推荐</strong>-&gt;<strong>关闭</strong></li><li><strong>设置</strong>-&gt;<strong>桌面</strong><div class='checkbox green'><input type="radio" />            <p>负一屏</p>            </div><strong>推荐卡片关闭</strong>，<strong>热门活动关闭</strong> -&gt;<strong>隐私设置</strong>-&gt;<strong>推荐卡片关闭</strong>，<strong>热门活动关闭</strong> -&gt;<strong>隐私设置</strong> -&gt;<strong>个性化推荐关闭</strong><div class='checkbox yellow'><input type="radio" />            <p>桌面上滑</p>            </div><strong>无</strong><div class='checkbox red'><input type="radio" />            <p>桌面下滑</p>            </div><strong>通知和控制中心</strong><div class='checkbox blue'><input type="radio" />            <p>如果使用搜索功能</p>            </div> <strong>下滑或上滑进入搜索</strong>-&gt;<strong>右上角三个点</strong>-&gt;<strong>设置</strong>-&gt;<strong>首页展示模块</strong>-&gt;<strong>搜索提示词关闭</strong>-&gt;<strong>热搜榜单</strong>-&gt;<strong>全部点击 — 取消选择</strong></li><li><strong>下载一个apk点击进入安装页面</strong>-&gt;<strong>右上齿轮</strong>-&gt;<strong>资源推荐关闭</strong>，<strong>应用安全验证关闭</strong>，<strong>安全守护跟据需求开启&#x2F;关闭</strong></li></ol><h2 id="应用广告"><a href="#应用广告" class="headerlink" title="应用广告"></a>应用广告</h2><ol><li><strong>安全管家</strong>-&gt;<strong>设置</strong>-&gt;<strong>垃圾清理</strong>-&gt;<strong>推荐内容</strong>-&gt;<strong>关闭</strong></li><li><strong>设置</strong>-&gt;<strong>隐私与安全</strong>-&gt;<strong>左划安全</strong>-&gt;<strong>更多安全设置</strong>-&gt;<strong>广告服务</strong>-&gt;<strong>个性化广告推荐</strong>-&gt;<strong>关闭</strong></li><li><strong>短信</strong>-&gt;<strong>右上角齿轮</strong>-&gt;<strong>高级设置</strong>-&gt;<strong>允许WAP推送</strong>-&gt;<strong>关闭</strong></li><li><strong>应用商店</strong>-&gt;<strong>我的</strong>-&gt;<strong>设置</strong><div class='checkbox yellow'><input type="radio" />            <p>隐私设置</p>            </div><strong>个性化服务</strong>-&gt;<strong>关闭</strong> <div class='checkbox blue'><input type="radio" />            <p>功能设置</p>            </div> <strong>显示福利活动关闭</strong>，<strong>显示游戏抽奖关闭</strong></li><li><strong>浏览器</strong>-&gt;<strong>我的</strong>-&gt;<strong>右上角设置</strong>-&gt;<strong>主页设置</strong>-&gt;<strong>简洁版</strong>-&gt;<strong>宫格位推送关闭</strong></li><li><strong>主题商店</strong>-&gt;<strong>我的</strong>-&gt;<strong>设置</strong>-&gt;<strong>隐私设置</strong>-&gt;<strong>个性化推荐</strong>-&gt;<strong>关闭</strong></li><li><strong>下载管理</strong>-&gt;<strong>右上角三个点</strong>-&gt;<strong>设置</strong>-&gt;<strong>信息流设置</strong>-&gt;<strong>资源推荐关闭</strong>，<strong>热榜推荐关闭</strong></li><li><strong>天气</strong>-&gt;<strong>右上角三个点</strong>-&gt;<strong>设置</strong>-&gt;<strong>用户体验计划</strong>-&gt;<strong>内容推广</strong>-&gt;<strong>关闭</strong></li><li><strong>日历</strong>-&gt;<strong>右上角三个点</strong>-&gt;<strong>设置</strong>-&gt;<strong>用户体验计划</strong>-&gt;<strong>内容推广</strong>-&gt;<strong>关闭</strong></li><li><strong>钱包</strong>-&gt;<strong>我的</strong>-&gt;<strong>右上角齿轮</strong><div class='checkbox yellow'><input type="radio" />            <p>功能设置</p>            </div><strong>全部关掉</strong><div class='checkbox blue'><input type="radio" />            <p>隐私设置</p>            </div> <strong>个性化服务</strong>-&gt;<strong>关掉</strong></li><li><strong>小米社区</strong>-&gt;<strong>我的</strong>-&gt;<strong>设置</strong>-&gt;<strong>隐私管理</strong>-&gt;<strong>详情页相似推荐</strong>，<strong>首页内容个性化推荐</strong>，<strong>个性化广告</strong>-&gt;<strong>关闭</strong></li></ol><h1 id="开启开发者模式"><a href="#开启开发者模式" class="headerlink" title="开启开发者模式"></a>开启开发者模式</h1><p><strong>设置</strong>-&gt;<strong>我的设备</strong>-&gt;<strong>全部参数与信息</strong>-&gt;<strong>连续快速点击 OS版本</strong>-&gt;<strong>提示开发者模式开启</strong></p><h1 id="系统优化"><a href="#系统优化" class="headerlink" title="系统优化"></a>系统优化</h1><h2 id="关闭内存扩展"><a href="#关闭内存扩展" class="headerlink" title="关闭内存扩展"></a>关闭内存扩展</h2><p><strong>设置</strong>-&gt;<strong>更多设置</strong>-&gt;<strong>内存扩展</strong>-&gt;<strong>关闭</strong></p><h2 id="关闭安装应用风险提示"><a href="#关闭安装应用风险提示" class="headerlink" title="关闭安装应用风险提示"></a>关闭安装应用风险提示</h2><p><strong>设置</strong>-&gt;<strong>更多设置</strong>-&gt;<strong>开发者选项</strong>-&gt;<strong>高风险功能开启提醒</strong>-&gt;<strong>关闭</strong></p><h2 id="使用软件包安装程序"><a href="#使用软件包安装程序" class="headerlink" title="使用软件包安装程序"></a>使用软件包安装程序</h2><p>澎湃OS系统卸载隐藏了安卓自带的安装程序，可以通过App Manger找到<strong>软件包安装程序：com.android.packageinstaller</strong>点击<strong>保存APK</strong>，在文件管理中找到apk并安装，后续在安装新的应用默认使用安卓默认安装组件。<br>也可以直接下载我提取好的apk打开<a class="btn-anzhiyu outline blue" href="https://adaifun.lanzout.com/invFl2h3nied"   title="软件包安装程序"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>软件包安装程序</span></a>，密码：adai</p><div class="note success simple"><p>重启之后会被再次隐藏，需要重新安装</p></div><h1 id="卸载不卡米"><a href="#卸载不卡米" class="headerlink" title="卸载不卡米"></a>卸载不卡米</h1><h2 id="普通卸载"><a href="#普通卸载" class="headerlink" title="普通卸载"></a>普通卸载</h2><p><strong>设置</strong>-&gt;<strong>应用设置</strong>-&gt;<strong>点击应用</strong>-&gt;<strong>卸载</strong><br>小米画报 ， 内容中心 ， 小米视频 ， 小米有品 ， 小米换机等，大家用不到的app都可以通过这种方法进行卸载，并且没有任何卡米问题</p><h2 id="通过应用ADB卸载"><a href="#通过应用ADB卸载" class="headerlink" title="通过应用ADB卸载"></a>通过应用ADB卸载</h2><p>进入<strong>设置</strong>-&gt;<strong>更多设置</strong>-&gt;<strong>开发者选项</strong>-&gt;<strong>开发者选项</strong>-&gt;<strong>打开USB调试</strong>，<strong>打开USB调试（安全设置）</strong><br>下载安装<a class="btn" href="https://github.com/samolego/Canta/releases" title="">Canta</a>需要配合<a href="https://shizuku.rikka.app/zh-hans/">Shizuku</a>使用。<br>测试系统:<strong>HyperOS1.0.20.0.UNKVNXM</strong>(请谨慎参考)</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br></pre></td><td class="code"><pre><span class="line">浏览器：com.android.browser</span><br><span class="line">常用语: com.miui.phrase</span><br><span class="line">传送门：com.miui.contentextension</span><br><span class="line">弹幕通知：com.xiaomi.barrage</span><br><span class="line">短信：com.android.mms</span><br><span class="line">互联互通服务：com.milink.service（涉及投屏功能）</span><br><span class="line">急救信息：com.android.emergency</span><br><span class="line">家人守护：com.miui.greenguard</span><br><span class="line">跨屏协同服务: com.xiaomi.mirror (设计投屏功能)</span><br><span class="line">快应用服务框架: com.miui.hybrid</span><br><span class="line">媒体查看器：com.miui.mediaviewer</span><br><span class="line">米币支付：com.xiaomi.payment(小米pay充值交通卡需要这个组件)</span><br><span class="line">生活黄页：com.miui.yellowpage</span><br><span class="line">售后支持: com.xiaomi.ab</span><br><span class="line">搜狗输入法小米版：com.sohu.inputmethod.sogou.xiaomi</span><br><span class="line">搜索：com.android.quicksearchbox</span><br><span class="line">文件管理：com.android.fileexplorer</span><br><span class="line">息屏与锁屏编辑：com.miui.aod，卸载耗电变快</span><br><span class="line">系统安全组件：com.miui.guardprovider</span><br><span class="line">系统服务组件：com.miui.securityadd (删除之后超级省电按钮会消失)</span><br><span class="line">系统跟踪：com.android.traceur</span><br><span class="line">系统质量服务：com.miui.daemon</span><br><span class="line">系统质量监测：com.miui.misightservice</span><br><span class="line">小爱翻译：com.xiaomi.aiasst.vision</span><br><span class="line">小爱建议：com.xiaomi.aireco</span><br><span class="line">小爱离线引擎：com.xiaoai.xaee</span><br><span class="line">小爱通话：com.xiaomi.aiasst.service</span><br><span class="line">小爱同学：com.miui.voiceassist</span><br><span class="line">小米安全键盘：com.miui.securityinputmethod</span><br><span class="line">小米互传：com.miui.mishare.connectivity</span><br><span class="line">小米互联通信服务：com.xiaomi.mi_connect_service</span><br><span class="line">小米汽车互联服务：com.xiaomi.mis</span><br><span class="line">小米数字钥匙框架：com.xiaomi.digitalket</span><br><span class="line">小米无障碍：com.miui.accessibility</span><br><span class="line">小米云备份：com.miui.cloudbackup</span><br><span class="line">小米云服务：com.miui.cloudservice</span><br><span class="line">小米智能卡：com.miui.tsmclient(卡包功能)</span><br><span class="line">小米智能卡页面组件：com.miui.nextpay(卡包银联页面)</span><br><span class="line">悬浮球：com.miui.touchassistant</span><br><span class="line">应用程序扩展服务：com.miui.contentcatcher</span><br><span class="line">用户反馈：com.miui.bugreport</span><br><span class="line">游戏服务：com.xiaomi.gamecenter.sdk.service</span><br><span class="line">游戏高能时刻：com.xiaomi.migameservice</span><br><span class="line">语音唤醒：com.miui.voicetrigger</span><br><span class="line">智能服务：com.miui.systemAdSolution</span><br><span class="line">智能助理(负一屏)：com.miui.personalassistant卸载耗电变快</span><br><span class="line">自动连招：com.xiaomi.macro</span><br><span class="line">系统更新：com.android.updater</span><br><span class="line">Analytics：com.miui.analytics</span><br><span class="line">Bokeh: com.miui.extraphoto</span><br><span class="line">CarWith: com.miui.carlink</span><br><span class="line">Android系统：com.android.adservices.api</span><br><span class="line">CatchLog：com.bsp.catchlog</span><br><span class="line">语音助理:com.miui.voiceassistoverlay</span><br><span class="line">米云：com.xiaomi.micloud.sdk</span><br><span class="line">Joyose：com.xiaomi.joyose</span><br><span class="line">MConnService：com.miui.vsimcore</span><br><span class="line">MiAI引擎：com.xiaomi.aicr</span><br><span class="line">MiCloudSync：com.miui.micloudsync</span><br><span class="line">MipayService： org.mipay.android.manager</span><br><span class="line">System SDK：com.miui.core</span><br></pre></td></tr></table></figure><div class="note success simple"><p>测试不卡米版本：澎湃OS：1.0.19，请大家谨慎卸载</p></div>]]></content>
    
    
    <summary type="html">一篇详尽的澎湃OS（HyperOS）系统优化与广告关闭指南。从系统到应用，一步步教你关闭所有烦人的广告推送，并通过安全卸载冗余系统组件来释放内存、提升续航，让你的小米手机变得更清爽、更流畅。</summary>
    
    
    
    <category term="系统" scheme="https://www.adaiblog.github.io/categories/%E7%B3%BB%E7%BB%9F/"/>
    
    
    <category term="HyperOS" scheme="https://www.adaiblog.github.io/tags/HyperOS/"/>
    
  </entry>
  
  <entry>
    <title>安知鱼主题美化和功能添加</title>
    <link href="https://www.adaiblog.github.io/posts/anzhiyu.html"/>
    <id>https://www.adaiblog.github.io/posts/anzhiyu.html</id>
    <published>2024-11-30T10:51:41.000Z</published>
    <updated>2026-02-25T15:49:47.737Z</updated>
    
    <content type="html"><![CDATA[<h1 id="增加摘要功能"><a href="#增加摘要功能" class="headerlink" title="增加摘要功能"></a>增加摘要功能</h1><p><img src="/img/posts/anzhiyu/zhaiyao.png"><br>打开<strong>themes\anzhiyu\source\css\page\homepage.styl</strong>找到<br><img src="/img/posts/anzhiyu/zhaiyaocode.png"></p><p hidden> #content-inner #recent-posts > .recent-post-item > .recent-post-info > .content  transition: all 0.3s ease 0s;  display: -webkit-box;  overflow: hidden;  -webkit-box-orient: vertical;  -webkit-line-clamp: 2;  line-height: 1.4;  color: var(--anzhiyu-secondtext);  margin-top: 0.5rem;  font-size: 14px;  opacity 0  height 0</p>改为以下内容<figure class="highlight styl"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><span class="line"><span class="selector-id">#content-inner</span> <span class="selector-id">#recent-posts</span> &gt; <span class="selector-class">.recent-post-item</span> &gt; <span class="selector-class">.recent-post-info</span> &gt; <span class="selector-class">.content</span></span><br><span class="line">  <span class="attribute">display</span>: -webkit-box;</span><br><span class="line">  <span class="attribute">overflow</span>: hidden;</span><br><span class="line">  -webkit-box-orient: vertical;</span><br><span class="line">  -webkit-line-clamp: <span class="number">2</span>;</span><br><span class="line">  <span class="attribute">line-height</span>: <span class="number">1.4</span>;</span><br><span class="line">  <span class="attribute">color</span>: <span class="built_in">var</span>(--anzhiyu-secondtext);</span><br><span class="line">  <span class="attribute">margin-top</span>: <span class="number">0.3rem</span>;</span><br><span class="line">  <span class="attribute">font-size</span>: <span class="number">14px</span>;</span><br><span class="line">  <span class="attribute">opacity</span> <span class="number">1</span>;</span><br><span class="line">  <span class="attribute">height</span> <span class="number">35px</span>;</span><br><span class="line">  <span class="attribute">padding</span>:  <span class="number">0px</span> <span class="number">32px</span>;</span><br></pre></td></tr></table></figure><h1 id="首页上方右侧改为轮播图"><a href="#首页上方右侧改为轮播图" class="headerlink" title="首页上方右侧改为轮播图"></a>首页上方右侧改为轮播图</h1><p><img src="/img/posts/anzhiyu/swiper.png"><br>打开主题 <code>_config.yml</code>将<code>swiper:enable</code>修改为<code>true</code></p><h1 id="移除随便逛逛"><a href="#移除随便逛逛" class="headerlink" title="移除随便逛逛"></a>移除随便逛逛</h1><h2 id="移除上方左侧随便逛逛按钮"><a href="#移除上方左侧随便逛逛按钮" class="headerlink" title="移除上方左侧随便逛逛按钮"></a>移除上方左侧随便逛逛按钮</h2><p><img src="/img/posts/anzhiyu/suibiangguangguang.png"><br>打开<strong>themes\anzhiyu\layout\includes\top\top.pug</strong>，找到<code>if home_top_config.enable</code>，删除以下代码<br><img src="/img/posts/anzhiyu/guangguangcode.png"></p><p hidden>          a#random-hover(href='javascript:toRandomPost()')            i.anzhiyufont.anzhiyu-icon-paper-plane            .bannerText 随便逛逛              i.anzhiyufont.anzhiyu-icon-arrow-right</p><h2 id="移除右上角随便逛逛按钮"><a href="#移除右上角随便逛逛按钮" class="headerlink" title="移除右上角随便逛逛按钮"></a>移除右上角随便逛逛按钮</h2><p>打开<strong>themes\anzhiyu\layout\includes\header\nav.pug</strong>找到<code>#nav-right</code>，删除以下代码<br><img src="/img/posts/anzhiyu/suibianguangguangcode.png"></p><p hidden>      if theme.nav.travelling        .nav-button.only-home#travellings_button(title='随机前往一个开往项目网站')          a.site-page(onclick='anzhiyu.totraveling()', title='随机前往一个开往项目网站', href='javascript:void(0);', rel='external nofollow', data-pjax-state='external')            i.anzhiyufont.anzhiyu-icon-train      .nav-button#randomPost_button        a.site-page(onclick='toRandomPost()', title='随机前往一个文章', href='javascript:void(0);')          i.anzhiyufont.anzhiyu-icon-dice</p><h1 id="添加日历卡片"><a href="#添加日历卡片" class="headerlink" title="添加日历卡片"></a>添加日历卡片</h1><p><img src="/img/posts/anzhiyu/rili.png"><br>在根目录<strong>source\custom\css</strong>中创建<code>schedule.css</code></p><figure class="highlight css"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br><span class="line">113</span><br><span class="line">114</span><br><span class="line">115</span><br><span class="line">116</span><br><span class="line">117</span><br><span class="line">118</span><br><span class="line">119</span><br><span class="line">120</span><br><span class="line">121</span><br><span class="line">122</span><br><span class="line">123</span><br><span class="line">124</span><br><span class="line">125</span><br><span class="line">126</span><br><span class="line">127</span><br><span class="line">128</span><br><span class="line">129</span><br><span class="line">130</span><br><span class="line">131</span><br><span class="line">132</span><br><span class="line">133</span><br><span class="line">134</span><br><span class="line">135</span><br><span class="line">136</span><br><span class="line">137</span><br><span class="line">138</span><br><span class="line">139</span><br><span class="line">140</span><br><span class="line">141</span><br><span class="line">142</span><br><span class="line">143</span><br><span class="line">144</span><br><span class="line">145</span><br><span class="line">146</span><br><span class="line">147</span><br><span class="line">148</span><br><span class="line">149</span><br><span class="line">150</span><br><span class="line">151</span><br><span class="line">152</span><br><span class="line">153</span><br><span class="line">154</span><br><span class="line">155</span><br><span class="line">156</span><br><span class="line">157</span><br><span class="line">158</span><br><span class="line">159</span><br><span class="line">160</span><br><span class="line">161</span><br><span class="line">162</span><br><span class="line">163</span><br><span class="line">164</span><br><span class="line">165</span><br><span class="line">166</span><br><span class="line">167</span><br><span class="line">168</span><br><span class="line">169</span><br><span class="line">170</span><br><span class="line">171</span><br><span class="line">172</span><br><span class="line">173</span><br><span class="line">174</span><br><span class="line">175</span><br><span class="line">176</span><br><span class="line">177</span><br><span class="line">178</span><br><span class="line">179</span><br><span class="line">180</span><br><span class="line">181</span><br><span class="line">182</span><br><span class="line">183</span><br><span class="line">184</span><br><span class="line">185</span><br><span class="line">186</span><br><span class="line">187</span><br><span class="line">188</span><br><span class="line">189</span><br><span class="line">190</span><br><span class="line">191</span><br><span class="line">192</span><br><span class="line">193</span><br><span class="line">194</span><br><span class="line">195</span><br><span class="line">196</span><br><span class="line">197</span><br><span class="line">198</span><br><span class="line">199</span><br><span class="line">200</span><br><span class="line">201</span><br><span class="line">202</span><br><span class="line">203</span><br><span class="line">204</span><br><span class="line">205</span><br><span class="line">206</span><br><span class="line">207</span><br><span class="line">208</span><br><span class="line">209</span><br><span class="line">210</span><br><span class="line">211</span><br><span class="line">212</span><br></pre></td><td class="code"><pre><span class="line"><span class="selector-class">.card-widget</span> &#123;</span><br><span class="line">    <span class="attribute">padding</span>: <span class="number">0px</span><span class="meta">!important</span>;     <span class="comment">/* 原文padding: 10px!important;这样会导致微信卡css发生错误 */</span></span><br><span class="line">    <span class="attribute">max-height</span>: <span class="built_in">calc</span>(<span class="number">100vh</span> - <span class="number">100px</span>);</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.card-times</span> <span class="selector-tag">a</span>, <span class="selector-class">.card-times</span> <span class="selector-tag">div</span> &#123;</span><br><span class="line">    <span class="attribute">color</span>: <span class="built_in">var</span>(--efu-fontcolor);</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-id">#card-widget-calendar</span> <span class="selector-class">.item-content</span> &#123;</span><br><span class="line">    <span class="attribute">display</span>: flex;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-id">#calendar-area-left</span> &#123;</span><br><span class="line">    <span class="attribute">width</span>: <span class="number">45%</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-id">#calendar-area-right</span> &#123;</span><br><span class="line">    <span class="attribute">width</span>: <span class="number">55%</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-id">#calendar-area-left</span>, <span class="selector-id">#calendar-area-right</span> &#123;</span><br><span class="line">    <span class="attribute">height</span>: <span class="number">100%</span>;</span><br><span class="line">    <span class="attribute">padding</span>: <span class="number">4px</span>;</span><br><span class="line">    <span class="attribute">display</span>: flex;</span><br><span class="line">    <span class="attribute">flex-direction</span>: column;</span><br><span class="line">    <span class="attribute">align-items</span>: center;</span><br><span class="line">    <span class="attribute">justify-content</span>: center;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-id">#calendar-main</span> &#123;</span><br><span class="line">    <span class="attribute">width</span>: <span class="number">100%</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-id">#calendar-week</span> &#123;</span><br><span class="line">    <span class="attribute">height</span>: <span class="number">1.2rem</span>;</span><br><span class="line">    <span class="attribute">font-size</span>: <span class="number">14px</span>;</span><br><span class="line">    <span class="attribute">letter-spacing</span>: <span class="number">1px</span>;</span><br><span class="line">    <span class="attribute">font-weight</span>: <span class="number">700</span>;</span><br><span class="line">    <span class="attribute">align-items</span>: center;</span><br><span class="line">    <span class="attribute">display</span>: flex;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-id">#calendar-date</span> &#123;</span><br><span class="line">    <span class="attribute">height</span>: <span class="number">3rem</span>;</span><br><span class="line">    <span class="attribute">line-height</span>: <span class="number">1.3</span>;</span><br><span class="line">    <span class="attribute">font-size</span>: <span class="number">64px</span>;</span><br><span class="line">    <span class="attribute">letter-spacing</span>: <span class="number">3px</span>;</span><br><span class="line">    <span class="attribute">color</span>: <span class="built_in">var</span>(--anzhiyu-main);</span><br><span class="line">    <span class="attribute">font-weight</span>: <span class="number">700</span>;</span><br><span class="line">    <span class="attribute">align-items</span>: center;</span><br><span class="line">    <span class="attribute">display</span>: flex;</span><br><span class="line">    <span class="attribute">position</span>: absolute;</span><br><span class="line">    <span class="attribute">top</span>: <span class="built_in">calc</span>(<span class="number">50%</span> - <span class="number">2.1rem</span>);</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-id">#calendar-lunar</span>, <span class="selector-id">#calendar-solar</span> &#123;</span><br><span class="line">    <span class="attribute">height</span>: <span class="number">1rem</span>;</span><br><span class="line">    <span class="attribute">font-size</span>: <span class="number">12px</span>;</span><br><span class="line">    <span class="attribute">align-items</span>: center;</span><br><span class="line">    <span class="attribute">display</span>: flex;</span><br><span class="line">    <span class="attribute">position</span>: absolute;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-id">#calendar-solar</span> &#123;</span><br><span class="line">    <span class="attribute">bottom</span>: <span class="number">1.5rem</span>;  <span class="comment">/* 原文bottom: 2.1rem;这样会导致微信卡css发生错误 */</span></span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-id">#calendar-lunar</span> &#123;</span><br><span class="line">    <span class="attribute">bottom</span>: <span class="number">0.5rem</span>;   <span class="comment">/* 原文bottom: 1rem;这样会导致微信卡css发生错误 */</span></span><br><span class="line">    <span class="attribute">color</span>: <span class="built_in">var</span>(--efu-secondtext);</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-id">#calendar-main</span> <span class="selector-tag">a</span> &#123;</span><br><span class="line">    <span class="attribute">height</span>: <span class="number">1rem</span>;</span><br><span class="line">    <span class="attribute">width</span>: <span class="number">1rem</span>;</span><br><span class="line">    <span class="attribute">border-radius</span>: <span class="number">50%</span>;</span><br><span class="line">    <span class="attribute">font-size</span>: <span class="number">12px</span>;</span><br><span class="line">    <span class="attribute">line-height</span>: <span class="number">12px</span>;</span><br><span class="line">    <span class="attribute">display</span>: flex;</span><br><span class="line">    <span class="attribute">justify-content</span>: center;</span><br><span class="line">    <span class="attribute">align-items</span>: center;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-id">#calendar-main</span> <span class="selector-tag">a</span><span class="selector-class">.now</span> &#123;</span><br><span class="line">    <span class="attribute">background</span>: <span class="built_in">var</span>(--anzhiyu-main);</span><br><span class="line">    <span class="attribute">color</span>: <span class="built_in">var</span>(--efu-card-bg);</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-id">#calendar-main</span> <span class="selector-class">.calendar-rh</span> <span class="selector-tag">a</span> &#123;</span><br><span class="line">    <span class="attribute">color</span>: <span class="built_in">var</span>(--efu-secondtext);</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.calendar-r0</span>, <span class="selector-class">.calendar-r1</span>, <span class="selector-class">.calendar-r2</span>, <span class="selector-class">.calendar-r3</span>, <span class="selector-class">.calendar-r4</span>, <span class="selector-class">.calendar-r5</span>, <span class="selector-class">.calendar-rh</span> &#123;</span><br><span class="line">    <span class="attribute">height</span>: <span class="number">1.2rem</span>;</span><br><span class="line">    <span class="attribute">display</span>: flex;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.calendar-d0</span>, <span class="selector-class">.calendar-d1</span>, <span class="selector-class">.calendar-d2</span>, <span class="selector-class">.calendar-d3</span>, <span class="selector-class">.calendar-d4</span>, <span class="selector-class">.calendar-d5</span>, <span class="selector-class">.calendar-d6</span> &#123;</span><br><span class="line">    <span class="attribute">width</span>: <span class="built_in">calc</span>(<span class="number">100%</span> / <span class="number">7</span>);</span><br><span class="line">    <span class="attribute">display</span>: flex;</span><br><span class="line">    <span class="attribute">justify-content</span>: center;</span><br><span class="line">    <span class="attribute">align-items</span>: center;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-id">#card-widget-schedule</span> <span class="selector-class">.item-content</span> &#123;</span><br><span class="line">    <span class="attribute">display</span>: flex;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-id">#schedule-area-left</span>, <span class="selector-id">#schedule-area-right</span> &#123;</span><br><span class="line">    <span class="attribute">height</span>: <span class="number">100px</span>;</span><br><span class="line">    <span class="attribute">display</span>: flex;</span><br><span class="line">    <span class="attribute">flex-direction</span>: column;</span><br><span class="line">    <span class="attribute">justify-content</span>: center;</span><br><span class="line">    <span class="attribute">align-items</span>: center;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-id">#schedule-area-left</span> &#123;</span><br><span class="line">    <span class="attribute">width</span>: <span class="number">30%</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-id">#schedule-area-right</span> &#123;</span><br><span class="line">    <span class="attribute">width</span>: <span class="number">70%</span>;</span><br><span class="line">    <span class="attribute">padding</span>: <span class="number">0</span> <span class="number">5px</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.schedule-r0</span>, <span class="selector-class">.schedule-r1</span>, <span class="selector-class">.schedule-r2</span> &#123;</span><br><span class="line">    <span class="attribute">height</span>: <span class="number">2rem</span>;</span><br><span class="line">    <span class="attribute">width</span>: <span class="number">100%</span>;</span><br><span class="line">    <span class="attribute">align-items</span>: center;</span><br><span class="line">    <span class="attribute">display</span>: flex;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.schedule-d0</span> &#123;</span><br><span class="line">    <span class="attribute">width</span>: <span class="number">30px</span>;</span><br><span class="line">    <span class="attribute">margin-right</span>: <span class="number">5px</span>;</span><br><span class="line">    <span class="attribute">text-align</span>: center;</span><br><span class="line">    <span class="attribute">font-size</span>: <span class="number">12px</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.schedule-d1</span> &#123;</span><br><span class="line">    <span class="attribute">width</span>: <span class="built_in">calc</span>(<span class="number">100%</span> - <span class="number">35px</span>);</span><br><span class="line">    <span class="attribute">height</span>: <span class="number">1.5rem</span>;</span><br><span class="line">    <span class="attribute">align-items</span>: center;</span><br><span class="line">    <span class="attribute">display</span>: flex;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line">progress::-webkit-progress-bar &#123;</span><br><span class="line">    <span class="attribute">background</span>: <span class="built_in">linear-gradient</span>(to right, <span class="built_in">var</span>(--anzhiyu-main-op-deep), <span class="built_in">var</span>(--anzhiyu-main-op), <span class="built_in">var</span>(--anzhiyu-main-op-light));</span><br><span class="line">    <span class="attribute">border-radius</span>: <span class="number">5px</span>;</span><br><span class="line">    <span class="attribute">overflow</span>: hidden;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line">progress::-webkit-progress-value &#123;</span><br><span class="line">    <span class="attribute">background</span>: <span class="built_in">var</span>(--anzhiyu-main);</span><br><span class="line">    <span class="attribute">border-radius</span>: <span class="number">5px</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.aside-span1</span>, <span class="selector-class">.aside-span2</span> &#123;</span><br><span class="line">    <span class="attribute">height</span>: <span class="number">1rem</span>;</span><br><span class="line">    <span class="attribute">font-size</span>: <span class="number">12px</span>;</span><br><span class="line">    <span class="attribute">z-index</span>: <span class="number">1</span>;</span><br><span class="line">    <span class="attribute">display</span>: flex;</span><br><span class="line">    <span class="attribute">align-items</span>: center;</span><br><span class="line">    <span class="attribute">position</span>: absolute;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.aside-span1</span> &#123;</span><br><span class="line">    <span class="attribute">margin-left</span>: <span class="number">5px</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.aside-span2</span> &#123;</span><br><span class="line">    <span class="attribute">right</span>: <span class="number">20px</span>;</span><br><span class="line">    <span class="attribute">color</span>: <span class="built_in">var</span>(--efu-secondtext);</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.aside-span2</span> <span class="selector-tag">a</span> &#123;</span><br><span class="line">    <span class="attribute">margin</span>: <span class="number">0</span> <span class="number">3px</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-id">#pBar_month</span>, <span class="selector-id">#pBar_week</span>, <span class="selector-id">#pBar_year</span> &#123;</span><br><span class="line">    <span class="attribute">width</span>: <span class="number">100%</span>;</span><br><span class="line">    <span class="attribute">border-radius</span>: <span class="number">5px</span>;</span><br><span class="line">    <span class="attribute">height</span>: <span class="number">100%</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-id">#schedule-date</span>, <span class="selector-id">#schedule-days</span>, <span class="selector-id">#schedule-title</span> &#123;</span><br><span class="line">    <span class="attribute">display</span>: flex;</span><br><span class="line">    <span class="attribute">align-items</span>: center;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-id">#schedule-title</span> &#123;</span><br><span class="line">    <span class="attribute">height</span>: <span class="number">25px</span>;</span><br><span class="line">    <span class="attribute">line-height</span>: <span class="number">1</span>;</span><br><span class="line">    <span class="attribute">font-size</span>: <span class="number">14px</span>;</span><br><span class="line">    <span class="attribute">font-weight</span>: <span class="number">700</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-id">#schedule-days</span> &#123;</span><br><span class="line">    <span class="attribute">height</span>: <span class="number">40px</span>;</span><br><span class="line">    <span class="attribute">line-height</span>: <span class="number">1</span>;</span><br><span class="line">    <span class="attribute">font-size</span>: <span class="number">30px</span>;</span><br><span class="line">    <span class="attribute">font-weight</span>: <span class="number">900</span>;</span><br><span class="line">    <span class="attribute">color</span>: <span class="built_in">var</span>(--anzhiyu-main);</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-id">#schedule-date</span> &#123;</span><br><span class="line">    <span class="attribute">height</span>: <span class="number">20px</span>;</span><br><span class="line">    <span class="attribute">line-height</span>: <span class="number">1</span>;</span><br><span class="line">    <span class="attribute">font-size</span>: <span class="number">12px</span>;</span><br><span class="line">    <span class="attribute">color</span>: <span class="built_in">var</span>(--efu-secondtext);</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p>在根目录<strong>source\custom\js</strong>中创建<code>schedule.js</code></p><figure class="highlight js"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br></pre></td><td class="code"><pre><span class="line"><span class="variable language_">document</span>.<span class="title function_">addEventListener</span>(<span class="string">&quot;DOMContentLoaded&quot;</span>, <span class="function">() =&gt;</span> &#123;</span><br><span class="line">    <span class="title function_">initializeCard</span>();</span><br><span class="line">&#125;);</span><br><span class="line"></span><br><span class="line"><span class="variable language_">document</span>.<span class="title function_">addEventListener</span>(<span class="string">&quot;pjax:complete&quot;</span>, <span class="function">() =&gt;</span> &#123;</span><br><span class="line">    <span class="title function_">initializeCard</span>();</span><br><span class="line">&#125;);</span><br><span class="line"></span><br><span class="line"><span class="keyword">function</span> <span class="title function_">initializeCard</span>(<span class="params"></span>) &#123;</span><br><span class="line">    <span class="title function_">cardTimes</span>();</span><br><span class="line">    <span class="title function_">cardRefreshTimes</span>();</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="keyword">let</span> year, month, week, date, dates, weekStr, monthStr, asideTime, asideDay, asideDayNum, animalYear, ganzhiYear, lunarMon, lunarDay;</span><br><span class="line"><span class="keyword">const</span> now = <span class="keyword">new</span> <span class="title class_">Date</span>();</span><br><span class="line"></span><br><span class="line"><span class="keyword">function</span> <span class="title function_">cardRefreshTimes</span>(<span class="params"></span>) &#123;</span><br><span class="line">    <span class="keyword">const</span> e = <span class="variable language_">document</span>.<span class="title function_">getElementById</span>(<span class="string">&quot;card-widget-schedule&quot;</span>);</span><br><span class="line">    <span class="keyword">if</span> (e) &#123;</span><br><span class="line">        asideDay = (now - asideTime) / <span class="number">1e3</span> / <span class="number">60</span> / <span class="number">60</span> / <span class="number">24</span>;</span><br><span class="line">        e.<span class="title function_">querySelector</span>(<span class="string">&quot;#pBar_year&quot;</span>).<span class="property">value</span> = asideDay;</span><br><span class="line">        e.<span class="title function_">querySelector</span>(<span class="string">&quot;#p_span_year&quot;</span>).<span class="property">innerHTML</span> = (asideDay / <span class="number">365</span> * <span class="number">100</span>).<span class="title function_">toFixed</span>(<span class="number">1</span>) + <span class="string">&quot;%&quot;</span>;</span><br><span class="line">        e.<span class="title function_">querySelector</span>(<span class="string">&quot;.schedule-r0 .schedule-d1 .aside-span2&quot;</span>).<span class="property">innerHTML</span> = <span class="string">`还剩&lt;a&gt; <span class="subst">$&#123;(<span class="number">365</span> - asideDay).toFixed(<span class="number">0</span>)&#125;</span> &lt;/a&gt;天`</span>;</span><br><span class="line">        e.<span class="title function_">querySelector</span>(<span class="string">&quot;#pBar_month&quot;</span>).<span class="property">value</span> = date;</span><br><span class="line">        e.<span class="title function_">querySelector</span>(<span class="string">&quot;#pBar_month&quot;</span>).<span class="property">max</span> = dates;</span><br><span class="line">        e.<span class="title function_">querySelector</span>(<span class="string">&quot;#p_span_month&quot;</span>).<span class="property">innerHTML</span> = (date / dates * <span class="number">100</span>).<span class="title function_">toFixed</span>(<span class="number">1</span>) + <span class="string">&quot;%&quot;</span>;</span><br><span class="line">        e.<span class="title function_">querySelector</span>(<span class="string">&quot;.schedule-r1 .schedule-d1 .aside-span2&quot;</span>).<span class="property">innerHTML</span> = <span class="string">`还剩&lt;a&gt; <span class="subst">$&#123;(dates - date)&#125;</span> &lt;/a&gt;天`</span>;</span><br><span class="line">        e.<span class="title function_">querySelector</span>(<span class="string">&quot;#pBar_week&quot;</span>).<span class="property">value</span> = week === <span class="number">0</span> ? <span class="number">7</span> : week;</span><br><span class="line">        e.<span class="title function_">querySelector</span>(<span class="string">&quot;#p_span_week&quot;</span>).<span class="property">innerHTML</span> = ((week === <span class="number">0</span> ? <span class="number">7</span> : week) / <span class="number">7</span> * <span class="number">100</span>).<span class="title function_">toFixed</span>(<span class="number">1</span>) + <span class="string">&quot;%&quot;</span>;</span><br><span class="line">        e.<span class="title function_">querySelector</span>(<span class="string">&quot;.schedule-r2 .schedule-d1 .aside-span2&quot;</span>).<span class="property">innerHTML</span> = <span class="string">`还剩&lt;a&gt; <span class="subst">$&#123;(<span class="number">7</span> - (week === <span class="number">0</span> ? <span class="number">7</span> : week))&#125;</span> &lt;/a&gt;天`</span>;</span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="keyword">function</span> <span class="title function_">cardTimes</span>(<span class="params"></span>) &#123;</span><br><span class="line">    year = now.<span class="title function_">getFullYear</span>();</span><br><span class="line">    month = now.<span class="title function_">getMonth</span>();</span><br><span class="line">    week = now.<span class="title function_">getDay</span>();</span><br><span class="line">    date = now.<span class="title function_">getDate</span>();</span><br><span class="line"></span><br><span class="line">    <span class="keyword">const</span> e = <span class="variable language_">document</span>.<span class="title function_">getElementById</span>(<span class="string">&quot;card-widget-calendar&quot;</span>);</span><br><span class="line">    <span class="keyword">if</span> (e) &#123;</span><br><span class="line">        <span class="keyword">const</span> isLeapYear = year % <span class="number">4</span> === <span class="number">0</span> &amp;&amp; year % <span class="number">100</span> !== <span class="number">0</span> || year % <span class="number">400</span> === <span class="number">0</span>;</span><br><span class="line">        weekStr = [<span class="string">&quot;周日&quot;</span>, <span class="string">&quot;周一&quot;</span>, <span class="string">&quot;周二&quot;</span>, <span class="string">&quot;周三&quot;</span>, <span class="string">&quot;周四&quot;</span>, <span class="string">&quot;周五&quot;</span>, <span class="string">&quot;周六&quot;</span>][week];</span><br><span class="line">        <span class="keyword">const</span> monthData = [</span><br><span class="line">            &#123; <span class="attr">month</span>: <span class="string">&quot;1月&quot;</span>, <span class="attr">days</span>: <span class="number">31</span> &#125;,</span><br><span class="line">            &#123; <span class="attr">month</span>: <span class="string">&quot;2月&quot;</span>, <span class="attr">days</span>: isLeapYear ? <span class="number">29</span> : <span class="number">28</span> &#125;,</span><br><span class="line">            &#123; <span class="attr">month</span>: <span class="string">&quot;3月&quot;</span>, <span class="attr">days</span>: <span class="number">31</span> &#125;,</span><br><span class="line">            &#123; <span class="attr">month</span>: <span class="string">&quot;4月&quot;</span>, <span class="attr">days</span>: <span class="number">30</span> &#125;,</span><br><span class="line">            &#123; <span class="attr">month</span>: <span class="string">&quot;5月&quot;</span>, <span class="attr">days</span>: <span class="number">31</span> &#125;,</span><br><span class="line">            &#123; <span class="attr">month</span>: <span class="string">&quot;6月&quot;</span>, <span class="attr">days</span>: <span class="number">30</span> &#125;,</span><br><span class="line">            &#123; <span class="attr">month</span>: <span class="string">&quot;7月&quot;</span>, <span class="attr">days</span>: <span class="number">31</span> &#125;,</span><br><span class="line">            &#123; <span class="attr">month</span>: <span class="string">&quot;8月&quot;</span>, <span class="attr">days</span>: <span class="number">31</span> &#125;,</span><br><span class="line">            &#123; <span class="attr">month</span>: <span class="string">&quot;9月&quot;</span>, <span class="attr">days</span>: <span class="number">30</span> &#125;,</span><br><span class="line">            &#123; <span class="attr">month</span>: <span class="string">&quot;10月&quot;</span>, <span class="attr">days</span>: <span class="number">31</span> &#125;,</span><br><span class="line">            &#123; <span class="attr">month</span>: <span class="string">&quot;11月&quot;</span>, <span class="attr">days</span>: <span class="number">30</span> &#125;,</span><br><span class="line">            &#123; <span class="attr">month</span>: <span class="string">&quot;12月&quot;</span>, <span class="attr">days</span>: <span class="number">31</span> &#125;</span><br><span class="line">        ];</span><br><span class="line">        monthStr = monthData[month].<span class="property">month</span>;</span><br><span class="line">        dates = monthData[month].<span class="property">days</span>;</span><br><span class="line"></span><br><span class="line">        <span class="keyword">const</span> t = (week + <span class="number">8</span> - date % <span class="number">7</span>) % <span class="number">7</span>;</span><br><span class="line">        <span class="keyword">let</span> n = <span class="string">&quot;&quot;</span>, d = <span class="literal">false</span>, s = <span class="number">7</span> - t;</span><br><span class="line">        <span class="keyword">const</span> o = (dates - s) % <span class="number">7</span> === <span class="number">0</span> ? <span class="title class_">Math</span>.<span class="title function_">floor</span>((dates - s) / <span class="number">7</span>) + <span class="number">1</span> : <span class="title class_">Math</span>.<span class="title function_">floor</span>((dates - s) / <span class="number">7</span>) + <span class="number">2</span>;</span><br><span class="line">        <span class="keyword">const</span> c = e.<span class="title function_">querySelector</span>(<span class="string">&quot;#calendar-main&quot;</span>);</span><br><span class="line">        <span class="keyword">const</span> l = e.<span class="title function_">querySelector</span>(<span class="string">&quot;#calendar-date&quot;</span>);</span><br><span class="line"></span><br><span class="line">        l.<span class="property">style</span>.<span class="property">fontSize</span> = [<span class="string">&quot;64px&quot;</span>, <span class="string">&quot;48px&quot;</span>, <span class="string">&quot;36px&quot;</span>][<span class="title class_">Math</span>.<span class="title function_">min</span>(o - <span class="number">3</span>, <span class="number">2</span>)];</span><br><span class="line"></span><br><span class="line">        <span class="keyword">for</span> (<span class="keyword">let</span> i = <span class="number">0</span>; i &lt; o; i++) &#123;</span><br><span class="line">            <span class="keyword">if</span> (!c.<span class="title function_">querySelector</span>(<span class="string">`.calendar-r<span class="subst">$&#123;i&#125;</span>`</span>)) &#123;</span><br><span class="line">                c.<span class="property">innerHTML</span> += <span class="string">`&lt;div class=&#x27;calendar-r<span class="subst">$&#123;i&#125;</span>&#x27;&gt;&lt;/div&gt;`</span>;</span><br><span class="line">            &#125;</span><br><span class="line">            <span class="keyword">for</span> (<span class="keyword">let</span> j = <span class="number">0</span>; j &lt; <span class="number">7</span>; j++) &#123;</span><br><span class="line">                <span class="keyword">if</span> (i === <span class="number">0</span> &amp;&amp; j === t) &#123;</span><br><span class="line">                    n = <span class="number">1</span>;</span><br><span class="line">                    d = <span class="literal">true</span>;</span><br><span class="line">                &#125;</span><br><span class="line">                <span class="keyword">const</span> r = n === date ? <span class="string">&quot; class=&#x27;now&#x27;&quot;</span> : <span class="string">&quot;&quot;</span>;</span><br><span class="line">                <span class="keyword">if</span> (!c.<span class="title function_">querySelector</span>(<span class="string">`.calendar-r<span class="subst">$&#123;i&#125;</span> .calendar-d<span class="subst">$&#123;j&#125;</span> a`</span>)) &#123;</span><br><span class="line">                    c.<span class="title function_">querySelector</span>(<span class="string">`.calendar-r<span class="subst">$&#123;i&#125;</span>`</span>).<span class="property">innerHTML</span> += <span class="string">`&lt;div class=&#x27;calendar-d<span class="subst">$&#123;j&#125;</span>&#x27;&gt;&lt;a<span class="subst">$&#123;r&#125;</span>&gt;<span class="subst">$&#123;n&#125;</span>&lt;/a&gt;&lt;/div&gt;`</span>;</span><br><span class="line">                &#125;</span><br><span class="line">                <span class="keyword">if</span> (n &gt;= dates) &#123;</span><br><span class="line">                    n = <span class="string">&quot;&quot;</span>;</span><br><span class="line">                    d = <span class="literal">false</span>;</span><br><span class="line">                &#125;</span><br><span class="line">                <span class="keyword">if</span> (d) &#123;</span><br><span class="line">                    n += <span class="number">1</span>;</span><br><span class="line">                &#125;</span><br><span class="line">            &#125;</span><br><span class="line">        &#125;</span><br><span class="line"></span><br><span class="line">        <span class="keyword">const</span> lunarDate = chineseLunar.<span class="title function_">solarToLunar</span>(<span class="keyword">new</span> <span class="title class_">Date</span>(year, month, date));</span><br><span class="line">        animalYear = chineseLunar.<span class="title function_">format</span>(lunarDate, <span class="string">&quot;A&quot;</span>);</span><br><span class="line">        ganzhiYear = chineseLunar.<span class="title function_">format</span>(lunarDate, <span class="string">&quot;T&quot;</span>).<span class="title function_">slice</span>(<span class="number">0</span>, -<span class="number">1</span>);</span><br><span class="line">        lunarMon = chineseLunar.<span class="title function_">format</span>(lunarDate, <span class="string">&quot;M&quot;</span>);</span><br><span class="line">        lunarDay = chineseLunar.<span class="title function_">format</span>(lunarDate, <span class="string">&quot;d&quot;</span>);</span><br><span class="line"></span><br><span class="line">        <span class="keyword">const</span> newYearDate = <span class="keyword">new</span> <span class="title class_">Date</span>(<span class="string">&quot;2025/01/28 00:00:00&quot;</span>);</span><br><span class="line">        <span class="keyword">const</span> daysUntilNewYear = <span class="title class_">Math</span>.<span class="title function_">floor</span>((newYearDate - now) / <span class="number">1e3</span> / <span class="number">60</span> / <span class="number">60</span> / <span class="number">24</span>);</span><br><span class="line">        asideTime = <span class="keyword">new</span> <span class="title class_">Date</span>(<span class="string">`<span class="subst">$&#123;<span class="keyword">new</span> <span class="built_in">Date</span>().getFullYear()&#125;</span>/01/01 00:00:00`</span>);</span><br><span class="line">        asideDay = (now - asideTime) / <span class="number">1e3</span> / <span class="number">60</span> / <span class="number">60</span> / <span class="number">24</span>;</span><br><span class="line">        asideDayNum = <span class="title class_">Math</span>.<span class="title function_">floor</span>(asideDay);</span><br><span class="line">        <span class="keyword">const</span> weekNum = week - asideDayNum % <span class="number">7</span> &gt;= <span class="number">0</span> ? <span class="title class_">Math</span>.<span class="title function_">ceil</span>(asideDayNum / <span class="number">7</span>) : <span class="title class_">Math</span>.<span class="title function_">ceil</span>(asideDayNum / <span class="number">7</span>) + <span class="number">1</span>;</span><br><span class="line"></span><br><span class="line">        e.<span class="title function_">querySelector</span>(<span class="string">&quot;#calendar-week&quot;</span>).<span class="property">innerHTML</span> = <span class="string">`第<span class="subst">$&#123;weekNum&#125;</span>周&amp;nbsp;<span class="subst">$&#123;weekStr&#125;</span>`</span>;</span><br><span class="line">        e.<span class="title function_">querySelector</span>(<span class="string">&quot;#calendar-date&quot;</span>).<span class="property">innerHTML</span> = date.<span class="title function_">toString</span>().<span class="title function_">padStart</span>(<span class="number">2</span>, <span class="string">&quot;0&quot;</span>);</span><br><span class="line">        e.<span class="title function_">querySelector</span>(<span class="string">&quot;#calendar-solar&quot;</span>).<span class="property">innerHTML</span> = <span class="string">`<span class="subst">$&#123;year&#125;</span>年<span class="subst">$&#123;monthStr&#125;</span>&amp;nbsp;第<span class="subst">$&#123;asideDay.toFixed(<span class="number">0</span>)&#125;</span>天`</span>;</span><br><span class="line">        e.<span class="title function_">querySelector</span>(<span class="string">&quot;#calendar-lunar&quot;</span>).<span class="property">innerHTML</span> = <span class="string">`<span class="subst">$&#123;ganzhiYear&#125;</span><span class="subst">$&#123;animalYear&#125;</span>年&amp;nbsp;<span class="subst">$&#123;lunarMon&#125;</span><span class="subst">$&#123;lunarDay&#125;</span>`</span>;</span><br><span class="line">        <span class="variable language_">document</span>.<span class="title function_">getElementById</span>(<span class="string">&quot;schedule-days&quot;</span>).<span class="property">innerHTML</span> = daysUntilNewYear;</span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p>在根目录<strong>source\custom\js</strong>中创建<code>chineselunar.js</code></p><figure class="highlight js"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br><span class="line">113</span><br><span class="line">114</span><br><span class="line">115</span><br><span class="line">116</span><br><span class="line">117</span><br><span class="line">118</span><br><span class="line">119</span><br><span class="line">120</span><br><span class="line">121</span><br><span class="line">122</span><br><span class="line">123</span><br><span class="line">124</span><br><span class="line">125</span><br><span class="line">126</span><br><span class="line">127</span><br><span class="line">128</span><br><span class="line">129</span><br><span class="line">130</span><br><span class="line">131</span><br><span class="line">132</span><br><span class="line">133</span><br><span class="line">134</span><br><span class="line">135</span><br><span class="line">136</span><br><span class="line">137</span><br><span class="line">138</span><br><span class="line">139</span><br><span class="line">140</span><br><span class="line">141</span><br><span class="line">142</span><br><span class="line">143</span><br><span class="line">144</span><br><span class="line">145</span><br><span class="line">146</span><br><span class="line">147</span><br><span class="line">148</span><br><span class="line">149</span><br><span class="line">150</span><br><span class="line">151</span><br><span class="line">152</span><br><span class="line">153</span><br><span class="line">154</span><br><span class="line">155</span><br><span class="line">156</span><br><span class="line">157</span><br><span class="line">158</span><br><span class="line">159</span><br><span class="line">160</span><br><span class="line">161</span><br><span class="line">162</span><br><span class="line">163</span><br><span class="line">164</span><br><span class="line">165</span><br><span class="line">166</span><br><span class="line">167</span><br><span class="line">168</span><br><span class="line">169</span><br><span class="line">170</span><br><span class="line">171</span><br><span class="line">172</span><br><span class="line">173</span><br><span class="line">174</span><br><span class="line">175</span><br><span class="line">176</span><br><span class="line">177</span><br><span class="line">178</span><br><span class="line">179</span><br><span class="line">180</span><br><span class="line">181</span><br><span class="line">182</span><br><span class="line">183</span><br><span class="line">184</span><br><span class="line">185</span><br><span class="line">186</span><br><span class="line">187</span><br><span class="line">188</span><br><span class="line">189</span><br><span class="line">190</span><br><span class="line">191</span><br><span class="line">192</span><br><span class="line">193</span><br><span class="line">194</span><br><span class="line">195</span><br><span class="line">196</span><br><span class="line">197</span><br><span class="line">198</span><br><span class="line">199</span><br><span class="line">200</span><br><span class="line">201</span><br><span class="line">202</span><br><span class="line">203</span><br><span class="line">204</span><br><span class="line">205</span><br><span class="line">206</span><br><span class="line">207</span><br><span class="line">208</span><br><span class="line">209</span><br><span class="line">210</span><br><span class="line">211</span><br><span class="line">212</span><br><span class="line">213</span><br><span class="line">214</span><br><span class="line">215</span><br><span class="line">216</span><br><span class="line">217</span><br><span class="line">218</span><br><span class="line">219</span><br><span class="line">220</span><br><span class="line">221</span><br><span class="line">222</span><br><span class="line">223</span><br><span class="line">224</span><br><span class="line">225</span><br><span class="line">226</span><br><span class="line">227</span><br><span class="line">228</span><br><span class="line">229</span><br><span class="line">230</span><br><span class="line">231</span><br><span class="line">232</span><br><span class="line">233</span><br><span class="line">234</span><br><span class="line">235</span><br><span class="line">236</span><br><span class="line">237</span><br><span class="line">238</span><br><span class="line">239</span><br><span class="line">240</span><br><span class="line">241</span><br><span class="line">242</span><br><span class="line">243</span><br><span class="line">244</span><br><span class="line">245</span><br><span class="line">246</span><br><span class="line">247</span><br><span class="line">248</span><br><span class="line">249</span><br><span class="line">250</span><br><span class="line">251</span><br><span class="line">252</span><br><span class="line">253</span><br><span class="line">254</span><br><span class="line">255</span><br><span class="line">256</span><br><span class="line">257</span><br><span class="line">258</span><br><span class="line">259</span><br><span class="line">260</span><br><span class="line">261</span><br><span class="line">262</span><br><span class="line">263</span><br><span class="line">264</span><br><span class="line">265</span><br><span class="line">266</span><br><span class="line">267</span><br><span class="line">268</span><br><span class="line">269</span><br><span class="line">270</span><br><span class="line">271</span><br><span class="line">272</span><br><span class="line">273</span><br><span class="line">274</span><br><span class="line">275</span><br><span class="line">276</span><br><span class="line">277</span><br><span class="line">278</span><br><span class="line">279</span><br><span class="line">280</span><br><span class="line">281</span><br><span class="line">282</span><br><span class="line">283</span><br><span class="line">284</span><br><span class="line">285</span><br><span class="line">286</span><br><span class="line">287</span><br><span class="line">288</span><br><span class="line">289</span><br><span class="line">290</span><br><span class="line">291</span><br><span class="line">292</span><br><span class="line">293</span><br><span class="line">294</span><br><span class="line">295</span><br><span class="line">296</span><br><span class="line">297</span><br><span class="line">298</span><br><span class="line">299</span><br><span class="line">300</span><br><span class="line">301</span><br><span class="line">302</span><br><span class="line">303</span><br><span class="line">304</span><br><span class="line">305</span><br><span class="line">306</span><br><span class="line">307</span><br><span class="line">308</span><br><span class="line">309</span><br><span class="line">310</span><br><span class="line">311</span><br><span class="line">312</span><br><span class="line">313</span><br><span class="line">314</span><br><span class="line">315</span><br><span class="line">316</span><br><span class="line">317</span><br><span class="line">318</span><br><span class="line">319</span><br><span class="line">320</span><br><span class="line">321</span><br><span class="line">322</span><br><span class="line">323</span><br><span class="line">324</span><br><span class="line">325</span><br><span class="line">326</span><br><span class="line">327</span><br><span class="line">328</span><br><span class="line">329</span><br><span class="line">330</span><br><span class="line">331</span><br><span class="line">332</span><br><span class="line">333</span><br><span class="line">334</span><br><span class="line">335</span><br><span class="line">336</span><br><span class="line">337</span><br><span class="line">338</span><br><span class="line">339</span><br><span class="line">340</span><br><span class="line">341</span><br><span class="line">342</span><br><span class="line">343</span><br><span class="line">344</span><br><span class="line">345</span><br><span class="line">346</span><br><span class="line">347</span><br><span class="line">348</span><br><span class="line">349</span><br><span class="line">350</span><br><span class="line">351</span><br><span class="line">352</span><br><span class="line">353</span><br><span class="line">354</span><br><span class="line">355</span><br><span class="line">356</span><br><span class="line">357</span><br><span class="line">358</span><br><span class="line">359</span><br><span class="line">360</span><br><span class="line">361</span><br><span class="line">362</span><br><span class="line">363</span><br><span class="line">364</span><br><span class="line">365</span><br><span class="line">366</span><br><span class="line">367</span><br><span class="line">368</span><br><span class="line">369</span><br><span class="line">370</span><br><span class="line">371</span><br><span class="line">372</span><br><span class="line">373</span><br><span class="line">374</span><br><span class="line">375</span><br><span class="line">376</span><br><span class="line">377</span><br><span class="line">378</span><br><span class="line">379</span><br><span class="line">380</span><br><span class="line">381</span><br><span class="line">382</span><br><span class="line">383</span><br><span class="line">384</span><br><span class="line">385</span><br><span class="line">386</span><br><span class="line">387</span><br><span class="line">388</span><br><span class="line">389</span><br><span class="line">390</span><br><span class="line">391</span><br><span class="line">392</span><br><span class="line">393</span><br><span class="line">394</span><br><span class="line">395</span><br><span class="line">396</span><br><span class="line">397</span><br><span class="line">398</span><br><span class="line">399</span><br><span class="line">400</span><br><span class="line">401</span><br><span class="line">402</span><br><span class="line">403</span><br><span class="line">404</span><br><span class="line">405</span><br><span class="line">406</span><br><span class="line">407</span><br><span class="line">408</span><br><span class="line">409</span><br><span class="line">410</span><br><span class="line">411</span><br><span class="line">412</span><br><span class="line">413</span><br><span class="line">414</span><br><span class="line">415</span><br><span class="line">416</span><br><span class="line">417</span><br><span class="line">418</span><br><span class="line">419</span><br><span class="line">420</span><br><span class="line">421</span><br><span class="line">422</span><br><span class="line">423</span><br><span class="line">424</span><br><span class="line">425</span><br><span class="line">426</span><br><span class="line">427</span><br><span class="line">428</span><br><span class="line">429</span><br><span class="line">430</span><br><span class="line">431</span><br><span class="line">432</span><br><span class="line">433</span><br><span class="line">434</span><br><span class="line">435</span><br><span class="line">436</span><br><span class="line">437</span><br><span class="line">438</span><br><span class="line">439</span><br><span class="line">440</span><br><span class="line">441</span><br><span class="line">442</span><br><span class="line">443</span><br><span class="line">444</span><br><span class="line">445</span><br><span class="line">446</span><br><span class="line">447</span><br><span class="line">448</span><br><span class="line">449</span><br><span class="line">450</span><br><span class="line">451</span><br><span class="line">452</span><br><span class="line">453</span><br><span class="line">454</span><br><span class="line">455</span><br><span class="line">456</span><br><span class="line">457</span><br><span class="line">458</span><br><span class="line">459</span><br><span class="line">460</span><br><span class="line">461</span><br><span class="line">462</span><br><span class="line">463</span><br><span class="line">464</span><br><span class="line">465</span><br><span class="line">466</span><br><span class="line">467</span><br><span class="line">468</span><br><span class="line">469</span><br><span class="line">470</span><br><span class="line">471</span><br><span class="line">472</span><br><span class="line">473</span><br><span class="line">474</span><br><span class="line">475</span><br><span class="line">476</span><br><span class="line">477</span><br><span class="line">478</span><br><span class="line">479</span><br><span class="line">480</span><br><span class="line">481</span><br><span class="line">482</span><br><span class="line">483</span><br><span class="line">484</span><br><span class="line">485</span><br><span class="line">486</span><br><span class="line">487</span><br><span class="line">488</span><br><span class="line">489</span><br><span class="line">490</span><br><span class="line">491</span><br><span class="line">492</span><br><span class="line">493</span><br><span class="line">494</span><br><span class="line">495</span><br><span class="line">496</span><br><span class="line">497</span><br><span class="line">498</span><br><span class="line">499</span><br><span class="line">500</span><br><span class="line">501</span><br><span class="line">502</span><br><span class="line">503</span><br><span class="line">504</span><br><span class="line">505</span><br><span class="line">506</span><br><span class="line">507</span><br><span class="line">508</span><br><span class="line">509</span><br><span class="line">510</span><br><span class="line">511</span><br><span class="line">512</span><br><span class="line">513</span><br><span class="line">514</span><br><span class="line">515</span><br><span class="line">516</span><br><span class="line">517</span><br><span class="line">518</span><br><span class="line">519</span><br><span class="line">520</span><br><span class="line">521</span><br><span class="line">522</span><br><span class="line">523</span><br><span class="line">524</span><br><span class="line">525</span><br><span class="line">526</span><br><span class="line">527</span><br><span class="line">528</span><br><span class="line">529</span><br><span class="line">530</span><br><span class="line">531</span><br><span class="line">532</span><br><span class="line">533</span><br><span class="line">534</span><br><span class="line">535</span><br><span class="line">536</span><br><span class="line">537</span><br><span class="line">538</span><br><span class="line">539</span><br><span class="line">540</span><br><span class="line">541</span><br><span class="line">542</span><br><span class="line">543</span><br><span class="line">544</span><br><span class="line">545</span><br><span class="line">546</span><br><span class="line">547</span><br><span class="line">548</span><br><span class="line">549</span><br><span class="line">550</span><br><span class="line">551</span><br><span class="line">552</span><br><span class="line">553</span><br><span class="line">554</span><br><span class="line">555</span><br><span class="line">556</span><br><span class="line">557</span><br><span class="line">558</span><br><span class="line">559</span><br><span class="line">560</span><br><span class="line">561</span><br><span class="line">562</span><br><span class="line">563</span><br><span class="line">564</span><br><span class="line">565</span><br><span class="line">566</span><br><span class="line">567</span><br><span class="line">568</span><br><span class="line">569</span><br><span class="line">570</span><br><span class="line">571</span><br><span class="line">572</span><br><span class="line">573</span><br><span class="line">574</span><br><span class="line">575</span><br><span class="line">576</span><br><span class="line">577</span><br><span class="line">578</span><br><span class="line">579</span><br><span class="line">580</span><br><span class="line">581</span><br><span class="line">582</span><br><span class="line">583</span><br><span class="line">584</span><br><span class="line">585</span><br><span class="line">586</span><br><span class="line">587</span><br><span class="line">588</span><br><span class="line">589</span><br><span class="line">590</span><br><span class="line">591</span><br><span class="line">592</span><br><span class="line">593</span><br><span class="line">594</span><br><span class="line">595</span><br><span class="line">596</span><br><span class="line">597</span><br><span class="line">598</span><br><span class="line">599</span><br><span class="line">600</span><br><span class="line">601</span><br><span class="line">602</span><br><span class="line">603</span><br><span class="line">604</span><br><span class="line">605</span><br><span class="line">606</span><br><span class="line">607</span><br><span class="line">608</span><br><span class="line">609</span><br><span class="line">610</span><br><span class="line">611</span><br><span class="line">612</span><br><span class="line">613</span><br><span class="line">614</span><br><span class="line">615</span><br><span class="line">616</span><br><span class="line">617</span><br><span class="line">618</span><br><span class="line">619</span><br><span class="line">620</span><br><span class="line">621</span><br><span class="line">622</span><br><span class="line">623</span><br><span class="line">624</span><br><span class="line">625</span><br><span class="line">626</span><br><span class="line">627</span><br><span class="line">628</span><br><span class="line">629</span><br><span class="line">630</span><br><span class="line">631</span><br><span class="line">632</span><br><span class="line">633</span><br><span class="line">634</span><br><span class="line">635</span><br><span class="line">636</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">/**</span></span><br><span class="line"><span class="comment"> * 农历与阳历的转换，目前只能支持1900至2100的转换</span></span><br><span class="line"><span class="comment"> * User: conis&lt;conis.yi<span class="doctag">@gmail</span>.com&gt;</span></span><br><span class="line"><span class="comment"> * Github: https://github.com/conis/chinese-lunar</span></span><br><span class="line"><span class="comment"> * Date: 1/29/13</span></span><br><span class="line"><span class="comment"> * Time: 9:58 上午</span></span><br><span class="line"><span class="comment"> *</span></span><br><span class="line"><span class="comment"> */</span></span><br><span class="line">(<span class="keyword">function</span>(<span class="params"></span>) &#123;</span><br><span class="line"><span class="comment">/*</span></span><br><span class="line"><span class="comment"> 农历每一年，对应公历的数据</span></span><br><span class="line"><span class="comment"> 此数据来源于互联网，原作者不详细，在此感谢</span></span><br><span class="line"><span class="comment"> MAPPING[0][0]：每年闰月的月份，0表示不闰</span></span><br><span class="line"><span class="comment"> MAPPING[0][1, 13]：表示每月初一对应的阳历时间，前两个字符表示月，后两个字符表示月</span></span><br><span class="line"><span class="comment"> */</span></span><br><span class="line"><span class="keyword">var</span> <span class="variable constant_">MAPPING</span> = [</span><br><span class="line">[<span class="number">8</span>, <span class="string">&quot;0131&quot;</span>, <span class="string">&quot;0301&quot;</span>, <span class="string">&quot;0331&quot;</span>, <span class="string">&quot;0429&quot;</span>, <span class="string">&quot;0528&quot;</span>, <span class="string">&quot;0627&quot;</span>, <span class="string">&quot;0726&quot;</span>, <span class="string">&quot;0825&quot;</span>, <span class="string">&quot;0924&quot;</span>, <span class="string">&quot;1023&quot;</span>, <span class="string">&quot;1122&quot;</span>, <span class="string">&quot;1222&quot;</span>, <span class="string">&quot;1320&quot;</span>], <span class="comment">//1900</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0219&quot;</span>, <span class="string">&quot;0320&quot;</span>, <span class="string">&quot;0419&quot;</span>, <span class="string">&quot;0518&quot;</span>, <span class="string">&quot;0616&quot;</span>, <span class="string">&quot;0716&quot;</span>, <span class="string">&quot;0814&quot;</span>, <span class="string">&quot;0913&quot;</span>, <span class="string">&quot;1012&quot;</span>, <span class="string">&quot;1111&quot;</span>, <span class="string">&quot;1211&quot;</span>, <span class="string">&quot;1310&quot;</span>], <span class="comment">//1901</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0208&quot;</span>, <span class="string">&quot;0310&quot;</span>, <span class="string">&quot;0408&quot;</span>, <span class="string">&quot;0508&quot;</span>, <span class="string">&quot;0606&quot;</span>, <span class="string">&quot;0705&quot;</span>, <span class="string">&quot;0804&quot;</span>, <span class="string">&quot;0902&quot;</span>, <span class="string">&quot;1002&quot;</span>, <span class="string">&quot;1031&quot;</span>, <span class="string">&quot;1130&quot;</span>, <span class="string">&quot;1230&quot;</span>], <span class="comment">//1902</span></span><br><span class="line">[<span class="number">5</span>, <span class="string">&quot;0129&quot;</span>, <span class="string">&quot;0227&quot;</span>, <span class="string">&quot;0329&quot;</span>, <span class="string">&quot;0427&quot;</span>, <span class="string">&quot;0527&quot;</span>, <span class="string">&quot;0625&quot;</span>, <span class="string">&quot;0724&quot;</span>, <span class="string">&quot;0823&quot;</span>, <span class="string">&quot;0921&quot;</span>, <span class="string">&quot;1020&quot;</span>, <span class="string">&quot;1119&quot;</span>, <span class="string">&quot;1219&quot;</span>, <span class="string">&quot;1317&quot;</span>], <span class="comment">//1903</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0216&quot;</span>, <span class="string">&quot;0317&quot;</span>, <span class="string">&quot;0416&quot;</span>, <span class="string">&quot;0515&quot;</span>, <span class="string">&quot;0614&quot;</span>, <span class="string">&quot;0713&quot;</span>, <span class="string">&quot;0811&quot;</span>, <span class="string">&quot;0910&quot;</span>, <span class="string">&quot;1009&quot;</span>, <span class="string">&quot;1107&quot;</span>, <span class="string">&quot;1207&quot;</span>, <span class="string">&quot;1306&quot;</span>], <span class="comment">//1904</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0204&quot;</span>, <span class="string">&quot;0306&quot;</span>, <span class="string">&quot;0405&quot;</span>, <span class="string">&quot;0504&quot;</span>, <span class="string">&quot;0603&quot;</span>, <span class="string">&quot;0703&quot;</span>, <span class="string">&quot;0801&quot;</span>, <span class="string">&quot;0830&quot;</span>, <span class="string">&quot;0929&quot;</span>, <span class="string">&quot;1028&quot;</span>, <span class="string">&quot;1127&quot;</span>, <span class="string">&quot;1226&quot;</span>], <span class="comment">//1905</span></span><br><span class="line">[<span class="number">4</span>, <span class="string">&quot;0125&quot;</span>, <span class="string">&quot;0223&quot;</span>, <span class="string">&quot;0325&quot;</span>, <span class="string">&quot;0424&quot;</span>, <span class="string">&quot;0523&quot;</span>, <span class="string">&quot;0622&quot;</span>, <span class="string">&quot;0721&quot;</span>, <span class="string">&quot;0820&quot;</span>, <span class="string">&quot;0918&quot;</span>, <span class="string">&quot;1018&quot;</span>, <span class="string">&quot;1116&quot;</span>, <span class="string">&quot;1216&quot;</span>, <span class="string">&quot;1314&quot;</span>], <span class="comment">//1906</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0213&quot;</span>, <span class="string">&quot;0314&quot;</span>, <span class="string">&quot;0413&quot;</span>, <span class="string">&quot;0512&quot;</span>, <span class="string">&quot;0611&quot;</span>, <span class="string">&quot;0710&quot;</span>, <span class="string">&quot;0809&quot;</span>, <span class="string">&quot;0908&quot;</span>, <span class="string">&quot;1007&quot;</span>, <span class="string">&quot;1106&quot;</span>, <span class="string">&quot;1205&quot;</span>, <span class="string">&quot;1304&quot;</span>], <span class="comment">//1907</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0202&quot;</span>, <span class="string">&quot;0303&quot;</span>, <span class="string">&quot;0401&quot;</span>, <span class="string">&quot;0430&quot;</span>, <span class="string">&quot;0530&quot;</span>, <span class="string">&quot;0629&quot;</span>, <span class="string">&quot;0728&quot;</span>, <span class="string">&quot;0827&quot;</span>, <span class="string">&quot;0925&quot;</span>, <span class="string">&quot;1025&quot;</span>, <span class="string">&quot;1124&quot;</span>, <span class="string">&quot;1223&quot;</span>], <span class="comment">//1908</span></span><br><span class="line">[<span class="number">2</span>, <span class="string">&quot;0122&quot;</span>, <span class="string">&quot;0220&quot;</span>, <span class="string">&quot;0322&quot;</span>, <span class="string">&quot;0420&quot;</span>, <span class="string">&quot;0519&quot;</span>, <span class="string">&quot;0618&quot;</span>, <span class="string">&quot;0717&quot;</span>, <span class="string">&quot;0816&quot;</span>, <span class="string">&quot;0914&quot;</span>, <span class="string">&quot;1014&quot;</span>, <span class="string">&quot;1113&quot;</span>, <span class="string">&quot;1213&quot;</span>, <span class="string">&quot;1311&quot;</span>], <span class="comment">//1909</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0210&quot;</span>, <span class="string">&quot;0311&quot;</span>, <span class="string">&quot;0410&quot;</span>, <span class="string">&quot;0509&quot;</span>, <span class="string">&quot;0607&quot;</span>, <span class="string">&quot;0707&quot;</span>, <span class="string">&quot;0805&quot;</span>, <span class="string">&quot;0904&quot;</span>, <span class="string">&quot;1003&quot;</span>, <span class="string">&quot;1102&quot;</span>, <span class="string">&quot;1202&quot;</span>, <span class="string">&quot;1301&quot;</span>], <span class="comment">//1910</span></span><br><span class="line">[<span class="number">6</span>, <span class="string">&quot;0130&quot;</span>, <span class="string">&quot;0301&quot;</span>, <span class="string">&quot;0330&quot;</span>, <span class="string">&quot;0429&quot;</span>, <span class="string">&quot;0528&quot;</span>, <span class="string">&quot;0626&quot;</span>, <span class="string">&quot;0726&quot;</span>, <span class="string">&quot;0824&quot;</span>, <span class="string">&quot;0922&quot;</span>, <span class="string">&quot;1022&quot;</span>, <span class="string">&quot;1121&quot;</span>, <span class="string">&quot;1220&quot;</span>, <span class="string">&quot;1319&quot;</span>], <span class="comment">//1911</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0218&quot;</span>, <span class="string">&quot;0319&quot;</span>, <span class="string">&quot;0417&quot;</span>, <span class="string">&quot;0517&quot;</span>, <span class="string">&quot;0615&quot;</span>, <span class="string">&quot;0714&quot;</span>, <span class="string">&quot;0813&quot;</span>, <span class="string">&quot;0911&quot;</span>, <span class="string">&quot;1010&quot;</span>, <span class="string">&quot;1109&quot;</span>, <span class="string">&quot;1209&quot;</span>, <span class="string">&quot;1307&quot;</span>], <span class="comment">//1912</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0206&quot;</span>, <span class="string">&quot;0308&quot;</span>, <span class="string">&quot;0407&quot;</span>, <span class="string">&quot;0506&quot;</span>, <span class="string">&quot;0605&quot;</span>, <span class="string">&quot;0704&quot;</span>, <span class="string">&quot;0802&quot;</span>, <span class="string">&quot;0901&quot;</span>, <span class="string">&quot;0930&quot;</span>, <span class="string">&quot;1029&quot;</span>, <span class="string">&quot;1128&quot;</span>, <span class="string">&quot;1227&quot;</span>], <span class="comment">//1913</span></span><br><span class="line">[<span class="number">5</span>, <span class="string">&quot;0126&quot;</span>, <span class="string">&quot;0225&quot;</span>, <span class="string">&quot;0327&quot;</span>, <span class="string">&quot;0425&quot;</span>, <span class="string">&quot;0525&quot;</span>, <span class="string">&quot;0623&quot;</span>, <span class="string">&quot;0723&quot;</span>, <span class="string">&quot;0821&quot;</span>, <span class="string">&quot;0920&quot;</span>, <span class="string">&quot;1019&quot;</span>, <span class="string">&quot;1117&quot;</span>, <span class="string">&quot;1217&quot;</span>, <span class="string">&quot;1315&quot;</span>], <span class="comment">//1914</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0214&quot;</span>, <span class="string">&quot;0316&quot;</span>, <span class="string">&quot;0414&quot;</span>, <span class="string">&quot;0514&quot;</span>, <span class="string">&quot;0613&quot;</span>, <span class="string">&quot;0712&quot;</span>, <span class="string">&quot;0811&quot;</span>, <span class="string">&quot;0909&quot;</span>, <span class="string">&quot;1009&quot;</span>, <span class="string">&quot;1107&quot;</span>, <span class="string">&quot;1207&quot;</span>, <span class="string">&quot;1305&quot;</span>], <span class="comment">//1915</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0203&quot;</span>, <span class="string">&quot;0304&quot;</span>, <span class="string">&quot;0403&quot;</span>, <span class="string">&quot;0502&quot;</span>, <span class="string">&quot;0601&quot;</span>, <span class="string">&quot;0630&quot;</span>, <span class="string">&quot;0730&quot;</span>, <span class="string">&quot;0829&quot;</span>, <span class="string">&quot;0927&quot;</span>, <span class="string">&quot;1027&quot;</span>, <span class="string">&quot;1125&quot;</span>, <span class="string">&quot;1225&quot;</span>], <span class="comment">//1916</span></span><br><span class="line">[<span class="number">2</span>, <span class="string">&quot;0123&quot;</span>, <span class="string">&quot;0222&quot;</span>, <span class="string">&quot;0323&quot;</span>, <span class="string">&quot;0421&quot;</span>, <span class="string">&quot;0521&quot;</span>, <span class="string">&quot;0619&quot;</span>, <span class="string">&quot;0719&quot;</span>, <span class="string">&quot;0818&quot;</span>, <span class="string">&quot;0916&quot;</span>, <span class="string">&quot;1016&quot;</span>, <span class="string">&quot;1115&quot;</span>, <span class="string">&quot;1214&quot;</span>, <span class="string">&quot;1313&quot;</span>], <span class="comment">//1917</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0211&quot;</span>, <span class="string">&quot;0313&quot;</span>, <span class="string">&quot;0411&quot;</span>, <span class="string">&quot;0510&quot;</span>, <span class="string">&quot;0609&quot;</span>, <span class="string">&quot;0708&quot;</span>, <span class="string">&quot;0807&quot;</span>, <span class="string">&quot;0905&quot;</span>, <span class="string">&quot;1005&quot;</span>, <span class="string">&quot;1104&quot;</span>, <span class="string">&quot;1203&quot;</span>, <span class="string">&quot;1302&quot;</span>], <span class="comment">//1918</span></span><br><span class="line">[<span class="number">7</span>, <span class="string">&quot;0201&quot;</span>, <span class="string">&quot;0302&quot;</span>, <span class="string">&quot;0401&quot;</span>, <span class="string">&quot;0430&quot;</span>, <span class="string">&quot;0529&quot;</span>, <span class="string">&quot;0628&quot;</span>, <span class="string">&quot;0727&quot;</span>, <span class="string">&quot;0825&quot;</span>, <span class="string">&quot;0924&quot;</span>, <span class="string">&quot;1024&quot;</span>, <span class="string">&quot;1122&quot;</span>, <span class="string">&quot;1222&quot;</span>, <span class="string">&quot;1321&quot;</span>], <span class="comment">//1919</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0220&quot;</span>, <span class="string">&quot;0320&quot;</span>, <span class="string">&quot;0419&quot;</span>, <span class="string">&quot;0518&quot;</span>, <span class="string">&quot;0616&quot;</span>, <span class="string">&quot;0716&quot;</span>, <span class="string">&quot;0814&quot;</span>, <span class="string">&quot;0912&quot;</span>, <span class="string">&quot;1012&quot;</span>, <span class="string">&quot;1110&quot;</span>, <span class="string">&quot;1210&quot;</span>, <span class="string">&quot;1309&quot;</span>], <span class="comment">//1920</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0208&quot;</span>, <span class="string">&quot;0310&quot;</span>, <span class="string">&quot;0408&quot;</span>, <span class="string">&quot;0508&quot;</span>, <span class="string">&quot;0606&quot;</span>, <span class="string">&quot;0705&quot;</span>, <span class="string">&quot;0804&quot;</span>, <span class="string">&quot;0902&quot;</span>, <span class="string">&quot;1001&quot;</span>, <span class="string">&quot;1031&quot;</span>, <span class="string">&quot;1129&quot;</span>, <span class="string">&quot;1229&quot;</span>], <span class="comment">//1921</span></span><br><span class="line">[<span class="number">5</span>, <span class="string">&quot;0128&quot;</span>, <span class="string">&quot;0227&quot;</span>, <span class="string">&quot;0328&quot;</span>, <span class="string">&quot;0427&quot;</span>, <span class="string">&quot;0527&quot;</span>, <span class="string">&quot;0625&quot;</span>, <span class="string">&quot;0724&quot;</span>, <span class="string">&quot;0823&quot;</span>, <span class="string">&quot;0921&quot;</span>, <span class="string">&quot;1020&quot;</span>, <span class="string">&quot;1119&quot;</span>, <span class="string">&quot;1218&quot;</span>, <span class="string">&quot;1317&quot;</span>], <span class="comment">//1922</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0216&quot;</span>, <span class="string">&quot;0317&quot;</span>, <span class="string">&quot;0416&quot;</span>, <span class="string">&quot;0516&quot;</span>, <span class="string">&quot;0614&quot;</span>, <span class="string">&quot;0714&quot;</span>, <span class="string">&quot;0812&quot;</span>, <span class="string">&quot;0911&quot;</span>, <span class="string">&quot;1010&quot;</span>, <span class="string">&quot;1108&quot;</span>, <span class="string">&quot;1208&quot;</span>, <span class="string">&quot;1306&quot;</span>], <span class="comment">//1923</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0205&quot;</span>, <span class="string">&quot;0305&quot;</span>, <span class="string">&quot;0404&quot;</span>, <span class="string">&quot;0504&quot;</span>, <span class="string">&quot;0602&quot;</span>, <span class="string">&quot;0702&quot;</span>, <span class="string">&quot;0801&quot;</span>, <span class="string">&quot;0830&quot;</span>, <span class="string">&quot;0929&quot;</span>, <span class="string">&quot;1028&quot;</span>, <span class="string">&quot;1127&quot;</span>, <span class="string">&quot;1226&quot;</span>], <span class="comment">//1924</span></span><br><span class="line">[<span class="number">4</span>, <span class="string">&quot;0124&quot;</span>, <span class="string">&quot;0223&quot;</span>, <span class="string">&quot;0324&quot;</span>, <span class="string">&quot;0423&quot;</span>, <span class="string">&quot;0522&quot;</span>, <span class="string">&quot;0621&quot;</span>, <span class="string">&quot;0721&quot;</span>, <span class="string">&quot;0819&quot;</span>, <span class="string">&quot;0918&quot;</span>, <span class="string">&quot;1018&quot;</span>, <span class="string">&quot;1116&quot;</span>, <span class="string">&quot;1216&quot;</span>, <span class="string">&quot;1314&quot;</span>], <span class="comment">//1925</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0213&quot;</span>, <span class="string">&quot;0314&quot;</span>, <span class="string">&quot;0412&quot;</span>, <span class="string">&quot;0512&quot;</span>, <span class="string">&quot;0610&quot;</span>, <span class="string">&quot;0710&quot;</span>, <span class="string">&quot;0808&quot;</span>, <span class="string">&quot;0907&quot;</span>, <span class="string">&quot;1007&quot;</span>, <span class="string">&quot;1105&quot;</span>, <span class="string">&quot;1205&quot;</span>, <span class="string">&quot;1304&quot;</span>], <span class="comment">//1926</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0202&quot;</span>, <span class="string">&quot;0304&quot;</span>, <span class="string">&quot;0402&quot;</span>, <span class="string">&quot;0501&quot;</span>, <span class="string">&quot;0531&quot;</span>, <span class="string">&quot;0629&quot;</span>, <span class="string">&quot;0729&quot;</span>, <span class="string">&quot;0827&quot;</span>, <span class="string">&quot;0926&quot;</span>, <span class="string">&quot;1025&quot;</span>, <span class="string">&quot;1124&quot;</span>, <span class="string">&quot;1224&quot;</span>], <span class="comment">//1927</span></span><br><span class="line">[<span class="number">2</span>, <span class="string">&quot;0123&quot;</span>, <span class="string">&quot;0221&quot;</span>, <span class="string">&quot;0322&quot;</span>, <span class="string">&quot;0420&quot;</span>, <span class="string">&quot;0519&quot;</span>, <span class="string">&quot;0618&quot;</span>, <span class="string">&quot;0717&quot;</span>, <span class="string">&quot;0815&quot;</span>, <span class="string">&quot;0914&quot;</span>, <span class="string">&quot;1013&quot;</span>, <span class="string">&quot;1112&quot;</span>, <span class="string">&quot;1212&quot;</span>, <span class="string">&quot;1311&quot;</span>], <span class="comment">//1928</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0210&quot;</span>, <span class="string">&quot;0311&quot;</span>, <span class="string">&quot;0410&quot;</span>, <span class="string">&quot;0509&quot;</span>, <span class="string">&quot;0607&quot;</span>, <span class="string">&quot;0707&quot;</span>, <span class="string">&quot;0805&quot;</span>, <span class="string">&quot;0903&quot;</span>, <span class="string">&quot;1003&quot;</span>, <span class="string">&quot;1101&quot;</span>, <span class="string">&quot;1201&quot;</span>, <span class="string">&quot;1231&quot;</span>], <span class="comment">//1929</span></span><br><span class="line">[<span class="number">6</span>, <span class="string">&quot;0130&quot;</span>, <span class="string">&quot;0228&quot;</span>, <span class="string">&quot;0330&quot;</span>, <span class="string">&quot;0429&quot;</span>, <span class="string">&quot;0528&quot;</span>, <span class="string">&quot;0626&quot;</span>, <span class="string">&quot;0726&quot;</span>, <span class="string">&quot;0824&quot;</span>, <span class="string">&quot;0922&quot;</span>, <span class="string">&quot;1022&quot;</span>, <span class="string">&quot;1120&quot;</span>, <span class="string">&quot;1220&quot;</span>, <span class="string">&quot;1319&quot;</span>], <span class="comment">//1930</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0217&quot;</span>, <span class="string">&quot;0319&quot;</span>, <span class="string">&quot;0418&quot;</span>, <span class="string">&quot;0517&quot;</span>, <span class="string">&quot;0616&quot;</span>, <span class="string">&quot;0715&quot;</span>, <span class="string">&quot;0814&quot;</span>, <span class="string">&quot;0912&quot;</span>, <span class="string">&quot;1011&quot;</span>, <span class="string">&quot;1110&quot;</span>, <span class="string">&quot;1209&quot;</span>, <span class="string">&quot;1308&quot;</span>], <span class="comment">//1931</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0206&quot;</span>, <span class="string">&quot;0307&quot;</span>, <span class="string">&quot;0406&quot;</span>, <span class="string">&quot;0506&quot;</span>, <span class="string">&quot;0604&quot;</span>, <span class="string">&quot;0704&quot;</span>, <span class="string">&quot;0802&quot;</span>, <span class="string">&quot;0901&quot;</span>, <span class="string">&quot;0930&quot;</span>, <span class="string">&quot;1029&quot;</span>, <span class="string">&quot;1128&quot;</span>, <span class="string">&quot;1227&quot;</span>], <span class="comment">//1932</span></span><br><span class="line">[<span class="number">5</span>, <span class="string">&quot;0126&quot;</span>, <span class="string">&quot;0224&quot;</span>, <span class="string">&quot;0326&quot;</span>, <span class="string">&quot;0425&quot;</span>, <span class="string">&quot;0524&quot;</span>, <span class="string">&quot;0623&quot;</span>, <span class="string">&quot;0722&quot;</span>, <span class="string">&quot;0821&quot;</span>, <span class="string">&quot;0920&quot;</span>, <span class="string">&quot;1019&quot;</span>, <span class="string">&quot;1118&quot;</span>, <span class="string">&quot;1217&quot;</span>, <span class="string">&quot;1315&quot;</span>], <span class="comment">//1933</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0214&quot;</span>, <span class="string">&quot;0315&quot;</span>, <span class="string">&quot;0414&quot;</span>, <span class="string">&quot;0513&quot;</span>, <span class="string">&quot;0612&quot;</span>, <span class="string">&quot;0712&quot;</span>, <span class="string">&quot;0810&quot;</span>, <span class="string">&quot;0909&quot;</span>, <span class="string">&quot;1008&quot;</span>, <span class="string">&quot;1107&quot;</span>, <span class="string">&quot;1207&quot;</span>, <span class="string">&quot;1305&quot;</span>], <span class="comment">//1934</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0204&quot;</span>, <span class="string">&quot;0305&quot;</span>, <span class="string">&quot;0403&quot;</span>, <span class="string">&quot;0503&quot;</span>, <span class="string">&quot;0601&quot;</span>, <span class="string">&quot;0701&quot;</span>, <span class="string">&quot;0730&quot;</span>, <span class="string">&quot;0829&quot;</span>, <span class="string">&quot;0928&quot;</span>, <span class="string">&quot;1027&quot;</span>, <span class="string">&quot;1126&quot;</span>, <span class="string">&quot;1226&quot;</span>], <span class="comment">//1935</span></span><br><span class="line">[<span class="number">3</span>, <span class="string">&quot;0124&quot;</span>, <span class="string">&quot;0223&quot;</span>, <span class="string">&quot;0323&quot;</span>, <span class="string">&quot;0421&quot;</span>, <span class="string">&quot;0521&quot;</span>, <span class="string">&quot;0619&quot;</span>, <span class="string">&quot;0718&quot;</span>, <span class="string">&quot;0817&quot;</span>, <span class="string">&quot;0916&quot;</span>, <span class="string">&quot;1015&quot;</span>, <span class="string">&quot;1114&quot;</span>, <span class="string">&quot;1214&quot;</span>, <span class="string">&quot;1313&quot;</span>], <span class="comment">//1936</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0211&quot;</span>, <span class="string">&quot;0313&quot;</span>, <span class="string">&quot;0411&quot;</span>, <span class="string">&quot;0510&quot;</span>, <span class="string">&quot;0609&quot;</span>, <span class="string">&quot;0708&quot;</span>, <span class="string">&quot;0806&quot;</span>, <span class="string">&quot;0905&quot;</span>, <span class="string">&quot;1004&quot;</span>, <span class="string">&quot;1103&quot;</span>, <span class="string">&quot;1203&quot;</span>, <span class="string">&quot;1302&quot;</span>], <span class="comment">//1937</span></span><br><span class="line">[<span class="number">7</span>, <span class="string">&quot;0131&quot;</span>, <span class="string">&quot;0302&quot;</span>, <span class="string">&quot;0401&quot;</span>, <span class="string">&quot;0430&quot;</span>, <span class="string">&quot;0529&quot;</span>, <span class="string">&quot;0628&quot;</span>, <span class="string">&quot;0727&quot;</span>, <span class="string">&quot;0825&quot;</span>, <span class="string">&quot;0924&quot;</span>, <span class="string">&quot;1023&quot;</span>, <span class="string">&quot;1122&quot;</span>, <span class="string">&quot;1222&quot;</span>, <span class="string">&quot;1320&quot;</span>], <span class="comment">//1938</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0219&quot;</span>, <span class="string">&quot;0321&quot;</span>, <span class="string">&quot;0420&quot;</span>, <span class="string">&quot;0519&quot;</span>, <span class="string">&quot;0617&quot;</span>, <span class="string">&quot;0717&quot;</span>, <span class="string">&quot;0815&quot;</span>, <span class="string">&quot;0913&quot;</span>, <span class="string">&quot;1013&quot;</span>, <span class="string">&quot;1111&quot;</span>, <span class="string">&quot;1211&quot;</span>, <span class="string">&quot;1309&quot;</span>], <span class="comment">//1939</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0208&quot;</span>, <span class="string">&quot;0309&quot;</span>, <span class="string">&quot;0408&quot;</span>, <span class="string">&quot;0507&quot;</span>, <span class="string">&quot;0606&quot;</span>, <span class="string">&quot;0705&quot;</span>, <span class="string">&quot;0804&quot;</span>, <span class="string">&quot;0902&quot;</span>, <span class="string">&quot;1001&quot;</span>, <span class="string">&quot;1031&quot;</span>, <span class="string">&quot;1129&quot;</span>, <span class="string">&quot;1229&quot;</span>], <span class="comment">//1940</span></span><br><span class="line">[<span class="number">6</span>, <span class="string">&quot;0127&quot;</span>, <span class="string">&quot;0226&quot;</span>, <span class="string">&quot;0328&quot;</span>, <span class="string">&quot;0426&quot;</span>, <span class="string">&quot;0526&quot;</span>, <span class="string">&quot;0625&quot;</span>, <span class="string">&quot;0724&quot;</span>, <span class="string">&quot;0823&quot;</span>, <span class="string">&quot;0921&quot;</span>, <span class="string">&quot;1020&quot;</span>, <span class="string">&quot;1119&quot;</span>, <span class="string">&quot;1218&quot;</span>, <span class="string">&quot;1317&quot;</span>], <span class="comment">//1941</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0215&quot;</span>, <span class="string">&quot;0317&quot;</span>, <span class="string">&quot;0415&quot;</span>, <span class="string">&quot;0515&quot;</span>, <span class="string">&quot;0614&quot;</span>, <span class="string">&quot;0713&quot;</span>, <span class="string">&quot;0812&quot;</span>, <span class="string">&quot;0910&quot;</span>, <span class="string">&quot;1010&quot;</span>, <span class="string">&quot;1108&quot;</span>, <span class="string">&quot;1208&quot;</span>, <span class="string">&quot;1306&quot;</span>], <span class="comment">//1942</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0205&quot;</span>, <span class="string">&quot;0306&quot;</span>, <span class="string">&quot;0405&quot;</span>, <span class="string">&quot;0504&quot;</span>, <span class="string">&quot;0603&quot;</span>, <span class="string">&quot;0702&quot;</span>, <span class="string">&quot;0801&quot;</span>, <span class="string">&quot;0831&quot;</span>, <span class="string">&quot;0929&quot;</span>, <span class="string">&quot;1029&quot;</span>, <span class="string">&quot;1127&quot;</span>, <span class="string">&quot;1227&quot;</span>], <span class="comment">//1943</span></span><br><span class="line">[<span class="number">4</span>, <span class="string">&quot;0125&quot;</span>, <span class="string">&quot;0224&quot;</span>, <span class="string">&quot;0324&quot;</span>, <span class="string">&quot;0423&quot;</span>, <span class="string">&quot;0522&quot;</span>, <span class="string">&quot;0621&quot;</span>, <span class="string">&quot;0720&quot;</span>, <span class="string">&quot;0819&quot;</span>, <span class="string">&quot;0917&quot;</span>, <span class="string">&quot;1017&quot;</span>, <span class="string">&quot;1116&quot;</span>, <span class="string">&quot;1215&quot;</span>, <span class="string">&quot;1314&quot;</span>], <span class="comment">//1944</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0213&quot;</span>, <span class="string">&quot;0314&quot;</span>, <span class="string">&quot;0412&quot;</span>, <span class="string">&quot;0512&quot;</span>, <span class="string">&quot;0610&quot;</span>, <span class="string">&quot;0709&quot;</span>, <span class="string">&quot;0808&quot;</span>, <span class="string">&quot;0906&quot;</span>, <span class="string">&quot;1006&quot;</span>, <span class="string">&quot;1105&quot;</span>, <span class="string">&quot;1205&quot;</span>, <span class="string">&quot;1303&quot;</span>], <span class="comment">//1945</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0202&quot;</span>, <span class="string">&quot;0304&quot;</span>, <span class="string">&quot;0402&quot;</span>, <span class="string">&quot;0501&quot;</span>, <span class="string">&quot;0531&quot;</span>, <span class="string">&quot;0629&quot;</span>, <span class="string">&quot;0728&quot;</span>, <span class="string">&quot;0827&quot;</span>, <span class="string">&quot;0925&quot;</span>, <span class="string">&quot;1025&quot;</span>, <span class="string">&quot;1124&quot;</span>, <span class="string">&quot;1223&quot;</span>], <span class="comment">//1946</span></span><br><span class="line">[<span class="number">2</span>, <span class="string">&quot;0122&quot;</span>, <span class="string">&quot;0221&quot;</span>, <span class="string">&quot;0323&quot;</span>, <span class="string">&quot;0421&quot;</span>, <span class="string">&quot;0520&quot;</span>, <span class="string">&quot;0619&quot;</span>, <span class="string">&quot;0718&quot;</span>, <span class="string">&quot;0816&quot;</span>, <span class="string">&quot;0915&quot;</span>, <span class="string">&quot;1014&quot;</span>, <span class="string">&quot;1113&quot;</span>, <span class="string">&quot;1212&quot;</span>, <span class="string">&quot;1311&quot;</span>], <span class="comment">//1947</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0210&quot;</span>, <span class="string">&quot;0311&quot;</span>, <span class="string">&quot;0409&quot;</span>, <span class="string">&quot;0509&quot;</span>, <span class="string">&quot;0607&quot;</span>, <span class="string">&quot;0707&quot;</span>, <span class="string">&quot;0805&quot;</span>, <span class="string">&quot;0903&quot;</span>, <span class="string">&quot;1003&quot;</span>, <span class="string">&quot;1101&quot;</span>, <span class="string">&quot;1201&quot;</span>, <span class="string">&quot;1230&quot;</span>], <span class="comment">//1948</span></span><br><span class="line">[<span class="number">7</span>, <span class="string">&quot;0129&quot;</span>, <span class="string">&quot;0228&quot;</span>, <span class="string">&quot;0329&quot;</span>, <span class="string">&quot;0428&quot;</span>, <span class="string">&quot;0528&quot;</span>, <span class="string">&quot;0626&quot;</span>, <span class="string">&quot;0726&quot;</span>, <span class="string">&quot;0824&quot;</span>, <span class="string">&quot;0922&quot;</span>, <span class="string">&quot;1022&quot;</span>, <span class="string">&quot;1120&quot;</span>, <span class="string">&quot;1220&quot;</span>, <span class="string">&quot;1318&quot;</span>], <span class="comment">//1949</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0217&quot;</span>, <span class="string">&quot;0318&quot;</span>, <span class="string">&quot;0417&quot;</span>, <span class="string">&quot;0517&quot;</span>, <span class="string">&quot;0615&quot;</span>, <span class="string">&quot;0715&quot;</span>, <span class="string">&quot;0814&quot;</span>, <span class="string">&quot;0912&quot;</span>, <span class="string">&quot;1011&quot;</span>, <span class="string">&quot;1110&quot;</span>, <span class="string">&quot;1209&quot;</span>, <span class="string">&quot;1308&quot;</span>], <span class="comment">//1950</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0206&quot;</span>, <span class="string">&quot;0308&quot;</span>, <span class="string">&quot;0406&quot;</span>, <span class="string">&quot;0506&quot;</span>, <span class="string">&quot;0605&quot;</span>, <span class="string">&quot;0704&quot;</span>, <span class="string">&quot;0803&quot;</span>, <span class="string">&quot;0901&quot;</span>, <span class="string">&quot;1001&quot;</span>, <span class="string">&quot;1030&quot;</span>, <span class="string">&quot;1129&quot;</span>, <span class="string">&quot;1228&quot;</span>], <span class="comment">//1951</span></span><br><span class="line">[<span class="number">5</span>, <span class="string">&quot;0127&quot;</span>, <span class="string">&quot;0225&quot;</span>, <span class="string">&quot;0326&quot;</span>, <span class="string">&quot;0424&quot;</span>, <span class="string">&quot;0524&quot;</span>, <span class="string">&quot;0622&quot;</span>, <span class="string">&quot;0722&quot;</span>, <span class="string">&quot;0820&quot;</span>, <span class="string">&quot;0919&quot;</span>, <span class="string">&quot;1019&quot;</span>, <span class="string">&quot;1117&quot;</span>, <span class="string">&quot;1217&quot;</span>, <span class="string">&quot;1315&quot;</span>], <span class="comment">//1952</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0214&quot;</span>, <span class="string">&quot;0315&quot;</span>, <span class="string">&quot;0414&quot;</span>, <span class="string">&quot;0513&quot;</span>, <span class="string">&quot;0611&quot;</span>, <span class="string">&quot;0711&quot;</span>, <span class="string">&quot;0810&quot;</span>, <span class="string">&quot;0908&quot;</span>, <span class="string">&quot;1008&quot;</span>, <span class="string">&quot;1107&quot;</span>, <span class="string">&quot;1206&quot;</span>, <span class="string">&quot;1305&quot;</span>], <span class="comment">//1953</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0203&quot;</span>, <span class="string">&quot;0305&quot;</span>, <span class="string">&quot;0403&quot;</span>, <span class="string">&quot;0503&quot;</span>, <span class="string">&quot;0601&quot;</span>, <span class="string">&quot;0630&quot;</span>, <span class="string">&quot;0730&quot;</span>, <span class="string">&quot;0828&quot;</span>, <span class="string">&quot;0927&quot;</span>, <span class="string">&quot;1027&quot;</span>, <span class="string">&quot;1126&quot;</span>, <span class="string">&quot;1225&quot;</span>], <span class="comment">//1954</span></span><br><span class="line">[<span class="number">3</span>, <span class="string">&quot;0124&quot;</span>, <span class="string">&quot;0222&quot;</span>, <span class="string">&quot;0324&quot;</span>, <span class="string">&quot;0422&quot;</span>, <span class="string">&quot;0522&quot;</span>, <span class="string">&quot;0620&quot;</span>, <span class="string">&quot;0719&quot;</span>, <span class="string">&quot;0818&quot;</span>, <span class="string">&quot;0916&quot;</span>, <span class="string">&quot;1016&quot;</span>, <span class="string">&quot;1114&quot;</span>, <span class="string">&quot;1214&quot;</span>, <span class="string">&quot;1313&quot;</span>], <span class="comment">//1955</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0212&quot;</span>, <span class="string">&quot;0312&quot;</span>, <span class="string">&quot;0411&quot;</span>, <span class="string">&quot;0510&quot;</span>, <span class="string">&quot;0609&quot;</span>, <span class="string">&quot;0708&quot;</span>, <span class="string">&quot;0806&quot;</span>, <span class="string">&quot;0905&quot;</span>, <span class="string">&quot;1004&quot;</span>, <span class="string">&quot;1103&quot;</span>, <span class="string">&quot;1203&quot;</span>, <span class="string">&quot;1301&quot;</span>], <span class="comment">//1956</span></span><br><span class="line">[<span class="number">8</span>, <span class="string">&quot;0131&quot;</span>, <span class="string">&quot;0302&quot;</span>, <span class="string">&quot;0331&quot;</span>, <span class="string">&quot;0430&quot;</span>, <span class="string">&quot;0529&quot;</span>, <span class="string">&quot;0628&quot;</span>, <span class="string">&quot;0727&quot;</span>, <span class="string">&quot;0825&quot;</span>, <span class="string">&quot;0924&quot;</span>, <span class="string">&quot;1023&quot;</span>, <span class="string">&quot;1122&quot;</span>, <span class="string">&quot;1221&quot;</span>, <span class="string">&quot;1320&quot;</span>], <span class="comment">//1957</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0218&quot;</span>, <span class="string">&quot;0320&quot;</span>, <span class="string">&quot;0419&quot;</span>, <span class="string">&quot;0519&quot;</span>, <span class="string">&quot;0617&quot;</span>, <span class="string">&quot;0717&quot;</span>, <span class="string">&quot;0815&quot;</span>, <span class="string">&quot;0913&quot;</span>, <span class="string">&quot;1013&quot;</span>, <span class="string">&quot;1111&quot;</span>, <span class="string">&quot;1211&quot;</span>, <span class="string">&quot;1309&quot;</span>], <span class="comment">//1958</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0208&quot;</span>, <span class="string">&quot;0309&quot;</span>, <span class="string">&quot;0408&quot;</span>, <span class="string">&quot;0508&quot;</span>, <span class="string">&quot;0606&quot;</span>, <span class="string">&quot;0706&quot;</span>, <span class="string">&quot;0804&quot;</span>, <span class="string">&quot;0903&quot;</span>, <span class="string">&quot;1002&quot;</span>, <span class="string">&quot;1101&quot;</span>, <span class="string">&quot;1130&quot;</span>, <span class="string">&quot;1230&quot;</span>], <span class="comment">//1959</span></span><br><span class="line">[<span class="number">6</span>, <span class="string">&quot;0128&quot;</span>, <span class="string">&quot;0227&quot;</span>, <span class="string">&quot;0327&quot;</span>, <span class="string">&quot;0426&quot;</span>, <span class="string">&quot;0525&quot;</span>, <span class="string">&quot;0624&quot;</span>, <span class="string">&quot;0724&quot;</span>, <span class="string">&quot;0822&quot;</span>, <span class="string">&quot;0921&quot;</span>, <span class="string">&quot;1020&quot;</span>, <span class="string">&quot;1119&quot;</span>, <span class="string">&quot;1218&quot;</span>, <span class="string">&quot;1317&quot;</span>], <span class="comment">//1960</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0215&quot;</span>, <span class="string">&quot;0317&quot;</span>, <span class="string">&quot;0415&quot;</span>, <span class="string">&quot;0515&quot;</span>, <span class="string">&quot;0613&quot;</span>, <span class="string">&quot;0713&quot;</span>, <span class="string">&quot;0811&quot;</span>, <span class="string">&quot;0910&quot;</span>, <span class="string">&quot;1010&quot;</span>, <span class="string">&quot;1108&quot;</span>, <span class="string">&quot;1208&quot;</span>, <span class="string">&quot;1306&quot;</span>], <span class="comment">//1961</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0205&quot;</span>, <span class="string">&quot;0306&quot;</span>, <span class="string">&quot;0405&quot;</span>, <span class="string">&quot;0504&quot;</span>, <span class="string">&quot;0602&quot;</span>, <span class="string">&quot;0702&quot;</span>, <span class="string">&quot;0731&quot;</span>, <span class="string">&quot;0830&quot;</span>, <span class="string">&quot;0929&quot;</span>, <span class="string">&quot;1028&quot;</span>, <span class="string">&quot;1127&quot;</span>, <span class="string">&quot;1227&quot;</span>], <span class="comment">//1962</span></span><br><span class="line">[<span class="number">4</span>, <span class="string">&quot;0125&quot;</span>, <span class="string">&quot;0224&quot;</span>, <span class="string">&quot;0325&quot;</span>, <span class="string">&quot;0424&quot;</span>, <span class="string">&quot;0523&quot;</span>, <span class="string">&quot;0621&quot;</span>, <span class="string">&quot;0721&quot;</span>, <span class="string">&quot;0819&quot;</span>, <span class="string">&quot;0918&quot;</span>, <span class="string">&quot;1017&quot;</span>, <span class="string">&quot;1116&quot;</span>, <span class="string">&quot;1216&quot;</span>, <span class="string">&quot;1315&quot;</span>], <span class="comment">//1963</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0213&quot;</span>, <span class="string">&quot;0314&quot;</span>, <span class="string">&quot;0412&quot;</span>, <span class="string">&quot;0512&quot;</span>, <span class="string">&quot;0610&quot;</span>, <span class="string">&quot;0709&quot;</span>, <span class="string">&quot;0808&quot;</span>, <span class="string">&quot;0906&quot;</span>, <span class="string">&quot;1006&quot;</span>, <span class="string">&quot;1104&quot;</span>, <span class="string">&quot;1204&quot;</span>, <span class="string">&quot;1303&quot;</span>], <span class="comment">//1964</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0202&quot;</span>, <span class="string">&quot;0303&quot;</span>, <span class="string">&quot;0402&quot;</span>, <span class="string">&quot;0501&quot;</span>, <span class="string">&quot;0531&quot;</span>, <span class="string">&quot;0629&quot;</span>, <span class="string">&quot;0728&quot;</span>, <span class="string">&quot;0827&quot;</span>, <span class="string">&quot;0925&quot;</span>, <span class="string">&quot;1024&quot;</span>, <span class="string">&quot;1123&quot;</span>, <span class="string">&quot;1223&quot;</span>], <span class="comment">//1965</span></span><br><span class="line">[<span class="number">3</span>, <span class="string">&quot;0121&quot;</span>, <span class="string">&quot;0220&quot;</span>, <span class="string">&quot;0322&quot;</span>, <span class="string">&quot;0421&quot;</span>, <span class="string">&quot;0520&quot;</span>, <span class="string">&quot;0619&quot;</span>, <span class="string">&quot;0718&quot;</span>, <span class="string">&quot;0816&quot;</span>, <span class="string">&quot;0915&quot;</span>, <span class="string">&quot;1014&quot;</span>, <span class="string">&quot;1112&quot;</span>, <span class="string">&quot;1212&quot;</span>, <span class="string">&quot;1311&quot;</span>], <span class="comment">//1966</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0209&quot;</span>, <span class="string">&quot;0311&quot;</span>, <span class="string">&quot;0410&quot;</span>, <span class="string">&quot;0509&quot;</span>, <span class="string">&quot;0608&quot;</span>, <span class="string">&quot;0708&quot;</span>, <span class="string">&quot;0806&quot;</span>, <span class="string">&quot;0904&quot;</span>, <span class="string">&quot;1004&quot;</span>, <span class="string">&quot;1102&quot;</span>, <span class="string">&quot;1202&quot;</span>, <span class="string">&quot;1231&quot;</span>], <span class="comment">//1967</span></span><br><span class="line">[<span class="number">7</span>, <span class="string">&quot;0130&quot;</span>, <span class="string">&quot;0228&quot;</span>, <span class="string">&quot;0329&quot;</span>, <span class="string">&quot;0427&quot;</span>, <span class="string">&quot;0527&quot;</span>, <span class="string">&quot;0626&quot;</span>, <span class="string">&quot;0725&quot;</span>, <span class="string">&quot;0824&quot;</span>, <span class="string">&quot;0922&quot;</span>, <span class="string">&quot;1022&quot;</span>, <span class="string">&quot;1120&quot;</span>, <span class="string">&quot;1220&quot;</span>, <span class="string">&quot;1318&quot;</span>], <span class="comment">//1968</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0217&quot;</span>, <span class="string">&quot;0318&quot;</span>, <span class="string">&quot;0417&quot;</span>, <span class="string">&quot;0516&quot;</span>, <span class="string">&quot;0615&quot;</span>, <span class="string">&quot;0714&quot;</span>, <span class="string">&quot;0813&quot;</span>, <span class="string">&quot;0912&quot;</span>, <span class="string">&quot;1011&quot;</span>, <span class="string">&quot;1110&quot;</span>, <span class="string">&quot;1209&quot;</span>, <span class="string">&quot;1308&quot;</span>], <span class="comment">//1969</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0206&quot;</span>, <span class="string">&quot;0308&quot;</span>, <span class="string">&quot;0406&quot;</span>, <span class="string">&quot;0505&quot;</span>, <span class="string">&quot;0604&quot;</span>, <span class="string">&quot;0703&quot;</span>, <span class="string">&quot;0802&quot;</span>, <span class="string">&quot;0901&quot;</span>, <span class="string">&quot;0930&quot;</span>, <span class="string">&quot;1030&quot;</span>, <span class="string">&quot;1129&quot;</span>, <span class="string">&quot;1228&quot;</span>], <span class="comment">//1970</span></span><br><span class="line">[<span class="number">5</span>, <span class="string">&quot;0127&quot;</span>, <span class="string">&quot;0225&quot;</span>, <span class="string">&quot;0327&quot;</span>, <span class="string">&quot;0425&quot;</span>, <span class="string">&quot;0524&quot;</span>, <span class="string">&quot;0623&quot;</span>, <span class="string">&quot;0722&quot;</span>, <span class="string">&quot;0821&quot;</span>, <span class="string">&quot;0919&quot;</span>, <span class="string">&quot;1019&quot;</span>, <span class="string">&quot;1118&quot;</span>, <span class="string">&quot;1218&quot;</span>, <span class="string">&quot;1316&quot;</span>], <span class="comment">//1971</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0215&quot;</span>, <span class="string">&quot;0315&quot;</span>, <span class="string">&quot;0414&quot;</span>, <span class="string">&quot;0513&quot;</span>, <span class="string">&quot;0611&quot;</span>, <span class="string">&quot;0711&quot;</span>, <span class="string">&quot;0809&quot;</span>, <span class="string">&quot;0908&quot;</span>, <span class="string">&quot;1007&quot;</span>, <span class="string">&quot;1106&quot;</span>, <span class="string">&quot;1206&quot;</span>, <span class="string">&quot;1304&quot;</span>], <span class="comment">//1972</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0203&quot;</span>, <span class="string">&quot;0305&quot;</span>, <span class="string">&quot;0403&quot;</span>, <span class="string">&quot;0503&quot;</span>, <span class="string">&quot;0601&quot;</span>, <span class="string">&quot;0630&quot;</span>, <span class="string">&quot;0730&quot;</span>, <span class="string">&quot;0828&quot;</span>, <span class="string">&quot;0926&quot;</span>, <span class="string">&quot;1026&quot;</span>, <span class="string">&quot;1125&quot;</span>, <span class="string">&quot;1224&quot;</span>], <span class="comment">//1973</span></span><br><span class="line">[<span class="number">4</span>, <span class="string">&quot;0123&quot;</span>, <span class="string">&quot;0222&quot;</span>, <span class="string">&quot;0324&quot;</span>, <span class="string">&quot;0422&quot;</span>, <span class="string">&quot;0522&quot;</span>, <span class="string">&quot;0620&quot;</span>, <span class="string">&quot;0719&quot;</span>, <span class="string">&quot;0818&quot;</span>, <span class="string">&quot;0916&quot;</span>, <span class="string">&quot;1015&quot;</span>, <span class="string">&quot;1114&quot;</span>, <span class="string">&quot;1214&quot;</span>, <span class="string">&quot;1312&quot;</span>], <span class="comment">//1974</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0211&quot;</span>, <span class="string">&quot;0313&quot;</span>, <span class="string">&quot;0412&quot;</span>, <span class="string">&quot;0511&quot;</span>, <span class="string">&quot;0610&quot;</span>, <span class="string">&quot;0709&quot;</span>, <span class="string">&quot;0807&quot;</span>, <span class="string">&quot;0906&quot;</span>, <span class="string">&quot;1005&quot;</span>, <span class="string">&quot;1103&quot;</span>, <span class="string">&quot;1203&quot;</span>, <span class="string">&quot;1301&quot;</span>], <span class="comment">//1975</span></span><br><span class="line">[<span class="number">8</span>, <span class="string">&quot;0131&quot;</span>, <span class="string">&quot;0301&quot;</span>, <span class="string">&quot;0331&quot;</span>, <span class="string">&quot;0429&quot;</span>, <span class="string">&quot;0529&quot;</span>, <span class="string">&quot;0627&quot;</span>, <span class="string">&quot;0727&quot;</span>, <span class="string">&quot;0825&quot;</span>, <span class="string">&quot;0924&quot;</span>, <span class="string">&quot;1023&quot;</span>, <span class="string">&quot;1121&quot;</span>, <span class="string">&quot;1221&quot;</span>, <span class="string">&quot;1319&quot;</span>], <span class="comment">//1976</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0218&quot;</span>, <span class="string">&quot;0320&quot;</span>, <span class="string">&quot;0418&quot;</span>, <span class="string">&quot;0518&quot;</span>, <span class="string">&quot;0617&quot;</span>, <span class="string">&quot;0716&quot;</span>, <span class="string">&quot;0815&quot;</span>, <span class="string">&quot;0913&quot;</span>, <span class="string">&quot;1013&quot;</span>, <span class="string">&quot;1111&quot;</span>, <span class="string">&quot;1211&quot;</span>, <span class="string">&quot;1309&quot;</span>], <span class="comment">//1977</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0207&quot;</span>, <span class="string">&quot;0309&quot;</span>, <span class="string">&quot;0407&quot;</span>, <span class="string">&quot;0507&quot;</span>, <span class="string">&quot;0606&quot;</span>, <span class="string">&quot;0705&quot;</span>, <span class="string">&quot;0804&quot;</span>, <span class="string">&quot;0902&quot;</span>, <span class="string">&quot;1002&quot;</span>, <span class="string">&quot;1101&quot;</span>, <span class="string">&quot;1130&quot;</span>, <span class="string">&quot;1230&quot;</span>], <span class="comment">//1978</span></span><br><span class="line">[<span class="number">6</span>, <span class="string">&quot;0128&quot;</span>, <span class="string">&quot;0227&quot;</span>, <span class="string">&quot;0328&quot;</span>, <span class="string">&quot;0426&quot;</span>, <span class="string">&quot;0526&quot;</span>, <span class="string">&quot;0624&quot;</span>, <span class="string">&quot;0724&quot;</span>, <span class="string">&quot;0823&quot;</span>, <span class="string">&quot;0921&quot;</span>, <span class="string">&quot;1021&quot;</span>, <span class="string">&quot;1120&quot;</span>, <span class="string">&quot;1219&quot;</span>, <span class="string">&quot;1318&quot;</span>], <span class="comment">//1979</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0216&quot;</span>, <span class="string">&quot;0317&quot;</span>, <span class="string">&quot;0415&quot;</span>, <span class="string">&quot;0514&quot;</span>, <span class="string">&quot;0613&quot;</span>, <span class="string">&quot;0712&quot;</span>, <span class="string">&quot;0811&quot;</span>, <span class="string">&quot;0909&quot;</span>, <span class="string">&quot;1009&quot;</span>, <span class="string">&quot;1108&quot;</span>, <span class="string">&quot;1207&quot;</span>, <span class="string">&quot;1306&quot;</span>], <span class="comment">//1980</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0205&quot;</span>, <span class="string">&quot;0306&quot;</span>, <span class="string">&quot;0405&quot;</span>, <span class="string">&quot;0504&quot;</span>, <span class="string">&quot;0602&quot;</span>, <span class="string">&quot;0702&quot;</span>, <span class="string">&quot;0731&quot;</span>, <span class="string">&quot;0829&quot;</span>, <span class="string">&quot;0928&quot;</span>, <span class="string">&quot;1028&quot;</span>, <span class="string">&quot;1126&quot;</span>, <span class="string">&quot;1226&quot;</span>], <span class="comment">//1981</span></span><br><span class="line">[<span class="number">4</span>, <span class="string">&quot;0125&quot;</span>, <span class="string">&quot;0224&quot;</span>, <span class="string">&quot;0325&quot;</span>, <span class="string">&quot;0424&quot;</span>, <span class="string">&quot;0523&quot;</span>, <span class="string">&quot;0621&quot;</span>, <span class="string">&quot;0721&quot;</span>, <span class="string">&quot;0819&quot;</span>, <span class="string">&quot;0917&quot;</span>, <span class="string">&quot;1017&quot;</span>, <span class="string">&quot;1115&quot;</span>, <span class="string">&quot;1215&quot;</span>, <span class="string">&quot;1314&quot;</span>], <span class="comment">//1982</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0213&quot;</span>, <span class="string">&quot;0315&quot;</span>, <span class="string">&quot;0413&quot;</span>, <span class="string">&quot;0513&quot;</span>, <span class="string">&quot;0611&quot;</span>, <span class="string">&quot;0710&quot;</span>, <span class="string">&quot;0809&quot;</span>, <span class="string">&quot;0907&quot;</span>, <span class="string">&quot;1006&quot;</span>, <span class="string">&quot;1105&quot;</span>, <span class="string">&quot;1204&quot;</span>, <span class="string">&quot;1303&quot;</span>], <span class="comment">//1983</span></span><br><span class="line">[<span class="number">10</span>, <span class="string">&quot;0202&quot;</span>, <span class="string">&quot;0303&quot;</span>, <span class="string">&quot;0401&quot;</span>, <span class="string">&quot;0501&quot;</span>, <span class="string">&quot;0531&quot;</span>, <span class="string">&quot;0629&quot;</span>, <span class="string">&quot;0728&quot;</span>, <span class="string">&quot;0827&quot;</span>, <span class="string">&quot;0925&quot;</span>, <span class="string">&quot;1024&quot;</span>, <span class="string">&quot;1123&quot;</span>, <span class="string">&quot;1222&quot;</span>, <span class="string">&quot;1321&quot;</span>], <span class="comment">//1984</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0220&quot;</span>, <span class="string">&quot;0321&quot;</span>, <span class="string">&quot;0420&quot;</span>, <span class="string">&quot;0520&quot;</span>, <span class="string">&quot;0618&quot;</span>, <span class="string">&quot;0718&quot;</span>, <span class="string">&quot;0816&quot;</span>, <span class="string">&quot;0915&quot;</span>, <span class="string">&quot;1014&quot;</span>, <span class="string">&quot;1112&quot;</span>, <span class="string">&quot;1212&quot;</span>, <span class="string">&quot;1310&quot;</span>], <span class="comment">//1985</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0209&quot;</span>, <span class="string">&quot;0310&quot;</span>, <span class="string">&quot;0409&quot;</span>, <span class="string">&quot;0509&quot;</span>, <span class="string">&quot;0607&quot;</span>, <span class="string">&quot;0707&quot;</span>, <span class="string">&quot;0806&quot;</span>, <span class="string">&quot;0904&quot;</span>, <span class="string">&quot;1004&quot;</span>, <span class="string">&quot;1102&quot;</span>, <span class="string">&quot;1202&quot;</span>, <span class="string">&quot;1231&quot;</span>], <span class="comment">//1986</span></span><br><span class="line">[<span class="number">6</span>, <span class="string">&quot;0129&quot;</span>, <span class="string">&quot;0228&quot;</span>, <span class="string">&quot;0329&quot;</span>, <span class="string">&quot;0428&quot;</span>, <span class="string">&quot;0527&quot;</span>, <span class="string">&quot;0626&quot;</span>, <span class="string">&quot;0726&quot;</span>, <span class="string">&quot;0824&quot;</span>, <span class="string">&quot;0923&quot;</span>, <span class="string">&quot;1023&quot;</span>, <span class="string">&quot;1121&quot;</span>, <span class="string">&quot;1221&quot;</span>, <span class="string">&quot;1319&quot;</span>], <span class="comment">//1987</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0217&quot;</span>, <span class="string">&quot;0318&quot;</span>, <span class="string">&quot;0416&quot;</span>, <span class="string">&quot;0516&quot;</span>, <span class="string">&quot;0614&quot;</span>, <span class="string">&quot;0714&quot;</span>, <span class="string">&quot;0812&quot;</span>, <span class="string">&quot;0911&quot;</span>, <span class="string">&quot;1011&quot;</span>, <span class="string">&quot;1109&quot;</span>, <span class="string">&quot;1209&quot;</span>, <span class="string">&quot;1308&quot;</span>], <span class="comment">//1988</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0206&quot;</span>, <span class="string">&quot;0308&quot;</span>, <span class="string">&quot;0406&quot;</span>, <span class="string">&quot;0505&quot;</span>, <span class="string">&quot;0604&quot;</span>, <span class="string">&quot;0703&quot;</span>, <span class="string">&quot;0802&quot;</span>, <span class="string">&quot;0831&quot;</span>, <span class="string">&quot;0930&quot;</span>, <span class="string">&quot;1029&quot;</span>, <span class="string">&quot;1128&quot;</span>, <span class="string">&quot;1228&quot;</span>], <span class="comment">//1989</span></span><br><span class="line">[<span class="number">5</span>, <span class="string">&quot;0127&quot;</span>, <span class="string">&quot;0225&quot;</span>, <span class="string">&quot;0327&quot;</span>, <span class="string">&quot;0425&quot;</span>, <span class="string">&quot;0524&quot;</span>, <span class="string">&quot;0623&quot;</span>, <span class="string">&quot;0722&quot;</span>, <span class="string">&quot;0820&quot;</span>, <span class="string">&quot;0919&quot;</span>, <span class="string">&quot;1018&quot;</span>, <span class="string">&quot;1117&quot;</span>, <span class="string">&quot;1217&quot;</span>, <span class="string">&quot;1316&quot;</span>], <span class="comment">//1990</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0215&quot;</span>, <span class="string">&quot;0316&quot;</span>, <span class="string">&quot;0415&quot;</span>, <span class="string">&quot;0514&quot;</span>, <span class="string">&quot;0612&quot;</span>, <span class="string">&quot;0712&quot;</span>, <span class="string">&quot;0810&quot;</span>, <span class="string">&quot;0908&quot;</span>, <span class="string">&quot;1008&quot;</span>, <span class="string">&quot;1106&quot;</span>, <span class="string">&quot;1206&quot;</span>, <span class="string">&quot;1305&quot;</span>], <span class="comment">//1991</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0204&quot;</span>, <span class="string">&quot;0304&quot;</span>, <span class="string">&quot;0403&quot;</span>, <span class="string">&quot;0503&quot;</span>, <span class="string">&quot;0601&quot;</span>, <span class="string">&quot;0630&quot;</span>, <span class="string">&quot;0730&quot;</span>, <span class="string">&quot;0828&quot;</span>, <span class="string">&quot;0926&quot;</span>, <span class="string">&quot;1026&quot;</span>, <span class="string">&quot;1124&quot;</span>, <span class="string">&quot;1224&quot;</span>], <span class="comment">//1992</span></span><br><span class="line">[<span class="number">3</span>, <span class="string">&quot;0123&quot;</span>, <span class="string">&quot;0221&quot;</span>, <span class="string">&quot;0323&quot;</span>, <span class="string">&quot;0422&quot;</span>, <span class="string">&quot;0521&quot;</span>, <span class="string">&quot;0620&quot;</span>, <span class="string">&quot;0719&quot;</span>, <span class="string">&quot;0818&quot;</span>, <span class="string">&quot;0916&quot;</span>, <span class="string">&quot;1015&quot;</span>, <span class="string">&quot;1114&quot;</span>, <span class="string">&quot;1213&quot;</span>, <span class="string">&quot;1312&quot;</span>], <span class="comment">//1993</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0210&quot;</span>, <span class="string">&quot;0312&quot;</span>, <span class="string">&quot;0411&quot;</span>, <span class="string">&quot;0511&quot;</span>, <span class="string">&quot;0609&quot;</span>, <span class="string">&quot;0709&quot;</span>, <span class="string">&quot;0807&quot;</span>, <span class="string">&quot;0906&quot;</span>, <span class="string">&quot;1005&quot;</span>, <span class="string">&quot;1103&quot;</span>, <span class="string">&quot;1203&quot;</span>, <span class="string">&quot;1301&quot;</span>], <span class="comment">//1994</span></span><br><span class="line">[<span class="number">8</span>, <span class="string">&quot;0131&quot;</span>, <span class="string">&quot;0301&quot;</span>, <span class="string">&quot;0331&quot;</span>, <span class="string">&quot;0430&quot;</span>, <span class="string">&quot;0529&quot;</span>, <span class="string">&quot;0628&quot;</span>, <span class="string">&quot;0727&quot;</span>, <span class="string">&quot;0826&quot;</span>, <span class="string">&quot;0925&quot;</span>, <span class="string">&quot;1024&quot;</span>, <span class="string">&quot;1122&quot;</span>, <span class="string">&quot;1222&quot;</span>, <span class="string">&quot;1320&quot;</span>], <span class="comment">//1995</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0219&quot;</span>, <span class="string">&quot;0319&quot;</span>, <span class="string">&quot;0418&quot;</span>, <span class="string">&quot;0517&quot;</span>, <span class="string">&quot;0616&quot;</span>, <span class="string">&quot;0715&quot;</span>, <span class="string">&quot;0814&quot;</span>, <span class="string">&quot;0912&quot;</span>, <span class="string">&quot;1012&quot;</span>, <span class="string">&quot;1111&quot;</span>, <span class="string">&quot;1211&quot;</span>, <span class="string">&quot;1309&quot;</span>], <span class="comment">//1996</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0207&quot;</span>, <span class="string">&quot;0309&quot;</span>, <span class="string">&quot;0407&quot;</span>, <span class="string">&quot;0507&quot;</span>, <span class="string">&quot;0605&quot;</span>, <span class="string">&quot;0705&quot;</span>, <span class="string">&quot;0803&quot;</span>, <span class="string">&quot;0902&quot;</span>, <span class="string">&quot;1002&quot;</span>, <span class="string">&quot;1031&quot;</span>, <span class="string">&quot;1130&quot;</span>, <span class="string">&quot;1230&quot;</span>], <span class="comment">//1997</span></span><br><span class="line">[<span class="number">5</span>, <span class="string">&quot;0128&quot;</span>, <span class="string">&quot;0227&quot;</span>, <span class="string">&quot;0328&quot;</span>, <span class="string">&quot;0426&quot;</span>, <span class="string">&quot;0526&quot;</span>, <span class="string">&quot;0624&quot;</span>, <span class="string">&quot;0723&quot;</span>, <span class="string">&quot;0822&quot;</span>, <span class="string">&quot;0921&quot;</span>, <span class="string">&quot;1020&quot;</span>, <span class="string">&quot;1119&quot;</span>, <span class="string">&quot;1219&quot;</span>, <span class="string">&quot;1317&quot;</span>], <span class="comment">//1998</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0216&quot;</span>, <span class="string">&quot;0318&quot;</span>, <span class="string">&quot;0416&quot;</span>, <span class="string">&quot;0515&quot;</span>, <span class="string">&quot;0614&quot;</span>, <span class="string">&quot;0713&quot;</span>, <span class="string">&quot;0811&quot;</span>, <span class="string">&quot;0910&quot;</span>, <span class="string">&quot;1009&quot;</span>, <span class="string">&quot;1108&quot;</span>, <span class="string">&quot;1208&quot;</span>, <span class="string">&quot;1307&quot;</span>], <span class="comment">//1999</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0205&quot;</span>, <span class="string">&quot;0306&quot;</span>, <span class="string">&quot;0405&quot;</span>, <span class="string">&quot;0504&quot;</span>, <span class="string">&quot;0602&quot;</span>, <span class="string">&quot;0702&quot;</span>, <span class="string">&quot;0731&quot;</span>, <span class="string">&quot;0829&quot;</span>, <span class="string">&quot;0928&quot;</span>, <span class="string">&quot;1027&quot;</span>, <span class="string">&quot;1126&quot;</span>, <span class="string">&quot;1226&quot;</span>], <span class="comment">//2000</span></span><br><span class="line">[<span class="number">4</span>, <span class="string">&quot;0124&quot;</span>, <span class="string">&quot;0223&quot;</span>, <span class="string">&quot;0325&quot;</span>, <span class="string">&quot;0423&quot;</span>, <span class="string">&quot;0523&quot;</span>, <span class="string">&quot;0621&quot;</span>, <span class="string">&quot;0721&quot;</span>, <span class="string">&quot;0819&quot;</span>, <span class="string">&quot;0917&quot;</span>, <span class="string">&quot;1017&quot;</span>, <span class="string">&quot;1115&quot;</span>, <span class="string">&quot;1215&quot;</span>, <span class="string">&quot;1313&quot;</span>], <span class="comment">//2001</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0212&quot;</span>, <span class="string">&quot;0314&quot;</span>, <span class="string">&quot;0413&quot;</span>, <span class="string">&quot;0512&quot;</span>, <span class="string">&quot;0611&quot;</span>, <span class="string">&quot;0710&quot;</span>, <span class="string">&quot;0809&quot;</span>, <span class="string">&quot;0907&quot;</span>, <span class="string">&quot;1006&quot;</span>, <span class="string">&quot;1105&quot;</span>, <span class="string">&quot;1204&quot;</span>, <span class="string">&quot;1303&quot;</span>], <span class="comment">//2002</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0201&quot;</span>, <span class="string">&quot;0303&quot;</span>, <span class="string">&quot;0402&quot;</span>, <span class="string">&quot;0501&quot;</span>, <span class="string">&quot;0531&quot;</span>, <span class="string">&quot;0630&quot;</span>, <span class="string">&quot;0729&quot;</span>, <span class="string">&quot;0828&quot;</span>, <span class="string">&quot;0926&quot;</span>, <span class="string">&quot;1025&quot;</span>, <span class="string">&quot;1124&quot;</span>, <span class="string">&quot;1223&quot;</span>], <span class="comment">//2003</span></span><br><span class="line">[<span class="number">2</span>, <span class="string">&quot;0122&quot;</span>, <span class="string">&quot;0220&quot;</span>, <span class="string">&quot;0321&quot;</span>, <span class="string">&quot;0419&quot;</span>, <span class="string">&quot;0519&quot;</span>, <span class="string">&quot;0618&quot;</span>, <span class="string">&quot;0717&quot;</span>, <span class="string">&quot;0816&quot;</span>, <span class="string">&quot;0914&quot;</span>, <span class="string">&quot;1014&quot;</span>, <span class="string">&quot;1112&quot;</span>, <span class="string">&quot;1212&quot;</span>, <span class="string">&quot;1310&quot;</span>], <span class="comment">//2004</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0209&quot;</span>, <span class="string">&quot;0310&quot;</span>, <span class="string">&quot;0409&quot;</span>, <span class="string">&quot;0508&quot;</span>, <span class="string">&quot;0607&quot;</span>, <span class="string">&quot;0706&quot;</span>, <span class="string">&quot;0805&quot;</span>, <span class="string">&quot;0904&quot;</span>, <span class="string">&quot;1003&quot;</span>, <span class="string">&quot;1102&quot;</span>, <span class="string">&quot;1201&quot;</span>, <span class="string">&quot;1231&quot;</span>], <span class="comment">//2005</span></span><br><span class="line">[<span class="number">7</span>, <span class="string">&quot;0129&quot;</span>, <span class="string">&quot;0228&quot;</span>, <span class="string">&quot;0329&quot;</span>, <span class="string">&quot;0428&quot;</span>, <span class="string">&quot;0527&quot;</span>, <span class="string">&quot;0626&quot;</span>, <span class="string">&quot;0725&quot;</span>, <span class="string">&quot;0824&quot;</span>, <span class="string">&quot;0922&quot;</span>, <span class="string">&quot;1022&quot;</span>, <span class="string">&quot;1121&quot;</span>, <span class="string">&quot;1220&quot;</span>, <span class="string">&quot;1319&quot;</span>], <span class="comment">//2006</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0218&quot;</span>, <span class="string">&quot;0319&quot;</span>, <span class="string">&quot;0417&quot;</span>, <span class="string">&quot;0517&quot;</span>, <span class="string">&quot;0615&quot;</span>, <span class="string">&quot;0714&quot;</span>, <span class="string">&quot;0813&quot;</span>, <span class="string">&quot;0911&quot;</span>, <span class="string">&quot;1011&quot;</span>, <span class="string">&quot;1110&quot;</span>, <span class="string">&quot;1210&quot;</span>, <span class="string">&quot;1308&quot;</span>], <span class="comment">//2007</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0207&quot;</span>, <span class="string">&quot;0308&quot;</span>, <span class="string">&quot;0406&quot;</span>, <span class="string">&quot;0505&quot;</span>, <span class="string">&quot;0604&quot;</span>, <span class="string">&quot;0703&quot;</span>, <span class="string">&quot;0801&quot;</span>, <span class="string">&quot;0831&quot;</span>, <span class="string">&quot;0929&quot;</span>, <span class="string">&quot;1029&quot;</span>, <span class="string">&quot;1128&quot;</span>, <span class="string">&quot;1227&quot;</span>], <span class="comment">//2008</span></span><br><span class="line">[<span class="number">5</span>, <span class="string">&quot;0126&quot;</span>, <span class="string">&quot;0225&quot;</span>, <span class="string">&quot;0327&quot;</span>, <span class="string">&quot;0425&quot;</span>, <span class="string">&quot;0524&quot;</span>, <span class="string">&quot;0623&quot;</span>, <span class="string">&quot;0722&quot;</span>, <span class="string">&quot;0820&quot;</span>, <span class="string">&quot;0919&quot;</span>, <span class="string">&quot;1018&quot;</span>, <span class="string">&quot;1117&quot;</span>, <span class="string">&quot;1216&quot;</span>, <span class="string">&quot;1315&quot;</span>], <span class="comment">//2009</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0214&quot;</span>, <span class="string">&quot;0316&quot;</span>, <span class="string">&quot;0414&quot;</span>, <span class="string">&quot;0514&quot;</span>, <span class="string">&quot;0612&quot;</span>, <span class="string">&quot;0712&quot;</span>, <span class="string">&quot;0810&quot;</span>, <span class="string">&quot;0908&quot;</span>, <span class="string">&quot;1008&quot;</span>, <span class="string">&quot;1106&quot;</span>, <span class="string">&quot;1206&quot;</span>, <span class="string">&quot;1304&quot;</span>], <span class="comment">//2010</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0203&quot;</span>, <span class="string">&quot;0305&quot;</span>, <span class="string">&quot;0403&quot;</span>, <span class="string">&quot;0503&quot;</span>, <span class="string">&quot;0602&quot;</span>, <span class="string">&quot;0701&quot;</span>, <span class="string">&quot;0731&quot;</span>, <span class="string">&quot;0829&quot;</span>, <span class="string">&quot;0927&quot;</span>, <span class="string">&quot;1027&quot;</span>, <span class="string">&quot;1125&quot;</span>, <span class="string">&quot;1225&quot;</span>], <span class="comment">//2011</span></span><br><span class="line">[<span class="number">4</span>, <span class="string">&quot;0123&quot;</span>, <span class="string">&quot;0222&quot;</span>, <span class="string">&quot;0322&quot;</span>, <span class="string">&quot;0421&quot;</span>, <span class="string">&quot;0521&quot;</span>, <span class="string">&quot;0619&quot;</span>, <span class="string">&quot;0719&quot;</span>, <span class="string">&quot;0817&quot;</span>, <span class="string">&quot;0916&quot;</span>, <span class="string">&quot;1015&quot;</span>, <span class="string">&quot;1114&quot;</span>, <span class="string">&quot;1213&quot;</span>, <span class="string">&quot;1312&quot;</span>], <span class="comment">//2012</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0210&quot;</span>, <span class="string">&quot;0312&quot;</span>, <span class="string">&quot;0410&quot;</span>, <span class="string">&quot;0510&quot;</span>, <span class="string">&quot;0608&quot;</span>, <span class="string">&quot;0708&quot;</span>, <span class="string">&quot;0807&quot;</span>, <span class="string">&quot;0905&quot;</span>, <span class="string">&quot;1005&quot;</span>, <span class="string">&quot;1103&quot;</span>, <span class="string">&quot;1203&quot;</span>, <span class="string">&quot;1301&quot;</span>], <span class="comment">//2013</span></span><br><span class="line">[<span class="number">9</span>, <span class="string">&quot;0131&quot;</span>, <span class="string">&quot;0301&quot;</span>, <span class="string">&quot;0331&quot;</span>, <span class="string">&quot;0429&quot;</span>, <span class="string">&quot;0529&quot;</span>, <span class="string">&quot;0627&quot;</span>, <span class="string">&quot;0727&quot;</span>, <span class="string">&quot;0825&quot;</span>, <span class="string">&quot;0924&quot;</span>, <span class="string">&quot;1024&quot;</span>, <span class="string">&quot;1122&quot;</span>, <span class="string">&quot;1222&quot;</span>, <span class="string">&quot;1320&quot;</span>], <span class="comment">//2014</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0219&quot;</span>, <span class="string">&quot;0320&quot;</span>, <span class="string">&quot;0419&quot;</span>, <span class="string">&quot;0518&quot;</span>, <span class="string">&quot;0616&quot;</span>, <span class="string">&quot;0716&quot;</span>, <span class="string">&quot;0814&quot;</span>, <span class="string">&quot;0913&quot;</span>, <span class="string">&quot;1013&quot;</span>, <span class="string">&quot;1112&quot;</span>, <span class="string">&quot;1211&quot;</span>, <span class="string">&quot;1310&quot;</span>], <span class="comment">//2015</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0208&quot;</span>, <span class="string">&quot;0309&quot;</span>, <span class="string">&quot;0407&quot;</span>, <span class="string">&quot;0507&quot;</span>, <span class="string">&quot;0605&quot;</span>, <span class="string">&quot;0704&quot;</span>, <span class="string">&quot;0803&quot;</span>, <span class="string">&quot;0901&quot;</span>, <span class="string">&quot;1001&quot;</span>, <span class="string">&quot;1031&quot;</span>, <span class="string">&quot;1129&quot;</span>, <span class="string">&quot;1229&quot;</span>], <span class="comment">//2016</span></span><br><span class="line">[<span class="number">6</span>, <span class="string">&quot;0128&quot;</span>, <span class="string">&quot;0226&quot;</span>, <span class="string">&quot;0328&quot;</span>, <span class="string">&quot;0426&quot;</span>, <span class="string">&quot;0526&quot;</span>, <span class="string">&quot;0624&quot;</span>, <span class="string">&quot;0723&quot;</span>, <span class="string">&quot;0822&quot;</span>, <span class="string">&quot;0920&quot;</span>, <span class="string">&quot;1020&quot;</span>, <span class="string">&quot;1118&quot;</span>, <span class="string">&quot;1218&quot;</span>, <span class="string">&quot;1317&quot;</span>], <span class="comment">//2017</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0216&quot;</span>, <span class="string">&quot;0317&quot;</span>, <span class="string">&quot;0416&quot;</span>, <span class="string">&quot;0515&quot;</span>, <span class="string">&quot;0614&quot;</span>, <span class="string">&quot;0713&quot;</span>, <span class="string">&quot;0811&quot;</span>, <span class="string">&quot;0910&quot;</span>, <span class="string">&quot;1009&quot;</span>, <span class="string">&quot;1108&quot;</span>, <span class="string">&quot;1207&quot;</span>, <span class="string">&quot;1306&quot;</span>], <span class="comment">//2018</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0205&quot;</span>, <span class="string">&quot;0307&quot;</span>, <span class="string">&quot;0405&quot;</span>, <span class="string">&quot;0505&quot;</span>, <span class="string">&quot;0603&quot;</span>, <span class="string">&quot;0703&quot;</span>, <span class="string">&quot;0801&quot;</span>, <span class="string">&quot;0830&quot;</span>, <span class="string">&quot;0929&quot;</span>, <span class="string">&quot;1028&quot;</span>, <span class="string">&quot;1126&quot;</span>, <span class="string">&quot;1226&quot;</span>], <span class="comment">//2019</span></span><br><span class="line">[<span class="number">4</span>, <span class="string">&quot;0125&quot;</span>, <span class="string">&quot;0223&quot;</span>, <span class="string">&quot;0324&quot;</span>, <span class="string">&quot;0423&quot;</span>, <span class="string">&quot;0523&quot;</span>, <span class="string">&quot;0621&quot;</span>, <span class="string">&quot;0721&quot;</span>, <span class="string">&quot;0819&quot;</span>, <span class="string">&quot;0917&quot;</span>, <span class="string">&quot;1017&quot;</span>, <span class="string">&quot;1115&quot;</span>, <span class="string">&quot;1215&quot;</span>, <span class="string">&quot;1313&quot;</span>], <span class="comment">//2020</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0212&quot;</span>, <span class="string">&quot;0313&quot;</span>, <span class="string">&quot;0412&quot;</span>, <span class="string">&quot;0512&quot;</span>, <span class="string">&quot;0610&quot;</span>, <span class="string">&quot;0710&quot;</span>, <span class="string">&quot;0808&quot;</span>, <span class="string">&quot;0907&quot;</span>, <span class="string">&quot;1006&quot;</span>, <span class="string">&quot;1105&quot;</span>, <span class="string">&quot;1204&quot;</span>, <span class="string">&quot;1303&quot;</span>], <span class="comment">//2021</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0201&quot;</span>, <span class="string">&quot;0303&quot;</span>, <span class="string">&quot;0401&quot;</span>, <span class="string">&quot;0501&quot;</span>, <span class="string">&quot;0530&quot;</span>, <span class="string">&quot;0629&quot;</span>, <span class="string">&quot;0729&quot;</span>, <span class="string">&quot;0827&quot;</span>, <span class="string">&quot;0926&quot;</span>, <span class="string">&quot;1025&quot;</span>, <span class="string">&quot;1124&quot;</span>, <span class="string">&quot;1223&quot;</span>], <span class="comment">//2022</span></span><br><span class="line">[<span class="number">2</span>, <span class="string">&quot;0122&quot;</span>, <span class="string">&quot;0220&quot;</span>, <span class="string">&quot;0322&quot;</span>, <span class="string">&quot;0420&quot;</span>, <span class="string">&quot;0519&quot;</span>, <span class="string">&quot;0618&quot;</span>, <span class="string">&quot;0718&quot;</span>, <span class="string">&quot;0816&quot;</span>, <span class="string">&quot;0915&quot;</span>, <span class="string">&quot;1015&quot;</span>, <span class="string">&quot;1113&quot;</span>, <span class="string">&quot;1213&quot;</span>, <span class="string">&quot;1311&quot;</span>], <span class="comment">//2023</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0210&quot;</span>, <span class="string">&quot;0310&quot;</span>, <span class="string">&quot;0409&quot;</span>, <span class="string">&quot;0508&quot;</span>, <span class="string">&quot;0606&quot;</span>, <span class="string">&quot;0706&quot;</span>, <span class="string">&quot;0804&quot;</span>, <span class="string">&quot;0903&quot;</span>, <span class="string">&quot;1003&quot;</span>, <span class="string">&quot;1101&quot;</span>, <span class="string">&quot;1201&quot;</span>, <span class="string">&quot;1231&quot;</span>], <span class="comment">//2024</span></span><br><span class="line">[<span class="number">6</span>, <span class="string">&quot;0129&quot;</span>, <span class="string">&quot;0228&quot;</span>, <span class="string">&quot;0329&quot;</span>, <span class="string">&quot;0428&quot;</span>, <span class="string">&quot;0527&quot;</span>, <span class="string">&quot;0625&quot;</span>, <span class="string">&quot;0725&quot;</span>, <span class="string">&quot;0823&quot;</span>, <span class="string">&quot;0922&quot;</span>, <span class="string">&quot;1021&quot;</span>, <span class="string">&quot;1120&quot;</span>, <span class="string">&quot;1220&quot;</span>, <span class="string">&quot;1319&quot;</span>], <span class="comment">//2025</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0217&quot;</span>, <span class="string">&quot;0319&quot;</span>, <span class="string">&quot;0417&quot;</span>, <span class="string">&quot;0517&quot;</span>, <span class="string">&quot;0615&quot;</span>, <span class="string">&quot;0714&quot;</span>, <span class="string">&quot;0813&quot;</span>, <span class="string">&quot;0911&quot;</span>, <span class="string">&quot;1010&quot;</span>, <span class="string">&quot;1109&quot;</span>, <span class="string">&quot;1209&quot;</span>, <span class="string">&quot;1308&quot;</span>], <span class="comment">//2026</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0206&quot;</span>, <span class="string">&quot;0308&quot;</span>, <span class="string">&quot;0407&quot;</span>, <span class="string">&quot;0506&quot;</span>, <span class="string">&quot;0605&quot;</span>, <span class="string">&quot;0704&quot;</span>, <span class="string">&quot;0802&quot;</span>, <span class="string">&quot;0901&quot;</span>, <span class="string">&quot;0930&quot;</span>, <span class="string">&quot;1029&quot;</span>, <span class="string">&quot;1128&quot;</span>, <span class="string">&quot;1228&quot;</span>], <span class="comment">//2027</span></span><br><span class="line">[<span class="number">5</span>, <span class="string">&quot;0126&quot;</span>, <span class="string">&quot;0225&quot;</span>, <span class="string">&quot;0326&quot;</span>, <span class="string">&quot;0425&quot;</span>, <span class="string">&quot;0524&quot;</span>, <span class="string">&quot;0623&quot;</span>, <span class="string">&quot;0722&quot;</span>, <span class="string">&quot;0820&quot;</span>, <span class="string">&quot;0919&quot;</span>, <span class="string">&quot;1018&quot;</span>, <span class="string">&quot;1116&quot;</span>, <span class="string">&quot;1216&quot;</span>, <span class="string">&quot;1315&quot;</span>], <span class="comment">//2028</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0213&quot;</span>, <span class="string">&quot;0315&quot;</span>, <span class="string">&quot;0414&quot;</span>, <span class="string">&quot;0513&quot;</span>, <span class="string">&quot;0612&quot;</span>, <span class="string">&quot;0711&quot;</span>, <span class="string">&quot;0810&quot;</span>, <span class="string">&quot;0908&quot;</span>, <span class="string">&quot;1008&quot;</span>, <span class="string">&quot;1106&quot;</span>, <span class="string">&quot;1205&quot;</span>, <span class="string">&quot;1304&quot;</span>], <span class="comment">//2029</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0203&quot;</span>, <span class="string">&quot;0304&quot;</span>, <span class="string">&quot;0403&quot;</span>, <span class="string">&quot;0502&quot;</span>, <span class="string">&quot;0601&quot;</span>, <span class="string">&quot;0701&quot;</span>, <span class="string">&quot;0730&quot;</span>, <span class="string">&quot;0829&quot;</span>, <span class="string">&quot;0927&quot;</span>, <span class="string">&quot;1027&quot;</span>, <span class="string">&quot;1125&quot;</span>, <span class="string">&quot;1225&quot;</span>], <span class="comment">//2030</span></span><br><span class="line">[<span class="number">3</span>, <span class="string">&quot;0123&quot;</span>, <span class="string">&quot;0221&quot;</span>, <span class="string">&quot;0323&quot;</span>, <span class="string">&quot;0422&quot;</span>, <span class="string">&quot;0521&quot;</span>, <span class="string">&quot;0620&quot;</span>, <span class="string">&quot;0719&quot;</span>, <span class="string">&quot;0818&quot;</span>, <span class="string">&quot;0917&quot;</span>, <span class="string">&quot;1016&quot;</span>, <span class="string">&quot;1115&quot;</span>, <span class="string">&quot;1214&quot;</span>, <span class="string">&quot;1313&quot;</span>], <span class="comment">//2031</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0211&quot;</span>, <span class="string">&quot;0312&quot;</span>, <span class="string">&quot;0410&quot;</span>, <span class="string">&quot;0509&quot;</span>, <span class="string">&quot;0608&quot;</span>, <span class="string">&quot;0707&quot;</span>, <span class="string">&quot;0806&quot;</span>, <span class="string">&quot;0905&quot;</span>, <span class="string">&quot;1004&quot;</span>, <span class="string">&quot;1103&quot;</span>, <span class="string">&quot;1203&quot;</span>, <span class="string">&quot;1301&quot;</span>], <span class="comment">//2032</span></span><br><span class="line">[<span class="number">7</span>, <span class="string">&quot;0131&quot;</span>, <span class="string">&quot;0301&quot;</span>, <span class="string">&quot;0331&quot;</span>, <span class="string">&quot;0429&quot;</span>, <span class="string">&quot;0528&quot;</span>, <span class="string">&quot;0627&quot;</span>, <span class="string">&quot;0726&quot;</span>, <span class="string">&quot;0825&quot;</span>, <span class="string">&quot;0923&quot;</span>, <span class="string">&quot;1023&quot;</span>, <span class="string">&quot;1122&quot;</span>, <span class="string">&quot;1222&quot;</span>, <span class="string">&quot;1320&quot;</span>], <span class="comment">//2033</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0219&quot;</span>, <span class="string">&quot;0320&quot;</span>, <span class="string">&quot;0419&quot;</span>, <span class="string">&quot;0518&quot;</span>, <span class="string">&quot;0616&quot;</span>, <span class="string">&quot;0716&quot;</span>, <span class="string">&quot;0814&quot;</span>, <span class="string">&quot;0913&quot;</span>, <span class="string">&quot;1012&quot;</span>, <span class="string">&quot;1111&quot;</span>, <span class="string">&quot;1211&quot;</span>, <span class="string">&quot;1309&quot;</span>], <span class="comment">//2034</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0208&quot;</span>, <span class="string">&quot;0310&quot;</span>, <span class="string">&quot;0408&quot;</span>, <span class="string">&quot;0508&quot;</span>, <span class="string">&quot;0606&quot;</span>, <span class="string">&quot;0705&quot;</span>, <span class="string">&quot;0804&quot;</span>, <span class="string">&quot;0902&quot;</span>, <span class="string">&quot;1001&quot;</span>, <span class="string">&quot;1031&quot;</span>, <span class="string">&quot;1130&quot;</span>, <span class="string">&quot;1229&quot;</span>], <span class="comment">//2035</span></span><br><span class="line">[<span class="number">6</span>, <span class="string">&quot;0128&quot;</span>, <span class="string">&quot;0227&quot;</span>, <span class="string">&quot;0328&quot;</span>, <span class="string">&quot;0426&quot;</span>, <span class="string">&quot;0526&quot;</span>, <span class="string">&quot;0624&quot;</span>, <span class="string">&quot;0723&quot;</span>, <span class="string">&quot;0822&quot;</span>, <span class="string">&quot;0920&quot;</span>, <span class="string">&quot;1019&quot;</span>, <span class="string">&quot;1118&quot;</span>, <span class="string">&quot;1217&quot;</span>, <span class="string">&quot;1316&quot;</span>], <span class="comment">//2036</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0215&quot;</span>, <span class="string">&quot;0317&quot;</span>, <span class="string">&quot;0416&quot;</span>, <span class="string">&quot;0515&quot;</span>, <span class="string">&quot;0614&quot;</span>, <span class="string">&quot;0713&quot;</span>, <span class="string">&quot;0811&quot;</span>, <span class="string">&quot;0910&quot;</span>, <span class="string">&quot;1009&quot;</span>, <span class="string">&quot;1107&quot;</span>, <span class="string">&quot;1207&quot;</span>, <span class="string">&quot;1305&quot;</span>], <span class="comment">//2037</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0204&quot;</span>, <span class="string">&quot;0306&quot;</span>, <span class="string">&quot;0405&quot;</span>, <span class="string">&quot;0504&quot;</span>, <span class="string">&quot;0603&quot;</span>, <span class="string">&quot;0702&quot;</span>, <span class="string">&quot;0801&quot;</span>, <span class="string">&quot;0830&quot;</span>, <span class="string">&quot;0929&quot;</span>, <span class="string">&quot;1028&quot;</span>, <span class="string">&quot;1126&quot;</span>, <span class="string">&quot;1226&quot;</span>], <span class="comment">//2038</span></span><br><span class="line">[<span class="number">5</span>, <span class="string">&quot;0124&quot;</span>, <span class="string">&quot;0223&quot;</span>, <span class="string">&quot;0325&quot;</span>, <span class="string">&quot;0423&quot;</span>, <span class="string">&quot;0523&quot;</span>, <span class="string">&quot;0622&quot;</span>, <span class="string">&quot;0721&quot;</span>, <span class="string">&quot;0820&quot;</span>, <span class="string">&quot;0918&quot;</span>, <span class="string">&quot;1018&quot;</span>, <span class="string">&quot;1116&quot;</span>, <span class="string">&quot;1216&quot;</span>, <span class="string">&quot;1314&quot;</span>], <span class="comment">//2039</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0212&quot;</span>, <span class="string">&quot;0313&quot;</span>, <span class="string">&quot;0411&quot;</span>, <span class="string">&quot;0511&quot;</span>, <span class="string">&quot;0610&quot;</span>, <span class="string">&quot;0709&quot;</span>, <span class="string">&quot;0808&quot;</span>, <span class="string">&quot;0906&quot;</span>, <span class="string">&quot;1006&quot;</span>, <span class="string">&quot;1105&quot;</span>, <span class="string">&quot;1204&quot;</span>, <span class="string">&quot;1303&quot;</span>], <span class="comment">//2040</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0201&quot;</span>, <span class="string">&quot;0302&quot;</span>, <span class="string">&quot;0401&quot;</span>, <span class="string">&quot;0430&quot;</span>, <span class="string">&quot;0530&quot;</span>, <span class="string">&quot;0628&quot;</span>, <span class="string">&quot;0728&quot;</span>, <span class="string">&quot;0827&quot;</span>, <span class="string">&quot;0925&quot;</span>, <span class="string">&quot;1025&quot;</span>, <span class="string">&quot;1124&quot;</span>, <span class="string">&quot;1223&quot;</span>], <span class="comment">//2041</span></span><br><span class="line">[<span class="number">2</span>, <span class="string">&quot;0122&quot;</span>, <span class="string">&quot;0220&quot;</span>, <span class="string">&quot;0322&quot;</span>, <span class="string">&quot;0420&quot;</span>, <span class="string">&quot;0519&quot;</span>, <span class="string">&quot;0618&quot;</span>, <span class="string">&quot;0717&quot;</span>, <span class="string">&quot;0816&quot;</span>, <span class="string">&quot;0914&quot;</span>, <span class="string">&quot;1014&quot;</span>, <span class="string">&quot;1113&quot;</span>, <span class="string">&quot;1212&quot;</span>, <span class="string">&quot;1311&quot;</span>], <span class="comment">//2042</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0210&quot;</span>, <span class="string">&quot;0311&quot;</span>, <span class="string">&quot;0410&quot;</span>, <span class="string">&quot;0509&quot;</span>, <span class="string">&quot;0607&quot;</span>, <span class="string">&quot;0707&quot;</span>, <span class="string">&quot;0805&quot;</span>, <span class="string">&quot;0903&quot;</span>, <span class="string">&quot;1003&quot;</span>, <span class="string">&quot;1102&quot;</span>, <span class="string">&quot;1201&quot;</span>, <span class="string">&quot;1231&quot;</span>], <span class="comment">//2043</span></span><br><span class="line">[<span class="number">7</span>, <span class="string">&quot;0130&quot;</span>, <span class="string">&quot;0229&quot;</span>, <span class="string">&quot;0329&quot;</span>, <span class="string">&quot;0428&quot;</span>, <span class="string">&quot;0527&quot;</span>, <span class="string">&quot;0625&quot;</span>, <span class="string">&quot;0725&quot;</span>, <span class="string">&quot;0823&quot;</span>, <span class="string">&quot;0921&quot;</span>, <span class="string">&quot;1021&quot;</span>, <span class="string">&quot;1119&quot;</span>, <span class="string">&quot;1219&quot;</span>, <span class="string">&quot;1318&quot;</span>], <span class="comment">//2044</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0217&quot;</span>, <span class="string">&quot;0319&quot;</span>, <span class="string">&quot;0417&quot;</span>, <span class="string">&quot;0517&quot;</span>, <span class="string">&quot;0615&quot;</span>, <span class="string">&quot;0714&quot;</span>, <span class="string">&quot;0813&quot;</span>, <span class="string">&quot;0911&quot;</span>, <span class="string">&quot;1010&quot;</span>, <span class="string">&quot;1109&quot;</span>, <span class="string">&quot;1208&quot;</span>, <span class="string">&quot;1307&quot;</span>], <span class="comment">//2045</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0206&quot;</span>, <span class="string">&quot;0308&quot;</span>, <span class="string">&quot;0406&quot;</span>, <span class="string">&quot;0506&quot;</span>, <span class="string">&quot;0604&quot;</span>, <span class="string">&quot;0704&quot;</span>, <span class="string">&quot;0802&quot;</span>, <span class="string">&quot;0901&quot;</span>, <span class="string">&quot;0930&quot;</span>, <span class="string">&quot;1029&quot;</span>, <span class="string">&quot;1128&quot;</span>, <span class="string">&quot;1227&quot;</span>], <span class="comment">//2046</span></span><br><span class="line">[<span class="number">5</span>, <span class="string">&quot;0126&quot;</span>, <span class="string">&quot;0225&quot;</span>, <span class="string">&quot;0326&quot;</span>, <span class="string">&quot;0425&quot;</span>, <span class="string">&quot;0525&quot;</span>, <span class="string">&quot;0623&quot;</span>, <span class="string">&quot;0723&quot;</span>, <span class="string">&quot;0821&quot;</span>, <span class="string">&quot;0920&quot;</span>, <span class="string">&quot;1019&quot;</span>, <span class="string">&quot;1117&quot;</span>, <span class="string">&quot;1217&quot;</span>, <span class="string">&quot;1315&quot;</span>], <span class="comment">//2047</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0214&quot;</span>, <span class="string">&quot;0314&quot;</span>, <span class="string">&quot;0413&quot;</span>, <span class="string">&quot;0513&quot;</span>, <span class="string">&quot;0611&quot;</span>, <span class="string">&quot;0711&quot;</span>, <span class="string">&quot;0810&quot;</span>, <span class="string">&quot;0908&quot;</span>, <span class="string">&quot;1008&quot;</span>, <span class="string">&quot;1106&quot;</span>, <span class="string">&quot;1205&quot;</span>, <span class="string">&quot;1304&quot;</span>], <span class="comment">//2048</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0202&quot;</span>, <span class="string">&quot;0304&quot;</span>, <span class="string">&quot;0402&quot;</span>, <span class="string">&quot;0502&quot;</span>, <span class="string">&quot;0531&quot;</span>, <span class="string">&quot;0630&quot;</span>, <span class="string">&quot;0730&quot;</span>, <span class="string">&quot;0828&quot;</span>, <span class="string">&quot;0927&quot;</span>, <span class="string">&quot;1027&quot;</span>, <span class="string">&quot;1125&quot;</span>, <span class="string">&quot;1225&quot;</span>], <span class="comment">//2049</span></span><br><span class="line">[<span class="number">3</span>, <span class="string">&quot;0123&quot;</span>, <span class="string">&quot;0221&quot;</span>, <span class="string">&quot;0323&quot;</span>, <span class="string">&quot;0421&quot;</span>, <span class="string">&quot;0521&quot;</span>, <span class="string">&quot;0619&quot;</span>, <span class="string">&quot;0719&quot;</span>, <span class="string">&quot;0817&quot;</span>, <span class="string">&quot;0916&quot;</span>, <span class="string">&quot;1016&quot;</span>, <span class="string">&quot;1114&quot;</span>, <span class="string">&quot;1214&quot;</span>, <span class="string">&quot;1313&quot;</span>], <span class="comment">//2050</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0211&quot;</span>, <span class="string">&quot;0313&quot;</span>, <span class="string">&quot;0411&quot;</span>, <span class="string">&quot;0510&quot;</span>, <span class="string">&quot;0609&quot;</span>, <span class="string">&quot;0708&quot;</span>, <span class="string">&quot;0806&quot;</span>, <span class="string">&quot;0905&quot;</span>, <span class="string">&quot;1005&quot;</span>, <span class="string">&quot;1103&quot;</span>, <span class="string">&quot;1203&quot;</span>, <span class="string">&quot;1302&quot;</span>], <span class="comment">//2051</span></span><br><span class="line">[<span class="number">8</span>, <span class="string">&quot;0201&quot;</span>, <span class="string">&quot;0301&quot;</span>, <span class="string">&quot;0331&quot;</span>, <span class="string">&quot;0429&quot;</span>, <span class="string">&quot;0528&quot;</span>, <span class="string">&quot;0627&quot;</span>, <span class="string">&quot;0726&quot;</span>, <span class="string">&quot;0824&quot;</span>, <span class="string">&quot;0923&quot;</span>, <span class="string">&quot;1022&quot;</span>, <span class="string">&quot;1121&quot;</span>, <span class="string">&quot;1221&quot;</span>, <span class="string">&quot;1320&quot;</span>], <span class="comment">//2052</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0219&quot;</span>, <span class="string">&quot;0320&quot;</span>, <span class="string">&quot;0419&quot;</span>, <span class="string">&quot;0518&quot;</span>, <span class="string">&quot;0616&quot;</span>, <span class="string">&quot;0716&quot;</span>, <span class="string">&quot;0814&quot;</span>, <span class="string">&quot;0912&quot;</span>, <span class="string">&quot;1012&quot;</span>, <span class="string">&quot;1110&quot;</span>, <span class="string">&quot;1210&quot;</span>, <span class="string">&quot;1309&quot;</span>], <span class="comment">//2053</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0208&quot;</span>, <span class="string">&quot;0309&quot;</span>, <span class="string">&quot;0408&quot;</span>, <span class="string">&quot;0508&quot;</span>, <span class="string">&quot;0606&quot;</span>, <span class="string">&quot;0705&quot;</span>, <span class="string">&quot;0804&quot;</span>, <span class="string">&quot;0902&quot;</span>, <span class="string">&quot;1001&quot;</span>, <span class="string">&quot;1031&quot;</span>, <span class="string">&quot;1129&quot;</span>, <span class="string">&quot;1229&quot;</span>], <span class="comment">//2054</span></span><br><span class="line">[<span class="number">6</span>, <span class="string">&quot;0128&quot;</span>, <span class="string">&quot;0226&quot;</span>, <span class="string">&quot;0328&quot;</span>, <span class="string">&quot;0427&quot;</span>, <span class="string">&quot;0526&quot;</span>, <span class="string">&quot;0625&quot;</span>, <span class="string">&quot;0724&quot;</span>, <span class="string">&quot;0823&quot;</span>, <span class="string">&quot;0921&quot;</span>, <span class="string">&quot;1020&quot;</span>, <span class="string">&quot;1119&quot;</span>, <span class="string">&quot;1218&quot;</span>, <span class="string">&quot;1317&quot;</span>], <span class="comment">//2055</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0215&quot;</span>, <span class="string">&quot;0316&quot;</span>, <span class="string">&quot;0415&quot;</span>, <span class="string">&quot;0515&quot;</span>, <span class="string">&quot;0613&quot;</span>, <span class="string">&quot;0713&quot;</span>, <span class="string">&quot;0811&quot;</span>, <span class="string">&quot;0910&quot;</span>, <span class="string">&quot;1009&quot;</span>, <span class="string">&quot;1107&quot;</span>, <span class="string">&quot;1207&quot;</span>, <span class="string">&quot;1305&quot;</span>], <span class="comment">//2056</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0204&quot;</span>, <span class="string">&quot;0305&quot;</span>, <span class="string">&quot;0404&quot;</span>, <span class="string">&quot;0504&quot;</span>, <span class="string">&quot;0602&quot;</span>, <span class="string">&quot;0702&quot;</span>, <span class="string">&quot;0731&quot;</span>, <span class="string">&quot;0830&quot;</span>, <span class="string">&quot;0929&quot;</span>, <span class="string">&quot;1028&quot;</span>, <span class="string">&quot;1126&quot;</span>, <span class="string">&quot;1226&quot;</span>], <span class="comment">//2057</span></span><br><span class="line">[<span class="number">4</span>, <span class="string">&quot;0124&quot;</span>, <span class="string">&quot;0223&quot;</span>, <span class="string">&quot;0324&quot;</span>, <span class="string">&quot;0423&quot;</span>, <span class="string">&quot;0522&quot;</span>, <span class="string">&quot;0621&quot;</span>, <span class="string">&quot;0720&quot;</span>, <span class="string">&quot;0819&quot;</span>, <span class="string">&quot;0918&quot;</span>, <span class="string">&quot;1017&quot;</span>, <span class="string">&quot;1116&quot;</span>, <span class="string">&quot;1216&quot;</span>, <span class="string">&quot;1314&quot;</span>], <span class="comment">//2058</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0212&quot;</span>, <span class="string">&quot;0314&quot;</span>, <span class="string">&quot;0412&quot;</span>, <span class="string">&quot;0512&quot;</span>, <span class="string">&quot;0610&quot;</span>, <span class="string">&quot;0710&quot;</span>, <span class="string">&quot;0808&quot;</span>, <span class="string">&quot;0907&quot;</span>, <span class="string">&quot;1006&quot;</span>, <span class="string">&quot;1105&quot;</span>, <span class="string">&quot;1205&quot;</span>, <span class="string">&quot;1304&quot;</span>], <span class="comment">//2059</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0202&quot;</span>, <span class="string">&quot;0303&quot;</span>, <span class="string">&quot;0401&quot;</span>, <span class="string">&quot;0501&quot;</span>, <span class="string">&quot;0530&quot;</span>, <span class="string">&quot;0628&quot;</span>, <span class="string">&quot;0727&quot;</span>, <span class="string">&quot;0826&quot;</span>, <span class="string">&quot;0924&quot;</span>, <span class="string">&quot;1024&quot;</span>, <span class="string">&quot;1123&quot;</span>, <span class="string">&quot;1223&quot;</span>], <span class="comment">//2060</span></span><br><span class="line">[<span class="number">3</span>, <span class="string">&quot;0121&quot;</span>, <span class="string">&quot;0220&quot;</span>, <span class="string">&quot;0322&quot;</span>, <span class="string">&quot;0420&quot;</span>, <span class="string">&quot;0519&quot;</span>, <span class="string">&quot;0618&quot;</span>, <span class="string">&quot;0717&quot;</span>, <span class="string">&quot;0815&quot;</span>, <span class="string">&quot;0914&quot;</span>, <span class="string">&quot;1013&quot;</span>, <span class="string">&quot;1112&quot;</span>, <span class="string">&quot;1212&quot;</span>, <span class="string">&quot;1311&quot;</span>], <span class="comment">//2061</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0209&quot;</span>, <span class="string">&quot;0311&quot;</span>, <span class="string">&quot;0410&quot;</span>, <span class="string">&quot;0509&quot;</span>, <span class="string">&quot;0607&quot;</span>, <span class="string">&quot;0707&quot;</span>, <span class="string">&quot;0805&quot;</span>, <span class="string">&quot;0903&quot;</span>, <span class="string">&quot;1003&quot;</span>, <span class="string">&quot;1101&quot;</span>, <span class="string">&quot;1201&quot;</span>, <span class="string">&quot;1231&quot;</span>], <span class="comment">//2062</span></span><br><span class="line">[<span class="number">7</span>, <span class="string">&quot;0129&quot;</span>, <span class="string">&quot;0228&quot;</span>, <span class="string">&quot;0330&quot;</span>, <span class="string">&quot;0428&quot;</span>, <span class="string">&quot;0528&quot;</span>, <span class="string">&quot;0626&quot;</span>, <span class="string">&quot;0726&quot;</span>, <span class="string">&quot;0824&quot;</span>, <span class="string">&quot;0922&quot;</span>, <span class="string">&quot;1022&quot;</span>, <span class="string">&quot;1120&quot;</span>, <span class="string">&quot;1220&quot;</span>, <span class="string">&quot;1318&quot;</span>], <span class="comment">//2063</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0217&quot;</span>, <span class="string">&quot;0318&quot;</span>, <span class="string">&quot;0417&quot;</span>, <span class="string">&quot;0516&quot;</span>, <span class="string">&quot;0615&quot;</span>, <span class="string">&quot;0714&quot;</span>, <span class="string">&quot;0813&quot;</span>, <span class="string">&quot;0911&quot;</span>, <span class="string">&quot;1010&quot;</span>, <span class="string">&quot;1109&quot;</span>, <span class="string">&quot;1208&quot;</span>, <span class="string">&quot;1307&quot;</span>], <span class="comment">//2064</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0205&quot;</span>, <span class="string">&quot;0307&quot;</span>, <span class="string">&quot;0406&quot;</span>, <span class="string">&quot;0505&quot;</span>, <span class="string">&quot;0604&quot;</span>, <span class="string">&quot;0704&quot;</span>, <span class="string">&quot;0802&quot;</span>, <span class="string">&quot;0901&quot;</span>, <span class="string">&quot;0930&quot;</span>, <span class="string">&quot;1029&quot;</span>, <span class="string">&quot;1128&quot;</span>, <span class="string">&quot;1227&quot;</span>], <span class="comment">//2065</span></span><br><span class="line">[<span class="number">5</span>, <span class="string">&quot;0126&quot;</span>, <span class="string">&quot;0224&quot;</span>, <span class="string">&quot;0326&quot;</span>, <span class="string">&quot;0424&quot;</span>, <span class="string">&quot;0524&quot;</span>, <span class="string">&quot;0623&quot;</span>, <span class="string">&quot;0722&quot;</span>, <span class="string">&quot;0821&quot;</span>, <span class="string">&quot;0919&quot;</span>, <span class="string">&quot;1019&quot;</span>, <span class="string">&quot;1117&quot;</span>, <span class="string">&quot;1217&quot;</span>, <span class="string">&quot;1315&quot;</span>], <span class="comment">//2066</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0214&quot;</span>, <span class="string">&quot;0315&quot;</span>, <span class="string">&quot;0414&quot;</span>, <span class="string">&quot;0513&quot;</span>, <span class="string">&quot;0612&quot;</span>, <span class="string">&quot;0711&quot;</span>, <span class="string">&quot;0810&quot;</span>, <span class="string">&quot;0909&quot;</span>, <span class="string">&quot;1008&quot;</span>, <span class="string">&quot;1107&quot;</span>, <span class="string">&quot;1206&quot;</span>, <span class="string">&quot;1305&quot;</span>], <span class="comment">//2067</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0203&quot;</span>, <span class="string">&quot;0304&quot;</span>, <span class="string">&quot;0402&quot;</span>, <span class="string">&quot;0502&quot;</span>, <span class="string">&quot;0531&quot;</span>, <span class="string">&quot;0629&quot;</span>, <span class="string">&quot;0729&quot;</span>, <span class="string">&quot;0828&quot;</span>, <span class="string">&quot;0926&quot;</span>, <span class="string">&quot;1026&quot;</span>, <span class="string">&quot;1125&quot;</span>, <span class="string">&quot;1224&quot;</span>], <span class="comment">//2068</span></span><br><span class="line">[<span class="number">4</span>, <span class="string">&quot;0123&quot;</span>, <span class="string">&quot;0221&quot;</span>, <span class="string">&quot;0323&quot;</span>, <span class="string">&quot;0421&quot;</span>, <span class="string">&quot;0521&quot;</span>, <span class="string">&quot;0619&quot;</span>, <span class="string">&quot;0718&quot;</span>, <span class="string">&quot;0817&quot;</span>, <span class="string">&quot;0915&quot;</span>, <span class="string">&quot;1015&quot;</span>, <span class="string">&quot;1114&quot;</span>, <span class="string">&quot;1214&quot;</span>, <span class="string">&quot;1312&quot;</span>], <span class="comment">//2069</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0211&quot;</span>, <span class="string">&quot;0312&quot;</span>, <span class="string">&quot;0411&quot;</span>, <span class="string">&quot;0510&quot;</span>, <span class="string">&quot;0609&quot;</span>, <span class="string">&quot;0708&quot;</span>, <span class="string">&quot;0806&quot;</span>, <span class="string">&quot;0905&quot;</span>, <span class="string">&quot;1004&quot;</span>, <span class="string">&quot;1103&quot;</span>, <span class="string">&quot;1203&quot;</span>, <span class="string">&quot;1301&quot;</span>], <span class="comment">//2070</span></span><br><span class="line">[<span class="number">8</span>, <span class="string">&quot;0131&quot;</span>, <span class="string">&quot;0302&quot;</span>, <span class="string">&quot;0331&quot;</span>, <span class="string">&quot;0430&quot;</span>, <span class="string">&quot;0529&quot;</span>, <span class="string">&quot;0628&quot;</span>, <span class="string">&quot;0727&quot;</span>, <span class="string">&quot;0825&quot;</span>, <span class="string">&quot;0924&quot;</span>, <span class="string">&quot;1023&quot;</span>, <span class="string">&quot;1122&quot;</span>, <span class="string">&quot;1221&quot;</span>, <span class="string">&quot;1320&quot;</span>], <span class="comment">//2071</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0219&quot;</span>, <span class="string">&quot;0320&quot;</span>, <span class="string">&quot;0418&quot;</span>, <span class="string">&quot;0518&quot;</span>, <span class="string">&quot;0616&quot;</span>, <span class="string">&quot;0716&quot;</span>, <span class="string">&quot;0814&quot;</span>, <span class="string">&quot;0912&quot;</span>, <span class="string">&quot;1012&quot;</span>, <span class="string">&quot;1110&quot;</span>, <span class="string">&quot;1210&quot;</span>, <span class="string">&quot;1308&quot;</span>], <span class="comment">//2072</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0207&quot;</span>, <span class="string">&quot;0309&quot;</span>, <span class="string">&quot;0407&quot;</span>, <span class="string">&quot;0507&quot;</span>, <span class="string">&quot;0605&quot;</span>, <span class="string">&quot;0704&quot;</span>, <span class="string">&quot;0803&quot;</span>, <span class="string">&quot;0901&quot;</span>, <span class="string">&quot;0930&quot;</span>, <span class="string">&quot;1030&quot;</span>, <span class="string">&quot;1128&quot;</span>, <span class="string">&quot;1228&quot;</span>], <span class="comment">//2073</span></span><br><span class="line">[<span class="number">6</span>, <span class="string">&quot;0126&quot;</span>, <span class="string">&quot;0225&quot;</span>, <span class="string">&quot;0326&quot;</span>, <span class="string">&quot;0425&quot;</span>, <span class="string">&quot;0525&quot;</span>, <span class="string">&quot;0623&quot;</span>, <span class="string">&quot;0723&quot;</span>, <span class="string">&quot;0821&quot;</span>, <span class="string">&quot;0920&quot;</span>, <span class="string">&quot;1019&quot;</span>, <span class="string">&quot;1118&quot;</span>, <span class="string">&quot;1217&quot;</span>, <span class="string">&quot;1316&quot;</span>], <span class="comment">//2074</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0214&quot;</span>, <span class="string">&quot;0316&quot;</span>, <span class="string">&quot;0414&quot;</span>, <span class="string">&quot;0514&quot;</span>, <span class="string">&quot;0612&quot;</span>, <span class="string">&quot;0712&quot;</span>, <span class="string">&quot;0811&quot;</span>, <span class="string">&quot;0909&quot;</span>, <span class="string">&quot;1009&quot;</span>, <span class="string">&quot;1107&quot;</span>, <span class="string">&quot;1207&quot;</span>, <span class="string">&quot;1305&quot;</span>], <span class="comment">//2075</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0204&quot;</span>, <span class="string">&quot;0304&quot;</span>, <span class="string">&quot;0403&quot;</span>, <span class="string">&quot;0502&quot;</span>, <span class="string">&quot;0601&quot;</span>, <span class="string">&quot;0630&quot;</span>, <span class="string">&quot;0730&quot;</span>, <span class="string">&quot;0828&quot;</span>, <span class="string">&quot;0927&quot;</span>, <span class="string">&quot;1027&quot;</span>, <span class="string">&quot;1125&quot;</span>, <span class="string">&quot;1225&quot;</span>], <span class="comment">//2076</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0123&quot;</span>, <span class="string">&quot;0222&quot;</span>, <span class="string">&quot;0323&quot;</span>, <span class="string">&quot;0422&quot;</span>, <span class="string">&quot;0521&quot;</span>, <span class="string">&quot;0620&quot;</span>, <span class="string">&quot;0719&quot;</span>, <span class="string">&quot;0818&quot;</span>, <span class="string">&quot;0917&quot;</span>, <span class="string">&quot;1017&quot;</span>, <span class="string">&quot;1115&quot;</span>, <span class="string">&quot;1215&quot;</span>], <span class="comment">//2077</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0113&quot;</span>, <span class="string">&quot;0212&quot;</span>, <span class="string">&quot;0313&quot;</span>, <span class="string">&quot;0412&quot;</span>, <span class="string">&quot;0511&quot;</span>, <span class="string">&quot;0609&quot;</span>, <span class="string">&quot;0709&quot;</span>, <span class="string">&quot;0807&quot;</span>, <span class="string">&quot;0906&quot;</span>, <span class="string">&quot;1006&quot;</span>, <span class="string">&quot;1104&quot;</span>, <span class="string">&quot;1204&quot;</span>], <span class="comment">//2078</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0103&quot;</span>, <span class="string">&quot;0201&quot;</span>, <span class="string">&quot;0303&quot;</span>, <span class="string">&quot;0401&quot;</span>, <span class="string">&quot;0501&quot;</span>, <span class="string">&quot;0530&quot;</span>, <span class="string">&quot;0628&quot;</span>, <span class="string">&quot;0728&quot;</span>, <span class="string">&quot;0826&quot;</span>, <span class="string">&quot;0925&quot;</span>, <span class="string">&quot;1024&quot;</span>, <span class="string">&quot;1123&quot;</span>], <span class="comment">//2079</span></span><br><span class="line">[<span class="number">3</span>, <span class="string">&quot;1223&quot;</span>, <span class="string">&quot;0122&quot;</span>, <span class="string">&quot;0220&quot;</span>, <span class="string">&quot;0321&quot;</span>, <span class="string">&quot;0419&quot;</span>, <span class="string">&quot;0519&quot;</span>, <span class="string">&quot;0617&quot;</span>, <span class="string">&quot;0716&quot;</span>, <span class="string">&quot;0815&quot;</span>, <span class="string">&quot;0913&quot;</span>, <span class="string">&quot;1012&quot;</span>, <span class="string">&quot;1111&quot;</span>, <span class="string">&quot;1211&quot;</span>], <span class="comment">//2080</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0110&quot;</span>, <span class="string">&quot;0208&quot;</span>, <span class="string">&quot;0310&quot;</span>, <span class="string">&quot;0409&quot;</span>, <span class="string">&quot;0508&quot;</span>, <span class="string">&quot;0607&quot;</span>, <span class="string">&quot;0706&quot;</span>, <span class="string">&quot;0804&quot;</span>, <span class="string">&quot;0903&quot;</span>, <span class="string">&quot;1002&quot;</span>, <span class="string">&quot;1031&quot;</span>, <span class="string">&quot;1130&quot;</span>], <span class="comment">//2081</span></span><br><span class="line">[<span class="number">7</span>, <span class="string">&quot;1230&quot;</span>, <span class="string">&quot;0128&quot;</span>, <span class="string">&quot;0227&quot;</span>, <span class="string">&quot;0329&quot;</span>, <span class="string">&quot;0428&quot;</span>, <span class="string">&quot;0527&quot;</span>, <span class="string">&quot;0625&quot;</span>, <span class="string">&quot;0725&quot;</span>, <span class="string">&quot;0823&quot;</span>, <span class="string">&quot;0922&quot;</span>, <span class="string">&quot;1021&quot;</span>, <span class="string">&quot;1119&quot;</span>, <span class="string">&quot;1219&quot;</span>], <span class="comment">//2082</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0118&quot;</span>, <span class="string">&quot;0216&quot;</span>, <span class="string">&quot;0318&quot;</span>, <span class="string">&quot;0417&quot;</span>, <span class="string">&quot;0516&quot;</span>, <span class="string">&quot;0615&quot;</span>, <span class="string">&quot;0714&quot;</span>, <span class="string">&quot;0813&quot;</span>, <span class="string">&quot;0911&quot;</span>, <span class="string">&quot;1011&quot;</span>, <span class="string">&quot;1109&quot;</span>, <span class="string">&quot;1209&quot;</span>], <span class="comment">//2083</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0107&quot;</span>, <span class="string">&quot;0206&quot;</span>, <span class="string">&quot;0306&quot;</span>, <span class="string">&quot;0405&quot;</span>, <span class="string">&quot;0504&quot;</span>, <span class="string">&quot;0603&quot;</span>, <span class="string">&quot;0703&quot;</span>, <span class="string">&quot;0801&quot;</span>, <span class="string">&quot;0831&quot;</span>, <span class="string">&quot;0929&quot;</span>, <span class="string">&quot;1029&quot;</span>, <span class="string">&quot;1127&quot;</span>], <span class="comment">//2084</span></span><br><span class="line">[<span class="number">5</span>, <span class="string">&quot;1227&quot;</span>, <span class="string">&quot;0125&quot;</span>, <span class="string">&quot;0224&quot;</span>, <span class="string">&quot;0325&quot;</span>, <span class="string">&quot;0423&quot;</span>, <span class="string">&quot;0523&quot;</span>, <span class="string">&quot;0622&quot;</span>, <span class="string">&quot;0721&quot;</span>, <span class="string">&quot;0820&quot;</span>, <span class="string">&quot;0919&quot;</span>, <span class="string">&quot;1018&quot;</span>, <span class="string">&quot;1117&quot;</span>, <span class="string">&quot;1216&quot;</span>], <span class="comment">//2085</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0115&quot;</span>, <span class="string">&quot;0213&quot;</span>, <span class="string">&quot;0315&quot;</span>, <span class="string">&quot;0413&quot;</span>, <span class="string">&quot;0512&quot;</span>, <span class="string">&quot;0611&quot;</span>, <span class="string">&quot;0710&quot;</span>, <span class="string">&quot;0809&quot;</span>, <span class="string">&quot;0908&quot;</span>, <span class="string">&quot;1007&quot;</span>, <span class="string">&quot;1106&quot;</span>, <span class="string">&quot;1206&quot;</span>], <span class="comment">//2086</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0104&quot;</span>, <span class="string">&quot;0203&quot;</span>, <span class="string">&quot;0304&quot;</span>, <span class="string">&quot;0403&quot;</span>, <span class="string">&quot;0502&quot;</span>, <span class="string">&quot;0531&quot;</span>, <span class="string">&quot;0630&quot;</span>, <span class="string">&quot;0729&quot;</span>, <span class="string">&quot;0828&quot;</span>, <span class="string">&quot;0926&quot;</span>, <span class="string">&quot;1026&quot;</span>, <span class="string">&quot;1125&quot;</span>], <span class="comment">//2087</span></span><br><span class="line">[<span class="number">4</span>, <span class="string">&quot;1225&quot;</span>, <span class="string">&quot;0123&quot;</span>, <span class="string">&quot;0222&quot;</span>, <span class="string">&quot;0322&quot;</span>, <span class="string">&quot;0421&quot;</span>, <span class="string">&quot;0520&quot;</span>, <span class="string">&quot;0618&quot;</span>, <span class="string">&quot;0718&quot;</span>, <span class="string">&quot;0816&quot;</span>, <span class="string">&quot;0914&quot;</span>, <span class="string">&quot;1014&quot;</span>, <span class="string">&quot;1113&quot;</span>, <span class="string">&quot;1213&quot;</span>], <span class="comment">//2088</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0111&quot;</span>, <span class="string">&quot;0210&quot;</span>, <span class="string">&quot;0312&quot;</span>, <span class="string">&quot;0410&quot;</span>, <span class="string">&quot;0510&quot;</span>, <span class="string">&quot;0608&quot;</span>, <span class="string">&quot;0707&quot;</span>, <span class="string">&quot;0806&quot;</span>, <span class="string">&quot;0904&quot;</span>, <span class="string">&quot;1003&quot;</span>, <span class="string">&quot;1102&quot;</span>, <span class="string">&quot;1202&quot;</span>], <span class="comment">//2089</span></span><br><span class="line">[<span class="number">8</span>, <span class="string">&quot;1231&quot;</span>, <span class="string">&quot;0130&quot;</span>, <span class="string">&quot;0301&quot;</span>, <span class="string">&quot;0331&quot;</span>, <span class="string">&quot;0429&quot;</span>, <span class="string">&quot;0529&quot;</span>, <span class="string">&quot;0627&quot;</span>, <span class="string">&quot;0726&quot;</span>, <span class="string">&quot;0825&quot;</span>, <span class="string">&quot;0923&quot;</span>, <span class="string">&quot;1022&quot;</span>, <span class="string">&quot;1121&quot;</span>, <span class="string">&quot;1221&quot;</span>], <span class="comment">//2090</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0119&quot;</span>, <span class="string">&quot;0218&quot;</span>, <span class="string">&quot;0320&quot;</span>, <span class="string">&quot;0418&quot;</span>, <span class="string">&quot;0518&quot;</span>, <span class="string">&quot;0616&quot;</span>, <span class="string">&quot;0716&quot;</span>, <span class="string">&quot;0814&quot;</span>, <span class="string">&quot;0913&quot;</span>, <span class="string">&quot;1012&quot;</span>, <span class="string">&quot;1110&quot;</span>, <span class="string">&quot;1210&quot;</span>], <span class="comment">//2091</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0108&quot;</span>, <span class="string">&quot;0207&quot;</span>, <span class="string">&quot;0308&quot;</span>, <span class="string">&quot;0406&quot;</span>, <span class="string">&quot;0506&quot;</span>, <span class="string">&quot;0605&quot;</span>, <span class="string">&quot;0704&quot;</span>, <span class="string">&quot;0803&quot;</span>, <span class="string">&quot;0901&quot;</span>, <span class="string">&quot;1001&quot;</span>, <span class="string">&quot;1030&quot;</span>, <span class="string">&quot;1129&quot;</span>], <span class="comment">//2092</span></span><br><span class="line">[<span class="number">6</span>, <span class="string">&quot;1228&quot;</span>, <span class="string">&quot;0126&quot;</span>, <span class="string">&quot;0225&quot;</span>, <span class="string">&quot;0327&quot;</span>, <span class="string">&quot;0425&quot;</span>, <span class="string">&quot;0525&quot;</span>, <span class="string">&quot;0623&quot;</span>, <span class="string">&quot;0723&quot;</span>, <span class="string">&quot;0822&quot;</span>, <span class="string">&quot;0920&quot;</span>, <span class="string">&quot;1020&quot;</span>, <span class="string">&quot;1118&quot;</span>, <span class="string">&quot;1218&quot;</span>], <span class="comment">//2093</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0116&quot;</span>, <span class="string">&quot;0214&quot;</span>, <span class="string">&quot;0316&quot;</span>, <span class="string">&quot;0414&quot;</span>, <span class="string">&quot;0514&quot;</span>, <span class="string">&quot;0612&quot;</span>, <span class="string">&quot;0712&quot;</span>, <span class="string">&quot;0811&quot;</span>, <span class="string">&quot;0909&quot;</span>, <span class="string">&quot;1009&quot;</span>, <span class="string">&quot;1108&quot;</span>, <span class="string">&quot;1207&quot;</span>], <span class="comment">//2094</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0106&quot;</span>, <span class="string">&quot;0204&quot;</span>, <span class="string">&quot;0306&quot;</span>, <span class="string">&quot;0404&quot;</span>, <span class="string">&quot;0503&quot;</span>, <span class="string">&quot;0602&quot;</span>, <span class="string">&quot;0701&quot;</span>, <span class="string">&quot;0731&quot;</span>, <span class="string">&quot;0829&quot;</span>, <span class="string">&quot;0928&quot;</span>, <span class="string">&quot;1028&quot;</span>, <span class="string">&quot;1127&quot;</span>], <span class="comment">//2095</span></span><br><span class="line">[<span class="number">4</span>, <span class="string">&quot;1226&quot;</span>, <span class="string">&quot;0125&quot;</span>, <span class="string">&quot;0223&quot;</span>, <span class="string">&quot;0324&quot;</span>, <span class="string">&quot;0422&quot;</span>, <span class="string">&quot;0521&quot;</span>, <span class="string">&quot;0620&quot;</span>, <span class="string">&quot;0719&quot;</span>, <span class="string">&quot;0817&quot;</span>, <span class="string">&quot;0916&quot;</span>, <span class="string">&quot;1016&quot;</span>, <span class="string">&quot;1115&quot;</span>, <span class="string">&quot;1214&quot;</span>], <span class="comment">//2096</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0113&quot;</span>, <span class="string">&quot;0212&quot;</span>, <span class="string">&quot;0313&quot;</span>, <span class="string">&quot;0412&quot;</span>, <span class="string">&quot;0511&quot;</span>, <span class="string">&quot;0609&quot;</span>, <span class="string">&quot;0709&quot;</span>, <span class="string">&quot;0807&quot;</span>, <span class="string">&quot;0905&quot;</span>, <span class="string">&quot;1005&quot;</span>, <span class="string">&quot;1104&quot;</span>, <span class="string">&quot;1203&quot;</span>], <span class="comment">//2097</span></span><br><span class="line">[<span class="number">0</span>, <span class="string">&quot;0102&quot;</span>, <span class="string">&quot;0201&quot;</span>, <span class="string">&quot;0303&quot;</span>, <span class="string">&quot;0401&quot;</span>, <span class="string">&quot;0501&quot;</span>, <span class="string">&quot;0530&quot;</span>, <span class="string">&quot;0628&quot;</span>, <span class="string">&quot;0727&quot;</span>, <span class="string">&quot;0826&quot;</span>, <span class="string">&quot;0924&quot;</span>, <span class="string">&quot;1024&quot;</span>, <span class="string">&quot;1122&quot;</span>], <span class="comment">//2098</span></span><br><span class="line">[<span class="number">2</span>, <span class="string">&quot;1222&quot;</span>, <span class="string">&quot;0121&quot;</span>, <span class="string">&quot;0220&quot;</span>, <span class="string">&quot;0321&quot;</span>, <span class="string">&quot;0420&quot;</span>, <span class="string">&quot;0520&quot;</span>, <span class="string">&quot;0618&quot;</span>, <span class="string">&quot;0717&quot;</span>, <span class="string">&quot;0816&quot;</span>, <span class="string">&quot;0914&quot;</span>, <span class="string">&quot;1013&quot;</span>, <span class="string">&quot;1112&quot;</span>, <span class="string">&quot;1211&quot;</span>] <span class="comment">//2099</span></span><br><span class="line">];</span><br><span class="line"><span class="keyword">var</span> <span class="variable constant_">MINYEAR</span> = <span class="number">1900</span>;</span><br><span class="line"><span class="keyword">var</span> _chineseLunar = &#123;&#125;;</span><br><span class="line"></span><br><span class="line"><span class="comment">/*</span></span><br><span class="line"><span class="comment"> * 分析日期表达式，并提取其中的单位和数值</span></span><br><span class="line"><span class="comment"> */</span></span><br><span class="line"><span class="keyword">var</span> _expression = <span class="keyword">function</span>(<span class="params">expr</span>) &#123;</span><br><span class="line"><span class="keyword">var</span> list = expr.<span class="title function_">match</span>(<span class="regexp">/[+-]?\d+((ms)|[yMdhmsw])/g</span>);</span><br><span class="line"><span class="keyword">var</span> result = [];</span><br><span class="line"><span class="keyword">for</span>(<span class="keyword">var</span> i = <span class="number">0</span>; i &lt; list.<span class="property">length</span>; i++)&#123;</span><br><span class="line"><span class="comment">//提取单位和数值</span></span><br><span class="line"><span class="keyword">if</span> (<span class="regexp">/([+-])(\d+)(.+)/</span>.<span class="title function_">test</span>(list[i])) &#123;</span><br><span class="line"><span class="keyword">var</span> val = <span class="built_in">parseInt</span>(<span class="title class_">RegExp</span>.<span class="property">$2</span>);</span><br><span class="line"><span class="keyword">if</span>(<span class="title class_">RegExp</span>.<span class="property">$1</span> === <span class="string">&quot;-&quot;</span>) val = -val;</span><br><span class="line"></span><br><span class="line">result.<span class="title function_">push</span>(&#123;</span><br><span class="line"><span class="attr">value</span>: val,</span><br><span class="line"><span class="attr">unit</span>: <span class="title class_">RegExp</span>.<span class="property">$3</span></span><br><span class="line">&#125;);</span><br><span class="line">&#125;;</span><br><span class="line"><span class="keyword">return</span> result;</span><br><span class="line">&#125;;</span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="comment">//计算公历两个日期之差</span></span><br><span class="line"><span class="keyword">var</span> _solarDiff = <span class="keyword">function</span>(<span class="params">left, right, interval</span>) &#123;</span><br><span class="line"><span class="keyword">var</span> span = left.<span class="title function_">getTime</span>() - right.<span class="title function_">getTime</span>(); <span class="comment">//相差毫秒</span></span><br><span class="line"><span class="keyword">switch</span> (interval) &#123;</span><br><span class="line"><span class="keyword">case</span> <span class="string">&quot;y&quot;</span>: <span class="keyword">return</span> <span class="built_in">parseInt</span>(left.<span class="title function_">getFullYear</span>() - right.<span class="title function_">getFullYear</span>());</span><br><span class="line"><span class="keyword">case</span> <span class="string">&quot;M&quot;</span>: <span class="keyword">return</span> <span class="built_in">parseInt</span>((left.<span class="title function_">getFullYear</span>() - right.<span class="title function_">getFullYear</span>()) * <span class="number">12</span> + (left.<span class="title function_">getMonth</span>() - right.<span class="title function_">getMonth</span>()));</span><br><span class="line"><span class="keyword">case</span> <span class="string">&quot;d&quot;</span>: <span class="keyword">return</span> <span class="title class_">Math</span>.<span class="title function_">ceil</span>(span / <span class="number">1000</span> / <span class="number">60</span> / <span class="number">60</span> / <span class="number">24</span>);</span><br><span class="line"><span class="keyword">case</span> <span class="string">&quot;w&quot;</span>: <span class="keyword">return</span> <span class="title class_">Math</span>.<span class="title function_">floor</span>(span / <span class="number">1000</span> / <span class="number">60</span> / <span class="number">60</span> / <span class="number">24</span> / <span class="number">7</span>);</span><br><span class="line"><span class="keyword">case</span> <span class="string">&quot;h&quot;</span>: <span class="keyword">return</span> <span class="title class_">Math</span>.<span class="title function_">floor</span>(span / <span class="number">1000</span> / <span class="number">60</span> / <span class="number">60</span>);</span><br><span class="line"><span class="keyword">case</span> <span class="string">&quot;m&quot;</span>: <span class="keyword">return</span> <span class="title class_">Math</span>.<span class="title function_">floor</span>(span / <span class="number">1000</span> / <span class="number">60</span>);</span><br><span class="line"><span class="keyword">case</span> <span class="string">&quot;s&quot;</span>: <span class="keyword">return</span> <span class="title class_">Math</span>.<span class="title function_">floor</span>(span / <span class="number">1000</span>);</span><br><span class="line"><span class="keyword">case</span> <span class="string">&quot;ms&quot;</span>: <span class="keyword">return</span> <span class="built_in">parseInt</span>(span);</span><br><span class="line">&#125;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="comment">//_solarAdd(date, &#x27;5d-6m&#x27;);</span></span><br><span class="line"><span class="keyword">var</span> _solarAdd = <span class="keyword">function</span>(<span class="params">date, expr</span>)&#123;</span><br><span class="line"></span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="comment">/*</span></span><br><span class="line"><span class="comment"> 找到农历</span></span><br><span class="line"><span class="comment"> isPerYear，是否为农历前一年的对应数据</span></span><br><span class="line"><span class="comment"> */</span></span><br><span class="line"><span class="keyword">var</span> _findLunar = <span class="keyword">function</span>(<span class="params">solar, index, minMonth, maxMonth, isPreYear</span>) &#123;</span><br><span class="line"><span class="comment">//取得映射的数据</span></span><br><span class="line"><span class="keyword">var</span> mapping = <span class="variable constant_">MAPPING</span>[index];</span><br><span class="line"><span class="keyword">if</span> (!mapping) <span class="keyword">return</span> <span class="literal">false</span>;</span><br><span class="line"></span><br><span class="line"><span class="keyword">var</span> year = solar.<span class="title function_">getFullYear</span>()</span><br><span class="line">, month = solar.<span class="title function_">getMonth</span>() + <span class="number">1</span></span><br><span class="line">, date = solar.<span class="title function_">getDate</span>();</span><br><span class="line"><span class="keyword">var</span> lunarYear = year;</span><br><span class="line"><span class="keyword">var</span> lunarMonth, find, solarMonth;</span><br><span class="line"></span><br><span class="line"><span class="comment">//查找农历</span></span><br><span class="line"><span class="keyword">for</span> (<span class="keyword">var</span> i = mapping.<span class="property">length</span> - <span class="number">1</span>; i &gt; <span class="number">0</span>; i--) &#123;</span><br><span class="line">lunarMonth = i;</span><br><span class="line"><span class="comment">//取对应的农历月与天</span></span><br><span class="line"><span class="keyword">var</span> segMonth = <span class="title class_">Number</span>(mapping[i].<span class="title function_">substring</span>(<span class="number">0</span>, <span class="number">2</span>));</span><br><span class="line"><span class="keyword">var</span> segDay = <span class="title class_">Number</span>(mapping[i].<span class="title function_">substring</span>(<span class="number">2</span>, <span class="number">4</span>));</span><br><span class="line"></span><br><span class="line">solarMonth = isPreYear &amp;&amp; segMonth &gt; <span class="number">12</span> ? segMonth - <span class="number">12</span> : segMonth;</span><br><span class="line">find = solarMonth &lt; month || (solarMonth == month &amp;&amp; segDay &lt;= date) ||</span><br><span class="line">((segMonth &lt;= minMonth || segMonth &gt;= maxMonth) &amp;&amp; isPreYear);</span><br><span class="line"><span class="keyword">if</span> ((solarMonth == <span class="number">12</span> &amp;&amp; solarMonth &gt; month &amp;&amp; i == <span class="number">1</span>)) &#123;</span><br><span class="line">find = <span class="literal">true</span>;</span><br><span class="line">year--;</span><br><span class="line">&#125;;</span><br><span class="line"><span class="keyword">if</span> (find) <span class="keyword">break</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="comment">//如果找到，则赋值</span></span><br><span class="line"><span class="keyword">if</span>(!find) <span class="keyword">return</span> <span class="literal">false</span>;</span><br><span class="line"><span class="comment">//取前一年</span></span><br><span class="line"><span class="keyword">if</span> (isPreYear &amp;&amp; segMonth == <span class="number">12</span>) year = year - <span class="number">1</span>;</span><br><span class="line">lunarYear = isPreYear ? lunarYear - <span class="number">1</span> : lunarYear;</span><br><span class="line"><span class="keyword">return</span> &#123;</span><br><span class="line"><span class="attr">year</span>: year,</span><br><span class="line"><span class="attr">month</span>: solarMonth,</span><br><span class="line"><span class="attr">day</span>: segDay,</span><br><span class="line"><span class="attr">lunarYear</span>: lunarYear,</span><br><span class="line"><span class="attr">lunarMonth</span>: lunarMonth,</span><br><span class="line"><span class="attr">leapMonth</span>: mapping[<span class="number">0</span>]<span class="comment">//闰月</span></span><br><span class="line">&#125;;</span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="comment">//日期累加</span></span><br><span class="line"><span class="keyword">var</span> _dateAdd = <span class="keyword">function</span>(<span class="params">lunar, value, unit</span>)&#123;</span><br><span class="line"><span class="keyword">if</span>(unit == <span class="string">&#x27;M&#x27;</span>)&#123;</span><br><span class="line"><span class="keyword">return</span> _chineseLunar.<span class="title function_">monthAdd</span>(lunar, value);</span><br><span class="line">&#125;<span class="keyword">else</span>&#123;</span><br><span class="line"><span class="comment">//转换为阳历，计算完再转为农历</span></span><br><span class="line"><span class="keyword">var</span> solar = _chineseLunar.<span class="title function_">lunarToSolar</span>(lunar);</span><br><span class="line">solar = <span class="title function_">_solarAdd</span>(solar, value, unit);</span><br><span class="line"><span class="keyword">return</span> _chineseLunar.<span class="title function_">solarToLunar</span>(solar);</span><br><span class="line">&#125;;</span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="comment">/*</span></span><br><span class="line"><span class="comment"> 农历相加</span></span><br><span class="line"><span class="comment"> */</span></span><br><span class="line">_chineseLunar.<span class="property">dateAdd</span> = <span class="keyword">function</span>(<span class="params">lunar, expr</span>) &#123;</span><br><span class="line"><span class="comment">//分析表达式</span></span><br><span class="line"><span class="keyword">var</span> list = <span class="title function_">_expression</span>(expr);</span><br><span class="line"></span><br><span class="line"><span class="keyword">for</span>(<span class="keyword">var</span> i = <span class="number">0</span>; i &lt; list.<span class="property">length</span>; i ++)&#123;</span><br><span class="line">lunar = <span class="title function_">_dateAdd</span>(lunar, list[i]);</span><br><span class="line">&#125;;</span><br><span class="line"><span class="keyword">return</span> lunar;</span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="comment">/*</span></span><br><span class="line"><span class="comment"> 计算两个农历时间的差值，主要计算月份之间的差，其它和公历是一样的</span></span><br><span class="line"><span class="comment"> */</span></span><br><span class="line">_chineseLunar.<span class="property">dateDiff</span> = <span class="keyword">function</span>(<span class="params">lunar1, lunar2, expr</span>) &#123;</span><br><span class="line"><span class="comment">//计算农历月份差值</span></span><br><span class="line"><span class="keyword">if</span>(expr == <span class="string">&quot;M&quot;</span>)&#123;</span><br><span class="line"><span class="keyword">return</span> _chineseLunar.<span class="title function_">monthDiff</span>(lunar1, lunar2);</span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="comment">//先转成公历，除了月份，其它的都可以按公历计算</span></span><br><span class="line"><span class="keyword">var</span> solar1 = _chineseLunar.<span class="title function_">lunarToSolar</span>(lunar1);</span><br><span class="line"><span class="keyword">var</span> solar2 = _chineseLunar.<span class="title function_">lunarToSolar</span>(lunar2);</span><br><span class="line"><span class="comment">//再把农历转到公历</span></span><br><span class="line"><span class="keyword">return</span> <span class="title function_">_solarDiff</span>(solar2, solar1, expr);</span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="comment">/*</span></span><br><span class="line"><span class="comment"> 农历月份相加</span></span><br><span class="line"><span class="comment"> */</span></span><br><span class="line">_chineseLunar.<span class="property">monthAdd</span> = <span class="keyword">function</span>(<span class="params">lunar, inc</span>) &#123;</span><br><span class="line"><span class="comment">//如果是Date，则转换为农历</span></span><br><span class="line"><span class="keyword">if</span> (lunar <span class="keyword">instanceof</span> <span class="title class_">Date</span>) lunar = _chineseLunar.<span class="title function_">solarToLunar</span>(lunar);</span><br><span class="line"><span class="keyword">if</span> (inc == <span class="number">0</span>) <span class="keyword">return</span> lunar;</span><br><span class="line"></span><br><span class="line"><span class="keyword">var</span> year = lunar.<span class="property">year</span>, count;</span><br><span class="line"><span class="keyword">var</span> month = lunar.<span class="property">month</span>;</span><br><span class="line"><span class="keyword">if</span>(lunar.<span class="property">leap</span> ||</span><br><span class="line">(lunar.<span class="property">leapMonth</span> &gt; <span class="number">0</span> &amp;&amp; lunar.<span class="property">month</span> &gt; lunar.<span class="property">leapMonth</span>)) month++;</span><br><span class="line"></span><br><span class="line"><span class="keyword">var</span> run = <span class="literal">true</span>;</span><br><span class="line"><span class="keyword">do</span> &#123;</span><br><span class="line"><span class="comment">//计算当前年有多少个月</span></span><br><span class="line">count = _chineseLunar.<span class="title function_">monthsOfYear</span>(year);</span><br><span class="line">inc = inc + month - count;</span><br><span class="line"><span class="keyword">if</span> (inc &lt;= <span class="number">0</span>) &#123;</span><br><span class="line">run = <span class="literal">false</span>;</span><br><span class="line">month = year == lunar.<span class="property">year</span> ? count + inc : count + inc - month;</span><br><span class="line">&#125;<span class="keyword">else</span> &#123;</span><br><span class="line">year++;</span><br><span class="line">month = <span class="number">1</span>;</span><br><span class="line">&#125;</span><br><span class="line">&#125; <span class="keyword">while</span> (run);</span><br><span class="line"></span><br><span class="line"><span class="comment">//获取最后的结果年的闰月是哪一个月</span></span><br><span class="line"><span class="keyword">var</span> leapMonth = _chineseLunar.<span class="title function_">leapMonthOfYear</span>(year);</span><br><span class="line"><span class="keyword">var</span> leap = <span class="literal">false</span>;</span><br><span class="line"><span class="comment">//如果闰月大于农历月，则月份减1</span></span><br><span class="line"><span class="keyword">if</span> (leapMonth &gt; <span class="number">0</span> &amp;&amp; month &gt; leapMonth) &#123;</span><br><span class="line">month--;</span><br><span class="line"><span class="comment">//如果减完后月份和闰月相等，表示是闰月</span></span><br><span class="line">leap = month == leapMonth;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="keyword">return</span> &#123;</span><br><span class="line"><span class="attr">year</span>: year,</span><br><span class="line"><span class="attr">month</span>: month,</span><br><span class="line"><span class="attr">leap</span>: leap,</span><br><span class="line"><span class="attr">leapMonth</span>: leapMonth</span><br><span class="line">&#125;;</span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="comment">/*</span></span><br><span class="line"><span class="comment"> * 返回两段日期的农历差了多少个月，因为有闰月，所以和公历不一样</span></span><br><span class="line"><span class="comment"> * date1和date2允许为公历</span></span><br><span class="line"><span class="comment"> */</span></span><br><span class="line">_chineseLunar.<span class="property">monthDiff</span> = <span class="keyword">function</span>(<span class="params">lunar1, lunar2</span>) &#123;</span><br><span class="line"><span class="comment">//如果是公历的日期格式，则转换为农历</span></span><br><span class="line"><span class="keyword">var</span> count = <span class="number">0</span>;</span><br><span class="line"></span><br><span class="line"><span class="comment">//如果数据类型是日期，则转换为农历</span></span><br><span class="line"><span class="keyword">if</span> (lunar1 <span class="keyword">instanceof</span> <span class="title class_">Date</span>) lunar1 = _chineseLunar.<span class="title function_">solarToLunar</span>(lunar1);</span><br><span class="line"><span class="keyword">if</span> (lunar2 <span class="keyword">instanceof</span> <span class="title class_">Date</span>) lunar2 = _chineseLunar.<span class="title function_">solarToLunar</span>(lunar2);</span><br><span class="line"></span><br><span class="line"><span class="comment">//两个日期是同一年</span></span><br><span class="line"><span class="keyword">if</span> (lunar1.<span class="property">year</span> == lunar2.<span class="property">year</span>) &#123;</span><br><span class="line">count = lunar2.<span class="property">month</span> - lunar1.<span class="property">month</span>;</span><br><span class="line"><span class="comment">//中间有闰月的存在，计数器加一</span></span><br><span class="line"><span class="keyword">if</span> (lunar1.<span class="property">leapMonth</span> &gt;= lunar1.<span class="property">month</span> &amp;&amp; lunar1.<span class="property">leapMonth</span> &lt;= lunar2.<span class="property">month</span>) count++;</span><br><span class="line">&#125; <span class="keyword">else</span> &#123;</span><br><span class="line"><span class="comment">//计算首年，如果当前的闰月大于当前月，或者当前年有闰月且当前月等于闰月，但当前月又不是闰月，则要多添加一个月</span></span><br><span class="line">count = <span class="number">12</span>;</span><br><span class="line"><span class="keyword">if</span>(lunar1.<span class="property">leapMonth</span> &gt; lunar1.<span class="property">month</span> ||</span><br><span class="line">(lunar1.<span class="property">leapMonth</span> == lunar1.<span class="property">month</span> &amp;&amp; !lunar1.<span class="property">isLeaMonth</span>)) count += <span class="number">1</span>;</span><br><span class="line">count  -= lunar1.<span class="property">month</span>;</span><br><span class="line"></span><br><span class="line"><span class="comment">//计算两年之间中间的年月份</span></span><br><span class="line"><span class="keyword">var</span> year = lunar1.<span class="property">year</span> + <span class="number">1</span>;</span><br><span class="line"><span class="keyword">for</span> (<span class="keyword">var</span> i = year; i &lt; lunar2.<span class="property">year</span>; i++) &#123;</span><br><span class="line">count += _chineseLunar.<span class="title function_">monthsOfYear</span>(year++);</span><br><span class="line">&#125;</span><br><span class="line"><span class="comment">//计算最后一年</span></span><br><span class="line">count += lunar2.<span class="property">month</span>;</span><br><span class="line"><span class="keyword">if</span> (lunar2.<span class="property">isLeapMonth</span> || lunar2.<span class="property">month</span> &lt; lunar2.<span class="property">leapMonth</span>) count++;</span><br><span class="line">&#125;;</span><br><span class="line"><span class="keyword">return</span> count;</span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="comment">/*</span></span><br><span class="line"><span class="comment"> * 计算某年某月一个有多少天</span></span><br><span class="line"><span class="comment"> * daysOfMonth(&#123;&#125;) 或者 daysOfMonth(year, month, leap);</span></span><br><span class="line"><span class="comment"> */</span></span><br><span class="line">_chineseLunar.<span class="property">daysOfMonth</span> = <span class="keyword">function</span>(<span class="params">year, month, leap</span>) &#123;</span><br><span class="line"><span class="keyword">if</span> (<span class="title function_">typeof</span> (year) == <span class="string">&quot;object&quot;</span>) &#123;</span><br><span class="line">month = year.<span class="property">month</span>;</span><br><span class="line">leap = year.<span class="property">leap</span>;</span><br><span class="line">year = year.<span class="property">year</span>;</span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="keyword">var</span> date1 = _chineseLunar.<span class="title function_">lunarToSolar</span>(year, month, <span class="number">1</span>, leap);</span><br><span class="line"><span class="keyword">var</span> leapMonth = _chineseLunar.<span class="title function_">leapMonthOfYear</span>(year);</span><br><span class="line"><span class="keyword">if</span> (leapMonth == month &amp;&amp; !leap) &#123;</span><br><span class="line"><span class="comment">//如果是闰月和当前一月一至，且当前月不是闰月，说明下一个月是闰月，例如2009年5月，这一年闰5月，如果传过来的不是闰月，那么下一个月就是闰月</span></span><br><span class="line">leap = <span class="literal">true</span>;</span><br><span class="line">&#125; <span class="keyword">else</span> <span class="keyword">if</span> (month == <span class="number">12</span>) &#123;</span><br><span class="line"><span class="comment">//农历的最后一个月</span></span><br><span class="line">year++;</span><br><span class="line">month = <span class="number">1</span>;</span><br><span class="line">&#125; <span class="keyword">else</span> &#123;</span><br><span class="line">leap = <span class="literal">false</span>;</span><br><span class="line">month++;</span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="keyword">var</span> date2 = _chineseLunar.<span class="title function_">lunarToSolar</span>(year, month, <span class="number">1</span>, leap);</span><br><span class="line"><span class="keyword">return</span> _chineseLunar.<span class="title function_">dateDiff</span>(date2, date1, <span class="string">&quot;d&quot;</span>);</span><br><span class="line"></span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="comment">//获取农历某一年有多少个月</span></span><br><span class="line">_chineseLunar.<span class="property">monthsOfYear</span> = <span class="keyword">function</span>(<span class="params">year</span>) &#123;</span><br><span class="line"><span class="keyword">return</span> <span class="variable constant_">MAPPING</span>[year - <span class="variable constant_">MINYEAR</span>].<span class="property">length</span> - <span class="number">1</span>;</span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="comment">//获取农历某年的闰月是几月，</span></span><br><span class="line">_chineseLunar.<span class="property">leapMonthOfYear</span> = <span class="keyword">function</span>(<span class="params">year</span>) &#123;</span><br><span class="line"><span class="keyword">var</span> info = <span class="variable constant_">MAPPING</span>[year - <span class="variable constant_">MINYEAR</span>];</span><br><span class="line"><span class="keyword">return</span> info ? info[<span class="number">0</span>] : <span class="number">0</span>;</span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="comment">/*</span></span><br><span class="line"><span class="comment"> 农历转阳历</span></span><br><span class="line"><span class="comment"> lunarToSolar(&#123;&#125;)，或者lunarToSolar(year, month, day, leap)</span></span><br><span class="line"><span class="comment"> */</span></span><br><span class="line">_chineseLunar.<span class="property">lunarToSolar</span> = <span class="keyword">function</span>(<span class="params">year, month, day, leap</span>) &#123;</span><br><span class="line"><span class="keyword">var</span> arg0 = <span class="variable language_">arguments</span>[<span class="number">0</span>];</span><br><span class="line"></span><br><span class="line"><span class="comment">//第一个参数是对象</span></span><br><span class="line"><span class="keyword">if</span> (<span class="title function_">typeof</span> (arg0) == <span class="string">&quot;object&quot;</span> &amp;&amp; <span class="variable language_">arguments</span>.<span class="property">length</span> == <span class="number">1</span>) &#123;</span><br><span class="line">year = arg0.<span class="property">year</span>;</span><br><span class="line">month = arg0.<span class="property">month</span>;</span><br><span class="line">day = arg0.<span class="property">day</span>;</span><br><span class="line">leap = arg0.<span class="property">leap</span>;</span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="comment">//根据偏移量取得映射数据</span></span><br><span class="line"><span class="keyword">var</span> offset = year - <span class="variable constant_">MINYEAR</span>;</span><br><span class="line"><span class="comment">//所查询的日期超出范围</span></span><br><span class="line"><span class="keyword">if</span> (offset &lt; <span class="number">0</span> || offset &gt; <span class="variable constant_">MAPPING</span>.<span class="property">length</span>)&#123;</span><br><span class="line"><span class="keyword">throw</span> <span class="keyword">new</span> <span class="title class_">Error</span>(<span class="string">&#x27;Specified date range is invalid.&#x27;</span>);</span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="comment">//取得润月是哪一个月</span></span><br><span class="line"><span class="keyword">var</span> leapMonth = <span class="variable constant_">MAPPING</span>[offset][<span class="number">0</span>];</span><br><span class="line"><span class="comment">//如果isLeap=true，并且当前月份就是闰月，或者本月有闰月，且当前月份大于闰月，则月份需要加1</span></span><br><span class="line"><span class="keyword">if</span> ((leap &amp;&amp; month == leapMonth) ||</span><br><span class="line">(leapMonth &gt; <span class="number">0</span> &amp;&amp; month &gt; leapMonth))&#123;</span><br><span class="line">month += <span class="number">1</span>;</span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="comment">//取出对应到某个月的片断</span></span><br><span class="line"><span class="keyword">var</span> segment = <span class="variable constant_">MAPPING</span>[offset][month]; <span class="comment">//农历第一天对应公历的具体天</span></span><br><span class="line"><span class="keyword">var</span> mapMonth = <span class="title class_">Number</span>(segment.<span class="title function_">substring</span>(<span class="number">0</span>, <span class="number">2</span>))</span><br><span class="line"><span class="keyword">var</span> mapDate = <span class="title class_">Number</span>(segment.<span class="title function_">substring</span>(<span class="number">2</span>, <span class="number">4</span>));</span><br><span class="line"></span><br><span class="line"><span class="keyword">if</span> (mapMonth &gt; <span class="number">12</span>) &#123;</span><br><span class="line">year += <span class="number">1</span>;</span><br><span class="line">mapMonth -= <span class="number">12</span>;</span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="keyword">var</span> solar = <span class="keyword">new</span> <span class="title class_">Date</span>(year, mapMonth - <span class="number">1</span>, mapDate);</span><br><span class="line"><span class="keyword">var</span> time = solar.<span class="title function_">getTime</span>() + ((day - <span class="number">1</span>) * <span class="number">24</span> * <span class="number">60</span> * <span class="number">60</span> * <span class="number">1000</span>);</span><br><span class="line"><span class="keyword">return</span> <span class="keyword">new</span> <span class="title class_">Date</span>(time);</span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="comment">/*</span></span><br><span class="line"><span class="comment"> 公历转农历</span></span><br><span class="line"><span class="comment"> 1.查找对应农历初一是哪一天</span></span><br><span class="line"><span class="comment"> 2.将农历初一转换为公历</span></span><br><span class="line"><span class="comment"> 3.计入偏移量</span></span><br><span class="line"><span class="comment"> */</span></span><br><span class="line">_chineseLunar.<span class="property">solarToLunar</span> = <span class="keyword">function</span>(<span class="params">solar, format</span>) &#123;</span><br><span class="line"><span class="keyword">var</span> offset = solar.<span class="title function_">getFullYear</span>() - <span class="variable constant_">MINYEAR</span>;</span><br><span class="line"><span class="comment">//超出范围</span></span><br><span class="line"><span class="keyword">if</span>(offset &lt;= <span class="number">0</span> || offset &gt;= <span class="variable constant_">MAPPING</span>.<span class="property">length</span>)&#123;</span><br><span class="line"><span class="keyword">throw</span> <span class="keyword">new</span> <span class="title class_">Error</span>(<span class="string">&#x27;Specified date range is invalid.&#x27;</span>);</span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="comment">//查找范围内的农历数据</span></span><br><span class="line"><span class="keyword">var</span> data = <span class="title function_">_findLunar</span>(solar, offset, <span class="number">0</span>, <span class="number">13</span>, <span class="literal">false</span>);</span><br><span class="line"><span class="comment">//如果没有找到，则找前一年的，因为农历在公历之前，并且不会超过一年，查一年就可以了</span></span><br><span class="line">data = data || <span class="title function_">_findLunar</span>(solar, offset - <span class="number">1</span>, <span class="number">12</span>, <span class="number">99</span>, <span class="literal">true</span>);</span><br><span class="line"></span><br><span class="line"><span class="comment">//还是没有找到，表示超出范围</span></span><br><span class="line"><span class="keyword">if</span> (!data) <span class="keyword">return</span> <span class="literal">false</span>;</span><br><span class="line"></span><br><span class="line"><span class="comment">//农历初一对应公历的哪一天</span></span><br><span class="line"><span class="keyword">var</span> firstDay = <span class="keyword">new</span> <span class="title class_">Date</span>(data.<span class="property">year</span>, data.<span class="property">month</span> - <span class="number">1</span>, data.<span class="property">day</span>);</span><br><span class="line"><span class="keyword">var</span> day = <span class="title function_">_solarDiff</span>(solar, firstDay, <span class="string">&quot;d&quot;</span>) + <span class="number">1</span>;</span><br><span class="line"></span><br><span class="line"><span class="comment">//返回的农历结果</span></span><br><span class="line"><span class="keyword">var</span> result = &#123;</span><br><span class="line"><span class="attr">leap</span>: data.<span class="property">leapMonth</span> &gt; <span class="number">0</span> &amp;&amp; data.<span class="property">leapMonth</span> + <span class="number">1</span> == data.<span class="property">lunarMonth</span>,</span><br><span class="line"><span class="attr">year</span>: data.<span class="property">lunarYear</span>,</span><br><span class="line"><span class="attr">month</span>: data.<span class="property">leapMonth</span> &gt; <span class="number">0</span> &amp;&amp; data.<span class="property">lunarMonth</span> &gt; data.<span class="property">leapMonth</span> ? data.<span class="property">lunarMonth</span> - <span class="number">1</span> : data.<span class="property">lunarMonth</span>,</span><br><span class="line"><span class="attr">day</span>: day,</span><br><span class="line"><span class="attr">leapMonth</span>: data.<span class="property">leapMonth</span></span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="comment">//判断是否要格式化结果</span></span><br><span class="line"><span class="keyword">return</span> (format &amp;&amp; result) ? _chineseLunar.<span class="title function_">format</span>(result, format) : result;</span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="comment">//获取中国传统干支的名称</span></span><br><span class="line">_chineseLunar.<span class="property">traditionalYearName</span> = <span class="keyword">function</span>(<span class="params">year</span>) &#123;</span><br><span class="line"><span class="keyword">var</span> <span class="title class_">Gan</span> = <span class="string">&quot;甲乙丙丁戊己庚辛壬癸&quot;</span>.<span class="title function_">split</span>(<span class="string">&quot;&quot;</span>);</span><br><span class="line"><span class="keyword">var</span> <span class="title class_">Zhi</span> = <span class="string">&quot;子丑寅卯辰巳午未申酉戌亥&quot;</span>.<span class="title function_">split</span>(<span class="string">&quot;&quot;</span>);</span><br><span class="line">year = year - <span class="variable constant_">MINYEAR</span> + <span class="number">36</span>;</span><br><span class="line"><span class="keyword">return</span> (<span class="title class_">Gan</span>[year % <span class="number">10</span>] + <span class="title class_">Zhi</span>[year % <span class="number">12</span>] + <span class="string">&quot;年&quot;</span>);</span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="comment">//获取中文的年</span></span><br><span class="line">_chineseLunar.<span class="property">yearName</span> = <span class="keyword">function</span>(<span class="params">year</span>) &#123;</span><br><span class="line"><span class="keyword">var</span> cnStr = <span class="string">&#x27;〇,一,二,三,四,五,六,七,八,九&#x27;</span>.<span class="title function_">split</span>(<span class="string">&quot;,&quot;</span>);</span><br><span class="line"><span class="keyword">var</span> cYear = year.<span class="title function_">toString</span>();</span><br><span class="line"><span class="keyword">var</span> result = <span class="string">&#x27;&#x27;</span>;</span><br><span class="line"><span class="keyword">for</span> (<span class="keyword">var</span> i = <span class="number">0</span>; i &lt; cYear.<span class="property">length</span>; i++) &#123;</span><br><span class="line">result += cnStr[<span class="built_in">parseInt</span>(cYear.<span class="title function_">charAt</span>(i))];</span><br><span class="line">&#125;</span><br><span class="line"><span class="keyword">return</span> result + <span class="string">&#x27;年&#x27;</span>;</span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="comment">//获取中国的生肖</span></span><br><span class="line">_chineseLunar.<span class="property">animalName</span> = <span class="keyword">function</span>(<span class="params">year</span>) &#123;</span><br><span class="line"><span class="keyword">return</span> <span class="string">&quot;鼠牛虎兔龙蛇马羊猴鸡狗猪&quot;</span>.<span class="title function_">split</span>(<span class="string">&quot;&quot;</span>)[(year - <span class="number">4</span>) % <span class="number">12</span>];</span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="comment">//获取农历月的名称</span></span><br><span class="line">_chineseLunar.<span class="property">monthName</span> = <span class="keyword">function</span>(<span class="params">month, traditional, leap</span>) &#123;</span><br><span class="line"><span class="keyword">var</span> monthName = <span class="string">&quot;正,二,三,四,五,六,七,八,九,十,十一,十二&quot;</span>.<span class="title function_">split</span>(<span class="string">&quot;,&quot;</span>);</span><br><span class="line"><span class="keyword">if</span> (traditional) &#123; monthName[<span class="number">11</span>] = <span class="string">&quot;腊&quot;</span> &#125;</span><br><span class="line"><span class="keyword">return</span> (leap ? <span class="string">&quot;闰&quot;</span> : <span class="string">&quot;&quot;</span>) + monthName[month - <span class="number">1</span>] + <span class="string">&quot;月&quot;</span>;</span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="comment">//获取农历传统天的名称</span></span><br><span class="line">_chineseLunar.<span class="property">dayName</span> = <span class="keyword">function</span>(<span class="params">lunar</span>) &#123;</span><br><span class="line"><span class="keyword">switch</span> (lunar) &#123;</span><br><span class="line"><span class="keyword">case</span> <span class="number">10</span>: <span class="keyword">return</span> <span class="string">&#x27;初十&#x27;</span>;</span><br><span class="line"><span class="keyword">case</span> <span class="number">20</span>: <span class="keyword">return</span> <span class="string">&#x27;二十&#x27;</span>;</span><br><span class="line"><span class="keyword">case</span> <span class="number">30</span>: <span class="keyword">return</span> <span class="string">&#x27;三十&#x27;</span>;</span><br><span class="line"><span class="attr">default</span>: <span class="keyword">return</span> (<span class="string">&quot;初十廿卅&quot;</span>.<span class="title function_">split</span>(<span class="string">&quot;&quot;</span>)[<span class="title class_">Math</span>.<span class="title function_">floor</span>(lunar / <span class="number">10</span>)] +</span><br><span class="line"><span class="string">&quot;一二三四五六七八九十&quot;</span>.<span class="title function_">split</span>(<span class="string">&quot;&quot;</span>)[(lunar - <span class="number">1</span>) % <span class="number">10</span>]) || lunar;</span><br><span class="line">&#125;</span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="comment">//格式化农历日期，date是农历的日期</span></span><br><span class="line">_chineseLunar.<span class="property">format</span> = <span class="keyword">function</span>(<span class="params">lunar, expr</span>) &#123;</span><br><span class="line"><span class="keyword">return</span> expr.<span class="title function_">replace</span>(<span class="regexp">/[TAYyMmdD]/g</span>, <span class="keyword">function</span>(<span class="params">m, i</span>) &#123;</span><br><span class="line"><span class="keyword">switch</span> (m) &#123;</span><br><span class="line"><span class="comment">//获取传统的年</span></span><br><span class="line"><span class="keyword">case</span> <span class="string">&quot;T&quot;</span>: <span class="keyword">return</span> _chineseLunar.<span class="title function_">traditionalYearName</span>(lunar.<span class="property">year</span>);</span><br><span class="line"><span class="comment">//获取生肖</span></span><br><span class="line"><span class="keyword">case</span> <span class="string">&quot;A&quot;</span>: <span class="keyword">return</span> _chineseLunar.<span class="title function_">animalName</span>(lunar.<span class="property">year</span>);</span><br><span class="line"><span class="comment">//获取中文的年</span></span><br><span class="line"><span class="keyword">case</span> <span class="string">&quot;Y&quot;</span>: <span class="keyword">return</span> _chineseLunar.<span class="title function_">yearName</span>(lunar.<span class="property">year</span>);</span><br><span class="line"><span class="comment">//获取数字年</span></span><br><span class="line"><span class="keyword">case</span> <span class="string">&quot;y&quot;</span>: <span class="keyword">return</span> lunar.<span class="property">year</span>;</span><br><span class="line"><span class="comment">//获取月份</span></span><br><span class="line"><span class="keyword">case</span> <span class="string">&quot;m&quot;</span>: <span class="keyword">return</span> _chineseLunar.<span class="title function_">monthName</span>(lunar.<span class="property">month</span>, <span class="literal">false</span>, lunar.<span class="property">leap</span>);</span><br><span class="line"><span class="comment">//获取传统的月</span></span><br><span class="line"><span class="keyword">case</span> <span class="string">&quot;M&quot;</span>: <span class="keyword">return</span> _chineseLunar.<span class="title function_">monthName</span>(lunar.<span class="property">month</span>, <span class="literal">true</span>, lunar.<span class="property">leap</span>);</span><br><span class="line"><span class="comment">//获取天</span></span><br><span class="line"><span class="keyword">case</span> <span class="string">&quot;d&quot;</span>: <span class="keyword">return</span> _chineseLunar.<span class="title function_">dayName</span>(lunar.<span class="property">day</span>);</span><br><span class="line"><span class="comment">//如果是初一，则显示月，而不是显示</span></span><br><span class="line"><span class="keyword">case</span> <span class="string">&quot;D&quot;</span>:</span><br><span class="line"><span class="keyword">if</span>(lunar.<span class="property">day</span> == <span class="number">1</span>)&#123;</span><br><span class="line"><span class="keyword">return</span> _chineseLunar.<span class="title function_">monthName</span>(lunar.<span class="property">month</span>, <span class="literal">false</span>, lunar.<span class="property">leap</span>);</span><br><span class="line">&#125;<span class="keyword">else</span>&#123;</span><br><span class="line"><span class="keyword">return</span> _chineseLunar.<span class="title function_">dayName</span>(lunar.<span class="property">day</span>);</span><br><span class="line">&#125;;</span><br><span class="line">&#125;</span><br><span class="line">&#125;);</span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"></span><br><span class="line"><span class="keyword">if</span> (<span class="keyword">typeof</span> define === <span class="string">&#x27;function&#x27;</span>)&#123;</span><br><span class="line"><span class="title function_">define</span> (<span class="keyword">function</span> (<span class="params"></span>)&#123;</span><br><span class="line"><span class="keyword">return</span> _chineseLunar;</span><br><span class="line">&#125;);</span><br><span class="line">&#125;<span class="keyword">else</span> <span class="keyword">if</span>(<span class="keyword">typeof</span> <span class="built_in">exports</span> === <span class="string">&#x27;object&#x27;</span>)&#123;</span><br><span class="line"><span class="variable language_">module</span>.<span class="property">exports</span> = _chineseLunar;</span><br><span class="line">&#125;<span class="keyword">else</span>&#123;</span><br><span class="line"><span class="variable language_">window</span>.<span class="property">chineseLunar</span> = _chineseLunar;</span><br><span class="line">&#125;;</span><br><span class="line">&#125;)();</span><br></pre></td></tr></table></figure><p>打开主题配置文件<code>_config.yml</code>，搜索找到<code>inject</code>，加入以下代码</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">inject:</span></span><br><span class="line">  <span class="attr">head:</span></span><br><span class="line">  <span class="comment"># 自定义css</span></span><br><span class="line">    <span class="bullet">-</span> <span class="string">&lt;link</span> <span class="string">rel=&quot;stylesheet&quot;</span> <span class="string">href=&quot;/custom/css/schedule.css&quot;&gt;</span></span><br><span class="line"></span><br><span class="line">  <span class="attr">bottom:</span></span><br><span class="line">  <span class="comment"># 自定义js</span></span><br><span class="line">    <span class="bullet">-</span> <span class="string">&lt;script</span> <span class="string">src=&quot;/custom/js/schedule.js&quot;&gt;&lt;/script&gt;</span></span><br><span class="line">    <span class="bullet">-</span> <span class="string">&lt;script</span> <span class="string">src=&quot;/custom/js/chineselunar.js&quot;&gt;&lt;/script&gt;</span></span><br></pre></td></tr></table></figure><p>在<code>_data </code> 文件夹下创建<code>widget.yml</code>文件，并添加以下内</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">bottom:</span></span><br><span class="line">  <span class="bullet">-</span> <span class="attr">class_name:</span> <span class="string">calendar</span></span><br><span class="line">    <span class="attr">id_name:</span> <span class="string">card-widget-calendar</span></span><br><span class="line">    <span class="attr">name:</span></span><br><span class="line">    <span class="attr">icon:</span></span><br><span class="line">    <span class="attr">order:</span> <span class="number">-1</span></span><br><span class="line">    <span class="attr">html:</span> <span class="string">|</span></span><br><span class="line"><span class="string">      &lt;div id=&quot;calendar-area-left&quot;&gt;</span></span><br><span class="line"><span class="string">        &lt;div id=&quot;calendar-week&quot;&gt;&lt;/div&gt;</span></span><br><span class="line"><span class="string">        &lt;div id=&quot;calendar-date&quot; style=&quot;font-size: 48px;&quot;&gt;&lt;/div&gt;</span></span><br><span class="line"><span class="string">        &lt;div id=&quot;calendar-solar&quot;&gt;&lt;/div&gt;</span></span><br><span class="line"><span class="string">        &lt;div id=&quot;calendar-lunar&quot;&gt;&lt;/div&gt;</span></span><br><span class="line"><span class="string">      &lt;/div&gt;</span></span><br><span class="line"><span class="string">      &lt;div id=&quot;calendar-area-right&quot;&gt;</span></span><br><span class="line"><span class="string">        &lt;div id=&quot;calendar-main&quot;&gt;</span></span><br><span class="line"><span class="string">        &lt;/div&gt;</span></span><br><span class="line"><span class="string">      &lt;/div&gt;</span></span><br><span class="line"><span class="string"></span></span><br><span class="line">  <span class="bullet">-</span> <span class="attr">class_name:</span> <span class="string">schedule</span></span><br><span class="line">    <span class="attr">id_name:</span> <span class="string">card-widget-schedule</span></span><br><span class="line">    <span class="attr">name:</span></span><br><span class="line">    <span class="attr">icon:</span></span><br><span class="line">    <span class="attr">order:</span> <span class="number">-1</span></span><br><span class="line">    <span class="attr">html:</span> <span class="string">|</span></span><br><span class="line"><span class="string">      &lt;div id=&quot;schedule-area-left&quot;&gt;</span></span><br><span class="line"><span class="string">        &lt;div id=&quot;schedule-title&quot;&gt;距离除夕&lt;/div&gt;</span></span><br><span class="line"><span class="string">        &lt;div id=&quot;schedule-days&quot;&gt;&lt;/div&gt;</span></span><br><span class="line"><span class="string">        &lt;div id=&quot;schedule-date&quot;&gt;2025-01-28&lt;/div&gt;</span></span><br><span class="line"><span class="string">      &lt;/div&gt;</span></span><br><span class="line"><span class="string">      &lt;div id=&quot;schedule-area-right&quot;&gt;</span></span><br><span class="line"><span class="string">        &lt;div class=&quot;schedule-r0&quot;&gt;</span></span><br><span class="line"><span class="string">          &lt;div class=&quot;schedule-d0&quot;&gt;本年&lt;/div&gt;</span></span><br><span class="line"><span class="string">          &lt;div class=&quot;schedule-d1&quot;&gt;</span></span><br><span class="line"><span class="string">            &lt;span id=&quot;p_span_year&quot; class=&quot;aside-span1&quot;&gt;&lt;/span&gt;</span></span><br><span class="line"><span class="string">            &lt;span class=&quot;aside-span2&quot;&gt;还剩&lt;a&gt;&lt;/a&gt;天&lt;/span&gt;</span></span><br><span class="line"><span class="string">            &lt;progress max=&quot;365&quot; id=&quot;pBar_year&quot;&gt;&lt;/progress&gt;</span></span><br><span class="line"><span class="string">          &lt;/div&gt;</span></span><br><span class="line"><span class="string">        &lt;/div&gt;</span></span><br><span class="line"><span class="string">        &lt;div class=&quot;schedule-r1&quot;&gt;</span></span><br><span class="line"><span class="string">          &lt;div class=&quot;schedule-d0&quot;&gt;本月&lt;/div&gt;</span></span><br><span class="line"><span class="string">          &lt;div class=&quot;schedule-d1&quot;&gt;</span></span><br><span class="line"><span class="string">            &lt;span id=&quot;p_span_month&quot; class=&quot;aside-span1&quot;&gt;&lt;/span&gt;</span></span><br><span class="line"><span class="string">            &lt;span class=&quot;aside-span2&quot;&gt;还剩&lt;a&gt;&lt;/a&gt;天&lt;/span&gt;</span></span><br><span class="line"><span class="string">            &lt;progress max=&quot;30&quot; id=&quot;pBar_month&quot;&gt;&lt;/progress&gt;</span></span><br><span class="line"><span class="string">          &lt;/div&gt;</span></span><br><span class="line"><span class="string">        &lt;/div&gt;</span></span><br><span class="line"><span class="string">        &lt;div class=&quot;schedule-r2&quot;&gt;</span></span><br><span class="line"><span class="string">          &lt;div class=&quot;schedule-d0&quot;&gt;本周&lt;/div&gt;</span></span><br><span class="line"><span class="string">          &lt;div class=&quot;schedule-d1&quot;&gt;</span></span><br><span class="line"><span class="string">            &lt;span id=&quot;p_span_week&quot; class=&quot;aside-span1&quot;&gt;&lt;/span&gt;</span></span><br><span class="line"><span class="string">            &lt;span class=&quot;aside-span2&quot;&gt;还剩&lt;a&gt;&lt;/a&gt;天&lt;/span&gt;</span></span><br><span class="line"><span class="string">            &lt;progress max=&quot;7&quot; id=&quot;pBar_week&quot;&gt;&lt;/progress&gt;</span></span><br><span class="line"><span class="string">          &lt;/div&gt;</span></span><br><span class="line"><span class="string">        &lt;/div&gt;</span></span><br><span class="line"><span class="string">      &lt;/div&gt;</span></span><br></pre></td></tr></table></figure><div class="note success simple"><p>如果想要所有页面都显示日历卡片，将 button 改为 top ，order值越小越靠前</p></div><blockquote><p>原文 <a href="https://blog.owwo.fun/posts/91d3a27d/">AnZhiYu主题添加日历卡片</a> ，原作者：<a href="https://blog.yoshino.us.kg/">辣条の小屋</a></p></blockquote><h1 id="诗词卡片"><a href="#诗词卡片" class="headerlink" title="诗词卡片"></a>诗词卡片</h1><p><img src="/img/posts/anzhiyu/shiju.png"><br>在<strong>themes\anzhiyu\layout\includes\widget</strong>创建<code>card_poem.pug</code>文件输入以下内容</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br></pre></td><td class="code"><pre><span class="line">#card-poem.card-widget</span><br><span class="line">    #poem_sentence</span><br><span class="line">    #poem_info</span><br><span class="line">        #poem_dynasty</span><br><span class="line">        #poem_author</span><br><span class="line">script(src=&#x27;https://cdn.jsdelivr.net/npm/js-heo@1.0.11/poem/jinrishici.js&#x27;, charset=&#x27;utf-8&#x27;)</span><br><span class="line">script(type=&#x27;text/javascript&#x27;).</span><br><span class="line">  jinrishici.load(function(result) &#123;</span><br><span class="line">  var sentence = document.querySelector(&quot;#poem_sentence&quot;)</span><br><span class="line">  var author = document.querySelector(&quot;#poem_author&quot;)</span><br><span class="line">  var dynasty = document.querySelector(&quot;#poem_dynasty&quot;)</span><br><span class="line"></span><br><span class="line">  var sentenceText = result.data.content</span><br><span class="line">  sentenceText = sentenceText.substr(0, sentenceText.length - 1);</span><br><span class="line">  sentence.innerHTML = sentenceText</span><br><span class="line">  dynasty.innerHTML = result.data.origin.dynasty</span><br><span class="line">  author.innerHTML = result.data.origin.author + &#x27;《&#x27; + result.data.origin.title + &#x27;》&#x27;</span><br><span class="line">  &#125;);</span><br></pre></td></tr></table></figure><p>在<strong>themes\anzhiyu\layout\includes\widget\index.pug</strong>中添加以下代码<br><img src="/img/posts/anzhiyu/shiju2.png"></p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">!=partial(&#x27;includes/widget/card_poem&#x27;, &#123;&#125;, &#123;cache: true&#125;)</span><br></pre></td></tr></table></figure><p>在主题配置文件<code>_config.yml</code>中找到<code>inject</code>引入css</p><figure class="highlight css"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">inject:</span><br><span class="line">  head:</span><br><span class="line">    # 自定义css</span><br><span class="line">    - &lt;link rel=<span class="string">&quot;stylesheet&quot;</span> type=<span class="string">&quot;text/css&quot;</span> href=<span class="string">&quot;https://cdn.jsdelivr.net/npm/js-heo@1.0.11/poem/poem.css&quot;</span>&gt; </span><br><span class="line">    - &lt;link rel=<span class="string">&quot;stylesheet&quot;</span> type=<span class="string">&quot;text/css&quot;</span> href=<span class="string">&quot;https://cdn.jsdelivr.net/npm/js-heo@1.0.11/mainColor/heoMainColor.css&quot;</span>&gt; </span><br></pre></td></tr></table></figure><p>如果觉得字体太小，或者更改字体，在根目录<em><strong>source\custom\css</strong></em>中创建<code>custom.css</code>添加以下代码</p><figure class="highlight css"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">/*</span></span><br><span class="line"><span class="comment"> 修改诗词作者字体大小</span></span><br><span class="line"><span class="comment">*/</span></span><br><span class="line"><span class="selector-tag">div</span><span class="selector-id">#poem_info</span> &#123;</span><br><span class="line">  <span class="attribute">font-size</span>: <span class="number">1rem</span> <span class="meta">!important</span></span><br><span class="line">&#125;</span><br><span class="line"><span class="comment">/*</span></span><br><span class="line"><span class="comment">修改字体，换成自己已经安装的字体</span></span><br><span class="line"><span class="comment">*/</span></span><br><span class="line"><span class="selector-tag">div</span><span class="selector-id">#poem_sentence</span> &#123;</span><br><span class="line">  <span class="attribute">font-family</span>: <span class="string">&#x27;DingTalk-JinBuTi&#x27;</span> <span class="meta">!important</span></span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p>在主题<code>_config.yml</code>中引用<code>css</code></p><figure class="highlight css"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">inject:</span><br><span class="line">  head:</span><br><span class="line">    # 自定义css</span><br><span class="line">    - &lt;link rel=<span class="string">&quot;stylesheet&quot;</span> href=<span class="string">&quot;/custom/css/custom.css&quot;</span>&gt;</span><br></pre></td></tr></table></figure><blockquote><p>原文 <a href="https://blog.zhheo.com/p/2ed9d8dd.html">Butterfly美化：今日诗词侧边栏小组件</a> ，原作者：<a href="https://blog.zhheo.com/">张洪Heo</a></p></blockquote><h1 id="添加B站视频"><a href="#添加B站视频" class="headerlink" title="添加B站视频"></a>添加B站视频</h1><p><img src="/img/posts/anzhiyu/bili.png"><br>在根目录<em><strong>source\custom\css</strong></em>创建<code>bilibili.css</code>，并输入</p><figure class="highlight css"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br></pre></td><td class="code"><pre><span class="line"><span class="selector-class">.bilibili</span> &#123;</span><br><span class="line">    <span class="attribute">position</span>: relative;</span><br><span class="line">    <span class="attribute">width</span>: <span class="number">100%</span>;</span><br><span class="line">&#125;</span><br><span class="line"><span class="keyword">@media</span> <span class="keyword">only</span> screen <span class="keyword">and</span> (<span class="attribute">max-width</span>: <span class="number">767px</span>) &#123;</span><br><span class="line">    <span class="selector-class">.bilibili</span> &#123;<span class="attribute">height</span>: <span class="number">15em</span>;<span class="attribute">max-width</span>: <span class="number">25em</span>;&#125;</span><br><span class="line">&#125;</span><br><span class="line"><span class="keyword">@media</span> <span class="keyword">only</span> screen <span class="keyword">and</span> (<span class="attribute">min-width</span>: <span class="number">768px</span>) <span class="keyword">and</span> (<span class="attribute">max-width</span>: <span class="number">991px</span>) &#123;</span><br><span class="line">    <span class="selector-class">.bilibili</span> &#123;<span class="attribute">height</span>: <span class="number">20em</span>;<span class="attribute">max-width</span>: <span class="number">30em</span>;&#125;</span><br><span class="line">&#125;</span><br><span class="line"><span class="keyword">@media</span> <span class="keyword">only</span> screen <span class="keyword">and</span> (<span class="attribute">min-width</span>: <span class="number">992px</span>) <span class="keyword">and</span> (<span class="attribute">max-width</span>: <span class="number">1199px</span>) &#123;</span><br><span class="line">    <span class="selector-class">.bilibili</span> &#123;<span class="attribute">height</span>: <span class="number">30em</span>;<span class="attribute">max-width</span>: <span class="number">40em</span>;&#125;</span><br><span class="line">&#125;</span><br><span class="line"><span class="keyword">@media</span> <span class="keyword">only</span> screen <span class="keyword">and</span> (<span class="attribute">min-width</span>: <span class="number">1200px</span>) &#123;</span><br><span class="line">    <span class="selector-class">.bilibili</span> &#123;<span class="attribute">height</span>: <span class="number">40em</span>;<span class="attribute">max-width</span>: <span class="number">50em</span>;&#125;</span><br><span class="line">&#125;</span><br><span class="line"></span><br></pre></td></tr></table></figure><p>在主题配置文件<code>_config.yml</code>中找到<code>inject</code>引入css</p><figure class="highlight css"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">inject:</span><br><span class="line">  head:</span><br><span class="line">    # 自定义css</span><br><span class="line">    - &lt;link rel=<span class="string">&quot;stylesheet&quot;</span> href=<span class="string">&quot;/custom/css/bilibili.css&quot;</span>&gt;</span><br></pre></td></tr></table></figure><p>在html代码中输入并修改<code>src</code></p><figure class="highlight html"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="tag">&lt;<span class="name">iframe</span> <span class="attr">class</span>=<span class="string">&quot;bilibili&quot;</span> <span class="attr">src</span>=<span class="string">&quot;//player.bilibili.com/player.html?bid=xxxxx&amp;cid=xxxxx&amp;page=1&quot;</span> <span class="attr">scrolling</span>=<span class="string">&quot;no&quot;</span> <span class="attr">border</span>=<span class="string">&quot;0&quot;</span> <span class="attr">frameborder</span>=<span class="string">&quot;no&quot;</span> <span class="attr">framespacing</span>=<span class="string">&quot;0&quot;</span> <span class="attr">allowfullscreen</span>=<span class="string">&quot;true&quot;</span>&gt;</span> <span class="tag">&lt;/<span class="name">iframe</span>&gt;</span></span><br></pre></td></tr></table></figure><p>如果想让视频默认不播放，在src链接（视频链接最后链接）添加&amp;autoplay&#x3D;0</p><figure class="highlight html"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line"># 默认播放</span><br><span class="line"><span class="tag">&lt;<span class="name">iframe</span> <span class="attr">class</span>=<span class="string">&quot;bilibili&quot;</span> <span class="attr">src</span>=<span class="string">&quot;//player.bilibili.com/player.html?aid=xxxx&amp;bvid=xxxx&amp;page=1&quot;</span> <span class="attr">scrolling</span>=<span class="string">&quot;no&quot;</span> <span class="attr">border</span>=<span class="string">&quot;0&quot;</span> <span class="attr">frameborder</span>=<span class="string">&quot;no&quot;</span> <span class="attr">framespacing</span>=<span class="string">&quot;0&quot;</span> <span class="attr">allowfullscreen</span>=<span class="string">&quot;true&quot;</span>&gt;</span> <span class="tag">&lt;/<span class="name">iframe</span>&gt;</span></span><br><span class="line"># 默认播放不跳转</span><br><span class="line"><span class="tag">&lt;<span class="name">iframe</span> <span class="attr">class</span>=<span class="string">&quot;bilibili&quot;</span> <span class="attr">src</span>=<span class="string">&quot;//player.bilibili.com/player.html?aid=xxxx&amp;cid=xxxx&amp;page=1&quot;</span> <span class="attr">scrolling</span>=<span class="string">&quot;no&quot;</span> <span class="attr">border</span>=<span class="string">&quot;0&quot;</span> <span class="attr">frameborder</span>=<span class="string">&quot;no&quot;</span> <span class="attr">framespacing</span>=<span class="string">&quot;0&quot;</span> <span class="attr">allowfullscreen</span>=<span class="string">&quot;true&quot;</span> <span class="attr">sandbox</span>=<span class="string">&quot;allow-top-navigation allow-same-origin allow-forms allow-scripts&quot;</span>&gt;</span> <span class="tag">&lt;/<span class="name">iframe</span>&gt;</span></span><br><span class="line"># 默认不播放</span><br><span class="line"><span class="tag">&lt;<span class="name">iframe</span> <span class="attr">class</span>=<span class="string">&quot;bilibili&quot;</span> <span class="attr">src</span>=<span class="string">&quot;//player.bilibili.com/player.html?aid=xxxxx&amp;cid=xxxxx&amp;page=1&amp;autoplay=0&quot;</span> <span class="attr">scrolling</span>=<span class="string">&quot;no&quot;</span> <span class="attr">border</span>=<span class="string">&quot;0&quot;</span> <span class="attr">frameborder</span>=<span class="string">&quot;no&quot;</span> <span class="attr">framespacing</span>=<span class="string">&quot;0&quot;</span> <span class="attr">allowfullscreen</span>=<span class="string">&quot;true&quot;</span> &gt;</span> <span class="tag">&lt;/<span class="name">iframe</span>&gt;</span></span><br><span class="line"># 默认不播放不跳转</span><br><span class="line"><span class="tag">&lt;<span class="name">iframe</span> <span class="attr">class</span>=<span class="string">&quot;bilibili&quot;</span> <span class="attr">src</span>=<span class="string">&quot;//player.bilibili.com/player.html?aid=xxxxx&amp;cid=xxxxx&amp;page=1&amp;autoplay=0&quot;</span> <span class="attr">scrolling</span>=<span class="string">&quot;no&quot;</span> <span class="attr">border</span>=<span class="string">&quot;0&quot;</span> <span class="attr">frameborder</span>=<span class="string">&quot;no&quot;</span> <span class="attr">framespacing</span>=<span class="string">&quot;0&quot;</span> <span class="attr">allowfullscreen</span>=<span class="string">&quot;true&quot;</span> <span class="attr">sandbox</span>=<span class="string">&quot;allow-top-navigation allow-same-origin allow-forms allow-scripts&quot;</span> &gt;</span> <span class="tag">&lt;/<span class="name">iframe</span>&gt;</span></span><br></pre></td></tr></table></figure><p>B站默认视频质量是最低的，可以通过在src链接后面添加 <code>&amp;high_quality=1</code>来设置</p><figure class="highlight html"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="tag">&lt;<span class="name">iframe</span> <span class="attr">class</span>=<span class="string">&quot;bilibili&quot;</span> <span class="attr">src</span>=<span class="string">&quot;//player.bilibili.com/player.html?aid=xxxxx&amp;cid=xxxxx&amp;page=1&amp;autoplay=0&amp;high_quality=1&quot;</span> <span class="attr">scrolling</span>=<span class="string">&quot;no&quot;</span> <span class="attr">border</span>=<span class="string">&quot;0&quot;</span> <span class="attr">frameborder</span>=<span class="string">&quot;no&quot;</span> <span class="attr">framespacing</span>=<span class="string">&quot;0&quot;</span> <span class="attr">allowfullscreen</span>=<span class="string">&quot;true&quot;</span> <span class="attr">sandbox</span>=<span class="string">&quot;allow-top-navigation allow-same-origin allow-forms allow-scripts&quot;</span> &gt;</span> <span class="tag">&lt;/<span class="name">iframe</span>&gt;</span></span><br></pre></td></tr></table></figure><blockquote><p>原文 <a href="https://hongcyu.github.io/posts/hexo-bilibili.html">Hexo博客引用B站视频并自动适配</a> ，原作者：<a href="https://hongcyu.github.io/">hongCYu’s Blog</a>,</p></blockquote><h1 id="添加直达底部按钮"><a href="#添加直达底部按钮" class="headerlink" title="添加直达底部按钮"></a>添加直达底部按钮</h1><p><img src="/img/posts/anzhiyu/dibu.png"><br>打开<strong>themes\anzhiyu\layout\includes</strong>中的<code>rightside.pug</code>找到<code>#rightside-config-show</code>添加以下代码</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">button#go-down(type=&quot;button&quot; title=&quot;直达底部&quot; onclick=&quot;anzhiyu.scrollToDest(document.body.scrollHeight, 500)&quot;)</span><br><span class="line">  i.anzhiyufont.anzhiyu-icon-arrow-down</span><br></pre></td></tr></table></figure><h1 id="更换字体"><a href="#更换字体" class="headerlink" title="更换字体"></a>更换字体</h1><p>默认<br><img src="/img/posts/anzhiyu/font.png"><br>DingTalk-JinBuTi字体<br><img src="/img/posts/anzhiyu/font2.png"><br>首先下载<a href="https://font.doany.cn/fonts/%E9%98%BF%E9%87%8C/%E9%92%89%E9%92%89%E8%BF%9B%E6%AD%A5%E4%BD%93.zip">DingTalk-JinBuTi</a>字体，在根目录<em><strong>source\custom</strong></em>中创建<code>fonts</code>文件夹，并将字体文件复制进去。<br>在根目录<em><strong>source\custom\css</strong></em>中创建<code>font.css</code></p><figure class="highlight css"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">@font-face</span> &#123;</span><br><span class="line">    <span class="attribute">font-family</span>: <span class="string">&#x27;DingTalk-JinBuTi&#x27;</span>;</span><br><span class="line">    <span class="attribute">src</span>: <span class="built_in">url</span>(<span class="string">&#x27;/custom/fonts/DingTalk-JinBuTi.woff2&#x27;</span>) <span class="built_in">format</span>(<span class="string">&#x27;woff2&#x27;</span>),   <span class="comment">/* 提供 WOFF2 格式 */</span></span><br><span class="line">         <span class="built_in">url</span>(<span class="string">&#x27;/custom/fonts/DingTalk-JinBuTi.woff&#x27;</span>) <span class="built_in">format</span>(<span class="string">&#x27;woff&#x27;</span>),     <span class="comment">/* 提供 WOFF 格式 */</span></span><br><span class="line">         <span class="built_in">url</span>(<span class="string">&#x27;/custom/fonts/DingTalk-JinBuTi.ttf&#x27;</span>) <span class="built_in">format</span>(<span class="string">&#x27;truetype&#x27;</span>);  <span class="comment">/* 提供 TTF 格式 */</span></span><br><span class="line">    <span class="attribute">font-weight</span>: normal;</span><br><span class="line">    <span class="attribute">font-style</span>: normal;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p>在主题配置文件<code>_config.yml</code>中找到<code>inject</code>引入css</p><figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">inject:</span></span><br><span class="line">  <span class="attr">head:</span></span><br><span class="line">    <span class="comment"># 自定义css</span></span><br><span class="line">    <span class="bullet">-</span> <span class="string">&lt;link</span> <span class="string">rel=&quot;stylesheet&quot;</span> <span class="string">href=&quot;/custom/css/font.css&quot;&gt;</span></span><br></pre></td></tr></table></figure><p>在主题配置文件<code>_config.yml</code>找到<code>font</code>修改字体<br><img src="/img/posts/anzhiyu/font3.png"></p><blockquote><p>参考文章:<a href="https://jingzhi1208.github.io/2021/11/26/hexo-butterfly%E4%B8%BB%E9%A2%98%E4%B8%8B%E6%9B%B4%E6%8D%A2%E5%AD%97%E4%BD%93/">hexo butterfly主题下更换字体</a>，<a href="https://blog.qjqq.cn/posts/e8a9.html">Solitude如何引用自定义字体</a></p></blockquote><h1 id="添加打赏卡片"><a href="#添加打赏卡片" class="headerlink" title="添加打赏卡片"></a>添加打赏卡片</h1><div  class="reward_card">            <img class="no-lightbox" src="/img/adai.png">      <div class="reward_info">        <p class="reward_name">阿呆</p>        <div class="reward_bottom">          <span class="reward_money"><svg t="1735917273435" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4390" width="200" height="200"><path d="M0 0m512 0l0 0q512 0 512 512l0 0q0 512-512 512l0 0q-512 0-512-512l0 0q0-512 512-512Z" fill="#F08198" p-id="4391"></path><path d="M309.290667 595.2c-13.141333-9.941333-27.946667-16.896-43.178667-23.04-31.104-12.245333-63.658667-16.64-96.853333-15.786667-7.850667 0-15.658667 0.597333-23.722667 1.024 0-0.64-0.64-1.450667-0.64-2.56-2.133333-23.637333-4.650667-47.274667-6.357333-70.485333a1087.146667 1087.146667 0 0 1-2.56-58.282667c-0.597333-37.376-0.597333-74.538667-0.597334-111.872 0-8.874667-0.64-7.808-7.381333-4.864-20.949333 8.448-41.685333 16.64-62.634667 24.704-0.64 0.64-1.706667 2.730667-1.28 3.797334 6.357333 23.637333 11.008 47.914667 14.208 71.978666 3.157333 20.906667 5.888 41.173333 8.874667 61.653334 2.56 17.92 4.224 35.882667 6.314667 54.058666 2.133333 18.346667 4.693333 36.693333 6.826666 55.338667l6.314667 52.565333c1.450667 12.672 2.730667 25.088 3.84 37.76 0.597333 9.941333 1.450667 19.84 1.664 29.354667 0 2.133333 0.64 3.2 2.730667 3.2 4.693333 0 8.874667 0.597333 13.354666 0 21.546667-2.133333 43.093333-3.626667 64.298667-6.784 16.256-2.56 32.128-6.314667 47.786667-11.605333 22.229333-7.381333 41.258667-20.053333 59.690666-34.645334 7.808-5.888 14.165333-13.056 16.896-22.186666 5.930667-14.933333 3.413333-25.088-7.594666-33.322667zM442.922667 611.285333c-1.066667-12.202667-2.176-25.002667-3.712-37.162666-1.536-16.810667-3.328-33.621333-4.864-50.602667-1.536-15.530667-2.176-30.890667-3.285334-46.421333-1.536-21.418667-3.285333-42.837333-4.864-64.256l-3.285333-47.445334c-0.426667-5.888-2.858667-7.338667-9.216-6.912-7.68 0.597333-15.274667 1.066667-22.912 1.450667-6.613333 0.64-13.226667 1.493333-19.584 2.133333 19.797333 100.352 28.586667 200.917333 38.954667 300.672 12.117333 1.024 23.082667 1.664 34.56 2.730667 2.176 0.426667 3.285333 0 3.285333-2.133333l-1.109333-11.52c-0.853333-13.866667-2.432-27.306667-3.968-40.533334zM378.112 621.568c-1.365333-12.501333-2.56-24.746667-3.882667-37.248-1.365333-14.165333-2.56-28.544-4.309333-42.666667-0.981333-8.746667-2.346667-17.066667-3.541333-25.429333-0.384-3.114667-2.346667-4.565333-5.461334-4.138667-5.504 0.597333-11.349333 0.597333-17.066666 1.450667-7.808 1.024-15.658667 2.474667-23.850667 3.541333 9.685333 53.802667 19.626667 107.605333 29.738667 161.322667 11.733333-1.706667 22.912-3.114667 34.261333-4.565333-0.426667-4.181333-0.981333-8.32-1.365333-12.074667-1.578667-13.738667-3.157333-27.093333-4.522667-40.192zM498.773333 673.365333c-0.426667-20.821333-1.024-41.045333-1.408-61.909333-0.426667-25.728 0-51.84 0-77.525333 0-5.717333-0.426667-10.965333-0.64-16.64 0-2.56-1.450667-4.650667-4.138666-4.650667-10.837333-0.426667-21.717333-0.64-32.554667-0.64-4.138667 0-7.893333 0.64-12.032 1.493333 0.426667 1.450667 0.426667 2.517333 0.426667 3.584 1.450667 17.664 3.114667 35.157333 4.565333 52.437334 1.450667 16.853333 3.072 34.133333 4.522667 50.986666 1.706667 18.346667 3.114667 36.650667 4.778666 54.997334 0 1.024 1.706667 2.730667 2.688 2.730666 11.008 0.426667 22.613333 0 34.218667 0-0.426667-2.346667-0.426667-3.84-0.426667-4.864zM358.4 484.693333c-1.792-20.053333-3.242667-39.04-4.821333-58.496-0.384-2.56-1.28-3.797333-3.072-3.797333-5.717333 0-11.605333 0-17.706667 0.426667 2.304 21.546667 4.48 42.24 6.826667 63.573333 6.613333-0.64 12.501333-0.853333 18.773333-1.706667zM512 494.890667v-54.741334c0-3.84-1.621333-4.949333-5.162667-4.949333H486.4v62.933333c8.96 0.426667 17.365333 0.64 25.6 1.066667v-4.309333zM332.8 496.256v-4.181333c-0.938667-10.922667-2.304-21.376-3.242667-32.298667-0.597333-6.912-1.322667-13.653333-1.92-20.736-0.384-1.706667 0.426667-4.224-2.304-3.797333-6.101333 0.64-12.032 2.133333-18.133333 2.730666 3.413333 20.778667 6.698667 40.874667 10.112 61.226667l15.488-2.944zM473.6 497.706667v-32.554667c0-8.533333-0.469333-17.536 0-26.112 0-3.2-1.194667-3.84-4.266667-3.84h-21.333333c1.92 22.272 3.584 43.221333 5.504 64 6.442667-0.426667 12.928-0.853333 20.096-1.493333zM757.333333 595.370667c-13.098667-9.941333-27.904-16.896-43.136-23.04-31.104-12.245333-63.658667-16.682667-96.853333-15.829334-7.808 0-15.658667 0.597333-23.68 1.024 0-0.64-0.64-1.450667-0.64-2.56-2.133333-23.637333-4.693333-47.274667-6.357333-70.528a1077.76 1077.76 0 0 1-2.56-58.282666c-0.597333-37.418667-0.597333-74.581333-0.597334-111.957334 0-8.874667-0.64-7.808-7.424-4.864-20.906667 8.448-41.642667 16.682667-62.592 24.704-0.64 0.426667-1.706667 2.56-1.450666 3.584 6.272 23.68 11.008 47.744 14.165333 72.021334 3.157333 20.906667 5.930667 41.216 8.874667 61.696 2.56 17.962667 4.266667 35.925333 6.357333 54.101333 2.133333 18.346667 4.650667 36.736 6.741333 55.338667 2.133333 17.749333 4.266667 34.858667 6.357334 52.608 1.493333 12.672 2.730667 25.130667 3.797333 37.802666 0.64 9.941333 1.493333 19.84 1.706667 29.354667 0 2.133333 0.64 3.2 2.730666 3.2 4.693333 0 8.874667 0.597333 13.312 0 21.589333-2.133333 43.178667-3.626667 64.298667-6.784 16.213333-2.474667 32.213333-6.4 47.786667-11.605333 22.186667-7.424 41.258667-20.053333 59.648-34.645334 7.808-5.930667 14.165333-13.098667 16.896-22.186666 6.144-14.805333 3.626667-24.917333-7.381334-33.152zM890.922667 611.285333c-1.066667-12.202667-2.176-25.002667-3.712-37.162666-1.536-16.810667-3.328-33.621333-4.864-50.602667-1.536-15.530667-2.176-30.890667-3.285334-46.421333-1.536-21.418667-3.285333-42.837333-4.864-64.256l-3.285333-47.445334c-0.426667-5.888-2.858667-7.338667-9.216-6.912-7.722667 0.597333-15.189333 1.024-22.912 1.450667-6.613333 0.64-13.226667 1.493333-19.584 2.133333 19.797333 100.352 28.586667 200.917333 38.954667 300.672 12.117333 1.024 23.082667 1.664 34.56 2.730667 2.176 0.426667 3.285333 0 3.285333-2.133333l-1.109333-11.52c-0.853333-13.866667-2.432-27.306667-3.968-40.533334zM826.112 621.568c-1.365333-12.501333-2.56-24.746667-3.882667-37.248-1.365333-14.165333-2.56-28.544-4.309333-42.666667-0.981333-8.746667-2.346667-17.066667-3.541333-25.429333-0.384-3.114667-2.346667-4.565333-5.461334-4.138667-5.504 0.597333-11.349333 0.597333-17.066666 1.450667-7.808 1.024-15.658667 2.474667-23.850667 3.541333 9.685333 53.802667 19.626667 107.605333 29.738667 161.322667 11.434667-1.621333 22.826667-3.114667 34.261333-4.565333-0.426667-4.181333-0.981333-8.32-1.365333-12.074667-1.578667-13.738667-3.157333-27.093333-4.522667-40.192zM959.573333 673.365333c-0.426667-20.821333-1.024-41.045333-1.408-61.909333-0.426667-25.728 0-51.84 0-77.525333 0-5.717333-0.426667-10.965333-0.64-16.64 0-2.56-1.450667-4.650667-4.138666-4.650667-10.837333-0.426667-21.717333-0.64-32.554667-0.64-4.138667 0-7.893333 0.64-12.032 1.493333 0.426667 1.450667 0.426667 2.517333 0.426667 3.584 1.450667 17.664 3.114667 35.157333 4.565333 52.437334 1.450667 16.853333 3.072 34.133333 4.522667 50.986666 1.706667 18.346667 3.114667 36.650667 4.778666 54.997334 0 1.024 1.706667 2.730667 2.688 2.730666 11.008 0.426667 22.613333 0 34.218667 0-0.426667-2.346667-0.426667-3.84-0.426667-4.864zM806.4 484.693333c-1.792-20.053333-3.242667-39.04-4.821333-58.496-0.384-2.56-1.28-3.797333-3.072-3.797333-5.717333 0-11.605333 0-17.706667 0.426667 2.304 21.546667 4.48 42.24 6.826667 63.573333 6.613333-0.64 12.501333-0.853333 18.773333-1.706667zM960 494.890667v-54.741334c0-3.84-1.621333-4.949333-5.162667-4.949333H934.4v62.933333c8.96 0.426667 17.365333 0.64 25.6 1.066667v-4.309333zM780.8 496.256v-4.181333c-0.938667-10.922667-2.304-21.376-3.242667-32.298667-0.597333-6.912-1.322667-13.653333-1.92-20.736-0.384-1.706667 0.426667-4.224-2.304-3.797333-6.101333 0.64-12.032 2.133333-18.133333 2.730666 3.413333 20.778667 6.698667 40.874667 10.112 61.226667l15.488-2.944zM934.4 497.706667v-32.554667c0-8.533333-0.469333-17.536 0-26.112 0-3.2-1.194667-3.84-4.266667-3.84h-21.333333c1.92 22.272 3.584 43.221333 5.504 64 6.442667-0.426667 12.928-0.853333 20.096-1.493333z" fill="#FFFFFF" p-id="4392"></path><path d="M193.493333 668.16c-3.072-21.76-6.101333-43.008-9.173333-64 11.818667 2.56 61.568 21.418667 64 24.32-18.133333 13.013333-36.096 26.24-54.826667 39.68z m440.32 0c-2.986667-21.333333-6.058667-42.666667-9.173333-64 11.818667 2.56 61.568 21.418667 64 24.32-18.133333 13.013333-36.096 26.24-54.826667 39.68z" fill="#F08198" p-id="4393"></path></svg>999<span style="font-size:13px"></span></span>          <span class="reward_time">2025-01-01</span>        </div>      </div>    </div><p>在<strong>\themes\anzhiyu\scripts\tag</strong>中创建<code>reward.js</code></p><figure class="highlight js"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">/**</span></span><br><span class="line"><span class="comment"> * reward</span></span><br><span class="line"><span class="comment"> * &#123;% reward name,money,time,channel,avatar,url,friend %&#125;</span></span><br><span class="line"><span class="comment"> * &#123;% reward 名字,金额,时间,渠道,头像,链接,是否友链好友 %&#125;</span></span><br><span class="line"><span class="comment"> */</span></span><br><span class="line"><span class="meta"></span></span><br><span class="line"><span class="meta">&#x27;use strict&#x27;</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">function</span> <span class="title function_">reward</span>(<span class="params">args</span>) &#123;</span><br><span class="line">    args = args.<span class="title function_">join</span>(<span class="string">&#x27; &#x27;</span>).<span class="title function_">split</span>(<span class="string">&#x27;,&#x27;</span>)</span><br><span class="line"></span><br><span class="line">    <span class="comment">// 获取参数</span></span><br><span class="line">    <span class="keyword">let</span> name = (args[<span class="number">0</span>] || <span class="string">&#x27;匿名&#x27;</span>).<span class="title function_">trim</span>(),</span><br><span class="line">        money = args[<span class="number">1</span>]</span><br><span class="line">        time = (args[<span class="number">2</span>] || <span class="string">&#x27;&#x27;</span>).<span class="title function_">trim</span>(),</span><br><span class="line">        channel = args[<span class="number">3</span>],</span><br><span class="line">        avatar = args[<span class="number">4</span>] ? <span class="string">`&lt;img class=&quot;no-lightbox&quot; src=&quot;<span class="subst">$&#123;<span class="built_in">isNaN</span>(args[<span class="number">4</span>]) ? args[<span class="number">4</span>].trim() : <span class="string">`https://q1.qlogo.cn/g?b=qq&amp;nk=<span class="subst">$&#123;args[<span class="number">4</span>]&#125;</span>&amp;s=5`</span>&#125;</span>&quot;&gt;`</span> : <span class="string">&#x27;&lt;svg t=&quot;1672803307818&quot; class=&quot;icon&quot; viewBox=&quot;0 0 1024 1024&quot; version=&quot;1.1&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; p-id=&quot;13647&quot; width=&quot;200&quot; height=&quot;200&quot;&gt;&lt;path d=&quot;M512 0C229.236338 0 0 229.236338 0 512s229.236338 512 512 512 512-229.224912 512-512S794.775088 0 512 0z m-6.443844 190.801776c94.681097 0 171.710173 75.886551 171.710173 169.185192s-77.029076 169.208042-171.710173 169.208042-171.698748-75.909401-171.698749-169.185191S410.886484 190.801776 505.556156 190.801776zM793.141276 771.638944c0 61.536429-100.473702 61.536429-216.817084 61.536429H447.664383c-121.107714 0-216.794234 0-216.794234-61.536429v-12.670609c0-117.680137 97.240354-213.48091 216.794234-213.480909h128.659809c119.553879 0 216.817084 95.777922 216.817084 213.480909z&quot; fill=&quot;#e5e5e5&quot; p-id=&quot;13648&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M576.324192 545.487426H447.664383c-119.553879 0-216.794234 95.755071-216.794234 213.480909v12.670609c0 61.536429 95.68652 61.536429 216.794234 61.536429h128.659809c116.343383 0 216.817084 0 216.817084-61.536429v-12.670609c0-117.702988-97.263205-213.48091-216.817084-213.480909zM505.556156 529.19501c94.681097 0 171.710173-75.875126 171.710173-169.185191S600.237253 190.801776 505.556156 190.801776s-171.698748 75.932252-171.698749 169.208043 77.029076 169.185192 171.698749 169.185191z&quot; fill=&quot;#ffffff&quot; p-id=&quot;13649&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&#x27;</span>,</span><br><span class="line">        url = args[<span class="number">5</span>],</span><br><span class="line">        friend = <span class="title class_">Number</span>(args[<span class="number">6</span>]);</span><br><span class="line"></span><br><span class="line">    <span class="keyword">if</span> (channel == <span class="string">&#x27;wx&#x27;</span>) channel = <span class="string">&#x27;&lt;svg t=&quot;1672813125726&quot; class=&quot;icon&quot; viewBox=&quot;0 0 1024 1024&quot; version=&quot;1.1&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; p-id=&quot;1210&quot; width=&quot;200&quot; height=&quot;200&quot;&gt;&lt;path d=&quot;M683.058 364.695c11 0 22 1.016 32.943 1.976C686.564 230.064 538.896 128 370.681 128c-188.104 0.66-342.237 127.793-342.237 289.226 0 93.068 51.379 169.827 136.725 229.256L130.72 748.43l119.796-59.368c42.918 8.395 77.37 16.79 119.742 16.79 11 0 21.46-0.48 31.914-1.442a259.168 259.168 0 0 1-10.455-71.358c0.485-148.002 128.744-268.297 291.403-268.297l-0.06-0.06z m-184.113-91.992c25.99 0 42.913 16.79 42.913 42.575 0 25.188-16.923 42.579-42.913 42.579-25.45 0-51.38-16.85-51.38-42.58 0-25.784 25.93-42.574 51.38-42.574z m-239.544 85.154c-25.384 0-51.374-16.85-51.374-42.58 0-25.784 25.99-42.574 51.374-42.574 25.45 0 42.918 16.79 42.918 42.575 0 25.188-16.924 42.579-42.918 42.579z m736.155 271.655c0-135.647-136.725-246.527-290.983-246.527-162.655 0-290.918 110.88-290.918 246.527 0 136.128 128.263 246.587 290.918 246.587 33.972 0 68.423-8.395 102.818-16.85l93.809 50.973-25.93-84.677c68.907-51.93 120.286-119.815 120.286-196.033z m-385.275-42.58c-16.923 0-34.452-16.79-34.452-34.179 0-16.79 17.529-34.18 34.452-34.18 25.99 0 42.918 16.85 42.918 34.18 0 17.39-16.928 34.18-42.918 34.18z m188.165 0c-16.984 0-33.972-16.79-33.972-34.179 0-16.79 16.927-34.18 33.972-34.18 25.93 0 42.913 16.85 42.913 34.18 0 17.39-16.983 34.18-42.913 34.18z&quot; fill=&quot;#09BB07&quot; p-id=&quot;1211&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&#x27;</span></span><br><span class="line">     <span class="keyword">else</span> <span class="keyword">if</span> (channel == <span class="string">&#x27;zfb&#x27;</span>) channel = <span class="string">&#x27;&lt;svg t=&quot;1672813142459&quot; class=&quot;icon&quot; viewBox=&quot;0 0 1024 1024&quot; version=&quot;1.1&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; p-id=&quot;1349&quot; width=&quot;200&quot; height=&quot;200&quot;&gt;&lt;path d=&quot;M902.095 652.871l-250.96-84.392s19.287-28.87 39.874-85.472c20.59-56.606 23.539-87.689 23.539-87.689l-162.454-1.339v-55.487l196.739-1.387v-39.227H552.055v-89.29h-96.358v89.294H272.133v39.227l183.564-1.304v59.513h-147.24v31.079h303.064s-3.337 25.223-14.955 56.606c-11.615 31.38-23.58 58.862-23.58 58.862s-142.3-49.804-217.285-49.804c-74.985 0-166.182 30.123-175.024 117.55-8.8 87.383 42.481 134.716 114.728 152.139 72.256 17.513 138.962-0.173 197.04-28.607 58.087-28.391 115.081-92.933 115.081-92.933l292.486 142.041c-11.932 69.3-72.067 119.914-142.387 119.844H266.37c-79.714 0.078-144.392-64.483-144.466-144.194V266.374c-0.074-79.72 64.493-144.399 144.205-144.47h491.519c79.714-0.073 144.396 64.49 144.466 144.203v386.764z m-365.76-48.895s-91.302 115.262-198.879 115.262c-107.623 0-130.218-54.767-130.218-94.155 0-39.34 22.373-82.144 113.943-88.333 91.519-6.18 215.2 67.226 215.2 67.226h-0.047z&quot; fill=&quot;#02A9F1&quot; p-id=&quot;1350&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&#x27;</span></span><br><span class="line">     <span class="keyword">else</span> <span class="keyword">if</span> (channel == <span class="string">&#x27;qq&#x27;</span>) channel=<span class="string">&#x27;&lt;svg t=&quot;1672813064588&quot; class=&quot;icon&quot; viewBox=&quot;0 0 1024 1024&quot; version=&quot;1.1&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; p-id=&quot;1062&quot; width=&quot;200&quot; height=&quot;200&quot;&gt;&lt;path d=&quot;M511.09761 957.257c-80.159 0-153.737-25.019-201.11-62.386-24.057 6.702-54.831 17.489-74.252 30.864-16.617 11.439-14.546 23.106-11.55 27.816 13.15 20.689 225.583 13.211 286.912 6.767v-3.061z&quot; fill=&quot;#FAAD08&quot; p-id=&quot;1063&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M496.65061 957.257c80.157 0 153.737-25.019 201.11-62.386 24.057 6.702 54.83 17.489 74.253 30.864 16.616 11.439 14.543 23.106 11.55 27.816-13.15 20.689-225.584 13.211-286.914 6.767v-3.061z&quot; fill=&quot;#FAAD08&quot; p-id=&quot;1064&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M497.12861 474.524c131.934-0.876 237.669-25.783 273.497-35.34 8.541-2.28 13.11-6.364 13.11-6.364 0.03-1.172 0.542-20.952 0.542-31.155C784.27761 229.833 701.12561 57.173 496.64061 57.162 292.15661 57.173 209.00061 229.832 209.00061 401.665c0 10.203 0.516 29.983 0.547 31.155 0 0 3.717 3.821 10.529 5.67 33.078 8.98 140.803 35.139 276.08 36.034h0.972z&quot; fill=&quot;#000000&quot; p-id=&quot;1065&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M860.28261 619.782c-8.12-26.086-19.204-56.506-30.427-85.72 0 0-6.456-0.795-9.718 0.148-100.71 29.205-222.773 47.818-315.792 46.695h-0.962C410.88561 582.017 289.65061 563.617 189.27961 534.698 185.44461 533.595 177.87261 534.063 177.87261 534.063 166.64961 563.276 155.56661 593.696 147.44761 619.782 108.72961 744.168 121.27261 795.644 130.82461 796.798c20.496 2.474 79.78-93.637 79.78-93.637 0 97.66 88.324 247.617 290.576 248.996a718.01 718.01 0 0 1 5.367 0C708.80161 950.778 797.12261 800.822 797.12261 703.162c0 0 59.284 96.111 79.783 93.637 9.55-1.154 22.093-52.63-16.623-177.017&quot; fill=&quot;#000000&quot; p-id=&quot;1066&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M434.38261 316.917c-27.9 1.24-51.745-30.106-53.24-69.956-1.518-39.877 19.858-73.207 47.764-74.454 27.875-1.224 51.703 30.109 53.218 69.974 1.527 39.877-19.853 73.2-47.742 74.436m206.67-69.956c-1.494 39.85-25.34 71.194-53.24 69.956-27.888-1.238-49.269-34.559-47.742-74.435 1.513-39.868 25.341-71.201 53.216-69.974 27.909 1.247 49.285 34.576 47.767 74.453&quot; fill=&quot;#FFFFFF&quot; p-id=&quot;1067&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M683.94261 368.627c-7.323-17.609-81.062-37.227-172.353-37.227h-0.98c-91.29 0-165.031 19.618-172.352 37.227a6.244 6.244 0 0 0-0.535 2.505c0 1.269 0.393 2.414 1.006 3.386 6.168 9.765 88.054 58.018 171.882 58.018h0.98c83.827 0 165.71-48.25 171.881-58.016a6.352 6.352 0 0 0 1.002-3.395c0-0.897-0.2-1.736-0.531-2.498&quot; fill=&quot;#FAAD08&quot; p-id=&quot;1068&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M467.63161 256.377c1.26 15.886-7.377 30-19.266 31.542-11.907 1.544-22.569-10.083-23.836-25.978-1.243-15.895 7.381-30.008 19.25-31.538 11.927-1.549 22.607 10.088 23.852 25.974m73.097 7.935c2.533-4.118 19.827-25.77 55.62-17.886 9.401 2.07 13.75 5.116 14.668 6.316 1.355 1.77 1.726 4.29 0.352 7.684-2.722 6.725-8.338 6.542-11.454 5.226-2.01-0.85-26.94-15.889-49.905 6.553-1.579 1.545-4.405 2.074-7.085 0.242-2.678-1.834-3.786-5.553-2.196-8.135&quot; fill=&quot;#000000&quot; p-id=&quot;1069&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M504.33261 584.495h-0.967c-63.568 0.752-140.646-7.504-215.286-21.92-6.391 36.262-10.25 81.838-6.936 136.196 8.37 137.384 91.62 223.736 220.118 224.996H506.48461c128.498-1.26 211.748-87.612 220.12-224.996 3.314-54.362-0.547-99.938-6.94-136.203-74.654 14.423-151.745 22.684-215.332 21.927&quot; fill=&quot;#FFFFFF&quot; p-id=&quot;1070&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M323.27461 577.016v137.468s64.957 12.705 130.031 3.91V591.59c-41.225-2.262-85.688-7.304-130.031-14.574&quot; fill=&quot;#EB1C26&quot; p-id=&quot;1071&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M788.09761 432.536s-121.98 40.387-283.743 41.539h-0.962c-161.497-1.147-283.328-41.401-283.744-41.539l-40.854 106.952c102.186 32.31 228.837 53.135 324.598 51.926l0.96-0.002c95.768 1.216 222.4-19.61 324.6-51.924l-40.855-106.952z&quot; fill=&quot;#EB1C26&quot; p-id=&quot;1072&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&#x27;</span></span><br><span class="line">     <span class="keyword">else</span> channel=<span class="string">&#x27;&lt;svg t=&quot;1672812669835&quot; class=&quot;icon&quot; viewBox=&quot;0 0 1024 1024&quot; version=&quot;1.1&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; p-id=&quot;2998&quot; width=&quot;200&quot; height=&quot;200&quot;&gt;&lt;path d=&quot;M512 512m-448 0a448 448 0 1 0 896 0 448 448 0 1 0-896 0Z&quot; fill=&quot;#FFBD27&quot; p-id=&quot;2999&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M413.776 279.52l32.256 41.92h112.864l32.256-41.92 3.232-6.448v-3.232c0-6.448-3.232-9.664-9.68-12.896 0 0-45.152-9.664-83.84-9.664-38.72 0-83.856 9.664-83.856 9.664-16.128 6.448-3.232 22.576-3.232 22.576z m154.8 70.96H452.48C362.176 382.72 288 482.704 288 576.24c0 116.08 64.496 170.912 222.528 170.912 158.032 0 222.528-54.832 222.528-170.928 0-93.52-74.176-193.504-164.48-225.76z m22.576 238.64c6.448 0 12.896 6.448 12.896 12.912 0 6.448-6.448 12.896-12.896 12.896h-64.496v45.152c0 6.448-6.448 12.896-12.896 12.896-6.464 0-12.912-6.448-12.912-12.896v-41.92h-64.496c-6.448 0-12.896-6.464-12.896-12.912s6.448-12.896 12.896-12.896h64.496v-35.472h-64.496c-6.448 0-12.896-6.448-12.896-12.912 0-6.448 6.448-12.896 12.896-12.896h67.728v-3.216s-3.232 0-3.232-3.232l-51.6-61.28c-6.448-3.216-6.448-12.896 0-19.344s16.128-3.232 19.36 3.232l45.152 51.6 45.136-51.6c6.464-6.464 12.912-6.464 19.36-3.232 6.448 6.448 6.448 12.896 3.216 19.36l-51.6 61.28c0 3.2-3.216 3.2-6.448 3.2h67.728c6.448 0 12.896 6.464 12.896 12.912s-6.448 12.896-12.896 12.896h-64.496v35.472h64.496z&quot; fill=&quot;#FFFFFF&quot; p-id=&quot;3000&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&#x27;</span></span><br><span class="line"> <span class="comment">/**</span></span><br><span class="line"><span class="comment"> * 如果你需要其他小图标，可以自己添加 else if (channel == &#x27;自定义icon名称&#x27;) channel = &#x27;这里输入icon的svg地址&#x27;</span></span><br><span class="line"><span class="comment"> */</span></span><br><span class="line"> </span><br><span class="line">    <span class="keyword">return</span> <span class="string">`&lt;<span class="subst">$&#123;url?<span class="string">`a href=&quot;<span class="subst">$&#123;url&#125;</span>&quot;`</span>:<span class="string">&#x27;div&#x27;</span>&#125;</span>  class=&quot;reward_card&quot;&gt;</span></span><br><span class="line"><span class="string">      <span class="subst">$&#123;friend?<span class="string">&#x27;&lt;div class=&quot;isFriends&quot;&gt;友链&lt;/div&gt;&#x27;</span>:<span class="string">&#x27;&#x27;</span>&#125;</span></span></span><br><span class="line"><span class="string">      <span class="subst">$&#123;avatar&#125;</span></span></span><br><span class="line"><span class="string">      &lt;div class=&quot;reward_info&quot;&gt;</span></span><br><span class="line"><span class="string">        &lt;p class=&quot;reward_name&quot;&gt;<span class="subst">$&#123;name&#125;</span>&lt;/p&gt;</span></span><br><span class="line"><span class="string">        &lt;div class=&quot;reward_bottom&quot;&gt;</span></span><br><span class="line"><span class="string">          &lt;span class=&quot;reward_money&quot;&gt;<span class="subst">$&#123;channel&#125;</span><span class="subst">$&#123;money&#125;</span>&lt;span style=&quot;font-size:13px&quot;&gt;&lt;/span&gt;&lt;/span&gt;</span></span><br><span class="line"><span class="string">          &lt;span class=&quot;reward_time&quot;&gt;<span class="subst">$&#123;time&#125;</span>&lt;/span&gt;</span></span><br><span class="line"><span class="string">        &lt;/div&gt;</span></span><br><span class="line"><span class="string">      &lt;/div&gt;</span></span><br><span class="line"><span class="string">    &lt;/<span class="subst">$&#123;url?<span class="string">&#x27;a&#x27;</span>:<span class="string">&#x27;div&#x27;</span>&#125;</span>&gt;`</span></span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line">hexo.<span class="property">extend</span>.<span class="property">tag</span>.<span class="title function_">register</span>(<span class="string">&#x27;reward&#x27;</span>, reward, &#123; <span class="attr">ends</span>: <span class="literal">false</span> &#125;)</span><br></pre></td></tr></table></figure><p>在 <strong>\themes\anzhiyu\source\css_tags</strong>中创建<code>reward.styl</code></p><figure class="highlight css"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br></pre></td><td class="code"><pre><span class="line"><span class="selector-class">.reward_card</span></span><br><span class="line">  <span class="attribute">width</span>: <span class="number">280px</span></span><br><span class="line">  position relative</span><br><span class="line">  display: flex</span><br><span class="line">  text-decoration: none <span class="meta">!important</span></span><br><span class="line">  color: <span class="built_in">var</span>(--font-color) <span class="meta">!important</span></span><br><span class="line">  background: <span class="built_in">var</span>(--card-bg)</span><br><span class="line">  align-items: center</span><br><span class="line">  border: <span class="number">1px</span> solid <span class="number">#e0e3ed</span></span><br><span class="line">  border-radius: <span class="number">12px</span></span><br><span class="line">  padding: <span class="number">1rem</span></span><br><span class="line">  overflow hidden</span><br><span class="line">  margin: .<span class="number">5rem</span></span><br><span class="line">  transition: .<span class="number">3s</span></span><br><span class="line">  &amp;:hover</span><br><span class="line">    background: <span class="number">#4976f5</span></span><br><span class="line">    scale: <span class="number">1.02</span></span><br><span class="line">    color: white <span class="meta">!important</span></span><br><span class="line">    .isFriends</span><br><span class="line">      transform: <span class="built_in">translate</span>(<span class="number">100%</span>)</span><br><span class="line">  .reward_info</span><br><span class="line">    display: flex</span><br><span class="line">    margin-left: <span class="number">10px</span></span><br><span class="line">    flex-direction: column</span><br><span class="line">    flex: <span class="number">1</span></span><br><span class="line">    line-height: <span class="number">1.5</span></span><br><span class="line">    font-size: <span class="number">1.2rem</span></span><br><span class="line">    p</span><br><span class="line">      margin: <span class="number">0</span> <span class="meta">!important</span></span><br><span class="line">    .reward_name</span><br><span class="line">      font-weight: bold</span><br><span class="line">      font-size: <span class="number">21px</span></span><br><span class="line">    .reward_bottom</span><br><span class="line">      display: flex</span><br><span class="line">      align-items: baseline</span><br><span class="line">      justify-content: space-between</span><br><span class="line">      .reward_money</span><br><span class="line">        svg</span><br><span class="line">          margin-right: <span class="number">3px</span></span><br><span class="line">      span.reward_time</span><br><span class="line">        font-size: <span class="number">12px</span></span><br><span class="line">        opacity: .<span class="number">8</span></span><br><span class="line"></span><br><span class="line">  &amp;&gt;img,&amp;&gt;svg</span><br><span class="line">    width: <span class="number">65px</span> <span class="meta">!important</span></span><br><span class="line">    height: <span class="number">65px</span> <span class="meta">!important</span></span><br><span class="line">    object-fit: cover</span><br><span class="line">    border-radius: <span class="number">50%</span> <span class="meta">!important</span></span><br><span class="line">    margin: <span class="number">0</span> <span class="meta">!important</span></span><br><span class="line">  .isFriends</span><br><span class="line">    position: absolute</span><br><span class="line">    transition: .<span class="number">3s</span></span><br><span class="line">    right: <span class="number">0</span></span><br><span class="line">    top: <span class="number">0</span></span><br><span class="line">    background: <span class="number">#4976f5</span></span><br><span class="line">    color: white</span><br><span class="line">    padding: <span class="number">0</span> <span class="number">10px</span></span><br><span class="line">    border-radius: <span class="number">0</span> <span class="number">0</span> <span class="number">0</span> <span class="number">10px</span></span><br></pre></td></tr></table></figure><p>如没有阿里图标css，在根目录<strong>source\custom\css</strong>中创建<code>aliicon.css</code></p><figure class="highlight css"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">/* 阿里图标 */</span></span><br><span class="line"><span class="selector-tag">svg</span><span class="selector-class">.icon</span> &#123;</span><br><span class="line">    <span class="attribute">width</span>: <span class="number">1em</span>;</span><br><span class="line">    <span class="attribute">height</span>: <span class="number">1em</span>;</span><br><span class="line">    <span class="attribute">vertical-align</span>: -<span class="number">0.15em</span>;</span><br><span class="line">    <span class="attribute">fill</span>: currentColor;</span><br><span class="line">    <span class="attribute">overflow</span>: hidden;</span><br><span class="line">    <span class="attribute">font-size</span>: <span class="number">20px</span>;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p>在主题<code>_config.yml</code>中引用<code>css</code></p><figure class="highlight css"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">inject:</span><br><span class="line">  head:</span><br><span class="line">    # 自定义css</span><br><span class="line">    - &lt;link rel=<span class="string">&quot;stylesheet&quot;</span> href=<span class="string">&quot;/custom/css/aliicon.css&quot;</span>&gt;</span><br></pre></td></tr></table></figure><p>参数</p><figure class="highlight css"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">&#123;% reward 名字,金额/礼物,时间，渠道,头像,链接,是否友链好友(<span class="number">1</span>/<span class="number">0</span>) %&#125;</span><br></pre></td></tr></table></figure><p>如果要实现打赏页面<br><img src="/img/posts/anzhiyu/zanshang.png"><br>只需要在markdown内输入</p><figure class="highlight css"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br></pre></td><td class="code"><pre><span class="line">&lt;style&gt;</span><br><span class="line"><span class="selector-class">.reward_box</span> &#123;</span><br><span class="line">    <span class="attribute">display</span>: flex;</span><br><span class="line">    <span class="attribute">flex-wrap</span>: wrap;</span><br><span class="line">    <span class="attribute">gap</span>: <span class="number">8px</span>;</span><br><span class="line">&#125;</span><br><span class="line"><span class="selector-class">.reward_card</span> &#123;</span><br><span class="line">    <span class="attribute">margin</span>: <span class="number">0</span>;</span><br><span class="line">    <span class="attribute">width</span>: <span class="built_in">calc</span>(<span class="number">100%</span> / <span class="number">4</span> - <span class="number">6px</span>);</span><br><span class="line">    <span class="attribute">box-shadow</span>: <span class="number">0</span> <span class="number">2px</span> <span class="number">10px</span> -<span class="number">4px</span> <span class="number">#2c2d300c</span>;</span><br><span class="line">&#125;</span><br><span class="line"><span class="keyword">@media</span> screen <span class="keyword">and</span> (<span class="attribute">max-width</span>: <span class="number">1080px</span>) &#123;</span><br><span class="line">    <span class="selector-class">.reward_box</span> &#123;</span><br><span class="line">        <span class="attribute">gap</span>: <span class="number">9px</span>;</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="selector-class">.reward_card</span> &#123;</span><br><span class="line">        <span class="attribute">width</span>: <span class="built_in">calc</span>(<span class="number">100%</span> / <span class="number">3</span>  - <span class="number">6px</span>);</span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="keyword">@media</span> screen <span class="keyword">and</span> (<span class="attribute">max-width</span>: <span class="number">850px</span>) &#123;</span><br><span class="line">    <span class="selector-class">.reward_box</span> &#123;</span><br><span class="line">        <span class="attribute">gap</span>: <span class="number">8px</span>;</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="selector-class">.reward_card</span> &#123;</span><br><span class="line">        <span class="attribute">width</span>: <span class="built_in">calc</span>(<span class="number">100%</span> / <span class="number">2</span>  - <span class="number">4px</span>);</span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br><span class="line"><span class="keyword">@media</span> screen <span class="keyword">and</span> (<span class="attribute">max-width</span>: <span class="number">568px</span>) &#123;</span><br><span class="line">    <span class="selector-class">.reward_card</span> &#123;</span><br><span class="line">        <span class="attribute">width</span>: <span class="number">100%</span>;</span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br><span class="line">&lt;/style&gt;</span><br><span class="line"></span><br><span class="line"></span><br><span class="line">&lt;<span class="selector-tag">div</span> class=&quot;reward_box&quot;&gt;</span><br><span class="line"></span><br><span class="line">&lt;!-- 输入赞赏名单 --&gt;</span><br><span class="line"></span><br><span class="line">&lt;/<span class="selector-tag">div</span>&gt;</span><br></pre></td></tr></table></figure><blockquote><p>本文部分内容进行是针对<a href="https://blog.leonus.cn/">Leonus</a>代码修改，原文请看<a href="https://blog.leonus.cn/2023/reward-card.html">打赏卡片标签外挂</a></p></blockquote><h1 id="语雀卡片"><a href="#语雀卡片" class="headerlink" title="语雀卡片"></a>语雀卡片</h1><p><img src="/img/posts/anzhiyu/yuque.png"><br>在 <strong>\themes\anzhiyu\scripts\tag</strong> 文件夹下面新建<code>link.js</code>并粘贴如下代码：</p><figure class="highlight js"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">/**</span></span><br><span class="line"><span class="comment"> * link</span></span><br><span class="line"><span class="comment"> * &#123;% link url,title,favicon,desc %&#125;</span></span><br><span class="line"><span class="comment"> * &#123;% link 链接,标题,图标,介绍 %&#125;</span></span><br><span class="line"><span class="comment"> */</span></span><br><span class="line"><span class="meta"></span></span><br><span class="line"><span class="meta">&#x27;use strict&#x27;</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">let</span> defaultIcon = <span class="string">&#x27;&lt;svg t=&quot;1670307855063&quot; viewBox=&quot;0 0 1024 1024&quot; version=&quot;1.1&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; p-id=&quot;19066&quot; width=&quot;200&quot; height=&quot;200&quot;&gt;&lt;path d=&quot;M504.064 516.608m-384.256 0a384.256 384.256 0 1 0 768.512 0 384.256 384.256 0 1 0-768.512 0Z&quot; fill=&quot;#009CF5&quot; p-id=&quot;19068&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M746.112 270.464L472.448 485.12l63.104 63.104L750.08 274.56c2.304-2.688-1.28-6.144-3.968-4.096z&quot; fill=&quot;#FF4C3A&quot; p-id=&quot;19069&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M262.016 762.752l273.664-214.528-63.104-63.104-214.656 273.536c-2.176 2.688 1.28 6.144 4.096 4.096z&quot; fill=&quot;#FFFFFF&quot; p-id=&quot;19070&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M505.216 155.136c-3.2 0-5.888 2.56-5.888 5.888v53.504c0 3.2 2.56 5.888 5.888 5.888s5.888-2.56 5.888-5.888v-53.504c-0.128-3.2-2.688-5.888-5.888-5.888zM442.368 160.512c-3.2 0.512-5.376 3.584-4.736 6.784l9.344 52.736c0.512 3.2 3.584 5.376 6.784 4.736 3.2-0.512 5.376-3.584 4.736-6.784l-9.344-52.736c-0.512-3.2-3.584-5.376-6.784-4.736zM396.288 234.368c1.152 3.072 4.48 4.608 7.552 3.456 3.072-1.152 4.608-4.48 3.456-7.552l-18.304-50.304c-1.152-3.072-4.48-4.608-7.552-3.456-3.072 1.152-4.608 4.48-3.456 7.552l18.304 50.304zM348.928 257.408c1.664 2.816 5.248 3.712 7.936 2.176s3.712-5.248 2.176-7.936l-26.752-46.336c-1.664-2.816-5.248-3.712-7.936-2.176-2.816 1.664-3.712 5.248-2.176 7.936l26.752 46.336zM306.304 288.256c2.048 2.432 5.76 2.816 8.192 0.768 2.432-2.048 2.816-5.76 0.768-8.192l-34.432-40.96c-2.048-2.432-5.76-2.816-8.192-0.768-2.432 2.048-2.816 5.76-0.768 8.192l34.432 40.96zM269.696 326.144c2.432 2.048 6.144 1.792 8.192-0.768 2.048-2.432 1.792-6.144-0.768-8.192l-40.96-34.432c-2.432-2.048-6.144-1.792-8.192 0.768-2.048 2.432-1.792 6.144 0.768 8.192l40.96 34.432zM193.792 342.912l46.336 26.752c2.816 1.664 6.4 0.64 7.936-2.176 1.664-2.816 0.64-6.4-2.176-8.064L199.552 332.8c-2.816-1.664-6.4-0.64-7.936 2.176-1.664 2.688-0.64 6.272 2.176 7.936zM168.32 399.488l50.304 18.304c3.072 1.152 6.4-0.512 7.552-3.456 1.152-3.072-0.512-6.4-3.456-7.552l-50.304-18.304c-3.072-1.152-6.4 0.512-7.552 3.456-1.152 3.072 0.384 6.4 3.456 7.552zM207.872 457.344l-52.736-9.344c-3.2-0.512-6.272 1.536-6.784 4.736-0.512 3.2 1.536 6.272 4.736 6.784l52.736 9.344c3.2 0.512 6.272-1.536 6.784-4.736 0.512-3.2-1.536-6.272-4.736-6.784zM201.984 509.568H148.48c-3.2 0-5.888 2.56-5.888 5.888 0 3.2 2.56 5.888 5.888 5.888h53.504c3.2 0 5.888-2.56 5.888-5.888 0-3.2-2.56-5.888-5.888-5.888zM205.44 562.176l-52.736 9.344c-3.2 0.512-5.376 3.584-4.736 6.784 0.512 3.2 3.584 5.376 6.784 4.736l52.736-9.344c3.2-0.512 5.376-3.584 4.736-6.784s-3.584-5.248-6.784-4.736zM217.856 613.376l-50.304 18.304c-3.072 1.152-4.608 4.48-3.456 7.552 1.152 3.072 4.48 4.608 7.552 3.456l50.304-18.304c3.072-1.152 4.608-4.48 3.456-7.552-1.152-3.072-4.48-4.608-7.552-3.456zM238.976 661.504l-46.336 26.752c-2.816 1.664-3.712 5.248-2.176 8.064 1.664 2.816 5.248 3.712 8.064 2.176l46.336-26.752c2.816-1.664 3.712-5.248 2.176-8.064-1.664-2.816-5.248-3.712-8.064-2.176zM268.16 705.408l-40.96 34.432c-2.432 2.048-2.816 5.76-0.768 8.192 2.048 2.432 5.76 2.816 8.192 0.768l40.96-34.432c2.432-2.048 2.816-5.76 0.768-8.192-1.92-2.56-5.632-2.816-8.192-0.768zM304.512 743.424l-34.432 40.96c-2.048 2.432-1.792 6.144 0.768 8.192 2.432 2.048 6.144 1.792 8.192-0.768l34.432-40.96c2.048-2.432 1.792-6.144-0.768-8.192-2.304-1.92-6.016-1.664-8.192 0.768zM347.008 774.656l-26.752 46.336c-1.664 2.816-0.64 6.4 2.176 7.936 2.816 1.664 6.4 0.64 8.064-2.176l26.752-46.336c1.664-2.816 0.64-6.4-2.176-7.936-2.816-1.536-6.4-0.64-8.064 2.176zM394.24 798.08l-18.304 50.304c-1.152 3.072 0.512 6.4 3.456 7.552 3.072 1.152 6.4-0.512 7.552-3.456l18.304-50.304c1.152-3.072-0.512-6.4-3.456-7.552-3.072-1.152-6.528 0.384-7.552 3.456zM440.192 872.32c3.2 0.512 6.272-1.536 6.784-4.736l9.344-52.736c0.512-3.2-1.536-6.272-4.736-6.784-3.2-0.512-6.272 1.536-6.784 4.736l-9.344 52.736c-0.64 3.2 1.536 6.272 4.736 6.784zM502.912 878.08c3.2 0 5.888-2.56 5.888-5.888v-53.504c0-3.2-2.56-5.888-5.888-5.888-3.2 0-5.888 2.56-5.888 5.888v53.504c0 3.2 2.688 5.888 5.888 5.888zM549.632 815.232l9.344 52.736c0.512 3.2 3.584 5.376 6.784 4.736 3.2-0.512 5.376-3.584 4.736-6.784l-9.344-52.736c-0.512-3.2-3.584-5.376-6.784-4.736-3.2 0.512-5.248 3.584-4.736 6.784zM600.832 802.816l18.304 50.304c1.152 3.072 4.48 4.608 7.552 3.456 3.072-1.152 4.608-4.48 3.456-7.552L611.84 798.72c-1.152-3.072-4.48-4.608-7.552-3.456-3.072 1.152-4.608 4.48-3.456 7.552zM649.088 781.696l26.752 46.336c1.664 2.816 5.248 3.712 8.064 2.176 2.816-1.664 3.712-5.248 2.176-8.064l-26.88-46.336c-1.664-2.816-5.248-3.712-8.064-2.176-2.816 1.664-3.712 5.248-2.048 8.064zM692.864 752.384l34.432 40.96c2.048 2.432 5.76 2.816 8.192 0.768 2.432-2.048 2.816-5.76 0.768-8.192l-34.432-40.96c-2.048-2.432-5.76-2.816-8.192-0.768-2.56 2.048-2.816 5.76-0.768 8.192zM730.88 716.032l40.96 34.432c2.432 2.048 6.144 1.792 8.192-0.768 2.048-2.432 1.792-6.144-0.768-8.192l-40.96-34.432c-2.432-2.048-6.144-1.792-8.192 0.768-1.92 2.432-1.664 6.144 0.768 8.192zM762.112 673.664l46.336 26.752c2.816 1.664 6.4 0.64 8.064-2.176 1.664-2.816 0.64-6.4-2.176-7.936L768 663.552c-2.816-1.664-6.4-0.64-8.064 2.176-1.536 2.688-0.64 6.272 2.176 7.936zM785.536 626.432l50.304 18.304c3.072 1.152 6.4-0.512 7.552-3.456 1.152-3.072-0.512-6.4-3.456-7.552l-50.304-18.304c-3.072-1.152-6.4 0.512-7.552 3.456-1.152 3.072 0.384 6.4 3.456 7.552zM800.256 575.872l52.736 9.344c3.2 0.512 6.272-1.536 6.784-4.736 0.512-3.2-1.536-6.272-4.736-6.784l-52.736-9.344c-3.2-0.512-6.272 1.536-6.784 4.736-0.512 3.2 1.536 6.272 4.736 6.784zM800.256 517.76c0 3.2 2.56 5.888 5.888 5.888h53.504c3.2 0 5.888-2.56 5.888-5.888 0-3.2-2.56-5.888-5.888-5.888h-53.504c-3.328 0-5.888 2.56-5.888 5.888zM802.688 471.04l52.736-9.344c3.2-0.512 5.376-3.584 4.736-6.784-0.512-3.2-3.584-5.376-6.784-4.736l-52.736 9.344c-3.2 0.512-5.376 3.584-4.736 6.784 0.512 3.2 3.584 5.248 6.784 4.736zM790.272 419.84l50.304-18.304c3.072-1.152 4.608-4.48 3.456-7.552-1.152-3.072-4.48-4.608-7.552-3.456l-50.304 18.304c-3.072 1.152-4.608 4.48-3.456 7.552 1.152 2.944 4.48 4.608 7.552 3.456zM769.152 371.584l46.336-26.752c2.816-1.664 3.712-5.248 2.176-7.936-1.664-2.816-5.248-3.712-8.064-2.176l-46.336 26.752c-2.816 1.664-3.712 5.248-2.176 8.064 1.664 2.688 5.248 3.712 8.064 2.048zM739.84 327.808l40.96-34.432c2.432-2.048 2.816-5.76 0.768-8.192-2.048-2.432-5.76-2.816-8.192-0.768l-40.96 34.432c-2.432 2.048-2.816 5.76-0.768 8.192 2.048 2.56 5.76 2.816 8.192 0.768zM703.488 289.664l34.432-40.96c2.048-2.432 1.792-6.144-0.768-8.192-2.432-2.048-6.144-1.792-8.192 0.768l-34.432 40.96c-2.048 2.432-1.792 6.144 0.768 8.192 2.432 2.048 6.144 1.792 8.192-0.768zM661.12 258.56l26.752-46.336c1.664-2.816 0.64-6.4-2.176-7.936-2.816-1.664-6.4-0.64-8.064 2.176l-26.752 46.336c-1.664 2.816-0.64 6.4 2.176 7.936 2.816 1.536 6.4 0.64 8.064-2.176zM613.888 235.136l18.304-50.304c1.152-3.072-0.512-6.4-3.456-7.552-3.072-1.152-6.4 0.512-7.552 3.456L602.88 231.168c-1.152 3.072 0.512 6.4 3.456 7.552 3.072 1.024 6.4-0.512 7.552-3.584zM556.544 225.152c3.2 0.512 6.272-1.536 6.784-4.736l9.344-52.736c0.512-3.2-1.536-6.272-4.736-6.784-3.2-0.512-6.272 1.536-6.784 4.736l-9.344 52.736c-0.512 3.2 1.536 6.144 4.736 6.784zM273.536 290.432c2.432 2.432 6.528 2.432 8.96 0 2.432-2.432 2.432-6.528 0-8.96l-21.12-21.12c-2.432-2.432-6.528-2.432-8.96 0-2.432 2.432-2.432 6.528 0 8.96l21.12 21.12zM237.824 333.824c2.944 2.048 6.912 1.28 8.832-1.536 2.048-2.944 1.28-6.912-1.536-8.832l-24.448-17.152c-2.944-2.048-6.912-1.28-8.832 1.536s-1.28 6.912 1.536 8.832l24.448 17.152zM183.04 370.176l27.136 12.672c3.2 1.536 7.04 0.128 8.448-3.072 1.536-3.2 0.128-7.04-3.072-8.448l-27.136-12.672c-3.2-1.536-7.04-0.128-8.448 3.072-1.536 3.2-0.128 7.04 3.072 8.448zM194.688 423.68l-28.928-7.68c-3.456-0.896-6.912 1.152-7.808 4.48-0.896 3.456 1.152 6.912 4.48 7.808l28.928 7.68c3.456 0.896 6.912-1.152 7.808-4.48 0.896-3.456-1.152-6.912-4.48-7.808zM183.168 478.72l-29.824-2.56c-3.456-0.256-6.656 2.304-6.912 5.76-0.256 3.456 2.304 6.656 5.76 6.912l29.824 2.56c3.456 0.256 6.656-2.304 6.912-5.76 0.384-3.456-2.176-6.528-5.76-6.912zM181.504 535.04l-29.824 2.56c-3.456 0.256-6.144 3.456-5.76 6.912 0.256 3.456 3.456 6.144 6.912 5.76l29.824-2.56c3.456-0.256 6.144-3.456 5.76-6.912-0.256-3.456-3.328-6.016-6.912-5.76zM191.36 590.72l-28.928 7.68c-3.456 0.896-5.376 4.352-4.48 7.808 0.896 3.456 4.352 5.376 7.808 4.48l28.928-7.68c3.456-0.896 5.376-4.352 4.48-7.808-0.896-3.328-4.352-5.376-7.808-4.48zM207.232 644.224l-27.136 12.672c-3.2 1.536-4.608 5.248-3.072 8.448 1.536 3.2 5.248 4.608 8.448 3.072l27.136-12.672c3.2-1.536 4.608-5.248 3.072-8.448-1.408-3.2-5.248-4.48-8.448-3.072zM233.984 693.888l-24.448 17.152c-2.944 2.048-3.584 6.016-1.536 8.832 2.048 2.944 6.016 3.584 8.832 1.536l24.448-17.152c2.944-2.048 3.584-6.016 1.536-8.832-2.048-2.944-6.016-3.584-8.832-1.536zM310.912 775.552L293.76 800c-2.048 2.944-1.28 6.912 1.536 8.832 2.944 2.048 6.912 1.28 8.832-1.536l17.152-24.448c2.048-2.944 1.28-6.912-1.536-8.832-2.816-2.048-6.912-1.408-8.832 1.536zM349.184 840.704c3.2 1.536 7.04 0.128 8.448-3.072l12.672-27.136c1.536-3.2 0.128-7.04-3.072-8.448-3.2-1.536-7.04-0.128-8.448 3.072l-12.672 27.136c-1.408 3.2-0.128 6.912 3.072 8.448zM407.808 862.72c3.456 0.896 6.912-1.152 7.808-4.48l7.68-28.928c0.896-3.456-1.152-6.912-4.48-7.808-3.456-0.896-6.912 1.152-7.808 4.48l-7.68 28.928c-0.896 3.328 1.152 6.912 4.48 7.808zM469.376 874.112c3.456 0.256 6.656-2.304 6.912-5.76l2.56-29.824c0.256-3.456-2.304-6.656-5.76-6.912-3.456-0.256-6.656 2.304-6.912 5.76l-2.56 29.824c-0.256 3.584 2.304 6.656 5.76 6.912zM522.496 839.168l2.56 29.824c0.256 3.456 3.456 6.144 6.912 5.76 3.456-0.256 6.144-3.456 5.76-6.912l-2.56-29.824c-0.256-3.456-3.456-6.144-6.912-5.76-3.456 0.256-6.016 3.328-5.76 6.912zM578.176 830.976l7.68 28.928c0.896 3.456 4.352 5.376 7.808 4.48 3.456-0.896 5.376-4.352 4.48-7.808l-7.68-28.928c-0.896-3.456-4.352-5.376-7.808-4.48-3.328 0.896-5.376 4.48-4.48 7.808zM631.68 813.312l12.672 27.136c1.536 3.2 5.248 4.608 8.448 3.072 3.2-1.536 4.608-5.248 3.072-8.448l-12.672-27.136c-1.536-3.2-5.248-4.608-8.448-3.072-3.2 1.536-4.48 5.248-3.072 8.448zM681.344 786.688l17.152 24.448c2.048 2.944 6.016 3.584 8.832 1.536 2.944-2.048 3.584-6.016 1.536-8.832l-17.152-24.448c-2.048-2.944-6.016-3.584-8.832-1.536-2.944 1.92-3.584 5.888-1.536 8.832zM725.504 751.744l21.12 21.12c2.432 2.432 6.528 2.432 8.96 0 2.432-2.432 2.432-6.528 0-8.96l-21.12-21.12c-2.432-2.432-6.528-2.432-8.96 0-2.432 2.432-2.432 6.528 0 8.96zM763.008 709.76l24.448 17.152c2.944 2.048 6.912 1.28 8.832-1.536 2.048-2.944 1.28-6.912-1.536-8.832l-24.448-17.152c-2.944-2.048-6.912-1.28-8.832 1.536-2.048 2.816-1.408 6.784 1.536 8.832zM792.576 661.888l27.136 12.672c3.2 1.536 7.04 0.128 8.448-3.072 1.536-3.2 0.128-7.04-3.072-8.448l-27.136-12.672c-3.2-1.536-7.04-0.128-8.448 3.072-1.536 3.2-0.128 6.912 3.072 8.448zM813.44 609.536l28.928 7.68c3.456 0.896 6.912-1.152 7.808-4.48 0.896-3.456-1.152-6.912-4.48-7.808l-28.928-7.68c-3.456-0.896-6.912 1.152-7.808 4.48-0.896 3.456 1.024 6.912 4.48 7.808zM824.832 554.368l29.824 2.56c3.456 0.256 6.656-2.304 6.912-5.76 0.256-3.456-2.304-6.656-5.76-6.912l-29.824-2.56c-3.456-0.256-6.656 2.304-6.912 5.76-0.256 3.584 2.304 6.656 5.76 6.912zM826.624 498.176l29.824-2.56c3.456-0.256 6.144-3.456 5.76-6.912-0.256-3.456-3.456-6.144-6.912-5.76l-29.824 2.56c-3.456 0.256-6.144 3.456-5.76 6.912 0.256 3.456 3.328 6.016 6.912 5.76zM818.432 442.368l28.928-7.68c3.456-0.896 5.376-4.352 4.48-7.808-0.896-3.456-4.352-5.376-7.808-4.48l-28.928 7.68c-3.456 0.896-5.376 4.352-4.48 7.808 0.896 3.456 4.48 5.376 7.808 4.48zM800.768 388.992l27.136-12.672c3.2-1.536 4.608-5.248 3.072-8.448-1.536-3.2-5.248-4.608-8.448-3.072l-27.136 12.672c-3.2 1.536-4.608 5.248-3.072 8.448 1.536 3.072 5.248 4.48 8.448 3.072zM774.144 339.328l24.448-17.152c2.944-2.048 3.584-6.016 1.536-8.832-2.048-2.944-6.016-3.584-8.832-1.536L766.848 328.96c-2.944 2.048-3.584 6.016-1.536 8.832 1.92 2.816 5.888 3.584 8.832 1.536zM697.216 257.664l17.152-24.448c2.048-2.944 1.28-6.912-1.536-8.832-2.944-2.048-6.912-1.28-8.832 1.536l-17.152 24.448c-2.048 2.944-1.28 6.912 1.536 8.832 2.816 2.048 6.784 1.408 8.832-1.536zM658.944 192.512c-3.2-1.536-7.04-0.128-8.448 3.072l-12.672 27.136c-1.536 3.2-0.128 7.04 3.072 8.448 3.2 1.536 7.04 0.128 8.448-3.072l12.672-27.136c1.408-3.2 0-7.04-3.072-8.448zM600.192 170.496c-3.456-0.896-6.912 1.152-7.808 4.48l-7.68 28.928c-0.896 3.456 1.152 6.912 4.48 7.808 3.456 0.896 6.912-1.152 7.808-4.48l7.68-28.928c1.024-3.328-1.024-6.912-4.48-7.808zM534.912 201.6c3.456 0.256 6.656-2.304 6.912-5.76l2.56-29.824c0.256-3.456-2.304-6.656-5.76-6.912-3.456-0.256-6.656 2.304-6.912 5.76l-2.56 29.824c-0.256 3.456 2.304 6.528 5.76 6.912zM476.032 158.464c-3.456 0.256-6.144 3.456-5.76 6.912l2.56 29.824c0.256 3.456 3.456 6.144 6.912 5.76 3.456-0.256 6.144-3.456 5.76-6.912l-2.56-29.824c-0.256-3.456-3.328-6.016-6.912-5.76zM422.144 173.312c-0.896-3.456-4.352-5.376-7.808-4.48-3.456 0.896-5.376 4.352-4.48 7.808l7.68 28.928c0.896 3.456 4.352 5.376 7.808 4.48 3.456-0.896 5.376-4.352 4.48-7.808l-7.68-28.928zM376.448 219.776l-12.672-27.136c-1.536-3.2-5.248-4.608-8.448-3.072-3.2 1.536-4.608 5.248-3.072 8.448L364.8 225.28c1.536 3.2 5.248 4.608 8.448 3.072 3.2-1.536 4.608-5.376 3.2-8.576zM316.416 253.824c2.048 2.944 6.016 3.584 8.832 1.536 2.944-2.048 3.584-6.016 1.536-8.832l-17.152-24.448c-2.048-2.944-6.016-3.584-8.832-1.536-2.944 2.048-3.584 6.016-1.536 8.832l17.152 24.448z&quot; fill=&quot;#FFFFFF&quot; p-id=&quot;19071&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&#x27;</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">function</span> <span class="title function_">link</span>(<span class="params">args</span>) &#123;</span><br><span class="line">    args = args.<span class="title function_">join</span>(<span class="string">&#x27; &#x27;</span>).<span class="title function_">split</span>(<span class="string">&#x27;,&#x27;</span>);</span><br><span class="line">    <span class="comment">// 获取参数</span></span><br><span class="line">    <span class="keyword">let</span> url = (args[<span class="number">0</span>] || <span class="string">&#x27;&#x27;</span>).<span class="title function_">trim</span>(),</span><br><span class="line">        title = (args[<span class="number">1</span>] || <span class="string">&#x27;点击直达链接&#x27;</span>).<span class="title function_">trim</span>(),</span><br><span class="line">        favicon = (args[<span class="number">2</span>] ? <span class="string">`&lt;img src=&quot;<span class="subst">$&#123;args[<span class="number">2</span>]&#125;</span>&quot; class=&quot;no-lightbox&quot;&gt;`</span> : defaultIcon).<span class="title function_">trim</span>(),</span><br><span class="line">        desc = (args[<span class="number">3</span>] || <span class="string">&#x27;&#x27;</span>).<span class="title function_">trim</span>()</span><br><span class="line"></span><br><span class="line">    <span class="keyword">return</span> <span class="string">`&lt;a href=&quot;<span class="subst">$&#123;url&#125;</span>&quot; <span class="subst">$&#123;url.includes(<span class="string">&#x27;http&#x27;</span>)?<span class="string">&#x27;target=&quot;_blank&quot;&#x27;</span>:<span class="string">&#x27;&#x27;</span>&#125;</span> title=&quot;<span class="subst">$&#123;title&#125;</span>&quot; referrerPolicy=&quot;no-referrer&quot; class=&quot;link_card&quot;&gt;&lt;div class=&quot;link_icon&quot;&gt;<span class="subst">$&#123;favicon&#125;</span>&lt;/div&gt;&lt;div class=&quot;link_content&quot;&gt;&lt;div class=&quot;link_title&quot;&gt;<span class="subst">$&#123;title&#125;</span>&lt;/div&gt;<span class="subst">$&#123;desc?<span class="string">`&lt;div class=&quot;link_desc&quot;&gt;<span class="subst">$&#123;desc&#125;</span>&lt;/div&gt;`</span>:<span class="string">&#x27;&#x27;</span>&#125;</span>&lt;/div&gt;&lt;/a&gt;`</span></span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line">hexo.<span class="property">extend</span>.<span class="property">tag</span>.<span class="title function_">register</span>(<span class="string">&#x27;link&#x27;</span>, link, &#123; <span class="attr">ends</span>: <span class="literal">false</span> &#125;)</span><br></pre></td></tr></table></figure><p>在 <strong>\themes\anzhiyu\source\css\_tags</strong> 文件夹下面新建<code>link.styl</code>并粘贴如下代码：</p><figure class="highlight css"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br></pre></td><td class="code"><pre><span class="line"><span class="selector-class">.link_card</span></span><br><span class="line">  <span class="attribute">display</span>: flex</span><br><span class="line">  margin: <span class="number">10px</span> <span class="number">0</span></span><br><span class="line">  color: <span class="built_in">var</span>(--font-color) </span><br><span class="line">  text-decoration: none </span><br><span class="line">  background: <span class="built_in">var</span>(--reward-pop)</span><br><span class="line">  border-radius: <span class="number">10px</span> <span class="meta">!important</span></span><br><span class="line">  padding: <span class="number">10px</span> <span class="meta">!important</span></span><br><span class="line">  &amp;:hover</span><br><span class="line">    background: <span class="number">#4976f5</span> </span><br><span class="line">    color: white </span><br><span class="line">  .link_icon,.link_content</span><br><span class="line">    height: <span class="number">4rem</span></span><br><span class="line">  .link_icon</span><br><span class="line">    img,svg</span><br><span class="line">      height: <span class="number">4rem</span></span><br><span class="line">      width: <span class="number">4rem</span> </span><br><span class="line">  .link_content</span><br><span class="line">    margin-left: <span class="number">1rem</span> </span><br><span class="line">    width: <span class="built_in">calc</span>(<span class="number">100%</span> - <span class="number">6rem</span>) </span><br><span class="line">    overflow: hidden </span><br><span class="line">    line-height: <span class="number">1.5</span> </span><br><span class="line">    display: flex </span><br><span class="line">    flex-direction: column </span><br><span class="line">    justify-content: center </span><br><span class="line">    .link_title</span><br><span class="line">      font-weight: bold  </span><br><span class="line">      font-size: <span class="number">1.2rem</span> </span><br><span class="line">    .link_title,.link_desc</span><br><span class="line">      word-break: break-all  </span><br><span class="line">      overflow:hidden </span><br><span class="line">      text-overflow: ellipsis </span><br><span class="line">    &amp;:<span class="built_in">not</span>(:<span class="built_in">has</span>(.link_desc)) .link_title</span><br><span class="line">      display:-webkit-box </span><br><span class="line">      -webkit-box-orient:vertical </span><br><span class="line">      -webkit-line-clamp:<span class="number">2</span> </span><br><span class="line">    .link_desc</span><br><span class="line">      opacity: .<span class="number">6</span> </span><br><span class="line">    .link_desc,&amp;:<span class="built_in">has</span>(.link_desc) .link_title</span><br><span class="line">      white-space: nowrap </span><br><span class="line">a.link_card&#123;</span><br><span class="line">  <span class="attribute">border-bottom</span>: none <span class="meta">!important</span></span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p>使用格式</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">&#123;% link 链接,标题,图标,介绍 %&#125;</span><br></pre></td></tr></table></figure><blockquote><p>本文部分内容进行是针对<a href="https://blog.leonus.cn/">Leonus</a>代码修改，感谢<a href="https://blog.ciraos.top/">葱苓语畔</a>，<a href="https://satera.cn/">小旦</a>，<a href="https://blog.xiowo.net/">Mo的记事簿</a>的帮助，原文请看<a href="https://blog.leonus.cn/2022/link-card.html">语雀同款链接卡片—butterfly主题标签外挂</a></p></blockquote><h1 id="藏宝阁"><a href="#藏宝阁" class="headerlink" title="藏宝阁"></a>藏宝阁</h1><p><img src="/img/posts/anzhiyu/collect.png"><br>在<strong>\themes\anzhiyu\layout\page.pug</strong>中添加如下代码到<code>categories.pug</code>下方</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">when &#x27;collect&#x27;</span><br><span class="line">  include includes/page/collect.pug</span><br></pre></td></tr></table></figure><p>在<strong>\themes\anzhiyu\layout\includes\page</strong>下新建<code>collect.pug</code></p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br></pre></td><td class="code"><pre><span class="line">#article-container</span><br><span class="line">  .collect</span><br><span class="line">    - let collectPageContent = page.content</span><br><span class="line">    if site.data.collect</span><br><span class="line">      - let result = &quot;&quot;</span><br><span class="line">      each i in site.data.collect</span><br><span class="line">        - let className = i.class_name ? `&lt;h2 $&#123;i.class_desc?&#x27;&#x27;:&#x27;style=&quot;margin-bottom:12px&quot;&#x27;&#125;&gt;$&#123;i.class_name&#125; ($&#123;i.link_list.length&#125;)&lt;/h2&gt;` : &quot;&quot;</span><br><span class="line">        - let classDesc = i.class_desc ? `&lt;div class=&quot;collect-desc&quot;&gt;$&#123;i.class_desc&#125;&lt;/div&gt;` : &quot;&quot;</span><br><span class="line">        - let listResult = &quot;&quot;</span><br><span class="line">        each j in i.link_list</span><br><span class="line">          - </span><br><span class="line">            listResult += `</span><br><span class="line">              &lt;$&#123;j.url ? &quot;a href=&#x27;&quot; + j.url + &quot;&#x27;&quot; : &quot;div&quot;&#125; title=&quot;$&#123;j.name&#125;&quot; referrerPolicy=&quot;no-referrer&quot; class=&quot;collect_box&quot; style=&quot;$&#123;j.img?`background-image: url($&#123;j.img&#125;)`:&#x27;background-color: #333;&#x27;&#125;&quot;&gt;</span><br><span class="line">                  &lt;div class=&quot;collect_top&quot;&gt;</span><br><span class="line">                    &lt;i class=&quot;$&#123;j.icon?j.icon:&#x27;fa-solid fa-film&#x27;&#125;&quot;&gt;&lt;/i&gt;</span><br><span class="line">                    &lt;span&gt;$&#123;j.tip?j.tip:&#x27;电影&#x27;&#125;&lt;/span&gt;</span><br><span class="line">                  &lt;/div&gt;</span><br><span class="line">                  &lt;div class=&quot;collect_content&quot;&gt;</span><br><span class="line">                    &lt;span&gt;$&#123;j.name?j.name:&#x27;未知&#x27;&#125;&lt;/span&gt;</span><br><span class="line">                    &lt;div&gt;$&#123;j.score?toStar(j.score):toStar(0)&#125;&lt;/div&gt;</span><br><span class="line">                  &lt;/div&gt;</span><br><span class="line">                &lt;/$&#123;j.url?&quot;a&quot;:&quot;div&quot;&#125;&gt;</span><br><span class="line">              `</span><br><span class="line">          -</span><br><span class="line">        - result += `$&#123;className&#125;$&#123;classDesc&#125; &lt;div class=&quot;collect-list&quot;&gt;$&#123;listResult&#125;&lt;/div&gt;`</span><br><span class="line">      - collectPageContent = collectPageContent + result</span><br><span class="line">    != collectPageContent</span><br></pre></td></tr></table></figure><p>在<strong>\themes\anzhiyu\source\css_page</strong>下新建<code>collect.styl</code>文件并粘贴如下代码：</p><figure class="highlight css"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br></pre></td><td class="code"><pre><span class="line"><span class="selector-class">.collect</span></span><br><span class="line">  <span class="selector-tag">h2</span></span><br><span class="line">    <span class="attribute">margin-bottom</span>: <span class="number">0</span></span><br><span class="line">  .collect-desc</span><br><span class="line">    margin-bottom: <span class="number">10px</span></span><br><span class="line">  .collect-list</span><br><span class="line">    display: flex</span><br><span class="line">    gap: <span class="number">18px</span></span><br><span class="line">    flex-wrap: wrap</span><br><span class="line">    a.collect_box</span><br><span class="line">      color: white</span><br><span class="line">      text-decoration: none </span><br><span class="line">    .collect_box</span><br><span class="line">      --w: <span class="built_in">calc</span>(<span class="number">100%</span> / <span class="number">6</span> - <span class="number">15px</span>) </span><br><span class="line">      width: <span class="built_in">var</span>(--w) </span><br><span class="line">      display: flex </span><br><span class="line">      justify-content: space-between </span><br><span class="line">      flex-direction: column </span><br><span class="line">      background-position: center </span><br><span class="line">      background-size: cover <span class="meta">!important</span></span><br><span class="line">      border-radius: <span class="number">12px</span> <span class="meta">!important</span></span><br><span class="line">      position: relative </span><br><span class="line">      overflow: hidden </span><br><span class="line">      padding: <span class="number">10px</span> </span><br><span class="line">      color: <span class="number">#fff</span> </span><br><span class="line">      transition: .<span class="number">5s</span> </span><br><span class="line">      &amp;::after</span><br><span class="line">        content: <span class="string">&#x27;&#x27;</span></span><br><span class="line">        position: absolute</span><br><span class="line">        height: <span class="number">100%</span></span><br><span class="line">        width: <span class="number">100%</span></span><br><span class="line">        left: <span class="number">0</span></span><br><span class="line">        top: <span class="number">0</span></span><br><span class="line">        background: <span class="built_in">rgba</span>(<span class="number">0</span>,<span class="number">0</span>,<span class="number">0</span>,<span class="number">0.3</span>)</span><br><span class="line">        z-index: <span class="number">0</span></span><br><span class="line">        transition: .<span class="number">5s</span></span><br><span class="line">      &amp;:hover</span><br><span class="line">        transform: <span class="built_in">translateY</span>(-<span class="number">10px</span>)</span><br><span class="line">        &amp;::after</span><br><span class="line">          background: <span class="built_in">rgba</span>(<span class="number">0</span>,<span class="number">0</span>,<span class="number">0</span>,<span class="number">0.1</span>)</span><br><span class="line">      .collect_top</span><br><span class="line">        display: flex</span><br><span class="line">        z-index: <span class="number">1</span></span><br><span class="line">        align-items: center</span><br><span class="line">        justify-content: space-between</span><br><span class="line">      .collect_content</span><br><span class="line">        z-index: <span class="number">1</span></span><br><span class="line">        margin-top: <span class="number">86%</span></span><br><span class="line">        span</span><br><span class="line">          display: block</span><br><span class="line">          font-size: <span class="number">18px</span></span><br><span class="line">          font-weight: bold</span><br><span class="line">          white-space: nowrap</span><br><span class="line">          overflow: hidden</span><br><span class="line">          text-overflow: ellipsis</span><br><span class="line"></span><br><span class="line">[data-theme=<span class="string">&#x27;dark&#x27;</span>]</span><br><span class="line">  .collect .collect-list .collect_box</span><br><span class="line">    color: <span class="number">#ddd</span> <span class="meta">!important</span></span><br><span class="line">    &amp;:hover</span><br><span class="line">      transform: <span class="built_in">translateY</span>(-<span class="number">10px</span>)</span><br><span class="line">      &amp;::after</span><br><span class="line">        background: <span class="built_in">rgba</span>(<span class="number">0</span>,<span class="number">0</span>,<span class="number">0</span>,<span class="number">0.2</span>)</span><br><span class="line">    &amp;::after</span><br><span class="line">      background: <span class="built_in">rgba</span>(<span class="number">0</span>,<span class="number">0</span>,<span class="number">0</span>,<span class="number">0.5</span>)</span><br><span class="line">.collect .collect-list</span><br><span class="line">  @media screen and (max-width: <span class="number">1100px</span>)</span><br><span class="line">    gap: <span class="number">15px</span></span><br><span class="line">    .collect_box</span><br><span class="line">      --w: <span class="built_in">calc</span>(<span class="number">20%</span> - <span class="number">12px</span>)</span><br><span class="line">  @media screen and (max-width: <span class="number">900px</span>)</span><br><span class="line">    gap: <span class="number">16px</span></span><br><span class="line">    .collect_box</span><br><span class="line">      --w: <span class="built_in">calc</span>(<span class="number">25%</span> - <span class="number">12px</span>)</span><br><span class="line">  @media screen and (max-width: <span class="number">768px</span>)</span><br><span class="line">    gap: <span class="number">15px</span></span><br><span class="line">    .collect_box</span><br><span class="line">      --w: <span class="built_in">calc</span>(<span class="number">100%</span> / <span class="number">3</span> - <span class="number">10px</span>)</span><br><span class="line">  @media screen and (max-width: <span class="number">500px</span>)</span><br><span class="line">    gap: <span class="number">16px</span></span><br><span class="line">    .collect_box</span><br><span class="line">      --w: <span class="built_in">calc</span>(<span class="number">50%</span> - <span class="number">8px</span>)</span><br><span class="line">a.collect_box&#123;</span><br><span class="line">  <span class="attribute">border-bottom</span>:none <span class="meta">!important</span></span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p>在<strong>themes\anzhiyu\scripts\helpers\page.js</strong>最下方添加</p><figure class="highlight js"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">// 藏宝阁星星</span></span><br><span class="line">hexo.<span class="property">extend</span>.<span class="property">helper</span>.<span class="title function_">register</span>(<span class="string">&#x27;toStar&#x27;</span>, <span class="keyword">function</span>(<span class="params">num</span>) &#123;</span><br><span class="line">    <span class="keyword">let</span> tmp = <span class="string">&#x27;&#x27;</span></span><br><span class="line">    <span class="keyword">for</span> (<span class="keyword">let</span> i = <span class="number">0</span>; i &lt; <span class="title class_">Math</span>.<span class="title function_">floor</span>(num); i++) &#123; tmp += <span class="string">&#x27;&lt;i class=&quot;fa-solid fa-star&quot;&gt;&lt;/i&gt;&#x27;</span> &#125; <span class="comment">// 整数部分加 实心星星</span></span><br><span class="line">    <span class="keyword">if</span> (num - <span class="title class_">Math</span>.<span class="title function_">floor</span>(num) != <span class="number">0</span>) tmp += <span class="string">&#x27;&lt;i class=&quot;fa-solid fa-star-half-alt&quot;&gt;&lt;/i&gt;&#x27;</span> <span class="comment">// 小数部分转成 半星</span></span><br><span class="line">    <span class="keyword">for</span> (<span class="keyword">let</span> i = <span class="number">0</span>; i &lt; <span class="number">5</span> - <span class="title class_">Math</span>.<span class="title function_">ceil</span>(num); i++) &#123; tmp += <span class="string">&#x27;&lt;i class=&quot;fa-regular fa-star&quot;&gt;&lt;/i&gt;&#x27;</span> &#125; <span class="comment">// 不够5个补 空心星星</span></span><br><span class="line">    <span class="keyword">return</span> tmp</span><br><span class="line">&#125;)</span><br></pre></td></tr></table></figure><p>在<strong>\source\_data</strong>下面新建<code>collect.yml</code></p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="bullet">-</span> <span class="attr">class_name:</span> <span class="string">📺</span> <span class="string">电影</span></span><br><span class="line">  <span class="attr">class_desc:</span> <span class="comment">#分类描述</span></span><br><span class="line">  <span class="attr">link_list:</span></span><br><span class="line">    <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">让子弹飞</span> <span class="comment">#名字</span></span><br><span class="line">      <span class="attr">img:</span> <span class="string">https://t1.szrtcpa.com/upload/vod/20220313-27/fa8e1f40e62df7aa609cba34f5ee8a25.jpg</span> <span class="comment">#图片链接</span></span><br><span class="line">      <span class="attr">score:</span> <span class="number">5</span> <span class="comment"># 1-5星</span></span><br><span class="line">      <span class="attr">icon:</span> <span class="string">fa-solid</span> <span class="string">fa-film</span> <span class="comment">#左上角图标</span></span><br><span class="line">      <span class="attr">tip:</span> <span class="string">电影</span> <span class="comment"># 右上角文字</span></span><br><span class="line">      <span class="attr">url:</span> <span class="comment"># 可选</span></span><br></pre></td></tr></table></figure><blockquote><p>本文部分内容进行是针对<a href="https://blog.leonus.cn/">Leonus</a>代码修改，，原文请看<a href="https://blog.leonus.cn/2023/collectPage.html">藏宝阁页面的实现</a></p></blockquote><h1 id="搜索添加匹配选项"><a href="#搜索添加匹配选项" class="headerlink" title="搜索添加匹配选项"></a>搜索添加匹配选项</h1><p><img src="/img/posts/anzhiyu/search.jpg"><br>修改搜索对话框HTML结构：<strong>themes\anzhiyu\layout\includes\third-party\search\local-search.pug</strong></p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br></pre></td><td class="code"><pre><span class="line">#local-search</span><br><span class="line">  .search-dialog</span><br><span class="line">    nav.search-nav</span><br><span class="line">      span.search-dialog-title= _p(&#x27;search.title&#x27;)</span><br><span class="line">      span#loading-status</span><br><span class="line">      button.search-close-button</span><br><span class="line">        i.anzhiyufont.anzhiyu-icon-xmark</span><br><span class="line"></span><br><span class="line">    #loading-database.is-center</span><br><span class="line">      i.anzhiyufont.anzhiyu-icon-spinner.anzhiyu-pulse-icon</span><br><span class="line">      span= &#x27;  &#x27; + _p(&quot;search.load_data&quot;)</span><br><span class="line"></span><br><span class="line">    .search-wrap</span><br><span class="line">      #local-search-input</span><br><span class="line">        .local-search-box</span><br><span class="line">          input(placeholder=_p(&quot;search.local_search.input_placeholder&quot;) type=&quot;text&quot;).local-search-box--input</span><br><span class="line">      .search-options</span><br><span class="line">        button.search-option.active(type=&quot;button&quot; data-search-type=&quot;title&quot;) 标题</span><br><span class="line">        button.search-option(type=&quot;button&quot; data-search-type=&quot;content&quot;) 内容</span><br><span class="line">      hr</span><br><span class="line">      #local-search-results</span><br><span class="line"></span><br><span class="line">  #search-mask</span><br></pre></td></tr></table></figure><p>修改搜索逻辑：<strong>themes\anzhiyu\source\js\search\local-search.js</strong></p><figure class="highlight js"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br><span class="line">113</span><br><span class="line">114</span><br><span class="line">115</span><br><span class="line">116</span><br><span class="line">117</span><br><span class="line">118</span><br><span class="line">119</span><br><span class="line">120</span><br><span class="line">121</span><br><span class="line">122</span><br><span class="line">123</span><br><span class="line">124</span><br><span class="line">125</span><br><span class="line">126</span><br><span class="line">127</span><br><span class="line">128</span><br><span class="line">129</span><br><span class="line">130</span><br><span class="line">131</span><br><span class="line">132</span><br><span class="line">133</span><br><span class="line">134</span><br><span class="line">135</span><br><span class="line">136</span><br><span class="line">137</span><br><span class="line">138</span><br><span class="line">139</span><br><span class="line">140</span><br><span class="line">141</span><br><span class="line">142</span><br><span class="line">143</span><br><span class="line">144</span><br><span class="line">145</span><br><span class="line">146</span><br><span class="line">147</span><br><span class="line">148</span><br><span class="line">149</span><br><span class="line">150</span><br><span class="line">151</span><br><span class="line">152</span><br><span class="line">153</span><br><span class="line">154</span><br><span class="line">155</span><br><span class="line">156</span><br><span class="line">157</span><br><span class="line">158</span><br><span class="line">159</span><br><span class="line">160</span><br><span class="line">161</span><br><span class="line">162</span><br><span class="line">163</span><br><span class="line">164</span><br><span class="line">165</span><br><span class="line">166</span><br><span class="line">167</span><br><span class="line">168</span><br><span class="line">169</span><br><span class="line">170</span><br><span class="line">171</span><br><span class="line">172</span><br><span class="line">173</span><br><span class="line">174</span><br><span class="line">175</span><br><span class="line">176</span><br><span class="line">177</span><br><span class="line">178</span><br><span class="line">179</span><br><span class="line">180</span><br><span class="line">181</span><br><span class="line">182</span><br><span class="line">183</span><br><span class="line">184</span><br><span class="line">185</span><br><span class="line">186</span><br><span class="line">187</span><br><span class="line">188</span><br><span class="line">189</span><br><span class="line">190</span><br><span class="line">191</span><br><span class="line">192</span><br><span class="line">193</span><br><span class="line">194</span><br><span class="line">195</span><br><span class="line">196</span><br><span class="line">197</span><br><span class="line">198</span><br><span class="line">199</span><br><span class="line">200</span><br><span class="line">201</span><br><span class="line">202</span><br><span class="line">203</span><br><span class="line">204</span><br><span class="line">205</span><br><span class="line">206</span><br><span class="line">207</span><br><span class="line">208</span><br><span class="line">209</span><br><span class="line">210</span><br><span class="line">211</span><br><span class="line">212</span><br><span class="line">213</span><br><span class="line">214</span><br><span class="line">215</span><br><span class="line">216</span><br><span class="line">217</span><br><span class="line">218</span><br><span class="line">219</span><br><span class="line">220</span><br><span class="line">221</span><br><span class="line">222</span><br><span class="line">223</span><br><span class="line">224</span><br><span class="line">225</span><br><span class="line">226</span><br><span class="line">227</span><br><span class="line">228</span><br><span class="line">229</span><br><span class="line">230</span><br><span class="line">231</span><br><span class="line">232</span><br><span class="line">233</span><br><span class="line">234</span><br><span class="line">235</span><br><span class="line">236</span><br><span class="line">237</span><br><span class="line">238</span><br><span class="line">239</span><br><span class="line">240</span><br><span class="line">241</span><br><span class="line">242</span><br><span class="line">243</span><br><span class="line">244</span><br><span class="line">245</span><br><span class="line">246</span><br><span class="line">247</span><br><span class="line">248</span><br><span class="line">249</span><br><span class="line">250</span><br><span class="line">251</span><br><span class="line">252</span><br><span class="line">253</span><br><span class="line">254</span><br><span class="line">255</span><br><span class="line">256</span><br><span class="line">257</span><br><span class="line">258</span><br><span class="line">259</span><br><span class="line">260</span><br><span class="line">261</span><br><span class="line">262</span><br><span class="line">263</span><br><span class="line">264</span><br><span class="line">265</span><br><span class="line">266</span><br><span class="line">267</span><br><span class="line">268</span><br><span class="line">269</span><br><span class="line">270</span><br><span class="line">271</span><br><span class="line">272</span><br><span class="line">273</span><br><span class="line">274</span><br><span class="line">275</span><br><span class="line">276</span><br><span class="line">277</span><br><span class="line">278</span><br><span class="line">279</span><br><span class="line">280</span><br><span class="line">281</span><br><span class="line">282</span><br><span class="line">283</span><br><span class="line">284</span><br><span class="line">285</span><br></pre></td><td class="code"><pre><span class="line"><span class="variable language_">window</span>.<span class="title function_">addEventListener</span>(<span class="string">&quot;load&quot;</span>, <span class="function">() =&gt;</span> &#123;</span><br><span class="line">  <span class="keyword">let</span> loadFlag = <span class="literal">false</span>;</span><br><span class="line">  <span class="keyword">let</span> dataObj = [];</span><br><span class="line">  <span class="keyword">const</span> $searchMask = <span class="variable language_">document</span>.<span class="title function_">getElementById</span>(<span class="string">&quot;search-mask&quot;</span>);</span><br><span class="line"></span><br><span class="line">  <span class="keyword">const</span> <span class="title function_">openSearch</span> = (<span class="params"></span>) =&gt; &#123;</span><br><span class="line">    <span class="keyword">const</span> bodyStyle = <span class="variable language_">document</span>.<span class="property">body</span>.<span class="property">style</span>;</span><br><span class="line">    bodyStyle.<span class="property">width</span> = <span class="string">&quot;100%&quot;</span>;</span><br><span class="line">    bodyStyle.<span class="property">overflow</span> = <span class="string">&quot;hidden&quot;</span>;</span><br><span class="line">    anzhiyu.<span class="title function_">animateIn</span>($searchMask, <span class="string">&quot;to_show 0.5s&quot;</span>);</span><br><span class="line">    anzhiyu.<span class="title function_">animateIn</span>(<span class="variable language_">document</span>.<span class="title function_">querySelector</span>(<span class="string">&quot;#local-search .search-dialog&quot;</span>), <span class="string">&quot;titleScale 0.5s&quot;</span>);</span><br><span class="line">    <span class="built_in">setTimeout</span>(<span class="function">() =&gt;</span> &#123;</span><br><span class="line">      <span class="variable language_">document</span>.<span class="title function_">querySelector</span>(<span class="string">&quot;#local-search-input input&quot;</span>).<span class="title function_">focus</span>();</span><br><span class="line">    &#125;, <span class="number">100</span>);</span><br><span class="line">    <span class="keyword">if</span> (!loadFlag) &#123;</span><br><span class="line">      <span class="title function_">search</span>();</span><br><span class="line">      loadFlag = <span class="literal">true</span>;</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="comment">// shortcut: ESC</span></span><br><span class="line">    <span class="variable language_">document</span>.<span class="title function_">addEventListener</span>(<span class="string">&quot;keydown&quot;</span>, <span class="keyword">function</span> <span class="title function_">f</span>(<span class="params">event</span>) &#123;</span><br><span class="line">      <span class="keyword">if</span> (event.<span class="property">code</span> === <span class="string">&quot;Escape&quot;</span>) &#123;</span><br><span class="line">        <span class="title function_">closeSearch</span>();</span><br><span class="line">        <span class="variable language_">document</span>.<span class="title function_">removeEventListener</span>(<span class="string">&quot;keydown&quot;</span>, f);</span><br><span class="line">      &#125;</span><br><span class="line">    &#125;);</span><br><span class="line">  &#125;;</span><br><span class="line"></span><br><span class="line">  <span class="keyword">const</span> <span class="title function_">closeSearch</span> = (<span class="params"></span>) =&gt; &#123;</span><br><span class="line">    <span class="keyword">const</span> bodyStyle = <span class="variable language_">document</span>.<span class="property">body</span>.<span class="property">style</span>;</span><br><span class="line">    bodyStyle.<span class="property">width</span> = <span class="string">&quot;&quot;</span>;</span><br><span class="line">    bodyStyle.<span class="property">overflow</span> = <span class="string">&quot;&quot;</span>;</span><br><span class="line">    anzhiyu.<span class="title function_">animateOut</span>(<span class="variable language_">document</span>.<span class="title function_">querySelector</span>(<span class="string">&quot;#local-search .search-dialog&quot;</span>), <span class="string">&quot;search_close .5s&quot;</span>);</span><br><span class="line">    anzhiyu.<span class="title function_">animateOut</span>($searchMask, <span class="string">&quot;to_hide 0.5s&quot;</span>);</span><br><span class="line">  &#125;;</span><br><span class="line"></span><br><span class="line">  <span class="keyword">const</span> <span class="title function_">searchClickFn</span> = (<span class="params"></span>) =&gt; &#123;</span><br><span class="line">    <span class="variable language_">document</span>.<span class="title function_">querySelector</span>(<span class="string">&quot;#search-button &gt; .search&quot;</span>).<span class="title function_">addEventListener</span>(<span class="string">&quot;click&quot;</span>, openSearch);</span><br><span class="line">    <span class="variable language_">document</span>.<span class="title function_">querySelector</span>(<span class="string">&quot;#menu-search&quot;</span>).<span class="title function_">addEventListener</span>(<span class="string">&quot;click&quot;</span>, openSearch);</span><br><span class="line">  &#125;;</span><br><span class="line"></span><br><span class="line">  <span class="keyword">const</span> <span class="title function_">searchClickFnOnce</span> = (<span class="params"></span>) =&gt; &#123;</span><br><span class="line">    <span class="variable language_">document</span>.<span class="title function_">querySelector</span>(<span class="string">&quot;#local-search .search-close-button&quot;</span>).<span class="title function_">addEventListener</span>(<span class="string">&quot;click&quot;</span>, closeSearch);</span><br><span class="line">    $searchMask.<span class="title function_">addEventListener</span>(<span class="string">&quot;click&quot;</span>, closeSearch);</span><br><span class="line">    <span class="keyword">if</span> (<span class="variable constant_">GLOBAL_CONFIG</span>.<span class="property">localSearch</span>.<span class="property">preload</span>) dataObj = <span class="title function_">fetchData</span>(<span class="variable constant_">GLOBAL_CONFIG</span>.<span class="property">localSearch</span>.<span class="property">path</span>);</span><br><span class="line">  &#125;;</span><br><span class="line"></span><br><span class="line">  <span class="comment">// check url is json or not</span></span><br><span class="line">  <span class="keyword">const</span> <span class="title function_">isJson</span> = url =&gt; &#123;</span><br><span class="line">    <span class="keyword">const</span> reg = <span class="regexp">/\.json$/</span>;</span><br><span class="line">    <span class="keyword">return</span> reg.<span class="title function_">test</span>(url);</span><br><span class="line">  &#125;;</span><br><span class="line"></span><br><span class="line">  <span class="keyword">const</span> <span class="title function_">fetchData</span> = <span class="keyword">async</span> path =&gt; &#123;</span><br><span class="line">    <span class="keyword">let</span> data = [];</span><br><span class="line">    <span class="keyword">const</span> response = <span class="keyword">await</span> <span class="title function_">fetch</span>(path);</span><br><span class="line">    <span class="keyword">if</span> (<span class="title function_">isJson</span>(path)) &#123;</span><br><span class="line">      data = <span class="keyword">await</span> response.<span class="title function_">json</span>();</span><br><span class="line">    &#125; <span class="keyword">else</span> &#123;</span><br><span class="line">      <span class="keyword">const</span> res = <span class="keyword">await</span> response.<span class="title function_">text</span>();</span><br><span class="line">      <span class="keyword">const</span> t = <span class="keyword">await</span> <span class="keyword">new</span> <span class="variable language_">window</span>.<span class="title class_">DOMParser</span>().<span class="title function_">parseFromString</span>(res, <span class="string">&quot;text/xml&quot;</span>);</span><br><span class="line">      <span class="keyword">const</span> a = <span class="keyword">await</span> t;</span><br><span class="line"></span><br><span class="line">      data = [...a.<span class="title function_">querySelectorAll</span>(<span class="string">&quot;entry&quot;</span>)].<span class="title function_">map</span>(<span class="function"><span class="params">item</span> =&gt;</span> &#123;</span><br><span class="line">        <span class="keyword">let</span> tagsArr = [];</span><br><span class="line">        <span class="keyword">if</span> (item.<span class="title function_">querySelector</span>(<span class="string">&quot;tags&quot;</span>) &amp;&amp; item.<span class="title function_">querySelector</span>(<span class="string">&quot;tags&quot;</span>).<span class="title function_">getElementsByTagName</span>(<span class="string">&quot;tag&quot;</span>)) &#123;</span><br><span class="line">          <span class="title class_">Array</span>.<span class="property"><span class="keyword">prototype</span></span>.<span class="property">forEach</span>.<span class="title function_">call</span>(item.<span class="title function_">querySelector</span>(<span class="string">&quot;tags&quot;</span>).<span class="title function_">getElementsByTagName</span>(<span class="string">&quot;tag&quot;</span>), <span class="keyword">function</span> (<span class="params">item, index</span>) &#123;</span><br><span class="line">            tagsArr.<span class="title function_">push</span>(item.<span class="property">textContent</span>);</span><br><span class="line">          &#125;);</span><br><span class="line">        &#125;</span><br><span class="line">        <span class="keyword">let</span> content = item.<span class="title function_">querySelector</span>(<span class="string">&quot;content&quot;</span>) &amp;&amp; item.<span class="title function_">querySelector</span>(<span class="string">&quot;content&quot;</span>).<span class="property">textContent</span>;</span><br><span class="line">        <span class="keyword">let</span> imgReg = <span class="regexp">/&lt;img.*?(?:&gt;|\/&gt;)/gi</span>; <span class="comment">//匹配图片中的img标签</span></span><br><span class="line">        <span class="keyword">let</span> srcReg = <span class="regexp">/src=[\&#x27;\&quot;]?([^\&#x27;\&quot;]*)[\&#x27;\&quot;]?/i</span>; <span class="comment">// 匹配图片中的src</span></span><br><span class="line">        <span class="keyword">let</span> arr = content.<span class="title function_">match</span>(imgReg); <span class="comment">//筛选出所有的img</span></span><br><span class="line"></span><br><span class="line">        <span class="keyword">let</span> srcArr = [];</span><br><span class="line">        <span class="keyword">if</span> (arr) &#123;</span><br><span class="line">          <span class="keyword">for</span> (<span class="keyword">let</span> i = <span class="number">0</span>; i &lt; arr.<span class="property">length</span>; i++) &#123;</span><br><span class="line">            <span class="keyword">let</span> src = arr[i].<span class="title function_">match</span>(srcReg);</span><br><span class="line">            <span class="comment">// 获取图片地址</span></span><br><span class="line">            <span class="keyword">if</span> (!src[<span class="number">1</span>].<span class="title function_">indexOf</span>(<span class="string">&quot;http&quot;</span>)) srcArr.<span class="title function_">push</span>(src[<span class="number">1</span>]);</span><br><span class="line">          &#125;</span><br><span class="line">        &#125;</span><br><span class="line"></span><br><span class="line">        <span class="keyword">return</span> &#123;</span><br><span class="line">          <span class="attr">title</span>: item.<span class="title function_">querySelector</span>(<span class="string">&quot;title&quot;</span>).<span class="property">textContent</span>,</span><br><span class="line">          <span class="attr">content</span>: content,</span><br><span class="line">          <span class="attr">url</span>: item.<span class="title function_">querySelector</span>(<span class="string">&quot;url&quot;</span>).<span class="property">textContent</span>,</span><br><span class="line">          <span class="attr">tags</span>: tagsArr,</span><br><span class="line">          <span class="attr">oneImage</span>: srcArr &amp;&amp; srcArr[<span class="number">0</span>],</span><br><span class="line">        &#125;;</span><br><span class="line">      &#125;);</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="keyword">if</span> (response.<span class="property">ok</span>) &#123;</span><br><span class="line">      <span class="keyword">const</span> $loadDataItem = <span class="variable language_">document</span>.<span class="title function_">getElementById</span>(<span class="string">&quot;loading-database&quot;</span>);</span><br><span class="line">      $loadDataItem.<span class="property">nextElementSibling</span>.<span class="property">style</span>.<span class="property">display</span> = <span class="string">&quot;block&quot;</span>;</span><br><span class="line">      $loadDataItem.<span class="title function_">remove</span>();</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="keyword">return</span> data;</span><br><span class="line">  &#125;;</span><br><span class="line"></span><br><span class="line">  <span class="comment">// 提取内容摘要函数</span></span><br><span class="line">  <span class="keyword">const</span> <span class="title function_">extractContentSnippet</span> = (<span class="params">content, keywords, maxLength = <span class="number">150</span></span>) =&gt; &#123;</span><br><span class="line">    <span class="comment">// 清理HTML标签和模板语法</span></span><br><span class="line">    <span class="keyword">let</span> cleanContent = content</span><br><span class="line">      .<span class="title function_">replace</span>(<span class="regexp">/&lt;[^&gt;]*&gt;/g</span>, <span class="string">&#x27;&#x27;</span>) <span class="comment">// 移除HTML标签</span></span><br><span class="line">      .<span class="title function_">replace</span>(<span class="regexp">/\&#123;[^&#125;]*\&#125;/g</span>, <span class="string">&#x27;&#x27;</span>) <span class="comment">// 移除模板语法 &#123; ... &#125;</span></span><br><span class="line">      .<span class="title function_">replace</span>(<span class="regexp">/\&#123;\&#123;[^&#125;]*\&#125;\&#125;/g</span>, <span class="string">&#x27;&#x27;</span>) <span class="comment">// 移除模板语法 &#123;&#123; ... &#125;&#125;</span></span><br><span class="line">      .<span class="title function_">replace</span>(<span class="regexp">/\[\[[^\]]*\]\]/g</span>, <span class="string">&#x27;&#x27;</span>) <span class="comment">// 移除模板语法 [[ ... ]]</span></span><br><span class="line">      .<span class="title function_">replace</span>(<span class="regexp">/\s+/g</span>, <span class="string">&#x27; &#x27;</span>) <span class="comment">// 合并多个空格</span></span><br><span class="line">      .<span class="title function_">trim</span>(); <span class="comment">// 去除首尾空格</span></span><br><span class="line">    </span><br><span class="line">    <span class="comment">// 特殊处理 &#123;% ... %&#125; 模板语法，使用更精确的匹配</span></span><br><span class="line">    cleanContent = cleanContent.<span class="title function_">replace</span>(<span class="regexp">/\&#123;%[^%]*(?:%\&#125;[^%]*)*%\&#125;/g</span>, <span class="string">&#x27;&#x27;</span>);</span><br><span class="line">    </span><br><span class="line">    <span class="comment">// 查找第一个关键词的位置</span></span><br><span class="line">    <span class="keyword">let</span> firstKeywordPos = -<span class="number">1</span>;</span><br><span class="line">    <span class="keyword">for</span> (<span class="keyword">let</span> keyword <span class="keyword">of</span> keywords) &#123;</span><br><span class="line">      <span class="keyword">let</span> pos = cleanContent.<span class="title function_">indexOf</span>(keyword);</span><br><span class="line">      <span class="keyword">if</span> (pos !== -<span class="number">1</span> &amp;&amp; (firstKeywordPos === -<span class="number">1</span> || pos &lt; firstKeywordPos)) &#123;</span><br><span class="line">        firstKeywordPos = pos;</span><br><span class="line">      &#125;</span><br><span class="line">    &#125;</span><br><span class="line">    </span><br><span class="line">    <span class="keyword">if</span> (firstKeywordPos === -<span class="number">1</span>) &#123;</span><br><span class="line">      <span class="comment">// 如果没有找到关键词，返回开头部分</span></span><br><span class="line">      <span class="keyword">return</span> cleanContent.<span class="title function_">substring</span>(<span class="number">0</span>, maxLength) + (cleanContent.<span class="property">length</span> &gt; maxLength ? <span class="string">&#x27;...&#x27;</span> : <span class="string">&#x27;&#x27;</span>);</span><br><span class="line">    &#125;</span><br><span class="line">    </span><br><span class="line">    <span class="comment">// 计算摘要的起始位置，确保关键词在中间位置</span></span><br><span class="line">    <span class="keyword">let</span> startPos = <span class="title class_">Math</span>.<span class="title function_">max</span>(<span class="number">0</span>, firstKeywordPos - <span class="title class_">Math</span>.<span class="title function_">floor</span>(maxLength / <span class="number">3</span>));</span><br><span class="line">    <span class="keyword">let</span> endPos = <span class="title class_">Math</span>.<span class="title function_">min</span>(cleanContent.<span class="property">length</span>, startPos + maxLength);</span><br><span class="line">    </span><br><span class="line">    <span class="comment">// 调整起始位置，确保不会截断单词</span></span><br><span class="line">    <span class="keyword">if</span> (startPos &gt; <span class="number">0</span>) &#123;</span><br><span class="line">      <span class="keyword">let</span> spacePos = cleanContent.<span class="title function_">lastIndexOf</span>(<span class="string">&#x27; &#x27;</span>, startPos);</span><br><span class="line">      <span class="keyword">if</span> (spacePos !== -<span class="number">1</span> &amp;&amp; spacePos &gt; startPos - <span class="number">20</span>) &#123;</span><br><span class="line">        startPos = spacePos + <span class="number">1</span>;</span><br><span class="line">      &#125;</span><br><span class="line">    &#125;</span><br><span class="line">    </span><br><span class="line">    <span class="keyword">let</span> snippet = cleanContent.<span class="title function_">substring</span>(startPos, endPos);</span><br><span class="line">    </span><br><span class="line">    <span class="comment">// 高亮关键词</span></span><br><span class="line">    keywords.<span class="title function_">forEach</span>(<span class="function"><span class="params">keyword</span> =&gt;</span> &#123;</span><br><span class="line">      <span class="keyword">const</span> regex = <span class="keyword">new</span> <span class="title class_">RegExp</span>(keyword, <span class="string">&#x27;gi&#x27;</span>);</span><br><span class="line">      snippet = snippet.<span class="title function_">replace</span>(regex, <span class="function"><span class="params">match</span> =&gt;</span> <span class="string">`&lt;span class=&quot;search-keyword&quot;&gt;<span class="subst">$&#123;match&#125;</span>&lt;/span&gt;`</span>);</span><br><span class="line">    &#125;);</span><br><span class="line">    </span><br><span class="line">    <span class="comment">// 添加省略号</span></span><br><span class="line">    <span class="keyword">if</span> (startPos &gt; <span class="number">0</span>) snippet = <span class="string">&#x27;...&#x27;</span> + snippet;</span><br><span class="line">    <span class="keyword">if</span> (endPos &lt; cleanContent.<span class="property">length</span>) snippet = snippet + <span class="string">&#x27;...&#x27;</span>;</span><br><span class="line">    </span><br><span class="line">    <span class="keyword">return</span> snippet;</span><br><span class="line">  &#125;;</span><br><span class="line"></span><br><span class="line">  <span class="keyword">const</span> <span class="title function_">search</span> = (<span class="params"></span>) =&gt; &#123;</span><br><span class="line">    <span class="keyword">if</span> (!<span class="variable constant_">GLOBAL_CONFIG</span>.<span class="property">localSearch</span>.<span class="property">preload</span>) &#123;</span><br><span class="line">      dataObj = <span class="title function_">fetchData</span>(<span class="variable constant_">GLOBAL_CONFIG</span>.<span class="property">localSearch</span>.<span class="property">path</span>);</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="keyword">const</span> $input = <span class="variable language_">document</span>.<span class="title function_">querySelector</span>(<span class="string">&quot;#local-search-input input&quot;</span>);</span><br><span class="line">    <span class="keyword">const</span> $resultContent = <span class="variable language_">document</span>.<span class="title function_">getElementById</span>(<span class="string">&quot;local-search-results&quot;</span>);</span><br><span class="line">    <span class="keyword">const</span> $loadingStatus = <span class="variable language_">document</span>.<span class="title function_">getElementById</span>(<span class="string">&quot;loading-status&quot;</span>);</span><br><span class="line">    <span class="keyword">let</span> searchType = <span class="string">&#x27;title&#x27;</span>; <span class="comment">// 默认搜索类型为标题</span></span><br><span class="line"></span><br><span class="line">    <span class="comment">// 搜索选项切换</span></span><br><span class="line">    <span class="variable language_">document</span>.<span class="title function_">querySelectorAll</span>(<span class="string">&#x27;.search-option&#x27;</span>).<span class="title function_">forEach</span>(<span class="function"><span class="params">button</span> =&gt;</span> &#123;</span><br><span class="line">      button.<span class="title function_">addEventListener</span>(<span class="string">&#x27;click&#x27;</span>, <span class="keyword">function</span>(<span class="params"></span>) &#123;</span><br><span class="line">        <span class="comment">// 移除所有按钮的active类</span></span><br><span class="line">        <span class="variable language_">document</span>.<span class="title function_">querySelectorAll</span>(<span class="string">&#x27;.search-option&#x27;</span>).<span class="title function_">forEach</span>(<span class="function"><span class="params">btn</span> =&gt;</span> &#123;</span><br><span class="line">          btn.<span class="property">classList</span>.<span class="title function_">remove</span>(<span class="string">&#x27;active&#x27;</span>);</span><br><span class="line">        &#125;);</span><br><span class="line">        <span class="comment">// 为当前按钮添加active类</span></span><br><span class="line">        <span class="variable language_">this</span>.<span class="property">classList</span>.<span class="title function_">add</span>(<span class="string">&#x27;active&#x27;</span>);</span><br><span class="line">        <span class="comment">// 更新搜索类型</span></span><br><span class="line">        searchType = <span class="variable language_">this</span>.<span class="title function_">getAttribute</span>(<span class="string">&#x27;data-search-type&#x27;</span>);</span><br><span class="line">        <span class="comment">// 如果搜索框有内容，重新搜索</span></span><br><span class="line">        <span class="keyword">if</span> ($input.<span class="property">value</span>.<span class="title function_">trim</span>() !== <span class="string">&#x27;&#x27;</span>) &#123;</span><br><span class="line">          $input.<span class="title function_">dispatchEvent</span>(<span class="keyword">new</span> <span class="title class_">Event</span>(<span class="string">&#x27;input&#x27;</span>));</span><br><span class="line">        &#125;</span><br><span class="line">      &#125;);</span><br><span class="line">    &#125;);</span><br><span class="line">  </span><br><span class="line">    <span class="comment">// 每次输入时触发</span></span><br><span class="line">    $input.<span class="title function_">addEventListener</span>(<span class="string">&quot;input&quot;</span>, <span class="keyword">function</span> (<span class="params"></span>) &#123;</span><br><span class="line">      <span class="keyword">const</span> keywords = <span class="variable language_">this</span>.<span class="property">value</span>.<span class="title function_">trim</span>().<span class="title function_">toLowerCase</span>().<span class="title function_">split</span>(<span class="regexp">/[\s]+/</span>);</span><br><span class="line">      </span><br><span class="line">      <span class="comment">// 如果搜索框为空，清空结果并不显示任何内容</span></span><br><span class="line">      <span class="keyword">if</span> (keywords[<span class="number">0</span>] === <span class="string">&quot;&quot;</span>) &#123;</span><br><span class="line">        $resultContent.<span class="property">innerHTML</span> = <span class="string">&quot;&quot;</span>;</span><br><span class="line">        $loadingStatus.<span class="property">innerHTML</span> = <span class="string">&quot;&quot;</span>;</span><br><span class="line">        <span class="keyword">return</span>;</span><br><span class="line">      &#125;</span><br><span class="line">  </span><br><span class="line">      <span class="comment">// 显示加载状态</span></span><br><span class="line">      <span class="keyword">if</span> (keywords[<span class="number">0</span>] !== <span class="string">&quot;&quot;</span>) &#123;</span><br><span class="line">        $loadingStatus.<span class="property">innerHTML</span> = <span class="string">&#x27;&lt;i class=&quot;anzhiyufont anzhiyu-icon-spinner anzhiyu-pulse-icon&quot;&gt;&lt;/i&gt;&#x27;</span>;</span><br><span class="line">      &#125;</span><br><span class="line">  </span><br><span class="line">      $resultContent.<span class="property">innerHTML</span> = <span class="string">&quot;&quot;</span>;</span><br><span class="line">      <span class="keyword">let</span> str = <span class="string">&#x27;&lt;div class=&quot;search-result-list&quot;&gt;&#x27;</span>;</span><br><span class="line">      <span class="keyword">let</span> count = <span class="number">0</span>;</span><br><span class="line">  </span><br><span class="line">      <span class="comment">// 执行本地搜索</span></span><br><span class="line">      dataObj.<span class="title function_">then</span>(<span class="function"><span class="params">data</span> =&gt;</span> &#123;</span><br><span class="line">        data.<span class="title function_">forEach</span>(<span class="function"><span class="params">data</span> =&gt;</span> &#123;</span><br><span class="line">          <span class="keyword">let</span> isMatch = <span class="literal">true</span>;</span><br><span class="line">          <span class="keyword">let</span> dataTitle = data.<span class="property">title</span> ? data.<span class="property">title</span>.<span class="title function_">trim</span>().<span class="title function_">toLowerCase</span>() : <span class="string">&quot;&quot;</span>;</span><br><span class="line">          <span class="keyword">let</span> dataContent = data.<span class="property">content</span> ? data.<span class="property">content</span>.<span class="title function_">trim</span>().<span class="title function_">toLowerCase</span>() : <span class="string">&quot;&quot;</span>;</span><br><span class="line">          <span class="keyword">const</span> dataUrl = data.<span class="property">url</span>.<span class="title function_">startsWith</span>(<span class="string">&quot;/&quot;</span>) ? data.<span class="property">url</span> : <span class="variable constant_">GLOBAL_CONFIG</span>.<span class="property">root</span> + data.<span class="property">url</span>;</span><br><span class="line">          </span><br><span class="line">          <span class="comment">// 根据搜索类型进行匹配</span></span><br><span class="line">          <span class="keyword">if</span> (searchType === <span class="string">&#x27;title&#x27;</span>) &#123;</span><br><span class="line">            <span class="comment">// 仅匹配标题</span></span><br><span class="line">            keywords.<span class="title function_">forEach</span>(<span class="function">(<span class="params">keyword, i</span>) =&gt;</span> &#123;</span><br><span class="line">              <span class="keyword">if</span> (dataTitle.<span class="title function_">indexOf</span>(keyword) &lt; <span class="number">0</span>) &#123;</span><br><span class="line">                isMatch = <span class="literal">false</span>;</span><br><span class="line">              &#125;</span><br><span class="line">            &#125;);</span><br><span class="line">          &#125; <span class="keyword">else</span> <span class="keyword">if</span> (searchType === <span class="string">&#x27;content&#x27;</span>) &#123;</span><br><span class="line">            <span class="comment">// 匹配内容 - 先清理HTML标签和模板语法，只匹配纯文本内容</span></span><br><span class="line">            <span class="keyword">let</span> cleanContent = dataContent</span><br><span class="line">              .<span class="title function_">replace</span>(<span class="regexp">/&lt;[^&gt;]*&gt;/g</span>, <span class="string">&#x27;&#x27;</span>) <span class="comment">// 移除所有HTML标签</span></span><br><span class="line">              .<span class="title function_">replace</span>(<span class="regexp">/\&#123;[^&#125;]*\&#125;/g</span>, <span class="string">&#x27;&#x27;</span>) <span class="comment">// 移除模板语法 &#123; ... &#125;</span></span><br><span class="line">              .<span class="title function_">replace</span>(<span class="regexp">/\&#123;\&#123;[^&#125;]*\&#125;\&#125;/g</span>, <span class="string">&#x27;&#x27;</span>) <span class="comment">// 移除模板语法 &#123;&#123; ... &#125;&#125;</span></span><br><span class="line">              .<span class="title function_">replace</span>(<span class="regexp">/\[\[[^\]]*\]\]/g</span>, <span class="string">&#x27;&#x27;</span>) <span class="comment">// 移除模板语法 [[ ... ]]</span></span><br><span class="line">              .<span class="title function_">replace</span>(<span class="regexp">/\&#123;%[^%]*(?:%\&#125;[^%]*)*%\&#125;/g</span>, <span class="string">&#x27;&#x27;</span>); <span class="comment">// 移除模板语法 &#123;% ... %&#125;</span></span><br><span class="line">            keywords.<span class="title function_">forEach</span>(<span class="function">(<span class="params">keyword, i</span>) =&gt;</span> &#123;</span><br><span class="line">              <span class="keyword">if</span> (cleanContent.<span class="title function_">indexOf</span>(keyword) &lt; <span class="number">0</span>) &#123;</span><br><span class="line">                isMatch = <span class="literal">false</span>;</span><br><span class="line">              &#125;</span><br><span class="line">            &#125;);</span><br><span class="line">          &#125;</span><br><span class="line">  </span><br><span class="line">          <span class="comment">// 显示搜索结果</span></span><br><span class="line">          <span class="keyword">if</span> (isMatch) &#123;</span><br><span class="line">            str += <span class="string">&#x27;&lt;div class=&quot;local-search__hit-item&quot;&gt;&#x27;</span>;</span><br><span class="line">            str +=</span><br><span class="line">              <span class="string">&#x27;&lt;div class=&quot;search-right&quot; style=&quot;width: 100%&quot;&gt;&lt;a href=&quot;&#x27;</span> +</span><br><span class="line">              dataUrl +</span><br><span class="line">              <span class="string">&#x27;&quot; class=&quot;search-result-title&quot;&gt;&#x27;</span> +</span><br><span class="line">              dataTitle +</span><br><span class="line">              <span class="string">&quot;&lt;/a&gt;&quot;</span>;</span><br><span class="line">            </span><br><span class="line">            <span class="comment">// 如果是内容搜索，显示内容摘要</span></span><br><span class="line">            <span class="keyword">if</span> (searchType === <span class="string">&#x27;content&#x27;</span> &amp;&amp; dataContent) &#123;</span><br><span class="line">              <span class="keyword">let</span> contentSnippet = <span class="title function_">extractContentSnippet</span>(data.<span class="property">content</span>, keywords);</span><br><span class="line">              str += <span class="string">&#x27;&lt;div class=&quot;search-result-content&quot;&gt;&#x27;</span> + contentSnippet + <span class="string">&#x27;&lt;/div&gt;&#x27;</span>;</span><br><span class="line">            &#125;</span><br><span class="line">            </span><br><span class="line">            count += <span class="number">1</span>;</span><br><span class="line">            str += <span class="string">&quot;&lt;/div&gt;&lt;/div&gt;&quot;</span>;</span><br><span class="line">          &#125;</span><br><span class="line">        &#125;);</span><br><span class="line">  </span><br><span class="line">        <span class="comment">// 如果没有匹配结果，显示 &quot;未找到&quot;</span></span><br><span class="line">        <span class="keyword">if</span> (count === <span class="number">0</span>) &#123;</span><br><span class="line">          str +=</span><br><span class="line">            <span class="string">&#x27;&lt;div id=&quot;local-search__hits-empty&quot;&gt;&#x27;</span> +</span><br><span class="line">            <span class="variable constant_">GLOBAL_CONFIG</span>.<span class="property">localSearch</span>.<span class="property">languages</span>.<span class="property">hits_empty</span>.<span class="title function_">replace</span>(<span class="regexp">/\$\&#123;query&#125;/</span>, <span class="variable language_">this</span>.<span class="property">value</span>.<span class="title function_">trim</span>()) +</span><br><span class="line">            <span class="string">&quot;&lt;/div&gt;&quot;</span>;</span><br><span class="line">        &#125; <span class="keyword">else</span> &#123;</span><br><span class="line">          <span class="comment">// 显示匹配的数量</span></span><br><span class="line">          str += <span class="string">&#x27;&lt;div class=&quot;search-result-count&quot;&gt;共找到 &#x27;</span> + count + <span class="string">&#x27; 个结果&lt;/div&gt;&#x27;</span>;</span><br><span class="line">        &#125;</span><br><span class="line">  </span><br><span class="line">        str += <span class="string">&quot;&lt;/div&gt;&quot;</span>;</span><br><span class="line">        $resultContent.<span class="property">innerHTML</span> = str;</span><br><span class="line">  </span><br><span class="line">        <span class="comment">// 搜索完成后清除加载状态</span></span><br><span class="line">        <span class="keyword">if</span> (keywords[<span class="number">0</span>] !== <span class="string">&quot;&quot;</span>) $loadingStatus.<span class="property">innerHTML</span> = <span class="string">&quot;&quot;</span>;</span><br><span class="line">  </span><br><span class="line">        <span class="variable language_">window</span>.<span class="property">pjax</span> &amp;&amp; <span class="variable language_">window</span>.<span class="property">pjax</span>.<span class="title function_">refresh</span>($resultContent);</span><br><span class="line">      &#125;);</span><br><span class="line">    &#125;);</span><br><span class="line">  &#125;;</span><br><span class="line"></span><br><span class="line">  <span class="title function_">searchClickFn</span>();</span><br><span class="line">  <span class="title function_">searchClickFnOnce</span>();</span><br><span class="line"></span><br><span class="line">  <span class="comment">// pjax</span></span><br><span class="line">  <span class="variable language_">window</span>.<span class="title function_">addEventListener</span>(<span class="string">&quot;pjax:complete&quot;</span>, <span class="function">() =&gt;</span> &#123;</span><br><span class="line">    !anzhiyu.<span class="title function_">isHidden</span>($searchMask) &amp;&amp; <span class="title function_">closeSearch</span>();</span><br><span class="line">    <span class="title function_">searchClickFn</span>();</span><br><span class="line">  &#125;);</span><br><span class="line">&#125;);</span><br></pre></td></tr></table></figure><p>修改CSS样式：<strong>themes\anzhiyu\source\css_search\local-search.styl</strong></p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">#local-search</span></span><br><span class="line">  <span class="string">.search-dialog</span></span><br><span class="line">    <span class="string">.local-search-box</span></span><br><span class="line">      <span class="attr">margin:</span> <span class="number">0</span> <span class="string">auto</span></span><br><span class="line">      <span class="attr">max-width:</span> <span class="number">100</span><span class="string">%</span></span><br><span class="line">      <span class="attr">width:</span> <span class="number">100</span><span class="string">%</span></span><br><span class="line"></span><br><span class="line">      <span class="string">input</span></span><br><span class="line">        <span class="attr">padding:</span> <span class="string">5px</span> <span class="string">14px</span></span><br><span class="line">        <span class="attr">width:</span> <span class="number">100</span><span class="string">%</span></span><br><span class="line">        <span class="attr">outline:</span> <span class="string">none</span></span><br><span class="line">        <span class="attr">border:</span> <span class="string">2px</span> <span class="string">solid</span> <span class="string">$search-color</span></span><br><span class="line">        <span class="attr">border-radius:</span> <span class="string">40px</span></span><br><span class="line">        <span class="attr">background:</span> <span class="string">var(--search-bg)</span></span><br><span class="line">        <span class="attr">color:</span> <span class="string">var(--search-input-color)</span></span><br><span class="line">        <span class="string">-webkit-appearance:</span> <span class="string">none</span></span><br><span class="line"></span><br><span class="line">    <span class="string">.search-wrap</span></span><br><span class="line">      <span class="attr">display:</span> <span class="string">none</span></span><br><span class="line"></span><br><span class="line">    <span class="string">.search-options</span></span><br><span class="line">      <span class="attr">display:</span> <span class="string">flex</span></span><br><span class="line">      <span class="attr">justify-content:</span> <span class="string">center</span></span><br><span class="line">      <span class="attr">margin:</span> <span class="string">10px</span> <span class="number">0</span></span><br><span class="line">      <span class="attr">gap:</span> <span class="string">10px</span></span><br><span class="line"></span><br><span class="line">      <span class="string">.search-option</span></span><br><span class="line">        <span class="attr">padding:</span> <span class="string">6px</span> <span class="string">12px</span></span><br><span class="line">        <span class="attr">border:</span> <span class="string">1px</span> <span class="string">solid</span> <span class="string">$search-color</span></span><br><span class="line">        <span class="attr">border-radius:</span> <span class="string">20px</span></span><br><span class="line">        <span class="attr">background:</span> <span class="string">transparent</span></span><br><span class="line">        <span class="attr">color:</span> <span class="string">$search-color</span></span><br><span class="line">        <span class="attr">font-size:</span> <span class="string">12px</span></span><br><span class="line">        <span class="attr">cursor:</span> <span class="string">pointer</span></span><br><span class="line">        <span class="attr">transition:</span> <span class="string">all</span> <span class="number">0.</span><span class="string">3s</span> <span class="string">ease</span></span><br><span class="line"></span><br><span class="line">        <span class="string">&amp;:hover</span></span><br><span class="line">          <span class="attr">background:</span> <span class="string">rgba($search-color,</span> <span class="number">0.1</span><span class="string">)</span></span><br><span class="line"></span><br><span class="line">        <span class="string">&amp;.active</span></span><br><span class="line">          <span class="attr">background:</span> <span class="string">$search-color</span></span><br><span class="line">          <span class="attr">color:</span> <span class="string">white</span></span><br><span class="line"></span><br><span class="line">    <span class="string">.local-search__hit-item</span></span><br><span class="line">      <span class="attr">position:</span> <span class="string">relative</span></span><br><span class="line">      <span class="attr">padding-left:</span> <span class="string">24px</span></span><br><span class="line">      <span class="attr">line-height:</span> <span class="number">1.7</span></span><br><span class="line"></span><br><span class="line">      <span class="string">&amp;:hover</span></span><br><span class="line">        <span class="string">&amp;:before</span></span><br><span class="line">          <span class="attr">border-color:</span> <span class="string">var(--pseudo-hover)</span></span><br><span class="line"></span><br><span class="line">      <span class="string">&amp;:before</span></span><br><span class="line">        <span class="string">$w</span> <span class="string">=</span> <span class="string">.5em</span></span><br><span class="line">        <span class="attr">position:</span> <span class="string">absolute</span></span><br><span class="line">        <span class="attr">top:</span> <span class="string">.45em</span></span><br><span class="line">        <span class="attr">left:</span> <span class="number">0</span></span><br><span class="line">        <span class="attr">width:</span> <span class="string">w</span> <span class="string">=</span> <span class="string">$w</span></span><br><span class="line">        <span class="attr">height:</span> <span class="string">h</span> <span class="string">=</span> <span class="string">w</span></span><br><span class="line">        <span class="attr">border:</span> <span class="string">3px</span> <span class="string">solid</span> <span class="string">$search-color</span></span><br><span class="line">        <span class="attr">border-radius:</span> <span class="string">w</span></span><br><span class="line">        <span class="attr">background:</span> <span class="string">transparent</span></span><br><span class="line">        <span class="attr">content:</span> <span class="string">&#x27;&#x27;</span></span><br><span class="line">        <span class="attr">line-height:</span> <span class="string">h</span></span><br><span class="line">        <span class="attr">transition:</span> <span class="string">all</span> <span class="string">.2s</span> <span class="string">ease-in-out</span></span><br><span class="line"></span><br><span class="line">      <span class="string">a</span></span><br><span class="line">        <span class="attr">display:</span> <span class="string">block</span></span><br><span class="line">        <span class="attr">color:</span> <span class="string">var(--search-result-title)</span></span><br><span class="line">        <span class="attr">font-weight:</span> <span class="number">600</span></span><br><span class="line">        <span class="attr">cursor:</span> <span class="string">pointer</span></span><br><span class="line"></span><br><span class="line">        <span class="string">&amp;:hover</span></span><br><span class="line">          <span class="attr">color:</span> <span class="string">$search-color</span></span><br><span class="line"></span><br><span class="line">      <span class="string">.search-result</span></span><br><span class="line">        <span class="attr">margin:</span> <span class="number">0</span> <span class="string">8px</span> <span class="string">8px</span> <span class="number">0</span></span><br><span class="line">        <span class="attr">word-break:</span> <span class="string">break-all</span></span><br><span class="line"></span><br><span class="line">      <span class="string">.search-keyword</span></span><br><span class="line">        <span class="attr">color:</span> <span class="string">$search-keyword-highlight</span></span><br><span class="line">        <span class="attr">font-weight:</span> <span class="string">bold</span></span><br><span class="line"></span><br><span class="line">      <span class="string">.search-result-content</span></span><br><span class="line">        <span class="attr">margin-top:</span> <span class="string">8px</span></span><br><span class="line">        <span class="attr">font-size:</span> <span class="string">14px</span></span><br><span class="line">        <span class="attr">line-height:</span> <span class="number">1.5</span></span><br><span class="line">        <span class="attr">color:</span> <span class="comment">#666</span></span><br><span class="line">        <span class="attr">max-height:</span> <span class="string">60px</span></span><br><span class="line">        <span class="attr">overflow:</span> <span class="string">hidden</span></span><br><span class="line">        <span class="attr">display:</span> <span class="string">-webkit-box</span></span><br><span class="line">        <span class="string">-webkit-line-clamp:</span> <span class="number">2</span></span><br><span class="line">        <span class="string">-webkit-box-orient:</span> <span class="string">vertical</span></span><br><span class="line">        <span class="attr">word-break:</span> <span class="string">break-all</span></span><br><span class="line"></span><br><span class="line">    <span class="string">.search-result-list</span></span><br><span class="line">      <span class="attr">overflow-y:</span> <span class="string">auto</span></span><br><span class="line">      <span class="attr">max-height:</span> <span class="string">calc(80vh</span> <span class="bullet">-</span> <span class="string">130px)</span></span><br><span class="line"></span><br><span class="line">      <span class="string">+maxWidth768()</span></span><br><span class="line">        <span class="attr">padding-bottom:</span> <span class="string">40px</span></span><br><span class="line">        <span class="attr">max-height:</span> <span class="string">75vh</span> <span class="type">!important</span></span><br></pre></td></tr></table></figure><h1 id="作者卡片"><a href="#作者卡片" class="headerlink" title="作者卡片"></a>作者卡片</h1><p><img src="/img/posts/anzhiyu/zuozhecard.png"><br>打开<strong>\themes\anzhiyu\source\css\ _layout\aside.styl</strong>文件更换一下代码</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br><span class="line">113</span><br><span class="line">114</span><br><span class="line">115</span><br><span class="line">116</span><br><span class="line">117</span><br><span class="line">118</span><br><span class="line">119</span><br><span class="line">120</span><br><span class="line">121</span><br><span class="line">122</span><br><span class="line">123</span><br><span class="line">124</span><br><span class="line">125</span><br><span class="line">126</span><br><span class="line">127</span><br><span class="line">128</span><br><span class="line">129</span><br><span class="line">130</span><br><span class="line">131</span><br><span class="line">132</span><br><span class="line">133</span><br><span class="line">134</span><br><span class="line">135</span><br><span class="line">136</span><br><span class="line">137</span><br><span class="line">138</span><br><span class="line">139</span><br><span class="line">140</span><br><span class="line">141</span><br><span class="line">142</span><br><span class="line">143</span><br><span class="line">144</span><br><span class="line">145</span><br><span class="line">146</span><br><span class="line">147</span><br><span class="line">148</span><br><span class="line">149</span><br><span class="line">150</span><br><span class="line">151</span><br><span class="line">152</span><br><span class="line">153</span><br><span class="line">154</span><br><span class="line">155</span><br><span class="line">156</span><br><span class="line">157</span><br><span class="line">158</span><br><span class="line">159</span><br><span class="line">160</span><br><span class="line">161</span><br><span class="line">162</span><br><span class="line">163</span><br><span class="line">164</span><br><span class="line">165</span><br><span class="line">166</span><br><span class="line">167</span><br><span class="line">168</span><br><span class="line">169</span><br><span class="line">170</span><br><span class="line">171</span><br><span class="line">172</span><br><span class="line">173</span><br><span class="line">174</span><br><span class="line">175</span><br><span class="line">176</span><br><span class="line">177</span><br><span class="line">178</span><br><span class="line">179</span><br><span class="line">180</span><br><span class="line">181</span><br><span class="line">182</span><br><span class="line">183</span><br><span class="line">184</span><br><span class="line">185</span><br><span class="line">186</span><br><span class="line">187</span><br><span class="line">188</span><br><span class="line">189</span><br><span class="line">190</span><br><span class="line">191</span><br><span class="line">192</span><br><span class="line">193</span><br><span class="line">194</span><br><span class="line">195</span><br><span class="line">196</span><br><span class="line">197</span><br><span class="line">198</span><br><span class="line">199</span><br><span class="line">200</span><br><span class="line">201</span><br><span class="line">202</span><br><span class="line">203</span><br><span class="line">204</span><br><span class="line">205</span><br><span class="line">206</span><br><span class="line">207</span><br><span class="line">208</span><br><span class="line">209</span><br><span class="line">210</span><br><span class="line">211</span><br><span class="line">212</span><br><span class="line">213</span><br><span class="line">214</span><br><span class="line">215</span><br><span class="line">216</span><br><span class="line">217</span><br><span class="line">218</span><br><span class="line">219</span><br><span class="line">220</span><br><span class="line">221</span><br><span class="line">222</span><br><span class="line">223</span><br><span class="line">224</span><br><span class="line">225</span><br><span class="line">226</span><br><span class="line">227</span><br><span class="line">228</span><br><span class="line">229</span><br><span class="line">230</span><br><span class="line">231</span><br><span class="line">232</span><br><span class="line">233</span><br><span class="line">234</span><br><span class="line">235</span><br><span class="line">236</span><br><span class="line">237</span><br><span class="line">238</span><br><span class="line">239</span><br><span class="line">240</span><br><span class="line">241</span><br><span class="line">242</span><br><span class="line">243</span><br><span class="line">244</span><br><span class="line">245</span><br><span class="line">246</span><br><span class="line">247</span><br><span class="line">248</span><br><span class="line">249</span><br><span class="line">250</span><br><span class="line">251</span><br><span class="line">252</span><br><span class="line">253</span><br><span class="line">254</span><br><span class="line">255</span><br><span class="line">256</span><br><span class="line">257</span><br><span class="line">258</span><br><span class="line">259</span><br><span class="line">260</span><br><span class="line">261</span><br><span class="line">262</span><br><span class="line">263</span><br><span class="line">264</span><br><span class="line">265</span><br><span class="line">266</span><br><span class="line">267</span><br><span class="line">268</span><br><span class="line">269</span><br><span class="line">270</span><br><span class="line">271</span><br><span class="line">272</span><br><span class="line">273</span><br><span class="line">274</span><br><span class="line">275</span><br><span class="line">276</span><br><span class="line">277</span><br><span class="line">278</span><br><span class="line">279</span><br><span class="line">280</span><br><span class="line">281</span><br><span class="line">282</span><br><span class="line">283</span><br><span class="line">284</span><br><span class="line">285</span><br><span class="line">286</span><br><span class="line">287</span><br><span class="line">288</span><br><span class="line">289</span><br><span class="line">290</span><br><span class="line">291</span><br><span class="line">292</span><br><span class="line">293</span><br><span class="line">294</span><br><span class="line">295</span><br><span class="line">296</span><br><span class="line">297</span><br><span class="line">298</span><br><span class="line">299</span><br><span class="line">300</span><br><span class="line">301</span><br><span class="line">302</span><br><span class="line">303</span><br><span class="line">304</span><br><span class="line">305</span><br><span class="line">306</span><br><span class="line">307</span><br><span class="line">308</span><br><span class="line">309</span><br><span class="line">310</span><br><span class="line">311</span><br><span class="line">312</span><br><span class="line">313</span><br><span class="line">314</span><br><span class="line">315</span><br><span class="line">316</span><br><span class="line">317</span><br><span class="line">318</span><br><span class="line">319</span><br><span class="line">320</span><br><span class="line">321</span><br><span class="line">322</span><br><span class="line">323</span><br><span class="line">324</span><br><span class="line">325</span><br><span class="line">326</span><br><span class="line">327</span><br><span class="line">328</span><br><span class="line">329</span><br><span class="line">330</span><br><span class="line">331</span><br><span class="line">332</span><br><span class="line">333</span><br><span class="line">334</span><br><span class="line">335</span><br><span class="line">336</span><br><span class="line">337</span><br><span class="line">338</span><br><span class="line">339</span><br><span class="line">340</span><br><span class="line">341</span><br><span class="line">342</span><br><span class="line">343</span><br><span class="line">344</span><br><span class="line">345</span><br><span class="line">346</span><br><span class="line">347</span><br><span class="line">348</span><br><span class="line">349</span><br><span class="line">350</span><br><span class="line">351</span><br><span class="line">352</span><br><span class="line">353</span><br><span class="line">354</span><br><span class="line">355</span><br><span class="line">356</span><br><span class="line">357</span><br><span class="line">358</span><br><span class="line">359</span><br><span class="line">360</span><br><span class="line">361</span><br><span class="line">362</span><br><span class="line">363</span><br><span class="line">364</span><br><span class="line">365</span><br><span class="line">366</span><br><span class="line">367</span><br><span class="line">368</span><br><span class="line">369</span><br><span class="line">370</span><br><span class="line">371</span><br><span class="line">372</span><br><span class="line">373</span><br><span class="line">374</span><br><span class="line">375</span><br><span class="line">376</span><br><span class="line">377</span><br><span class="line">378</span><br><span class="line">379</span><br><span class="line">380</span><br><span class="line">381</span><br><span class="line">382</span><br><span class="line">383</span><br><span class="line">384</span><br><span class="line">385</span><br><span class="line">386</span><br><span class="line">387</span><br><span class="line">388</span><br><span class="line">389</span><br><span class="line">390</span><br><span class="line">391</span><br><span class="line">392</span><br><span class="line">393</span><br><span class="line">394</span><br><span class="line">395</span><br><span class="line">396</span><br><span class="line">397</span><br><span class="line">398</span><br><span class="line">399</span><br><span class="line">400</span><br><span class="line">401</span><br><span class="line">402</span><br><span class="line">403</span><br><span class="line">404</span><br><span class="line">405</span><br><span class="line">406</span><br><span class="line">407</span><br><span class="line">408</span><br><span class="line">409</span><br><span class="line">410</span><br><span class="line">411</span><br><span class="line">412</span><br><span class="line">413</span><br><span class="line">414</span><br><span class="line">415</span><br><span class="line">416</span><br><span class="line">417</span><br><span class="line">418</span><br><span class="line">419</span><br><span class="line">420</span><br><span class="line">421</span><br><span class="line">422</span><br><span class="line">423</span><br><span class="line">424</span><br><span class="line">425</span><br><span class="line">426</span><br><span class="line">427</span><br><span class="line">428</span><br><span class="line">429</span><br><span class="line">430</span><br><span class="line">431</span><br><span class="line">432</span><br><span class="line">433</span><br><span class="line">434</span><br><span class="line">435</span><br><span class="line">436</span><br><span class="line">437</span><br><span class="line">438</span><br><span class="line">439</span><br><span class="line">440</span><br><span class="line">441</span><br><span class="line">442</span><br><span class="line">443</span><br><span class="line">444</span><br><span class="line">445</span><br><span class="line">446</span><br><span class="line">447</span><br><span class="line">448</span><br><span class="line">449</span><br><span class="line">450</span><br><span class="line">451</span><br><span class="line">452</span><br><span class="line">453</span><br><span class="line">454</span><br><span class="line">455</span><br><span class="line">456</span><br><span class="line">457</span><br><span class="line">458</span><br><span class="line">459</span><br><span class="line">460</span><br><span class="line">461</span><br><span class="line">462</span><br><span class="line">463</span><br><span class="line">464</span><br><span class="line">465</span><br><span class="line">466</span><br><span class="line">467</span><br><span class="line">468</span><br><span class="line">469</span><br><span class="line">470</span><br><span class="line">471</span><br><span class="line">472</span><br><span class="line">473</span><br><span class="line">474</span><br><span class="line">475</span><br><span class="line">476</span><br><span class="line">477</span><br><span class="line">478</span><br><span class="line">479</span><br><span class="line">480</span><br><span class="line">481</span><br><span class="line">482</span><br><span class="line">483</span><br><span class="line">484</span><br><span class="line">485</span><br><span class="line">486</span><br><span class="line">487</span><br><span class="line">488</span><br><span class="line">489</span><br><span class="line">490</span><br><span class="line">491</span><br><span class="line">492</span><br><span class="line">493</span><br><span class="line">494</span><br><span class="line">495</span><br><span class="line">496</span><br><span class="line">497</span><br><span class="line">498</span><br><span class="line">499</span><br><span class="line">500</span><br><span class="line">501</span><br><span class="line">502</span><br><span class="line">503</span><br><span class="line">504</span><br><span class="line">505</span><br><span class="line">506</span><br><span class="line">507</span><br><span class="line">508</span><br><span class="line">509</span><br><span class="line">510</span><br><span class="line">511</span><br><span class="line">512</span><br><span class="line">513</span><br><span class="line">514</span><br><span class="line">515</span><br><span class="line">516</span><br><span class="line">517</span><br><span class="line">518</span><br><span class="line">519</span><br><span class="line">520</span><br><span class="line">521</span><br><span class="line">522</span><br><span class="line">523</span><br><span class="line">524</span><br><span class="line">525</span><br><span class="line">526</span><br><span class="line">527</span><br><span class="line">528</span><br><span class="line">529</span><br><span class="line">530</span><br><span class="line">531</span><br><span class="line">532</span><br><span class="line">533</span><br><span class="line">534</span><br><span class="line">535</span><br><span class="line">536</span><br><span class="line">537</span><br><span class="line">538</span><br><span class="line">539</span><br><span class="line">540</span><br><span class="line">541</span><br><span class="line">542</span><br><span class="line">543</span><br><span class="line">544</span><br><span class="line">545</span><br><span class="line">546</span><br><span class="line">547</span><br><span class="line">548</span><br><span class="line">549</span><br><span class="line">550</span><br><span class="line">551</span><br><span class="line">552</span><br><span class="line">553</span><br><span class="line">554</span><br><span class="line">555</span><br><span class="line">556</span><br><span class="line">557</span><br><span class="line">558</span><br></pre></td><td class="code"><pre><span class="line"><span class="string">.post</span></span><br><span class="line">  <span class="string">+maxWidth768()</span></span><br><span class="line">    <span class="comment">#aside-content</span></span><br><span class="line">      <span class="attr">background:</span> <span class="string">var(--anzhiyu-background);</span></span><br><span class="line">      <span class="attr">border:</span> <span class="string">none;</span></span><br><span class="line">      <span class="string">z-index</span> <span class="number">99</span></span><br><span class="line">      <span class="attr">margin-top:</span> <span class="string">-1px</span></span><br><span class="line"><span class="comment">#aside-content</span></span><br><span class="line">  <span class="attr">width:</span> <span class="string">300px</span></span><br><span class="line">  <span class="attr">animation:</span> <span class="string">slide-in</span> <span class="number">0.</span><span class="string">6s</span> <span class="number">0.</span><span class="string">3s</span> <span class="string">backwards;</span></span><br><span class="line"></span><br><span class="line">  <span class="string">+minWidth1200()</span></span><br><span class="line">    <span class="string">if</span> <span class="string">hexo-config(&#x27;aside.position&#x27;)</span> <span class="string">==</span> <span class="string">&#x27;right&#x27;</span></span><br><span class="line">      <span class="attr">padding-left:</span> <span class="string">15px</span></span><br><span class="line">    <span class="string">else</span></span><br><span class="line">      <span class="attr">padding-right:</span> <span class="string">15px</span></span><br><span class="line"></span><br><span class="line">  <span class="string">+maxWidth1200()</span></span><br><span class="line">    <span class="attr">width:</span> <span class="number">100</span><span class="string">%</span></span><br><span class="line">    <span class="attr">padding:</span> <span class="string">20px;</span></span><br><span class="line">  </span><br><span class="line">  <span class="string">+maxWidth768()</span></span><br><span class="line">    <span class="attr">padding:</span> <span class="number">0</span> <span class="string">20px</span> <span class="string">20px</span></span><br><span class="line"></span><br><span class="line">  <span class="string">&gt;</span> <span class="string">.card-widget:first-child</span></span><br><span class="line">    <span class="attr">margin-top:</span> <span class="number">0</span></span><br><span class="line"></span><br><span class="line">    <span class="string">+maxWidth1200()</span></span><br><span class="line">      <span class="attr">margin-top:</span> <span class="string">20px</span></span><br><span class="line">    <span class="string">+maxWidth768()</span></span><br><span class="line">      <span class="attr">margin-top:</span> <span class="string">0px</span></span><br><span class="line"></span><br><span class="line">  <span class="string">.card-widget</span></span><br><span class="line">    <span class="string">@extend</span> <span class="string">.cardHover</span></span><br><span class="line">    <span class="attr">position:</span> <span class="string">relative</span></span><br><span class="line">    <span class="attr">overflow:</span> <span class="string">hidden</span></span><br><span class="line">    <span class="attr">margin-top:</span> <span class="string">20px</span></span><br><span class="line">    <span class="attr">padding:</span> <span class="string">20px</span> <span class="string">24px</span></span><br><span class="line"></span><br><span class="line">    <span class="string">if</span> <span class="string">hexo-config(&#x27;aside.mobile&#x27;)</span> <span class="string">==</span> <span class="literal">false</span></span><br><span class="line">      <span class="string">+maxWidth768()</span></span><br><span class="line">        <span class="string">&amp;:not(#card-toc)</span></span><br><span class="line">          <span class="attr">display:</span> <span class="string">none</span></span><br><span class="line">          </span><br><span class="line">    <span class="string">.author-info__bottom-group</span></span><br><span class="line">      <span class="attr">display:</span> <span class="string">flex;</span></span><br><span class="line">      <span class="attr">justify-content:</span> <span class="string">space-between;</span></span><br><span class="line">      <span class="attr">width:</span> <span class="number">100</span><span class="string">%;</span></span><br><span class="line">      <span class="attr">align-items:</span> <span class="string">center;</span></span><br><span class="line">      <span class="string">.author-info__name</span></span><br><span class="line">        <span class="attr">text-align:</span> <span class="string">left;</span></span><br><span class="line">        <span class="attr">font-weight:</span> <span class="number">700</span><span class="string">;</span></span><br><span class="line">        <span class="attr">color:</span> <span class="string">var(--anzhiyu-white);</span></span><br><span class="line">        <span class="attr">line-height:</span> <span class="number">1</span><span class="string">;</span></span><br><span class="line">        <span class="attr">margin-bottom:</span> <span class="string">5px;</span></span><br><span class="line">        <span class="attr">margin-top:</span> <span class="number">0</span></span><br><span class="line">      <span class="string">.author-info__desc</span></span><br><span class="line">        <span class="attr">display:</span> <span class="string">none</span></span><br><span class="line"></span><br><span class="line">    <span class="string">.author-info__description</span></span><br><span class="line">      <span class="attr">display:</span> <span class="string">none</span></span><br><span class="line"></span><br><span class="line">    <span class="string">.banner-button-group</span> <span class="string">.banner-button</span> </span><br><span class="line">      <span class="attr">padding:</span> <span class="string">20px</span> <span class="string">12px;</span></span><br><span class="line">      <span class="attr">color:</span> <span class="string">var(--anzhiyu-white);</span></span><br><span class="line">      <span class="attr">display:</span> <span class="string">flex;</span></span><br><span class="line">      <span class="attr">align-items:</span> <span class="string">center;</span></span><br><span class="line">      <span class="attr">z-index:</span> <span class="number">1</span><span class="string">;</span></span><br><span class="line">      <span class="attr">transition:</span> <span class="string">all</span> <span class="number">0.</span><span class="string">3s</span> <span class="string">ease</span> <span class="string">0s;</span></span><br><span class="line">      <span class="attr">cursor:</span> <span class="string">pointer;</span></span><br><span class="line">      <span class="string">.anzhiyufont</span> <span class="string">.anzhiyu-icon-arrow-circle-right</span> </span><br><span class="line">        <span class="attr">font-size:</span> <span class="number">1.</span><span class="string">3rem;</span></span><br><span class="line">        <span class="attr">margin-right:</span> <span class="string">10px;</span></span><br><span class="line"></span><br><span class="line"></span><br><span class="line">    <span class="string">.card-info-social-icons</span></span><br><span class="line">      <span class="attr">margin:</span> <span class="number">0</span> <span class="string">10px</span> <span class="string">10px</span> <span class="string">10px;</span></span><br><span class="line">      <span class="attr">display:</span> <span class="string">flex;</span></span><br><span class="line">      <span class="attr">justify-content:</span> <span class="string">flex-start;</span></span><br><span class="line">      <span class="attr">flex-direction:</span> <span class="string">row;</span></span><br><span class="line">      <span class="attr">flex-wrap:</span> <span class="string">wrap;</span></span><br><span class="line">      <span class="attr">cursor:</span> <span class="string">pointer;</span></span><br><span class="line"></span><br><span class="line">      <span class="string">.social-icon</span></span><br><span class="line">        <span class="attr">margin:</span> <span class="number">0</span> <span class="number">0</span> <span class="number">0</span> <span class="string">10px</span></span><br><span class="line">        <span class="attr">color:</span> <span class="string">var(--anzhiyu-fontcolor);</span></span><br><span class="line">        <span class="attr">font-size:</span> <span class="number">1.</span><span class="string">4em;</span></span><br><span class="line">        <span class="attr">cursor:</span> <span class="string">pointer;</span></span><br><span class="line">        <span class="attr">display:</span> <span class="string">flex;</span></span><br><span class="line">        <span class="string">i,</span> <span class="string">svg</span></span><br><span class="line">          <span class="attr">background:</span> <span class="string">var(--anzhiyu-white-op);</span></span><br><span class="line">          <span class="attr">color:</span> <span class="string">var(--anzhiyu-white);</span></span><br><span class="line">          <span class="attr">font-size:</span> <span class="string">1rem;</span></span><br><span class="line">          <span class="attr">width:</span> <span class="string">40px;</span></span><br><span class="line">          <span class="attr">height:</span> <span class="string">40px;</span></span><br><span class="line">          <span class="attr">display:</span> <span class="string">flex;</span></span><br><span class="line">          <span class="attr">align-items:</span> <span class="string">center;</span></span><br><span class="line">          <span class="attr">justify-content:</span> <span class="string">center;</span></span><br><span class="line">          <span class="attr">transition:</span> <span class="string">all</span> <span class="string">.3s</span> <span class="string">ease</span> <span class="string">0s;</span></span><br><span class="line">          <span class="attr">padding:</span> <span class="string">8px;</span></span><br><span class="line">          <span class="attr">border-radius:</span> <span class="string">32px;</span></span><br><span class="line">          <span class="string">&amp;:hover</span></span><br><span class="line">            <span class="attr">background:</span> <span class="string">var(--anzhiyu-secondbg);</span></span><br><span class="line">            <span class="attr">transform:</span> <span class="string">scale(1.1);</span></span><br><span class="line">            <span class="attr">color:</span> <span class="string">var(--anzhiyu-main);</span></span><br><span class="line">            <span class="attr">box-shadow:</span> <span class="string">none;</span></span><br><span class="line"></span><br><span class="line">    <span class="comment">#card-info-btn</span></span><br><span class="line">      <span class="attr">display:</span> <span class="string">block</span></span><br><span class="line">      <span class="attr">margin-top:</span> <span class="string">14px</span></span><br><span class="line">      <span class="attr">background-color:</span> <span class="string">var(--btn-bg)</span></span><br><span class="line">      <span class="attr">color:</span> <span class="string">var(--btn-color)</span></span><br><span class="line">      <span class="attr">text-align:</span> <span class="string">center</span></span><br><span class="line">      <span class="attr">line-height:</span> <span class="number">2.4</span></span><br><span class="line"></span><br><span class="line">      <span class="string">&amp;:hover</span></span><br><span class="line">        <span class="attr">background-color:</span> <span class="string">var(--btn-hover-color)</span></span><br><span class="line"></span><br><span class="line">      <span class="string">span</span></span><br><span class="line">        <span class="attr">padding-left:</span> <span class="string">10px</span></span><br><span class="line"></span><br><span class="line">  <span class="string">.item-headline</span></span><br><span class="line">    <span class="attr">padding-bottom:</span> <span class="number">0</span><span class="string">;</span></span><br><span class="line">    <span class="attr">margin-left:</span> <span class="string">8px;</span></span><br><span class="line">    <span class="attr">font-size:</span> <span class="string">1em;</span></span><br><span class="line">    <span class="attr">font-weight:</span> <span class="string">bold;</span></span><br><span class="line">    <span class="attr">display:</span> <span class="string">flex;</span></span><br><span class="line">    <span class="attr">align-items:</span> <span class="string">center;</span></span><br><span class="line"></span><br><span class="line">    <span class="string">span</span></span><br><span class="line">      <span class="attr">margin-left:</span> <span class="string">6px</span></span><br><span class="line"></span><br><span class="line">  <span class="string">.sticky_layout</span></span><br><span class="line">    <span class="string">+minWidth1200()</span></span><br><span class="line">      <span class="attr">position:</span> <span class="string">sticky</span></span><br><span class="line">      <span class="attr">position:</span> <span class="string">-webkit-sticky</span></span><br><span class="line">      <span class="attr">top:</span> <span class="string">20px</span></span><br><span class="line">      <span class="attr">transition:</span> <span class="string">top</span> <span class="string">.3s</span></span><br><span class="line"></span><br><span class="line">  <span class="string">.card-tag-cloud</span></span><br><span class="line">    <span class="string">a</span></span><br><span class="line">      <span class="attr">display:</span> <span class="string">inline-block</span></span><br><span class="line">      <span class="attr">padding:</span> <span class="number">0</span> <span class="string">4px</span></span><br><span class="line"></span><br><span class="line">      <span class="string">&amp;:hover</span></span><br><span class="line">        <span class="attr">color:</span> <span class="string">$text-hover</span> <span class="type">!important</span></span><br><span class="line"></span><br><span class="line">  <span class="string">.aside-list</span></span><br><span class="line">    <span class="string">&amp;</span> <span class="string">&gt;</span> <span class="string">span</span></span><br><span class="line">      <span class="attr">display:</span> <span class="string">block</span></span><br><span class="line">      <span class="attr">margin-bottom:</span> <span class="string">10px</span></span><br><span class="line">      <span class="attr">text-align:</span> <span class="string">center</span></span><br><span class="line"></span><br><span class="line">    <span class="string">&amp;</span> <span class="string">&gt;</span> <span class="string">.aside-list-item</span></span><br><span class="line">      <span class="attr">display:</span> <span class="string">flex</span></span><br><span class="line">      <span class="attr">align-items:</span> <span class="string">center</span></span><br><span class="line">      <span class="attr">padding:</span> <span class="string">6px</span> <span class="number">0</span></span><br><span class="line"></span><br><span class="line">      <span class="string">&amp;:first-child</span></span><br><span class="line">        <span class="attr">padding-top:</span> <span class="number">0</span></span><br><span class="line"></span><br><span class="line">      <span class="string">&amp;:not(:last-child)</span></span><br><span class="line">        <span class="attr">border-bottom:</span> <span class="string">1px</span> <span class="string">dashed</span> <span class="comment">#f5f5f5</span></span><br><span class="line"></span><br><span class="line">      <span class="string">&amp;:last-child</span></span><br><span class="line">        <span class="attr">padding-bottom:</span> <span class="number">0</span></span><br><span class="line"></span><br><span class="line">      <span class="string">.thumbnail</span></span><br><span class="line">        <span class="attr">overflow:</span> <span class="string">hidden</span></span><br><span class="line">        <span class="attr">width:</span> <span class="string">w</span> <span class="string">=</span> <span class="number">4.</span><span class="string">2em</span></span><br><span class="line">        <span class="attr">height:</span> <span class="string">w</span></span><br><span class="line"></span><br><span class="line">        <span class="string">&amp;</span> <span class="string">&gt;</span> <span class="string">img</span></span><br><span class="line">          <span class="string">@extend</span> <span class="string">.imgHover</span></span><br><span class="line"></span><br><span class="line">      <span class="string">.content</span></span><br><span class="line">        <span class="attr">flex:</span> <span class="number">1</span></span><br><span class="line">        <span class="attr">padding-left:</span> <span class="string">10px</span></span><br><span class="line">        <span class="attr">word-break:</span> <span class="string">break-all</span></span><br><span class="line">        <span class="attr">width:</span> <span class="number">4.</span><span class="string">2em;</span></span><br><span class="line">        <span class="attr">height:</span> <span class="number">4.</span><span class="string">2em;</span></span><br><span class="line"></span><br><span class="line">        <span class="string">&amp;</span> <span class="string">&gt;</span> <span class="string">.name</span></span><br><span class="line">          <span class="string">@extend</span> <span class="string">.limit-more-line</span></span><br><span class="line">          <span class="string">-webkit-line-clamp:</span> <span class="number">1</span></span><br><span class="line"></span><br><span class="line">        <span class="string">&amp;</span> <span class="string">&gt;</span> <span class="string">time,</span></span><br><span class="line">        <span class="string">&amp;</span> <span class="string">&gt;</span> <span class="string">.name</span></span><br><span class="line">          <span class="attr">display:</span> <span class="string">block</span></span><br><span class="line">          <span class="attr">color:</span> <span class="string">$theme-meta-color</span></span><br><span class="line">          <span class="attr">font-size:</span> <span class="number">85</span><span class="string">%</span></span><br><span class="line"></span><br><span class="line">        <span class="string">&amp;</span> <span class="string">&gt;</span> <span class="string">.title,</span></span><br><span class="line">        <span class="string">&amp;</span> <span class="string">&gt;</span> <span class="string">.comment</span></span><br><span class="line">          <span class="string">@extend</span> <span class="string">.limit-more-line</span></span><br><span class="line">          <span class="attr">color:</span> <span class="string">var(--font-color)</span></span><br><span class="line">          <span class="attr">font-size:</span> <span class="number">95</span><span class="string">%</span></span><br><span class="line">          <span class="attr">line-height:</span> <span class="number">1.5</span></span><br><span class="line">          <span class="string">-webkit-line-clamp:</span> <span class="number">2</span></span><br><span class="line"></span><br><span class="line">          <span class="string">&amp;:hover</span></span><br><span class="line">            <span class="attr">color:</span> <span class="string">$text-hover</span></span><br><span class="line"></span><br><span class="line">      <span class="string">&amp;.no-cover</span></span><br><span class="line">        <span class="attr">min-height:</span> <span class="number">4.</span><span class="string">4em</span></span><br><span class="line"></span><br><span class="line">  <span class="string">.card-archives</span> <span class="string">ul.card-archive-list,</span></span><br><span class="line">  <span class="string">.card-categories</span> <span class="string">ul.card-category-list</span></span><br><span class="line">    <span class="attr">margin:</span> <span class="number">0</span></span><br><span class="line">    <span class="attr">padding:</span> <span class="number">0</span></span><br><span class="line">    <span class="attr">list-style:</span> <span class="string">none</span></span><br><span class="line">  <span class="string">.card-archives</span> <span class="string">.item-headline</span></span><br><span class="line">    <span class="attr">display:</span> <span class="string">none</span></span><br><span class="line"></span><br><span class="line">  <span class="string">.card-archives</span> <span class="string">ul.card-archive-list</span> <span class="string">&gt;</span> <span class="string">.card-archive-list-item,</span></span><br><span class="line">  <span class="string">.card-categories</span> <span class="string">ul.card-category-list</span> <span class="string">&gt;</span> <span class="string">.card-category-list-item</span></span><br><span class="line">    <span class="string">a</span></span><br><span class="line">      <span class="attr">display:</span> <span class="string">flex</span></span><br><span class="line">      <span class="attr">flex-direction:</span> <span class="string">row</span></span><br><span class="line">      <span class="attr">padding:</span> <span class="string">3px</span> <span class="string">10px</span></span><br><span class="line">      <span class="attr">color:</span> <span class="string">var(--font-color)</span></span><br><span class="line">      <span class="attr">transition:</span> <span class="string">all</span> <span class="string">.2s</span></span><br><span class="line"></span><br><span class="line">      <span class="string">&amp;:hover</span></span><br><span class="line">        <span class="attr">background-color:</span> <span class="string">var(--text-bg-hover)</span></span><br><span class="line"></span><br><span class="line">      <span class="string">span</span></span><br><span class="line">        <span class="string">@extend</span> <span class="string">.limit-one-line</span></span><br><span class="line"></span><br><span class="line">        <span class="string">&amp;:first-child</span></span><br><span class="line">          <span class="attr">flex:</span> <span class="number">1</span></span><br><span class="line"></span><br><span class="line">  <span class="string">.card-categories</span></span><br><span class="line">    <span class="string">.card-category-list</span></span><br><span class="line">      <span class="string">&amp;.child</span></span><br><span class="line">        <span class="attr">padding:</span> <span class="number">0</span> <span class="number">0</span> <span class="number">0</span> <span class="string">16px</span></span><br><span class="line"></span><br><span class="line">      <span class="string">&gt;</span> <span class="string">.parent</span></span><br><span class="line">        <span class="string">&gt;</span> <span class="string">a</span></span><br><span class="line">          <span class="string">&amp;.expand</span></span><br><span class="line">            <span class="string">i</span></span><br><span class="line">              <span class="attr">transform:</span> <span class="string">rotate(-90deg)</span></span><br><span class="line"></span><br><span class="line">            <span class="string">&amp;</span> <span class="string">+</span> <span class="string">.child</span></span><br><span class="line">              <span class="attr">display:</span> <span class="string">block</span></span><br><span class="line">          <span class="string">.card-category-list</span></span><br><span class="line">            <span class="string">&amp;-name</span></span><br><span class="line">              <span class="attr">width:</span> <span class="number">70</span><span class="string">%</span> <span class="type">!important</span></span><br><span class="line"></span><br><span class="line">            <span class="string">&amp;-count</span></span><br><span class="line">              <span class="attr">width:</span> <span class="string">calc(100%</span> <span class="bullet">-</span> <span class="number">70</span><span class="string">%</span> <span class="bullet">-</span> <span class="string">20px)</span></span><br><span class="line">              <span class="attr">text-align:</span> <span class="string">right</span></span><br><span class="line"></span><br><span class="line">          <span class="string">i</span></span><br><span class="line">            <span class="attr">float:</span> <span class="string">right</span></span><br><span class="line">            <span class="attr">margin-right:</span> <span class="string">-.5em</span></span><br><span class="line">            <span class="attr">padding:</span> <span class="string">.5em</span></span><br><span class="line">            <span class="attr">transition:</span> <span class="string">transform</span> <span class="string">.3s</span></span><br><span class="line">            <span class="attr">transform:</span> <span class="string">rotate(0)</span></span><br><span class="line"></span><br><span class="line">        <span class="string">if</span> <span class="string">hexo-config(&#x27;aside.card_categories.expand&#x27;)</span> <span class="string">==</span> <span class="literal">false</span></span><br><span class="line">          <span class="string">&gt;</span> <span class="string">.child</span></span><br><span class="line">            <span class="attr">display:</span> <span class="string">none</span></span><br><span class="line"></span><br><span class="line">  <span class="string">.card-webinfo</span></span><br><span class="line">    <span class="string">.item-headline</span></span><br><span class="line">      <span class="attr">display:</span> <span class="string">none</span></span><br><span class="line">    <span class="string">.webinfo</span></span><br><span class="line">      <span class="string">.webinfo-item</span></span><br><span class="line">        <span class="attr">display:</span> <span class="string">flex</span></span><br><span class="line">        <span class="attr">align-items:</span> <span class="string">center</span></span><br><span class="line">        <span class="attr">padding:</span> <span class="string">2px</span> <span class="string">10px</span> <span class="number">0</span></span><br><span class="line">        <span class="attr">justify-content:</span> <span class="string">space-between;</span></span><br><span class="line">        <span class="string">.webinfo-item-title</span> </span><br><span class="line">          <span class="attr">display:</span> <span class="string">flex;</span></span><br><span class="line">          <span class="string">i</span></span><br><span class="line">            <span class="attr">line-height:</span> <span class="number">2</span><span class="string">;</span></span><br><span class="line">            <span class="attr">margin-right:</span> <span class="string">6px;</span></span><br><span class="line">            <span class="attr">width:</span> <span class="string">16px;</span></span><br><span class="line">            <span class="attr">text-align:</span> <span class="string">center;</span></span><br><span class="line"></span><br><span class="line">        <span class="string">div</span></span><br><span class="line">          <span class="string">&amp;:first-child</span></span><br><span class="line">            <span class="attr">flex:</span> <span class="number">1</span></span><br><span class="line">            <span class="attr">padding-right:</span> <span class="string">20px</span></span><br><span class="line"></span><br><span class="line">  <span class="string">//</span> <span class="string">toc</span></span><br><span class="line">  <span class="comment">#card-toc</span></span><br><span class="line">    <span class="string">+minWidth901()</span></span><br><span class="line">      <span class="attr">right:</span> <span class="number">0</span> <span class="type">!important</span></span><br><span class="line">      <span class="attr">max-height:</span> <span class="string">calc(100vh</span> <span class="bullet">-</span> <span class="string">100px);</span></span><br><span class="line"></span><br><span class="line">    <span class="string">+maxWidth1200()</span></span><br><span class="line">      <span class="attr">position:</span> <span class="string">fixed</span></span><br><span class="line">      <span class="attr">right:</span> <span class="string">55px</span></span><br><span class="line">      <span class="attr">bottom:</span> <span class="string">30px</span></span><br><span class="line">      <span class="attr">z-index:</span> <span class="number">100</span></span><br><span class="line">      <span class="attr">max-width:</span> <span class="string">$toc-mobile-maxWidth</span></span><br><span class="line">      <span class="attr">max-height:</span> <span class="string">calc(100%</span> <span class="bullet">-</span> <span class="string">60px)</span></span><br><span class="line">      <span class="attr">width:</span> <span class="string">$toc-mobile-width</span></span><br><span class="line">      <span class="attr">transition:</span> <span class="string">transform</span> <span class="string">.3s</span></span><br><span class="line">      <span class="attr">transform:</span> <span class="string">scale(0)</span></span><br><span class="line">      <span class="attr">transform-origin:</span> <span class="string">right</span> <span class="string">bottom</span></span><br><span class="line">      <span class="string">&amp;.open</span></span><br><span class="line">        <span class="attr">transform:</span> <span class="string">scale(1)</span></span><br><span class="line"></span><br><span class="line">    <span class="string">.toc-percentage</span></span><br><span class="line">      <span class="attr">display:</span> <span class="string">none</span></span><br><span class="line">      <span class="attr">float:</span> <span class="string">right</span></span><br><span class="line">      <span class="attr">margin-top:</span> <span class="string">-9px</span></span><br><span class="line">      <span class="attr">color:</span> <span class="comment">#a9a9a9</span></span><br><span class="line">      <span class="attr">font-style:</span> <span class="string">italic</span></span><br><span class="line">      <span class="attr">font-size:</span> <span class="number">140</span><span class="string">%</span></span><br><span class="line"></span><br><span class="line">    <span class="string">.toc-content</span></span><br><span class="line">      <span class="attr">overflow-y:</span> <span class="string">scroll</span></span><br><span class="line">      <span class="attr">overflow-y:</span> <span class="string">overlay</span></span><br><span class="line">      <span class="attr">margin:</span> <span class="number">0</span> <span class="string">-24px</span></span><br><span class="line">      <span class="attr">max-height:</span> <span class="string">calc(100vh</span> <span class="bullet">-</span> <span class="string">120px)</span></span><br><span class="line">      <span class="attr">width:</span> <span class="string">calc(100%</span> <span class="string">+</span> <span class="string">48px)</span></span><br><span class="line"></span><br><span class="line">      <span class="string">+maxWidth1200()</span></span><br><span class="line">        <span class="attr">max-height:</span> <span class="string">calc(100vh</span> <span class="bullet">-</span> <span class="string">140px)</span></span><br><span class="line"></span><br><span class="line">      <span class="string">&amp;</span> <span class="string">&gt;</span> <span class="string">*</span></span><br><span class="line">        <span class="attr">margin:</span> <span class="number">0</span> <span class="string">20px</span> <span class="type">!important</span></span><br><span class="line"></span><br><span class="line">        <span class="string">&amp;</span> <span class="string">&gt;</span> <span class="string">.toc-item</span> <span class="string">&gt;</span> <span class="string">.toc-child</span></span><br><span class="line">          <span class="attr">margin-left:</span> <span class="string">10px</span></span><br><span class="line">          <span class="attr">padding-left:</span> <span class="string">10px</span></span><br><span class="line">          <span class="string">//</span> <span class="attr">border-left:</span> <span class="string">1px</span> <span class="string">solid</span> <span class="string">var(--dark-grey)</span></span><br><span class="line"></span><br><span class="line">      <span class="string">&amp;:not(.is-expand)</span></span><br><span class="line">        <span class="string">.toc-child</span></span><br><span class="line">          <span class="attr">display:</span> <span class="string">none</span></span><br><span class="line"></span><br><span class="line">          <span class="string">+maxWidth1200()</span></span><br><span class="line">            <span class="attr">display:</span> <span class="string">block</span> <span class="type">!important</span></span><br><span class="line"></span><br><span class="line">        <span class="string">.toc-item</span></span><br><span class="line">          <span class="string">&amp;.active</span></span><br><span class="line">            <span class="string">.toc-child</span></span><br><span class="line">              <span class="attr">display:</span> <span class="string">block</span></span><br><span class="line"></span><br><span class="line">      <span class="string">ol,</span></span><br><span class="line">      <span class="string">li</span></span><br><span class="line">        <span class="attr">list-style:</span> <span class="string">none</span></span><br><span class="line"></span><br><span class="line">      <span class="string">&gt;</span> <span class="string">ol</span></span><br><span class="line">        <span class="attr">padding:</span> <span class="number">0</span> <span class="type">!important</span></span><br><span class="line"></span><br><span class="line">      <span class="string">ol</span></span><br><span class="line">        <span class="attr">margin:</span> <span class="number">0</span></span><br><span class="line">        <span class="attr">padding-left:</span> <span class="string">18px</span></span><br><span class="line"></span><br><span class="line">      <span class="string">.toc-link</span></span><br><span class="line">        <span class="attr">display:</span> <span class="string">block</span></span><br><span class="line">        <span class="attr">margin:</span> <span class="string">4px</span> <span class="number">0</span></span><br><span class="line">        <span class="attr">padding:</span> <span class="string">1px</span> <span class="string">6px</span></span><br><span class="line">        <span class="attr">color:</span> <span class="string">var(--toc-link-color)</span></span><br><span class="line">        <span class="attr">transition:</span> <span class="string">all</span> <span class="string">.2s</span> <span class="string">ease-in-out</span></span><br><span class="line"></span><br><span class="line">        <span class="string">&amp;:hover</span></span><br><span class="line">          <span class="attr">color:</span> <span class="string">var(--anzhiyu-lighttext)</span></span><br><span class="line"></span><br><span class="line">        <span class="string">&amp;.active</span></span><br><span class="line">          <span class="attr">background:</span> <span class="string">$theme-toc-color</span></span><br><span class="line">          <span class="attr">color:</span> <span class="string">$toc-active-color</span></span><br><span class="line"></span><br><span class="line">  <span class="string">:only-child</span></span><br><span class="line">    <span class="string">&gt;</span> <span class="string">.card-widget</span></span><br><span class="line">      <span class="attr">margin-top:</span> <span class="number">0</span></span><br><span class="line"></span><br><span class="line">  <span class="string">.card-more-btn</span></span><br><span class="line">    <span class="attr">float:</span> <span class="string">right</span></span><br><span class="line">    <span class="attr">color:</span> <span class="string">inherit</span></span><br><span class="line"></span><br><span class="line">    <span class="string">&amp;:hover</span></span><br><span class="line">      <span class="attr">animation:</span> <span class="string">more-btn-move</span> <span class="string">1s</span> <span class="string">infinite</span></span><br><span class="line"></span><br><span class="line">  <span class="string">.card-announcement</span></span><br><span class="line">    <span class="string">.item-headline</span></span><br><span class="line">      <span class="string">i</span></span><br><span class="line">        <span class="attr">color:</span> <span class="comment">#FF0000</span></span><br><span class="line"></span><br><span class="line"><span class="string">.avatar-img</span></span><br><span class="line">  <span class="attr">width:</span> <span class="string">60px;</span></span><br><span class="line">  <span class="string">height</span> <span class="string">60px;</span></span><br><span class="line">  <span class="attr">right:</span> <span class="string">10px;</span></span><br><span class="line">  <span class="attr">top:</span> <span class="string">11px;</span></span><br><span class="line">  <span class="attr">object-fit:</span> <span class="string">cover;</span></span><br><span class="line">  <span class="attr">position:</span> <span class="string">absolute;</span></span><br><span class="line">  <span class="attr">opacity:</span> <span class="number">1</span><span class="string">;</span></span><br><span class="line">  <span class="attr">transition:</span> <span class="string">.3s;</span></span><br><span class="line">  <span class="attr">border:</span> <span class="string">var(--style-border-avatar);</span></span><br><span class="line"></span><br><span class="line">  <span class="string">img</span></span><br><span class="line">    <span class="attr">width:</span> <span class="number">100</span><span class="string">%</span></span><br><span class="line">    <span class="attr">height:</span> <span class="number">100</span><span class="string">%</span></span><br><span class="line">    <span class="attr">transition:</span> <span class="string">filter</span> <span class="string">375ms</span> <span class="string">ease-in</span> <span class="string">.2s,</span> <span class="string">transform</span> <span class="string">.3s</span></span><br><span class="line">    <span class="attr">object-fit:</span> <span class="string">cover</span></span><br><span class="line"></span><br><span class="line"><span class="string">.site-data</span></span><br><span class="line">  <span class="attr">display:</span> <span class="string">table</span></span><br><span class="line">  <span class="attr">width:</span> <span class="number">100</span><span class="string">%</span></span><br><span class="line">  <span class="attr">table-layout:</span> <span class="string">fixed</span></span><br><span class="line"></span><br><span class="line">  <span class="string">&amp;</span> <span class="string">&gt;</span> <span class="string">a</span></span><br><span class="line">    <span class="attr">display:</span> <span class="string">table-cell</span></span><br><span class="line"></span><br><span class="line">    <span class="string">div</span></span><br><span class="line">      <span class="attr">transition:</span> <span class="string">all</span> <span class="string">.3s</span></span><br><span class="line"></span><br><span class="line">    <span class="string">&amp;:hover</span></span><br><span class="line">      <span class="string">div</span></span><br><span class="line">        <span class="attr">color:</span> <span class="string">$theme-color</span> <span class="type">!important</span></span><br><span class="line"></span><br><span class="line">    <span class="string">.headline</span></span><br><span class="line">      <span class="string">@extend</span> <span class="string">.limit-one-line</span></span><br><span class="line">      <span class="attr">color:</span> <span class="string">var(--font-color)</span></span><br><span class="line"></span><br><span class="line">    <span class="string">.length-num</span></span><br><span class="line">      <span class="attr">margin-top:</span> <span class="string">-.32em</span></span><br><span class="line">      <span class="attr">color:</span> <span class="string">var(--text-highlight-color)</span></span><br><span class="line">      <span class="attr">font-size:</span> <span class="number">1.</span><span class="string">2em</span></span><br><span class="line"></span><br><span class="line"><span class="string">@keyframes</span> <span class="string">more-btn-move</span></span><br><span class="line">  <span class="number">0</span><span class="string">%,</span></span><br><span class="line">  <span class="number">100</span><span class="string">%</span></span><br><span class="line">    <span class="attr">transform:</span> <span class="string">translateX(0)</span></span><br><span class="line"></span><br><span class="line">  <span class="number">50</span><span class="string">%</span></span><br><span class="line">    <span class="attr">transform:</span> <span class="string">translateX(3px)</span></span><br><span class="line"></span><br><span class="line"><span class="string">@keyframes</span> <span class="string">toc-open</span></span><br><span class="line">  <span class="number">0</span><span class="string">%</span></span><br><span class="line">    <span class="attr">transform:</span> <span class="string">scale(.7)</span></span><br><span class="line"></span><br><span class="line">  <span class="number">100</span><span class="string">%</span></span><br><span class="line">    <span class="attr">transform:</span> <span class="string">scale(1)</span></span><br><span class="line"></span><br><span class="line"><span class="string">@keyframes</span> <span class="string">toc-close</span></span><br><span class="line">  <span class="number">0</span><span class="string">%</span></span><br><span class="line">    <span class="attr">transform:</span> <span class="string">scale(1)</span></span><br><span class="line"></span><br><span class="line">  <span class="number">100</span><span class="string">%</span></span><br><span class="line">    <span class="attr">transform:</span> <span class="string">scale(.7)</span></span><br><span class="line"></span><br><span class="line"><span class="string">+minWidth1200()</span></span><br><span class="line">  <span class="string">html.hide-aside</span></span><br><span class="line">    <span class="string">.layout</span></span><br><span class="line">      <span class="attr">justify-content:</span> <span class="string">center</span></span><br><span class="line"></span><br><span class="line">      <span class="string">&gt;</span> <span class="string">.aside-content</span></span><br><span class="line">        <span class="attr">display:</span> <span class="string">none</span></span><br><span class="line"></span><br><span class="line">      <span class="string">&gt;</span> <span class="string">div:first-child</span></span><br><span class="line">        <span class="attr">width:</span> <span class="number">80</span><span class="string">%</span></span><br><span class="line"><span class="string">+maxWidth1200()</span></span><br><span class="line">  <span class="string">.aside-content</span></span><br><span class="line">    <span class="attr">max-width:</span> <span class="string">none</span> <span class="type">!important;</span></span><br><span class="line">    <span class="attr">display:</span> <span class="string">none</span></span><br><span class="line"><span class="string">+maxWidth768()</span></span><br><span class="line">  <span class="string">.aside-content</span></span><br><span class="line">    <span class="attr">display:</span> <span class="string">block</span></span><br><span class="line"><span class="string">.page</span></span><br><span class="line">  <span class="string">.sticky_layout</span></span><br><span class="line">    <span class="attr">display:</span> <span class="string">flex</span></span><br><span class="line">    <span class="attr">flex-direction:</span> <span class="string">column</span></span><br><span class="line"></span><br><span class="line">  <span class="string">if</span> <span class="string">hexo-config(&#x27;aside.card_recent_post.sort_order&#x27;)</span></span><br><span class="line">    <span class="string">.card-recent-post</span></span><br><span class="line">      <span class="attr">order:</span> <span class="string">hexo-config(&#x27;aside.card_recent_post.sort_order&#x27;)</span></span><br><span class="line"></span><br><span class="line">  <span class="string">if</span> <span class="string">hexo-config(&#x27;newest_comments.sort_order&#x27;)</span></span><br><span class="line">    <span class="comment">#card-newest-comments</span></span><br><span class="line">      <span class="attr">order:</span> <span class="string">hexo-config(&#x27;newest_comments.sort_order&#x27;)</span></span><br><span class="line"></span><br><span class="line">  <span class="string">if</span> <span class="string">hexo-config(&#x27;aside.card_categories.sort_order&#x27;)</span></span><br><span class="line">    <span class="string">.card-categories</span></span><br><span class="line">      <span class="attr">order:</span> <span class="string">hexo-config(&#x27;aside.card_categories.sort_order&#x27;)</span></span><br><span class="line"></span><br><span class="line">  <span class="string">if</span> <span class="string">hexo-config(&#x27;aside.card_tags.sort_order&#x27;)</span></span><br><span class="line">    <span class="string">.card-tags</span></span><br><span class="line">      <span class="attr">order:</span> <span class="string">hexo-config(&#x27;aside.card_tags.sort_order&#x27;)</span></span><br><span class="line"></span><br><span class="line">  <span class="string">if</span> <span class="string">hexo-config(&#x27;aside.card_archives.sort_order&#x27;)</span></span><br><span class="line">    <span class="string">.card-archives</span></span><br><span class="line">      <span class="attr">order:</span> <span class="string">hexo-config(&#x27;aside.card_archives.sort_order&#x27;)</span></span><br><span class="line"></span><br><span class="line">  <span class="string">if</span> <span class="string">hexo-config(&#x27;aside.card_webinfo.sort_order&#x27;)</span></span><br><span class="line">    <span class="string">.card-webinfo</span></span><br><span class="line">      <span class="attr">order:</span> <span class="string">hexo-config(&#x27;aside.card_webinfo.sort_order&#x27;)</span></span><br><span class="line"></span><br><span class="line"><span class="string">if</span> <span class="string">hexo-config(&#x27;aside.enable&#x27;)</span></span><br><span class="line">  <span class="comment">#aside-content</span></span><br><span class="line">    <span class="string">&gt;.card-widget.card-info</span></span><br><span class="line">      <span class="attr">background:</span> <span class="string">var(--anzhiyu-card-bg);</span></span><br><span class="line">      <span class="attr">box-shadow:</span> <span class="string">var(--anzhiyu-shadow-black);</span></span><br><span class="line">      <span class="attr">position:</span> <span class="string">relative;</span></span><br><span class="line">      <span class="attr">padding:</span> <span class="number">0</span><span class="string">;</span></span><br><span class="line">      <span class="string">+maxWidth768()</span></span><br><span class="line">        <span class="attr">display:</span> <span class="string">none;</span></span><br><span class="line">      <span class="string">&gt;</span> <span class="string">.card-content</span></span><br><span class="line">        <span class="attr">padding:</span> <span class="string">1rem</span> <span class="number">1.</span><span class="string">2rem;</span></span><br><span class="line">        <span class="attr">min-height:</span> <span class="string">320px;</span></span><br><span class="line">        <span class="attr">position:</span> <span class="string">relative;</span></span><br><span class="line">      <span class="string">&amp;::before</span></span><br><span class="line">        <span class="attr">background:</span> <span class="string">linear-gradient(-25deg,var(--anzhiyu-main),var(--anzhiyu-main-op-deep),var(--anzhiyu-main),var(--anzhiyu-main-op-deep));</span></span><br><span class="line">        <span class="attr">background-size:</span> <span class="number">400</span><span class="string">%;</span></span><br><span class="line">        <span class="attr">position:</span> <span class="string">absolute;</span></span><br><span class="line">        <span class="attr">width:</span> <span class="number">100</span><span class="string">%;</span></span><br><span class="line">        <span class="attr">height:</span> <span class="number">100</span><span class="string">%;</span></span><br><span class="line">        <span class="attr">left:</span> <span class="number">0</span><span class="string">;</span></span><br><span class="line">        <span class="attr">top:</span> <span class="number">0</span><span class="string">;</span></span><br><span class="line">        <span class="attr">content:</span> <span class="string">&#x27;&#x27;</span><span class="string">;</span></span><br><span class="line">        <span class="attr">animation:</span> <span class="string">gradient</span> <span class="string">15s</span> <span class="string">ease</span> <span class="string">infinite;</span></span><br><span class="line">    <span class="string">.card-info</span></span><br><span class="line">      <span class="string">&amp;:hover</span> </span><br><span class="line">        <span class="string">.author-info-avatar</span></span><br><span class="line">          <span class="attr">opacity:</span> <span class="number">1</span><span class="string">;</span></span><br><span class="line">        <span class="string">.author-info__description</span></span><br><span class="line">          <span class="attr">opacity:</span> <span class="number">0</span><span class="string">;</span></span><br><span class="line">        <span class="string">.author-status</span></span><br><span class="line">          <span class="attr">opacity:</span> <span class="number">0</span><span class="string">;</span></span><br><span class="line">          <span class="attr">transform:</span> <span class="string">scale(0);</span></span><br><span class="line"></span><br><span class="line">      <span class="comment">#author-info__sayhi </span></span><br><span class="line">        <span class="attr">text-align:</span> <span class="string">left;</span></span><br><span class="line">        <span class="attr">color:</span> <span class="string">var(--anzhiyu-white);</span></span><br><span class="line">        <span class="attr">background:</span> <span class="string">var(--anzhiyu-white-op);</span></span><br><span class="line">        <span class="attr">font-size:</span> <span class="string">12px;</span></span><br><span class="line">        <span class="attr">margin:</span> <span class="string">auto;</span></span><br><span class="line">        <span class="attr">padding:</span> <span class="string">2px</span> <span class="string">8px;</span></span><br><span class="line">        <span class="attr">border-radius:</span> <span class="string">12px;</span></span><br><span class="line">        <span class="attr">width:</span> <span class="string">fit-content;</span></span><br><span class="line">        <span class="attr">cursor:</span> <span class="string">pointer;</span></span><br><span class="line">        <span class="attr">transition:</span> <span class="number">0.</span><span class="string">3s;</span></span><br><span class="line">        <span class="attr">user-select:</span> <span class="string">none</span></span><br><span class="line">        <span class="string">&amp;:hover</span></span><br><span class="line">          <span class="attr">background:</span> <span class="string">var(--anzhiyu-card-bg);</span></span><br><span class="line">          <span class="attr">color:</span> <span class="string">var(--anzhiyu-fontcolor);</span></span><br><span class="line">          <span class="attr">transform:</span> <span class="string">scale(1.1);</span></span><br><span class="line"></span><br><span class="line">      <span class="string">.banner-button-group</span> <span class="string">.banner-button</span></span><br><span class="line">        <span class="attr">border-radius:</span> <span class="string">35px;</span></span><br><span class="line">        <span class="attr">background:</span> <span class="string">var(--anzhiyu-white-op);</span></span><br><span class="line">        <span class="string">&amp;:hover</span></span><br><span class="line">          <span class="attr">background:</span> <span class="string">var(--anzhiyu-white);</span></span><br><span class="line">          <span class="attr">color:</span> <span class="string">var(--anzhiyu-black);</span></span><br><span class="line"></span><br><span class="line">[<span class="string">data-theme=&quot;dark&quot;</span>] <span class="comment">#aside-content &gt; .card-info</span></span><br><span class="line">  <span class="attr">background:</span> <span class="string">var(--anzhiyu-card-bg)</span></span><br><span class="line"></span><br><span class="line"><span class="string">@media</span> <span class="attr">screen and (max-width:</span> <span class="string">992px)</span></span><br><span class="line">  <span class="comment">#aside-content &gt; .card-info</span></span><br><span class="line">    <span class="attr">background-size:</span> <span class="number">100</span><span class="string">%</span> <span class="number">70</span><span class="string">%</span></span><br><span class="line"></span><br></pre></td></tr></table></figure><blockquote><p>这个并不是完美修改，仅是把按钮遮挡谨慎参考。</p></blockquote><h1 id="增加隐藏文章功能"><a href="#增加隐藏文章功能" class="headerlink" title="增加隐藏文章功能"></a>增加隐藏文章功能</h1><p>在<code>Git Bash</code>中安装<a href="https://github.com/prinsss/hexo-hide-posts">hexo-hide-posts</a></p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">npm install hexo-hide-posts</span><br></pre></td></tr></table></figure><p>在<code>_config</code>中添加</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">hide_posts:</span></span><br><span class="line">  <span class="comment"># 是否启用 hexo-hide-posts</span></span><br><span class="line">  <span class="attr">enable:</span> <span class="literal">true</span></span><br><span class="line"></span><br><span class="line">  <span class="comment"># 隐藏文章的 front-matter 标识，也可以改成其他你喜欢的名字</span></span><br><span class="line">  <span class="attr">filter:</span> <span class="string">hidden</span></span><br><span class="line"></span><br><span class="line">  <span class="comment"># 为隐藏的文章添加 noindex meta 标签，阻止搜索引擎收录</span></span><br><span class="line">  <span class="attr">noindex:</span> <span class="literal">true</span></span><br><span class="line"></span><br><span class="line">  <span class="comment"># 设置白名单，白名单中的 generator 可以访问隐藏文章</span></span><br><span class="line">  <span class="comment"># 常见的 generators 有：index, tag, category, archive, sitemap, feed, etc.</span></span><br><span class="line">  <span class="comment"># allowlist_generators: []</span></span><br><span class="line"></span><br><span class="line">  <span class="comment"># 设置黑名单，黑名单中的 generator 不可以访问隐藏文章</span></span><br><span class="line">  <span class="comment"># 如果同时设置了黑名单和白名单，白名单的优先级更高</span></span><br><span class="line">  <span class="comment"># blocklist_generators: [&#x27;*&#x27;]</span></span><br></pre></td></tr></table></figure><p>在文章开头添加hidden隐藏文章</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">---</span></span><br><span class="line"><span class="attr">hidden:</span> <span class="literal">true</span>   <span class="string">//隐藏文章</span></span><br><span class="line"><span class="meta">---</span></span><br></pre></td></tr></table></figure><h1 id="设置文章主色调"><a href="#设置文章主色调" class="headerlink" title="设置文章主色调"></a>设置文章主色调</h1><p><img src="/img/posts/anzhiyu/zhusediao.jpg"><br>打开<code>_config.anzhiyu.yml</code>主题文件，开启<code>mainTone</code><br><img src="/img/posts/anzhiyu/zhitisecode.png"><br>接下来在文章<code>Front-matter</code>中添加颜色</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">main_color: &quot;#000009&quot; </span><br></pre></td></tr></table></figure><p>使用安知鱼标签并不会随主色调变化并且暗黑模式部分样式不会变化，只能使用md或者html样式。</p><blockquote><p>mainTone详情请看<a href="https://docs.anheyu.com/advanced/#%E4%B8%BB%E9%A2%98%E5%A6%82%E4%BD%95%E8%8E%B7%E5%8F%96%E6%96%87%E7%AB%A0%E4%B8%BB%E8%89%B2%E8%B0%83">主题如何获取文章主色调</a></p></blockquote><h1 id="防止网站被镜像"><a href="#防止网站被镜像" class="headerlink" title="防止网站被镜像"></a>防止网站被镜像</h1><p><img src="/img/posts/anzhiyu/fangjingxiang.jpg"><br>将以下代码通过<a href="https://obfuscator.io/">JavaScript Obfuscator Tool</a>加密混淆之后在根目录<strong>source\custom\js</strong>文件夹中创建<strong>domain_check.js</strong>文件将混淆内容存放在其中。</p><figure class="highlight js"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br><span class="line">113</span><br><span class="line">114</span><br><span class="line">115</span><br><span class="line">116</span><br><span class="line">117</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">// ======================= 配置区域 =======================</span></span><br><span class="line"><span class="comment">// 请根据实际情况修改以下配置</span></span><br><span class="line"><span class="keyword">const</span> <span class="variable constant_">CONFIG</span> = &#123;</span><br><span class="line">  <span class="comment">// 主站域名（无需加密）</span></span><br><span class="line">  <span class="attr">MAIN_DOMAIN</span>: <span class="string">&#x27;www.adai.fun&#x27;</span>,</span><br><span class="line">  </span><br><span class="line">  <span class="comment">// 合法域名白名单（支持通配符）</span></span><br><span class="line">  <span class="attr">ALLOW_DOMAINS</span>: [</span><br><span class="line">    <span class="string">&#x27;www.adai.fun&#x27;</span>,</span><br><span class="line">    <span class="string">&#x27;localhost&#x27;</span>      <span class="comment">// 本地开发环境</span></span><br><span class="line">  ],</span><br><span class="line">  </span><br><span class="line">  <span class="comment">// 提示横幅配置</span></span><br><span class="line">  <span class="attr">BANNER</span>: &#123;</span><br><span class="line">    <span class="attr">LOCAL_MSG</span>: [<span class="string">&#x27;本地测试环境，正式站点：&#x27;</span>, <span class="string">&#x27;&#x27;</span>],</span><br><span class="line">    <span class="attr">MIRROR_MSG</span>: [<span class="string">&#x27;您正在访问镜像站，推荐访问&#x27;</span>, <span class="string">&#x27;获取最新内容&#x27;</span>],</span><br><span class="line">    <span class="attr">ILLEGAL_MSG</span>: [<span class="string">&#x27;当前域名未授权，可能是恶意镜像，请访问&#x27;</span>, <span class="string">&#x27;&#x27;</span>],</span><br><span class="line">    <span class="attr">LINK_TEXT</span>: <span class="string">&#x27;主站&#x27;</span>,</span><br><span class="line">    <span class="attr">BG_COLOR</span>: <span class="string">&#x27;#dc3545&#x27;</span>,</span><br><span class="line">    <span class="attr">TEXT_COLOR</span>: <span class="string">&#x27;#ffffff&#x27;</span></span><br><span class="line">  &#125;</span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="comment">// ====================== 核心逻辑 =======================</span></span><br><span class="line">(<span class="keyword">function</span>(<span class="params"></span>) &#123;</span><br><span class="line">  <span class="comment">// 非浏览器环境拦截</span></span><br><span class="line">  <span class="keyword">try</span> &#123; <span class="keyword">if</span> (<span class="variable language_">window</span>.<span class="property">document</span> === <span class="literal">undefined</span>) <span class="keyword">throw</span> <span class="keyword">new</span> <span class="title class_">Error</span>() &#125; <span class="keyword">catch</span>(e) &#123;</span><br><span class="line">    <span class="variable language_">document</span>.<span class="property">body</span>.<span class="property">innerHTML</span> = <span class="string">&#x27;&lt;h1&gt;请通过浏览器访问本页面&lt;/h1&gt;&#x27;</span>;</span><br><span class="line">    <span class="variable language_">window</span>.<span class="title function_">stop</span>();</span><br><span class="line">    <span class="keyword">return</span>;</span><br><span class="line">  &#125;</span><br><span class="line"></span><br><span class="line">  <span class="variable language_">document</span>.<span class="title function_">addEventListener</span>(<span class="string">&#x27;DOMContentLoaded&#x27;</span>, <span class="keyword">function</span>(<span class="params"></span>) &#123;</span><br><span class="line">    <span class="comment">// 当前访问域名</span></span><br><span class="line">    <span class="keyword">const</span> currentDomain = <span class="variable language_">window</span>.<span class="property">location</span>.<span class="property">hostname</span>;</span><br><span class="line">    </span><br><span class="line">    <span class="comment">// 域名验证逻辑</span></span><br><span class="line">    <span class="keyword">function</span> <span class="title function_">isLegalDomain</span>(<span class="params">domain</span>) &#123;</span><br><span class="line">      <span class="keyword">return</span> <span class="variable constant_">CONFIG</span>.<span class="property">ALLOW_DOMAINS</span>.<span class="title function_">some</span>(<span class="function"><span class="params">pattern</span> =&gt;</span> &#123;</span><br><span class="line">        <span class="keyword">const</span> regex = <span class="keyword">new</span> <span class="title class_">RegExp</span>(<span class="string">`^<span class="subst">$&#123;pattern.replace(/\./g, <span class="string">&#x27;\\.&#x27;</span>).replace(/\*/g, <span class="string">&#x27;.*&#x27;</span>)&#125;</span>$`</span>);</span><br><span class="line">        <span class="keyword">return</span> regex.<span class="title function_">test</span>(domain);</span><br><span class="line">      &#125;);</span><br><span class="line">    &#125;</span><br><span class="line"></span><br><span class="line">    <span class="comment">// 控制台检测（本地环境不触发）</span></span><br><span class="line">    <span class="keyword">function</span> <span class="title function_">isConsoleOpen</span>(<span class="params"></span>) &#123;</span><br><span class="line">      <span class="keyword">if</span> (currentDomain === <span class="string">&#x27;localhost&#x27;</span>) <span class="keyword">return</span> <span class="literal">false</span>;</span><br><span class="line">      <span class="keyword">const</span> devtools = <span class="keyword">new</span> <span class="title class_">Error</span>().<span class="property">stack</span>;</span><br><span class="line">      <span class="keyword">return</span> devtools.<span class="title function_">includes</span>(<span class="string">&#x27;toString@&#x27;</span>) || devtools.<span class="property">length</span> &gt; <span class="number">1024</span>;</span><br><span class="line">    &#125;</span><br><span class="line"></span><br><span class="line">    <span class="comment">// 创建提示横幅</span></span><br><span class="line">    <span class="keyword">function</span> <span class="title function_">showBanner</span>(<span class="params">messageParts</span>) &#123;</span><br><span class="line">      <span class="keyword">if</span> (<span class="variable language_">localStorage</span>.<span class="title function_">getItem</span>(<span class="string">&#x27;domain_warning_closed&#x27;</span>)) <span class="keyword">return</span>;</span><br><span class="line"></span><br><span class="line">      <span class="keyword">const</span> banner = <span class="variable language_">document</span>.<span class="title function_">createElement</span>(<span class="string">&#x27;div&#x27;</span>);</span><br><span class="line">      banner.<span class="property">style</span>.<span class="property">cssText</span> = <span class="string">`</span></span><br><span class="line"><span class="string">        background: <span class="subst">$&#123;CONFIG.BANNER.BG_COLOR&#125;</span>;</span></span><br><span class="line"><span class="string">        color: <span class="subst">$&#123;CONFIG.BANNER.TEXT_COLOR&#125;</span>;</span></span><br><span class="line"><span class="string">        padding: 12px;</span></span><br><span class="line"><span class="string">        position: fixed;</span></span><br><span class="line"><span class="string">        bottom: 0;</span></span><br><span class="line"><span class="string">        left: 0;</span></span><br><span class="line"><span class="string">        right: 0;</span></span><br><span class="line"><span class="string">        z-index: 9999;</span></span><br><span class="line"><span class="string">        text-align: center;</span></span><br><span class="line"><span class="string">        font-family: sans-serif;</span></span><br><span class="line"><span class="string">        display: flex;</span></span><br><span class="line"><span class="string">        justify-content: center;</span></span><br><span class="line"><span class="string">        align-items: center;</span></span><br><span class="line"><span class="string">        gap: 8px;</span></span><br><span class="line"><span class="string">      `</span>;</span><br><span class="line"></span><br><span class="line">      <span class="keyword">const</span> link = <span class="variable language_">document</span>.<span class="title function_">createElement</span>(<span class="string">&#x27;a&#x27;</span>);</span><br><span class="line">      link.<span class="property">href</span> = <span class="string">`https://<span class="subst">$&#123;CONFIG.MAIN_DOMAIN&#125;</span>`</span>;</span><br><span class="line">      link.<span class="property">target</span> = <span class="string">&#x27;_blank&#x27;</span>;</span><br><span class="line">      link.<span class="property">style</span>.<span class="property">cssText</span> = <span class="string">`</span></span><br><span class="line"><span class="string">        color: <span class="subst">$&#123;CONFIG.BANNER.TEXT_COLOR&#125;</span>;</span></span><br><span class="line"><span class="string">        text-decoration: underline;</span></span><br><span class="line"><span class="string">        font-weight: bold;</span></span><br><span class="line"><span class="string">      `</span>;</span><br><span class="line">      link.<span class="property">textContent</span> = <span class="variable constant_">CONFIG</span>.<span class="property">BANNER</span>.<span class="property">LINK_TEXT</span>;</span><br><span class="line"></span><br><span class="line">      <span class="keyword">const</span> closeBtn = <span class="variable language_">document</span>.<span class="title function_">createElement</span>(<span class="string">&#x27;button&#x27;</span>);</span><br><span class="line">      closeBtn.<span class="property">innerHTML</span> = <span class="string">&#x27;×&#x27;</span>;</span><br><span class="line">      closeBtn.<span class="property">style</span>.<span class="property">cssText</span> = <span class="string">`</span></span><br><span class="line"><span class="string">        background: transparent;</span></span><br><span class="line"><span class="string">        border: none;</span></span><br><span class="line"><span class="string">        color: <span class="subst">$&#123;CONFIG.BANNER.TEXT_COLOR&#125;</span>;</span></span><br><span class="line"><span class="string">        font-size: 24px;</span></span><br><span class="line"><span class="string">        cursor: pointer;</span></span><br><span class="line"><span class="string">        margin-left: 15px;</span></span><br><span class="line"><span class="string">      `</span>;</span><br><span class="line">      closeBtn.<span class="property">onclick</span> = <span class="function">() =&gt;</span> &#123;</span><br><span class="line">        banner.<span class="title function_">remove</span>();</span><br><span class="line">        <span class="variable language_">localStorage</span>.<span class="title function_">setItem</span>(<span class="string">&#x27;domain_warning_closed&#x27;</span>, <span class="string">&#x27;1&#x27;</span>);</span><br><span class="line">      &#125;;</span><br><span class="line"></span><br><span class="line">      banner.<span class="title function_">append</span>(<span class="variable language_">document</span>.<span class="title function_">createTextNode</span>(messageParts[<span class="number">0</span>]), link);</span><br><span class="line">      <span class="keyword">if</span> (messageParts[<span class="number">1</span>]) banner.<span class="title function_">append</span>(<span class="variable language_">document</span>.<span class="title function_">createTextNode</span>(messageParts[<span class="number">1</span>]));</span><br><span class="line">      banner.<span class="title function_">appendChild</span>(closeBtn);</span><br><span class="line">      <span class="variable language_">document</span>.<span class="property">body</span>.<span class="title function_">appendChild</span>(banner);</span><br><span class="line">    &#125;</span><br><span class="line"></span><br><span class="line">    <span class="comment">// 主逻辑</span></span><br><span class="line">    <span class="keyword">if</span> (!<span class="title function_">isLegalDomain</span>(currentDomain)) &#123;</span><br><span class="line">      <span class="title function_">showBanner</span>(<span class="variable constant_">CONFIG</span>.<span class="property">BANNER</span>.<span class="property">ILLEGAL_MSG</span>);</span><br><span class="line">      <span class="keyword">if</span> (<span class="title function_">isConsoleOpen</span>()) &#123;</span><br><span class="line">        <span class="variable language_">window</span>.<span class="property">location</span>.<span class="title function_">replace</span>(<span class="string">`https://<span class="subst">$&#123;CONFIG.MAIN_DOMAIN&#125;</span>`</span>);</span><br><span class="line">      &#125;</span><br><span class="line">    &#125; <span class="keyword">else</span> <span class="keyword">if</span> (currentDomain === <span class="string">&#x27;localhost&#x27;</span> || currentDomain === <span class="string">&#x27;127.0.0.1&#x27;</span>) &#123;</span><br><span class="line">      <span class="title function_">showBanner</span>(<span class="variable constant_">CONFIG</span>.<span class="property">BANNER</span>.<span class="property">LOCAL_MSG</span>);</span><br><span class="line">    &#125; <span class="keyword">else</span> <span class="keyword">if</span> (currentDomain !== <span class="variable constant_">CONFIG</span>.<span class="property">MAIN_DOMAIN</span>) &#123;</span><br><span class="line">      <span class="title function_">showBanner</span>(<span class="variable constant_">CONFIG</span>.<span class="property">BANNER</span>.<span class="property">MIRROR_MSG</span>);</span><br><span class="line">    &#125;</span><br><span class="line">  &#125;);</span><br><span class="line">&#125;)();</span><br></pre></td></tr></table></figure><p>创建完成之后打开主题配置文件<strong>_config.yml</strong>在<strong>Inject</strong>的<strong>Bottom</strong>中插入js代码</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># Inject</span></span><br><span class="line"><span class="comment"># Insert the code to head (before &#x27;&lt;/head&gt;&#x27; tag) and the bottom (before &#x27;&lt;/body&gt;&#x27; tag)</span></span><br><span class="line"><span class="comment"># 插入代码到头部 &lt;/head&gt; 之前 和 底部 &lt;/body&gt; 之前</span></span><br><span class="line"><span class="attr">inject:</span></span><br><span class="line">  <span class="attr">head:</span></span><br><span class="line">    <span class="comment"># 自定义css</span></span><br><span class="line">    <span class="comment"># - &lt;link rel=&quot;stylesheet&quot; </span></span><br><span class="line">  <span class="attr">bottom:</span></span><br><span class="line">    <span class="comment"># 自定义js</span></span><br><span class="line">    <span class="comment"># - &lt;script src=&quot;/js/xxx&quot;&gt;&lt;/script&gt;</span></span><br><span class="line">    <span class="bullet">-</span> <span class="string">&lt;script</span> <span class="string">src=&quot;/custom/js/domain_check.js&quot;&gt;&lt;/script&gt;</span></span><br></pre></td></tr></table></figure><h1 id="错误"><a href="#错误" class="headerlink" title="错误"></a>错误</h1><p>如果你的主题第一次访问文章的时候，图片不会加载需要刷新一下才可以。<br>打开<code>_config.anzhiyu.yml</code>找到pjax关闭掉</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">pjax:</span></span><br><span class="line">  <span class="attr">enable:</span> <span class="literal">false</span></span><br></pre></td></tr></table></figure>]]></content>
    
    
    <summary type="html">安知鱼主题修改美化</summary>
    
    
    
    <category term="博客" scheme="https://www.adaiblog.github.io/categories/%E5%8D%9A%E5%AE%A2/"/>
    
    
    <category term="AnZhiYu" scheme="https://www.adaiblog.github.io/tags/AnZhiYu/"/>
    
  </entry>
  
  <entry>
    <title>解决无法访Github问题</title>
    <link href="https://www.adaiblog.github.io/posts/github.html"/>
    <id>https://www.adaiblog.github.io/posts/github.html</id>
    <published>2024-11-28T05:15:37.000Z</published>
    <updated>2025-10-17T09:49:10.755Z</updated>
    
    <content type="html"><![CDATA[<p>因为网络原因，Github有时候无法访问，或者访问较慢，接下来推荐两款GitHub加速工具。</p><a class="btn-anzhiyu larger" href="https://steampp.net/"   title="Watt Toolkit"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>Watt Toolkit</span></a><a class="btn-anzhiyu larger" href="https://www.dogfight360.com/blog/686/"   title="Steamcommunity"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>Steamcommunity</span></a>]]></content>
    
    
    <summary type="html">解决无法访Github问题</summary>
    
    
    
    <category term="网站" scheme="https://www.adaiblog.github.io/categories/%E7%BD%91%E7%AB%99/"/>
    
    
    <category term="网络" scheme="https://www.adaiblog.github.io/tags/%E7%BD%91%E7%BB%9C/"/>
    
    <category term="Github" scheme="https://www.adaiblog.github.io/tags/Github/"/>
    
  </entry>
  
  <entry>
    <title>赛事级语音聊天软件Teamspeak部署使用</title>
    <link href="https://www.adaiblog.github.io/posts/teamspeak.html"/>
    <id>https://www.adaiblog.github.io/posts/teamspeak.html</id>
    <published>2024-11-25T13:36:45.000Z</published>
    <updated>2026-02-25T15:49:48.585Z</updated>
    
    <content type="html"><![CDATA[<span><a class="btn-anzhiyu larger" href="https://teamspeak.com/zh-CN/downloads/#ts3client"   title="客户端官网"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>客户端官网</span></a><a class="btn-anzhiyu blue larger" href="https://www.myteamspeak.com/addons/L2FkZG9ucy85YzFlZDZmNS0xNWFjLTQ1OGQtODRmYi1jMGMyYjAyNWVmOTc%3D"   title="语音包汉化"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>语音包汉化</span></a><a class="btn-anzhiyu pink larger" href="https://github.com/jitingcn/TS3-Translation_zh-CN/releases/download/snapshot/Chinese_Translation_zh-CN.ts3_translation"   title="客户端汉化"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>客户端汉化</span></a><a class="btn-anzhiyu pink larger" href="https://adaifun.lanzout.com/ijA3234xu2gj"   title="汉化（蓝奏云下载）"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>汉化（蓝奏云下载）</span></a><p>阿呆的游戏频道服务器地址：117.72.201.214，服务器使用期限：2026年6月。</p><details class="folding-tag" yellow><summary> 安装和汉化 </summary>              <div class='content'>              <p>打开下载的安装包进行安装。</p><ol><li>点击Next<br><img src="/img/posts/teamspeak/ts1.png" alt="安装1"></li><li>将侧边导航栏拉到最下面然后将下方勾选<br><img src="/img/posts/teamspeak/ts2.png" alt="安装2"></li><li>选项1：安装为电脑所有人使用 选项2。仅为自己安装使用。<br><img src="/img/posts/teamspeak/ts3.png" alt="安装3"></li><li>选择安装路径<br><img src="/img/posts/teamspeak/ts4.png" alt="安装4"></li><li>选择要存储配置的位置 1： 建议保存在用户自己的文件中 2：保存在安装文件夹<br><img src="/img/posts/teamspeak/ts5.png" alt="安装5"></li><li>是否安装Overwolf软件（这是一个插件，可不安装）<br><img src="/img/posts/teamspeak/ts6.png" alt="安装6"></li><li>打开软件会有一个声明，侧边导航栏拉到最下面点击i accept即可<br><img src="/img/posts/teamspeak/ts7.png" alt="配置1"></li><li>随后会出现一个账号登录，ts可以直接关闭免登录使用。也可以点击create accout创建一个账号<br><img src="/img/posts/teamspeak/ts8.png" alt="配置2"></li><li>随后点击connections-&gt; connet连接服务器<br><img src="/img/posts/teamspeak/ts9.png" alt="配置3"></li><li>输入ip地址和服务器密码<br><img src="/img/posts/teamspeak/ts10.png" alt="配置4"><br>进入服务器即可使用</li></ol>              </div>            </details><details class="folding-tag" red><summary> Teamspeak设置 </summary>              <div class='content'>              <details class="folding-tag" ><summary> 汉化 </summary>              <div class='content'>              <ol><li><p>teamspeak3<br>下载上方<span class='p red'>语音包汉化</span>和<span class='p red'>客户端汉化</span>，打开文件点击Install（安装），重启客户端完成汉化<br><img src="/img/posts/teamspeak/ts3hanhua.jpg"></p></li><li><p>Teamspeak5<br>设置(齿轮)-&gt;Appearance-&gt;Language-&gt;简体中文<br><img src="/img/posts/teamspeak/ts5.jpg"></p></li></ol>              </div>            </details><details class="folding-tag" ><summary> 自动连接服务器 </summary>              <div class='content'>              <p>如果自己只有一个服务器使用，那么手动点击连接会繁琐，接下来设置达到打开软件自动连接服务器的效果。</p><ol><li>首先进入自己使用的服务器，点击上方的书签管理器<br><img src="/img/posts/teamspeak/ts15.png" alt="书签1"></li><li>进入之后点击下方的进阶选项（这里是点击之后才显示的基本选项），将启动连接服务器勾选即可<br><img src="/img/posts/teamspeak/ts16.png" alt="书签2"></li></ol>              </div>            </details><details class="folding-tag" ><summary> 麦克风设置 </summary>              <div class='content'>              <p>首先打开工具-&gt;设置-&gt;音频输入<br><img src="/img/posts/teamspeak/ts17.png"></p><p>启动麦克风方式：</p><ol><li>按键通话：设置键位，按下启用麦克风，松开禁用麦克风</li><li>持续传输：自由麦，一直启动麦克风（不推荐）</li><li>语音检测：自由麦基础上添加了一个阈值，音量到达一定数值启用麦克风。（推荐）<br>ts默认是感应麦。但是如果背景噪音比较大麦克风也会一直触发，比较吵，所以需要将麦克风触发阈值调高，达到屏蔽底噪效果。</li></ol><p>语音检测模式：</p><ol><li>automatic：自适应设置感应值</li><li>volume Gate：手动调节阈值</li><li>Hybrid：无（暂时不确定和volume Gate区别。都是可以手动设置阈值）<br>我们模式选择volume Gate，点击开始测试，说话看下自己的底噪，将值拉到底噪之上即可。<br><img src="/img/posts/teamspeak/ts18.png"></li></ol>              </div>            </details><details class="folding-tag" ><summary> 创建频道及设置 </summary>              <div class='content'>              <p>点击空白处或者当前频道右键创建频道<br>主要设置两项：</p><ol><li>频道类型：频道存在时间</li><li>音质中品质：决定此频道玩家音质如何，建议拉高<div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="220" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/teamspeak/pindao1.png","alt":""},{"url":"/img/posts/teamspeak/pindao2.png","alt":""},{"url":"/img/posts/teamspeak/pindao3.png","alt":""}]</span>  </div><button class="gallery-load-more" style="opacity:0">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div><div class="tip ban"><p>如果品质拉最低，再好的麦克风，大家听到的都是炸麦音质</p></div>              </div>            </details><details class="folding-tag" ><summary> 注册服务器别名 </summary>              <div class='content'>              <p><a class="btn-anzhiyu outline green larger" href="https://www.myteamspeak.com/"   title="注册服务器别名"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>注册服务器别名</span></a><br><img src="/img/posts/teamspeak/teamspeakbieming.jpg" alt="服务器别名注册"><br>需要注册teampeak账号登陆之后点击SERVER NICKNAMES上面输入别名，下方根据自己需求输入绑定的DDNS或者公网IP两种方式即可。</p>              </div>            </details></li></ol><details class="folding-tag" ><summary> 添加图标 </summary>              <div class='content'>              <p><a class="btn-anzhiyu outline orange larger" href="https://tsicons.com/"   title="Teamspeak图标下载"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>Teamspeak图标下载</span></a></p><p><img src="/img/posts/teamspeak/tubiao.jpg"><br>点击权限（M），在设置右上角点击图标，将下载好的文件解压上传即可使用。</p>              </div>            </details>              </div>            </details><details class="folding-tag" yellow><summary> 服务器 </summary>              <div class='content'>              <p>搭建服务器如果想让全国都能访问那必须要有公网ip</p><ul><li><strong>云服务器</strong>默认都有公网ip，</li><li><strong>个人电脑</strong>拨打运营商电话进行索要，联通拨打96480（宽带专线客服）。光猫修改桥接模式，路由器进行拨号上网拨打运营商电话要求将光猫修改为桥接模式，部分地区可远程直接帮你修改，又或者让宽带师傅上门给你修改。记得询问一下你的宽带账号密码，然后用路由器进行拨号上网。申请的是动态公网ip会隔一段变化，如果需要固定就需要ddns进行绑定域名。</li></ul><details class="folding-tag" green><summary> Linux服务器搭建 </summary>              <div class='content'>              <ol><li><p>创建用户</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 不推荐root搭建服务,创建temapseak用户</span></span><br><span class="line">adduser teamspeak</span><br><span class="line"><span class="comment"># teamspeak成为sudo用户</span></span><br><span class="line"><span class="built_in">sudo</span> adduser teamspeak <span class="built_in">sudo</span></span><br><span class="line"><span class="comment"># 切换到teamspeak</span></span><br><span class="line">su teamspeak</span><br><span class="line"><span class="comment"># 切换到teamspeak目录</span></span><br><span class="line"><span class="built_in">cd</span> /home/teamspeak</span><br></pre></td></tr></table></figure></li><li><p>下载并安装teamspeak服务器文件</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">#打开teamspeak官网点击下载选择服务器，根据自己的系统点击右边的复制按钮获取，也可以直接点击下载文件。</span></span><br><span class="line"><span class="string">wget</span> <span class="string">https://files.teamspeak-services.com/releases/server/3.13.7/teamspeak3-server_linux_amd64-3.13.7.tar.bz2</span></span><br><span class="line"><span class="comment">#解压下载的文件（文件名称为下载链接最后/的文字）</span></span><br><span class="line"><span class="string">tar</span> <span class="string">vxfj</span> <span class="string">teamspeak3-server_linux_amd64-3.13.7.tar.bz2</span></span><br><span class="line"><span class="comment">#将文件拷贝到/home/teamspeak下面的目录中</span></span><br><span class="line"><span class="string">cp</span> <span class="string">teamspeak3-server_linux_amd64/*</span> <span class="string">-R</span> <span class="string">/home/teamspeak/</span></span><br><span class="line"><span class="comment">#删除压缩包和解压出来的文件</span></span><br><span class="line"><span class="string">rm</span> <span class="string">-rf</span> <span class="string">teamspeak3-server_linux_amd64</span> <span class="string">teamspeak3-server_linux_amd64-3.13.7.tar.bz2（更改为自己下载的版本名称）</span></span><br><span class="line"><span class="comment">#接受协议</span></span><br><span class="line"><span class="string">touch</span> <span class="string">.ts3server_license_accepted</span></span><br><span class="line"><span class="comment">#启动服务器：</span></span><br><span class="line"><span class="string">./ts3server_startscript.sh</span> <span class="string">start</span></span><br><span class="line"><span class="comment">#接下载出现一串密钥拷贝下来后面会用</span></span><br><span class="line"></span><br><span class="line"><span class="string">------------------------------------------------------------------</span></span><br><span class="line">                      <span class="string">I</span> <span class="string">M</span> <span class="string">P</span> <span class="string">O</span> <span class="string">R</span> <span class="string">T</span> <span class="string">A</span> <span class="string">N</span> <span class="string">T</span></span><br><span class="line"><span class="string">------------------------------------------------------------------</span></span><br><span class="line">      <span class="string">ServerAdmin</span> <span class="string">privilege</span> <span class="string">key</span> <span class="string">created,</span> <span class="string">please</span> <span class="string">use</span> <span class="string">it</span> <span class="string">to</span> <span class="string">gain</span></span><br><span class="line">      <span class="string">serveradmin</span> <span class="string">rights</span> <span class="string">for</span> <span class="string">your</span> <span class="string">virtualserver.</span> <span class="string">please</span></span><br><span class="line">      <span class="string">also</span> <span class="string">check</span> <span class="string">the</span> <span class="string">doc/privilegekey_guide.txt</span> <span class="string">for</span> <span class="string">details.</span></span><br><span class="line"></span><br><span class="line">       <span class="string">token=xxxxxxxxxxxxxxxxxxxxxxxxxx</span></span><br><span class="line"><span class="string">------------------------------------------------------------------</span></span><br><span class="line"></span><br></pre></td></tr></table></figure></li><li><p>服务器搭建完成之后需要开放端口才能连接使用</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">#音频端口</span></span><br><span class="line"><span class="string">sudo</span> <span class="string">ufw</span> <span class="string">allow</span> <span class="number">9987</span></span><br><span class="line"><span class="comment">#文件夹端口</span></span><br><span class="line"><span class="string">sudo</span> <span class="string">ufw</span> <span class="string">allow</span> <span class="number">30033</span><span class="string">/tcp</span></span><br><span class="line"><span class="comment">#部署完之后首次链接会提示你输入密钥获取服务器最高权限，此时输入上方token里面的字符即可</span></span><br></pre></td></tr></table></figure></li><li><p>设置开机自启动<br>创建文件teamspeak.service</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">#创建并打开</span></span><br><span class="line"><span class="string">sudo</span> <span class="string">nano</span> <span class="string">/lib/systemd/system/teamspeak.service</span></span><br><span class="line"><span class="comment">#配置自动开启文件（如果使用的是其他用户名称WorkingDirectory,User,Group,ExecStart,ExecStop,ExecReload设置为自己存放的路径）</span></span><br><span class="line">[<span class="string">Unit</span>]</span><br><span class="line"><span class="string">Description=TeamSpeak3</span> <span class="string">Server</span></span><br><span class="line"><span class="string">Wants=network-online.target</span></span><br><span class="line"><span class="string">After=syslog.target</span> <span class="string">network.target</span> <span class="string">local-fs.target</span></span><br><span class="line"></span><br><span class="line">[<span class="string">Service</span>]</span><br><span class="line"><span class="string">WorkingDirectory=/home/teamspeak/</span></span><br><span class="line"><span class="string">User=teamspeak</span></span><br><span class="line"><span class="string">Group=teamspeak</span></span><br><span class="line"><span class="string">Type=forking</span></span><br><span class="line"><span class="string">ExecStart=/home/teamspeak/ts3server_startscript.sh</span> <span class="string">start</span> <span class="string">license_accepted=1</span></span><br><span class="line"><span class="string">ExecStop=/home/teamspeak/ts3server_startscript.sh</span> <span class="string">stop</span></span><br><span class="line"><span class="string">ExecReload=/home/teamspeak/ts3server_startscript.sh</span> <span class="string">restart</span></span><br><span class="line"><span class="string">Restart=always</span></span><br><span class="line"><span class="string">RestartSec=15</span></span><br><span class="line"></span><br><span class="line">[<span class="string">Install</span>]</span><br><span class="line"><span class="string">WantedBy=multi-user.target</span></span><br><span class="line"></span><br></pre></td></tr></table></figure></li><li><p>重启服务</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">#重新加载 systemd</span></span><br><span class="line"><span class="string">systemctl</span> <span class="string">daemon-reload</span></span><br><span class="line"><span class="comment">#开启自启动(可选)</span></span><br><span class="line"><span class="string">systemctl</span> <span class="string">enable</span> <span class="string">teamspeak.service</span></span><br><span class="line"><span class="comment">#启动 TeamSpeak</span></span><br><span class="line"><span class="string">systemctl</span> <span class="string">start</span> <span class="string">teamspeak.service</span></span><br><span class="line"><span class="comment">#停止 TeamSpeak</span></span><br><span class="line"><span class="string">systemctl</span> <span class="string">stop</span> <span class="string">teamspeak.service</span></span><br><span class="line"><span class="comment">#重启 TeamSpeak</span></span><br><span class="line"><span class="string">systemctl</span> <span class="string">restart</span> <span class="string">teamspeak.service</span></span><br></pre></td></tr></table></figure></li><li><p>开放外部端口<br>本地服务器：在路由器中找到端口转发添加端口<br>云服务器：进入服务器实例详情页面-&gt;配置安全组规则-&gt;配置规则-&gt;手动添加-&gt;选择协议类型，目标填写端口号</p></li></ol>              </div>            </details><details class="folding-tag" green><summary> Docker部署 </summary>              <div class='content'>              <p><a href="https://hub.docker.com/_/teamspeak">Docker文档</a></p><div class="tabs" id="test1"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test1-1">Docker</button><button type="button" class="tab " data-href="test1-2">Dcoekr Compose</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test1-1"><ol><li>拉取 TeamSpeak 镜像<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">docker pull teamspeak</span><br></pre></td></tr></table></figure></li><li>启动 TeamSpeak 容器<figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line"><span class="string">docker</span> <span class="string">run</span> <span class="string">-d</span> <span class="string">\</span></span><br><span class="line"><span class="string">--name</span> <span class="string">teamspeak</span> <span class="string">\</span></span><br><span class="line"><span class="string">-p</span> <span class="number">9988</span><span class="string">:9987/udp</span> <span class="string">\</span></span><br><span class="line"><span class="string">-p</span> <span class="number">10011</span><span class="string">:10011</span> <span class="string">\</span></span><br><span class="line"><span class="string">-p</span> <span class="number">30033</span><span class="string">:30033</span> <span class="string">\</span></span><br><span class="line"><span class="string">-e</span> <span class="string">TS3SERVER_LICENSE=accept</span> <span class="string">\</span></span><br><span class="line"><span class="string">-v</span> <span class="string">teamspeak_data:/var/ts3server</span> <span class="string">\</span></span><br><span class="line"><span class="string">teamspeak</span></span><br></pre></td></tr></table></figure><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 参数说明</span></span><br><span class="line"><span class="string">-d</span> <span class="comment">#后台运行容器。</span></span><br><span class="line"><span class="string">--name</span> <span class="string">teamspeak</span> <span class="comment">#给容器起一个易记的名称（后续可通过名称操作容器）。</span></span><br><span class="line"><span class="string">-p</span> <span class="comment"># 主机端口,容器端口,端口映射</span></span><br><span class="line"><span class="number">9987</span><span class="string">/udp</span> <span class="comment"># 客户端语音连接端口（UDP 协议）。</span></span><br><span class="line"><span class="number">10011</span> <span class="comment"># 服务器查询端口（用于管理脚本等）。</span></span><br><span class="line"><span class="number">30033</span> <span class="comment"># 文件传输端口（客户端上传 / 下载文件）。</span></span><br><span class="line"><span class="string">-e</span> <span class="string">TS3SERVER_LICENSE=accept</span> <span class="comment">#强制接受 TeamSpeak 的使用许可（必须设置，否则容器无法启动）。</span></span><br><span class="line"><span class="string">-v</span> <span class="string">teamspeak_data:/var/ts3server</span> <span class="comment">#创建命名数据卷 teamspeak_data，挂载到容器内的 /var/ts3server 目录（保存服务器配置、用户数据等，容器删除后数据不丢失）</span></span><br></pre></td></tr></table></figure></li><li>查看Docker日志获取Teamspeak密钥<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> docker logs teamspeak</span><br></pre></td></tr></table></figure>找到token并复制用于客户端服务器认证<figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="string">------------------------------------------------------------------</span></span><br><span class="line">                      <span class="string">I</span> <span class="string">M</span> <span class="string">P</span> <span class="string">O</span> <span class="string">R</span> <span class="string">T</span> <span class="string">A</span> <span class="string">N</span> <span class="string">T</span></span><br><span class="line"><span class="string">------------------------------------------------------------------</span></span><br><span class="line">      <span class="string">ServerAdmin</span> <span class="string">privilege</span> <span class="string">key</span> <span class="string">created,</span> <span class="string">please</span> <span class="string">use</span> <span class="string">it</span> <span class="string">to</span> <span class="string">gain</span></span><br><span class="line">      <span class="string">serveradmin</span> <span class="string">rights</span> <span class="string">for</span> <span class="string">your</span> <span class="string">virtualserver.</span> <span class="string">please</span></span><br><span class="line">      <span class="string">also</span> <span class="string">check</span> <span class="string">the</span> <span class="string">doc/privilegekey_guide.txt</span> <span class="string">for</span> <span class="string">details.</span></span><br><span class="line"></span><br><span class="line">       <span class="string">token=xxxxxxxxxxxxxxxxxxxxxxxxxx</span></span><br><span class="line"><span class="string">------------------------------------------------------------------</span></span><br></pre></td></tr></table></figure></li><li>指令<figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="string">docker</span> <span class="string">stop</span> <span class="string">teamspeak</span> <span class="comment">#停止服务</span></span><br><span class="line"><span class="string">docker</span> <span class="string">restart</span> <span class="string">teamspeak</span> <span class="comment">#重启服务</span></span><br></pre></td></tr></table></figure>更新与卸载<figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 更新</span></span><br><span class="line"><span class="string">docker</span> <span class="string">stop</span> <span class="string">teamspeak</span> <span class="comment"># 停止当前运行的 TeamSpeak 容器</span></span><br><span class="line"><span class="string">docker</span> <span class="string">pull</span> <span class="string">teamspeak</span> <span class="comment">#从 Docker Hub 中拉出新版本</span></span><br><span class="line"><span class="string">docker</span> <span class="string">rm</span> <span class="string">teamspeak</span> <span class="comment"># 删除旧容器</span></span><br><span class="line"><span class="comment"># 再次启动Teamspeak容器指令</span></span><br><span class="line"><span class="comment"># 卸载</span></span><br><span class="line"><span class="string">docker</span> <span class="string">stop</span> <span class="string">teamspeak</span> <span class="comment">#停止当前运行的容器</span></span><br><span class="line"><span class="string">docker</span> <span class="string">rm</span> <span class="string">teamspeak</span> <span class="comment"># 仅删除容器（保留数据和镜像，方便后续重新启动）</span></span><br></pre></td></tr></table></figure></li></ol></div><div class="tab-item-content" id="test1-2"><ol><li>创建ts目录并进入<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">mkdir</span> teamspeak &amp;&amp; <span class="built_in">cd</span> teamspeak</span><br></pre></td></tr></table></figure></li><li>创建并编辑<strong>docker-compose.yml</strong><kbd>Ctrl</kbd> + <kbd>X</kbd>按<kbd>Y</kbd>，<kbd>Enter</kbd>保存<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">nano docker-compose.yml</span><br></pre></td></tr></table></figure></li><li>docker-compose内容，官方地址：<a href="https://hub.docker.com/_/teamspeak">Teamspeak</a><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">services:</span></span><br><span class="line">  <span class="attr">teamspeak:</span></span><br><span class="line">    <span class="attr">image:</span> <span class="string">teamspeak</span></span><br><span class="line">    <span class="attr">restart:</span> <span class="string">always</span></span><br><span class="line">    <span class="attr">ports:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="number">9987</span><span class="string">:9987/udp</span></span><br><span class="line">      <span class="bullet">-</span> <span class="number">10011</span><span class="string">:10011</span></span><br><span class="line">      <span class="bullet">-</span> <span class="number">30033</span><span class="string">:30033</span></span><br><span class="line">    <span class="attr">environment:</span></span><br><span class="line">      <span class="attr">TS3SERVER_DB_PLUGIN:</span> <span class="string">ts3db_mariadb</span></span><br><span class="line">      <span class="attr">TS3SERVER_DB_SQLCREATEPATH:</span> <span class="string">create_mariadb</span></span><br><span class="line">      <span class="attr">TS3SERVER_DB_HOST:</span> <span class="string">db</span></span><br><span class="line">      <span class="attr">TS3SERVER_DB_USER:</span> <span class="string">root</span></span><br><span class="line">      <span class="attr">TS3SERVER_DB_PASSWORD:</span> <span class="string">example</span></span><br><span class="line">      <span class="attr">TS3SERVER_DB_NAME:</span> <span class="string">teamspeak</span></span><br><span class="line">      <span class="attr">TS3SERVER_DB_WAITUNTILREADY:</span> <span class="number">30</span></span><br><span class="line">      <span class="attr">TS3SERVER_LICENSE:</span> <span class="string">accept</span></span><br><span class="line">  <span class="attr">db:</span></span><br><span class="line">    <span class="attr">image:</span> <span class="string">mariadb</span></span><br><span class="line">    <span class="attr">restart:</span> <span class="string">always</span></span><br><span class="line">    <span class="attr">environment:</span></span><br><span class="line">      <span class="attr">MYSQL_ROOT_PASSWORD:</span> <span class="string">example</span></span><br><span class="line">      <span class="attr">MYSQL_DATABASE:</span> <span class="string">teamspeak</span></span><br></pre></td></tr></table></figure></li><li>启动<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> docker compose up -d      //启动部署</span><br></pre></td></tr></table></figure></li><li>查看日志获取密钥<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> docker compose logs teamspeak</span><br></pre></td></tr></table></figure>找到token并复制用于客户端服务器认证<figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="string">------------------------------------------------------------------</span></span><br><span class="line">                      <span class="string">I</span> <span class="string">M</span> <span class="string">P</span> <span class="string">O</span> <span class="string">R</span> <span class="string">T</span> <span class="string">A</span> <span class="string">N</span> <span class="string">T</span></span><br><span class="line"><span class="string">------------------------------------------------------------------</span></span><br><span class="line">      <span class="string">ServerAdmin</span> <span class="string">privilege</span> <span class="string">key</span> <span class="string">created,</span> <span class="string">please</span> <span class="string">use</span> <span class="string">it</span> <span class="string">to</span> <span class="string">gain</span></span><br><span class="line">      <span class="string">serveradmin</span> <span class="string">rights</span> <span class="string">for</span> <span class="string">your</span> <span class="string">virtualserver.</span> <span class="string">please</span></span><br><span class="line">      <span class="string">also</span> <span class="string">check</span> <span class="string">the</span> <span class="string">doc/privilegekey_guide.txt</span> <span class="string">for</span> <span class="string">details.</span></span><br><span class="line"></span><br><span class="line">       <span class="string">token=xxxxxxxxxxxxxxxxxxxxxxxxxx</span></span><br><span class="line"><span class="string">------------------------------------------------------------------</span></span><br></pre></td></tr></table></figure></li><li>更新与删除<figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 更新</span></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">pull</span> <span class="comment">#拉取最新镜像</span></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">up</span> <span class="string">-d</span> <span class="comment">#重新部署容器</span></span><br><span class="line"><span class="comment"># 删除</span></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">down</span> <span class="comment">#基础删除（保留数据卷，仅删除容器和网络）</span></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">down</span> <span class="string">-v</span> <span class="comment">#彻底删除（包括数据卷，数据会丢失）</span></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">down</span> <span class="string">--rmi</span> <span class="string">all</span> <span class="comment">#额外清理（删除未使用的镜像）</span></span><br></pre></td></tr></table></figure></li></ol></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div>              </div>            </details><details class="folding-tag" ><summary> Windows服务器 </summary>              <div class='content'>              <p><a href="https://teamspeak.com/zh-CN/downloads/#server">服务器下载</a></p><ol><li><strong>下载并运行服务器</strong><br>下载好服务器进行解压，并打开ts3server.exe。<br><img src="/img/posts/teamspeak/ts3server.jpg"><br>保存字符串，使用客户端进入服务器输入此字符串获取服务器Admin权限。</li><li><strong>设置防火墙</strong><br><em><strong>本地电脑</strong></em><br>方法1:打开windwos安全中心，点击防火墙和网络保护-&gt;允许应用通过防火墙-&gt;更改设置-&gt;允许其他应用-&gt;找到ts3server.exe选择即可。<br>方法2：打开windwos安全中心，点击防火墙和网络保护-&gt;高级设置-&gt;入站规则右键选择新建规则-&gt;选择端口-&gt;UDP 特定本地端口 9987 -&gt;点击两次下一步保存即可<br><em><strong>云服务器</strong></em><br>云服务器电脑不需要设置</li><li><strong>端口映射</strong><br>9987 UDP 默认语音服务器端口<br>10011 TCP ServerQuery raw 端口<br>30033 TCP 文件传输端口<br><em><strong>云服务器</strong></em><br>进入服务器实例详情页面-&gt;配置安全组规则-&gt;配置规则-&gt;手动添加-&gt;选择协议类型，目标填写端口号<br><em><strong>本地电脑</strong></em><br>进入光猫找到端口映射（端口转发），输入上面端口<br><img src="/img/posts/teamspeak/duankouyingshe.jpg">              </div>            </details></li></ol><details class="folding-tag" pink><summary> 服务器升级 </summary>              <div class='content'>              <p>将旧服务器的 <span class='p red'>.ts3server.sqlitedb</span>，<span class='p yellow'>query_ip_denylist.txt</span>，<span class='p green'>query_ip_allowlist.txt</span>，<span class='p cyan'>ssh_host_rsa_key</span>，<span class='p blue'>.ts3server.license_accepted</span><br>覆盖到新的解压服务器文件即可</p>              </div>            </details>              </div>            </details><details class="folding-tag" purple><summary> 权限管理 </summary>              <div class='content'>              <details class="folding-tag" ><summary> 权限设置 </summary>              <div class='content'>              <p><a class="btn-anzhiyu outline orange larger" href="https://www.teamspeak3.com/teamspeak-3-server-permission-list.php"   title="Teamspeak权限列表说明"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>Teamspeak权限列表说明</span></a><br>首先需要在设置里开启高级权限选项，方便后续设置<br><img src="/img/posts/teamspeak/guanli6.png"></p><p>常规设置：</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><span class="line">设置删除权限等级：</span><br><span class="line">进入高级权限-&gt;Channel-&gt;Delete，将i_channel_delete_power 更改为对应等级</span><br><span class="line">修改加入和订阅权限：</span><br><span class="line">进入高级权限-&gt;Channel-&gt;Access</span><br><span class="line">b_channel_join_permanent加入永久频道等级</span><br><span class="line">b_channel_join_semi_permanent加入半永久频道等级</span><br><span class="line">b_channel_join_temporary  加入半临时频道等级</span><br><span class="line">b_virtualserver_join_ignore_password  加入虚拟服务器忽略其密码（填写对应等级 如果勾选虽然提示密码但是直接点确定可以直接进入不勾选就需要输入密码才可以进入）</span><br><span class="line">b_channel_join_ignore_maxclients  忽略通道最大客户端限制 （勾选无视频道最大人数 不勾选无法进入满人房间）</span><br><span class="line">i_channel_join_power    频道加入等级</span><br><span class="line">i_channel_needed_join_power所需频道加入等级</span><br><span class="line">i_channel_subscribe_power频道订阅等级</span><br><span class="line">i_channel_needed_subscribe_power所需的频道订阅等级</span><br><span class="line">i_channel_description_view_power查看频道描述等级</span><br><span class="line">i_channel_needed_description_view_power 查看所需频道描述等级</span><br></pre></td></tr></table></figure><div class="note info simple"><p>如何Access里面没有这些参数，鼠标放到access上右键点击Add Permission Group就有了，设置完不要点击应用直接退出即可</p></div>              </div>            </details><details class="folding-tag" ><summary> 权限恢复 </summary>              <div class='content'>              <ol><li><p>开启自动同步身份信息<br>开启身份同步信息就需要登录上号<br>点击上方导航栏工具-&gt;设置-&gt;myteamspeak 进行登录，下方可选择自动同步。<br><img src="/img/posts/teamspeak/quanxian1.jpg"></p><div class="note warning simple"><p>网络环境不好的时候可能同步不上</p></div></li><li><p>手动同步<br>点击上方导航栏工具-&gt;身份，此时能看到本地身份有一个选项，右键点击导出一个.ini文件，更换电脑时在将此文件导入并设置为默认选项即可。</p><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="220" data-limit="2"> <span class="gallery-data">[{"url":"/img/posts/teamspeak/quanxian2.jpg","alt":""},{"url":"/img/posts/teamspeak/quanxian3.jpg","alt":""}]</span>  </div><button class="gallery-load-more" style="opacity:0">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div></li><li><p>创建权限密钥<br> 点击软件上方的权限（M），点击权限密钥<br><img src="/img/posts/teamspeak/ts19.png"><br>创建服务器密钥类型<br><img src="/img/posts/teamspeak/ts20.png"></p><div class="note warning simple"><p>拥有创建密钥的权限，需要将“分配和删除成员”选项勾选，并选择可创建权限密钥等级，密钥使用过后就会失效，建议多创建几个。防止丢失</p></div></li></ol><h3 id="密钥使用"><a href="#密钥使用" class="headerlink" title="密钥使用"></a>密钥使用</h3><p>点击上方权限（M）-&gt;使用权限密钥输入即可恢复权限。</p><h1 id="账号密钥"><a href="#账号密钥" class="headerlink" title="账号密钥"></a>账号密钥</h1><p>当我们创建账号登录使用的时候，如果更换电脑登录那么软件需要我们输入账号的密钥，这个密码在创建的时候会提示。<br>如果我们丢失可以在工具-&gt;选项-&gt;myTeamSpeak-&gt;新的恢复密钥来创建新的密钥<br><img src="/img/posts/teamspeak/ts21.png" alt="账号1"></p><div class="note warning simple"><p>创建新的密钥之后权限会丢失，请提前备份好权限密钥</p></div>              </div>            </details>              </div>            </details><h1 id="视频版"><a href="#视频版" class="headerlink" title="视频版"></a>视频版</h1><iframe class="bilibili" src="//player.bilibili.com/player.html?isOutside=true&aid=113453960269226&bvid=BV1GHDCYLEBo&cid=26689734463&p=1&autoplay=0" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true" sandbox="allow-top-navigation allow-same-origin allow-forms allow-scripts"> </iframe><iframe class="bilibili" src="//player.bilibili.com/player.html?isOutside=true&aid=113454379696239&bvid=BV1vqDkYLEJz&cid=26690584699&p=1&autoplay=0" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true" sandbox="allow-top-navigation allow-same-origin allow-forms allow-scripts"> </iframe>]]></content>
    
    
    <summary type="html">一份关于赛事级语音软件 TeamSpeak 的终极指南。内容涵盖客户端下载安装与汉化、音频设置优化，以及最为详尽的服务器搭建教程（提供 Linux 原生、Docker 容器和 Windows 系统三种部署方案），并包含复杂的权限管理系统与密钥恢复全攻略。</summary>
    
    
    
    <category term="软件" scheme="https://www.adaiblog.github.io/categories/%E8%BD%AF%E4%BB%B6/"/>
    
    <category term="服务器" scheme="https://www.adaiblog.github.io/categories/%E6%9C%8D%E5%8A%A1%E5%99%A8/"/>
    
    
    <category term="Linux" scheme="https://www.adaiblog.github.io/tags/Linux/"/>
    
    <category term="Docker" scheme="https://www.adaiblog.github.io/tags/Docker/"/>
    
    <category term="语音软件" scheme="https://www.adaiblog.github.io/tags/%E8%AF%AD%E9%9F%B3%E8%BD%AF%E4%BB%B6/"/>
    
    <category term="语音服务器" scheme="https://www.adaiblog.github.io/tags/%E8%AF%AD%E9%9F%B3%E6%9C%8D%E5%8A%A1%E5%99%A8/"/>
    
  </entry>
  
  <entry>
    <title>部署vercel增加博客访问速度</title>
    <link href="https://www.adaiblog.github.io/posts/vercel.html"/>
    <id>https://www.adaiblog.github.io/posts/vercel.html</id>
    <published>2024-11-25T06:10:45.000Z</published>
    <updated>2025-10-17T09:49:10.903Z</updated>
    
    <content type="html"><![CDATA[<p>打开<a class="btn-anzhiyu outline purple" href="https://vercel.com/"   title="Vercel"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>Vercel</span></a>，选择<code>Continue with GitHub</code><br><img src="/img/posts/vercel/vercelzhuce.png"><br>登陆之后点击<code>Add New</code>-&gt;<code>Project</code>-&gt;点击<code>Import</code>导入hexo博客<br><img src="/img/posts/vercel/verceldaoru.png"><br>导入之后即可获得一个Vercel域名<br><img src="/img/posts/vercel/cercelyuming.png"><br>但Velcel域名被墙了，需要绑定一个新的域名，选择<code>仓</code>-&gt;<code>Settings</code>-&gt;<code>Domains</code>-&gt;<code>添加域名</code><br><img src="/img/posts/vercel/domains.png"><br><img src="/img/posts/vercel/domains2.png"><br>打开<a class="btn-anzhiyu outline purple" href="https://dc.console.aliyun.com/next/index?spm=5176.21213303.J_qCOwPWspKEuWcmp8qiZNQ.4.7bf72f3dr1deCG#/overview"   title="域名管理"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>域名管理</span></a>:<code>域名列表</code>-&gt;<code>选择购买域名</code>-&gt;<code>域名解析</code>。创建如下规则</p><p><img src="/img/posts/vercel/yuming1.png"><br><img src="/img/posts/vercel/yuming2.png"></p><h1 id="提示无法需要验证"><a href="#提示无法需要验证" class="headerlink" title="提示无法需要验证"></a>提示无法需要验证</h1><p><img src="/img/posts/vercel/wufadenglu.png"><br>用GitHub绑定的邮箱给<a href="mailto:&#114;&#x65;&#103;&#105;&#115;&#116;&#114;&#x61;&#x74;&#x69;&#x6f;&#110;&#64;&#118;&#101;&#114;&#99;&#x65;&#x6c;&#46;&#x63;&#111;&#x6d;">&#114;&#x65;&#103;&#105;&#115;&#116;&#114;&#x61;&#x74;&#x69;&#x6f;&#110;&#64;&#118;&#101;&#114;&#99;&#x65;&#x6c;&#46;&#x63;&#111;&#x6d;</a>，主题：My account is blocked，内容如下</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">I’m sorry to bother you.</span><br><span class="line">My Github account has been blocked,</span><br><span class="line">The page prompts “My account requires further verification”</span><br><span class="line">I would like you to unblock it.</span><br><span class="line">My GitHub account name is XXXXXX</span><br></pre></td></tr></table></figure><blockquote><p>解决办法源自：<a href="https://www.tjsky.net/tutorial/971">https://www.tjsky.net/tutorial/971</a></p></blockquote>]]></content>
    
    
    <summary type="html">本文是一份详细的指南，教你如何将托管在 GitHub Pages 上的 Hexo 博客同步部署到 Vercel 平台，并通过绑定自定义域名来大幅提升国内访问速度，同时提供了解决 Vercel 账号验证问题的有效方法。</summary>
    
    
    
    <category term="博客" scheme="https://www.adaiblog.github.io/categories/%E5%8D%9A%E5%AE%A2/"/>
    
    
  </entry>
  
  <entry>
    <title>关于Steam令牌，展柜，安全等</title>
    <link href="https://www.adaiblog.github.io/posts/steam.html"/>
    <id>https://www.adaiblog.github.io/posts/steam.html</id>
    <published>2024-11-21T20:53:01.000Z</published>
    <updated>2025-10-17T09:49:10.875Z</updated>
    
    <content type="html"><![CDATA[<a href="https://store.steampowered.com/" target="_blank" title="Steam" referrerPolicy="no-referrer" class="link_card"><div class="link_icon"><img src="/img/posts/steam/steam.webp" class="no-lightbox"></div><div class="link_content"><div class="link_title">Steam</div><div class="link_desc">https://store.steampowered.com</div></div></a><h1 id="Steam令牌"><a href="#Steam令牌" class="headerlink" title="Steam令牌"></a>Steam令牌</h1><ol><li>首先下载<a class="btn-anzhiyu green larger" href="https://steampp.net/"   title="Watt Toolkit"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>Watt Toolkit</span></a><br>点击本地令牌-&gt;新增-&gt;Steam App 令牌共存导入<br><img src="/img/posts/steam/steam++.jpg"></li><li>输入Steam账号密码<div class="note success simple"><p>如果已经绑定steam令牌请先移除令牌<br>需要加速steam：点击上方网络加速-&gt;勾选Steam服务-&gt;一键加速</p></div><img src="/img/posts/steam/steam++2.jpg"></li><li>输入邮箱验证码<br><img src="/img/posts/steam/steam++3.jpg"></li><li>此时我们打开手机点击添加Steam令牌。绑定完成之后将手机的令牌输入其中<br><img src="/img/posts/steam/steam++4.jpg"></li><li>显示恢复代码，点击确认<br><img src="/img/posts/steam/steam++5.jpg"></li><li>就看到Watt Toolkit已经有当前账号的令牌了并且与手机端验证码是一样的。<br><img src="/img/posts/steam/steam++6.jpg"></li></ol><h2 id="获取Steam-Secret并绑定其他设备"><a href="#获取Steam-Secret并绑定其他设备" class="headerlink" title="获取Steam Secret并绑定其他设备"></a>获取Steam Secret并绑定其他设备</h2><p>点击令牌右下方三个点-&gt;查看详细数据-&gt;显示&#x2F;隐藏<br><img src="/img/posts/steam/steam++7.jpg"><br>这里就可以获取到令牌的全部信息了。主要使用<code>Shared_secert</code>，<code>uri</code>里面的值</p><h3 id="安卓"><a href="#安卓" class="headerlink" title="安卓"></a>安卓</h3><p>下载<a class="btn-anzhiyu green outline" href="https://github.com/PhilippC/keepass2android/releases"   title="Keepass2Android"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>Keepass2Android</span></a>软件，<code>创建条目</code>-&gt;<code>配置TOTP</code>-&gt;<code>Steam令牌设置</code>-&gt;输入<code>uri</code>中<code>secret</code></p><h3 id="Windwos"><a href="#Windwos" class="headerlink" title="Windwos"></a>Windwos</h3><h4 id="KeePassXC"><a href="#KeePassXC" class="headerlink" title="KeePassXC"></a>KeePassXC</h4><p>下载<a class="btn-anzhiyu green outline" href="https://github.com/keepassxreboot/keepassxc/releases/tag/2.7.9"   title="KeepassXC"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>KeepassXC</span></a>，<code>创建条目</code>保存-&gt;右键<code>条目</code>-&gt;<code>TOTP</code>-&gt;<code>设置TOTP</code>-&gt;<code>Steam设置</code>-&gt;<code>Secret密钥</code>输入<code>uri</code>中<code>secret</code></p><h4 id="Watt-Toolkit"><a href="#Watt-Toolkit" class="headerlink" title="Watt Toolkit"></a>Watt Toolkit</h4><p>点击令牌右下方三个点-&gt;导出此令牌为Mafile文件<br>当需要导入手机或者其他电脑上面的Watt Toolkit时，点击新增，选择Mafile文件导入即可</p><h3 id="绑定到小米手环"><a href="#绑定到小米手环" class="headerlink" title="绑定到小米手环"></a>绑定到小米手环</h3><a class="btn-anzhiyu green larger" href="https://www.bandbbs.cn/threads/4955/"   title="参考这边文章"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>参考这边文章</span></a><h1 id="Steam展柜"><a href="#Steam展柜" class="headerlink" title="Steam展柜"></a>Steam展柜</h1><h2 id="使用方法"><a href="#使用方法" class="headerlink" title="使用方法"></a>使用方法</h2><p>浏览器打开<a class="btn" href="https://steamcommunity.com/sharedfiles/edititem/767/3/" title="">Steam艺术品上传</a>,设置名称文件等内容后，按F12打开控制台（Console），并输入代码并点击保存即可，输入不同的代码图片存储在不同的位置。</p><div class="note success simple"><p>如果出现黄色警告不允许复制，请手动输入允许复制回车即可</p></div><details class="folding-tag" ><summary> 截图展柜 </summary>              <div class='content'>              <figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">document.getElementsByName(&quot;file_type&quot;)[0].value = 5;</span><br></pre></td></tr></table></figure>              </div>            </details><details class="folding-tag" ><summary> 长图片截图展柜 </summary>              <div class='content'>              <figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">document.getElementsByName(&quot;file_type&quot;)[0].value= 5;</span><br><span class="line">var num= document.getElementsByName(&quot;image_width&quot;)[0].value;</span><br><span class="line">document.getElementsByName(&quot;image_height&quot;)[0].value = num-(num-1);</span><br><span class="line">document.getElementsByName(&quot;image_width&quot;)[0].value= num*100;</span><br></pre></td></tr></table></figure>              </div>            </details><details class="folding-tag" ><summary> 长图片艺术展柜 </summary>              <div class='content'>              <figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">var num= document.getElementsByName(&quot;image_width&quot;)[0].value;</span><br><span class="line">document.getElementsByName(&quot;image_height&quot;)[0].value = num-(num-1);</span><br><span class="line">document.getElementsByName(&quot;image_width&quot;)[0].value= num*100;</span><br></pre></td></tr></table></figure>              </div>            </details><details class="folding-tag" ><summary> 艺术作品可以不用输入作品名称 </summary>              <div class='content'>              <figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">v_trim=_=&gt;&#123;return _&#125;,$J(&#x27;#title&#x27;).val(&#x27; \n&#x27;+Array.from(Array(126),_=&gt;&#x27;\t&#x27;).join(&#x27;&#x27;));</span><br></pre></td></tr></table></figure>              </div>            </details><details class="folding-tag" ><summary> 创意工坊展柜 </summary>              <div class='content'>              <figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$J(&#x27;[name=consumer_app_id]&#x27;).val(480);$J(&#x27;[name=file_type]&#x27;).val(0);$J(&#x27;[name=visibility]&#x27;).val(0); </span><br></pre></td></tr></table></figure>              </div>            </details><details class="folding-tag" ><summary> 指南代码 </summary>              <div class='content'>              <figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$J(&#x27;[name=consumer_app_id]&#x27;).val(480);$J(&#x27;[name=file_type]&#x27;).val(9);$J(&#x27;[name=visibility]&#x27;).val(0);</span><br></pre></td></tr></table></figure>              </div>            </details><div class="note success simple"><p>代码也可以叠加使用，比如需要不输入名称的长图片，把这这两块代码都拷贝输入即可</p></div><h1 id="兑换CDK"><a href="#兑换CDK" class="headerlink" title="兑换CDK"></a>兑换CDK</h1><p>点击游戏-&gt;在Steam上激活产品-&gt;输入CDK<br><img src="/img/posts/steam/cdk.png"><br><img src="/img/posts/steam/cdk2.png"></p><h1 id="Steam相关诈骗"><a href="#Steam相关诈骗" class="headerlink" title="Steam相关诈骗"></a>Steam相关诈骗</h1><h2 id="CDK诈骗"><a href="#CDK诈骗" class="headerlink" title="CDK诈骗"></a>CDK诈骗</h2><p>有些游戏直接购买CDK，获取更加便宜，当我们搜索游戏CDK的时候，会看到很多便宜，且打着激活到自己库中，永久使用等字样，很吸引人。但这其实是一种病毒脚本。<br><img src="/img/posts/steam/steamcdk.jpg"><br>当我们购买之后找客服要CDK的时候，如果不是给你CDK，steam中输入入库，而是通过powershell入库，可以直接申请退款了<br>，这个方法是通过脚本篡改steam实现游戏假入库，同时脚本会下载病毒，盗取你的帐号密码。</p><h2 id="投票诈骗"><a href="#投票诈骗" class="headerlink" title="投票诈骗"></a>投票诈骗</h2><p>某一天突然有人加你好友，并且说之前跟你是队友想要和你一起玩，一起组队打比赛，或者给他们战队投票，之后给你发一个网站，在你投票的时候需要你登录Steam帐号，当你登录之后，帐号所有权就被他们获取到了。<br>他们通过注册与Steam官方或者游戏官方相似的域名地址用来迷惑玩家，并且内容上进行复刻，当你登录那么他们后台会获取到所有信息。</p><h1 id="手机开启steam扫码功能"><a href="#手机开启steam扫码功能" class="headerlink" title="手机开启steam扫码功能"></a>手机开启steam扫码功能</h1><p>在使用苹果手机的时候打开steam令牌会有扫一扫功能十分方便<br><img src="/img/posts/steam/saoyisao.jpg"><br>但是使用安卓机的时候并没有此功能，<br><img src="/img/posts/steam/wusaoyisao.jpg"><br>并不是开发组没有添加，而是开发组使用了google的相机服务。所以我们需要在系统设置中搜索<strong>谷歌基础服务</strong>并开启，退出steam重新打开就有了。<br><img src="/img/posts/steam/google.jpg"></p>]]></content>
    
    
    <summary type="html">Steam 账号使用与安全指南。内容涵盖：使用 Watt Toolkit 管理/导出令牌并绑定到其他设备（如手机、手环）、通过控制台代码自定义个人资料展柜、安全兑换 CDK 以及识别与防范常见的 Steam 诈骗手段。</summary>
    
    
    
    <category term="网站" scheme="https://www.adaiblog.github.io/categories/%E7%BD%91%E7%AB%99/"/>
    
    
    <category term="Steam" scheme="https://www.adaiblog.github.io/tags/Steam/"/>
    
  </entry>
  
  <entry>
    <title>使用Hexo搭建属于静态博客</title>
    <link href="https://www.adaiblog.github.io/posts/blog.html"/>
    <id>https://www.adaiblog.github.io/posts/blog.html</id>
    <published>2024-11-13T15:02:39.000Z</published>
    <updated>2026-02-27T09:18:41.704Z</updated>
    
    <content type="html"><![CDATA[<h1 id="配置环境"><a href="#配置环境" class="headerlink" title="配置环境"></a>配置环境</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">Windows</button><button type="button" class="tab " data-href="test4-2">Linux</button><button type="button" class="tab " data-href="test4-3">Android</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><p>下载 <span class='p red'>Git</span>，<span class='p yellow'>Node</span><br><a class="btn-anzhiyu larger" href="https://git-scm.com/downloads/win"   title="Git"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>Git</span></a><br><a class="btn-anzhiyu larger" href="https://nodejs.org/zh-cn"   title="Node"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>Node</span></a></p></div><div class="tab-item-content" id="test4-2"><p>安装node和git</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> apt install git-core</span><br><span class="line"><span class="built_in">sudo</span> apt install nodejs</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-3"><p>下载终端模拟器：<a class="btn-anzhiyu larger" href="https://github.com/termux/termux-app/releases"   title="Termux"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>Termux</span></a><br>获取访问权限</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">termux-setup-storage</span><br></pre></td></tr></table></figure><p>更新apt</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">apt update</span><br></pre></td></tr></table></figure><p>安装Git和Node</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">apt install nodejs</span><br><span class="line">apt install git</span><br></pre></td></tr></table></figure></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><h1 id="安装hexo并初始化"><a href="#安装hexo并初始化" class="headerlink" title="安装hexo并初始化"></a>安装hexo并初始化</h1><div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">Windows</button><button type="button" class="tab " data-href="test4-2">Linux</button><button type="button" class="tab " data-href="test4-3">Android</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><p>首先创建一个文件夹，进入并右键选择<code>Open Git Bash here</code>输入<br>安装hexo并初始化</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">npm install hexo-cli -g</span><br><span class="line">hexo init blog</span><br><span class="line">npm install</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-2"><p>创建文件夹并进入</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">mkdir</span> blog</span><br><span class="line"><span class="built_in">cd</span> blog</span><br></pre></td></tr></table></figure><p>安装并初始化hexo</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">npm install hexo-cli -g</span><br><span class="line">hexo init blog</span><br><span class="line">npm install</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-3"><p>打开文件管理器创建<code>blog</code>文件夹<br>打开termux进入blog文件夹</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">cd /storage/shared/blog</span><br></pre></td></tr></table></figure><p>这样进入blog文件比较繁琐可以创建一个链接</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">echo &quot;alias cdblog=&#x27;cd ~/storage/shared/blog&#x27;&quot; &gt;&gt; ~/.bashrc</span><br><span class="line">source ~/.bashrc</span><br></pre></td></tr></table></figure><p>之后输入cdblog进入blog文件夹中</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">cdblog </span><br></pre></td></tr></table></figure><p>初始化hexo</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">npm install hexo-cli -g</span><br><span class="line">hexo init blog</span><br><span class="line">npm install</span><br></pre></td></tr></table></figure><h2 id="错误"><a href="#错误" class="headerlink" title="错误"></a>错误</h2><p>在部署网站的时候提示以下错误，</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">fatal: detected dubious ownership in repository at &#x27;/storage/emulated/0/blog/.deploy_git&#x27;</span><br><span class="line">To add an exception for this directory, call:</span><br><span class="line">    git config --global --add safe.directory /storage/emulated/0/blog/.deploy_git</span><br></pre></td></tr></table></figure><p>解决办法</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">git config --global --add safe.directory /storage/emulated/0/blog/.deploy_git</span><br></pre></td></tr></table></figure></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">hexo g      //生成网站静态文件</span><br><span class="line">hexo s      //启动本地服务器</span><br><span class="line">hexo d      //部署网站</span><br><span class="line">hexo clean  //清除缓存</span><br></pre></td></tr></table></figure><h1 id="创建Github-page"><a href="#创建Github-page" class="headerlink" title="创建Github page"></a>创建Github page</h1><p>打开<a class="btn-anzhiyu outline blue" href="https://github.com/"   title="GitHub"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>GitHub</span></a>，并创建账号。<br>登陆之后点击<code>Create a new repository</code><br><img src="/img/posts/hexo/githubpage.jpg"><br><code>Repository name</code>输入GitHub名称.github.io点击<code>Create repository</code></p><div class="note info simple"><p>例如GIthub名称 adaiblog ， Repository name：adaiblog.github.io</p></div><h1 id="Hexo关联Github"><a href="#Hexo关联Github" class="headerlink" title="Hexo关联Github"></a>Hexo关联Github</h1><p>在<code>Git Bash</code>中输入</p><ol><li>安装deploy-git<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">npm install hexo-deployer-git --save</span><br></pre></td></tr></table></figure></li><li>绑定github用户名，邮箱<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">git config --global user.name <span class="string">&quot;GithubName&quot;</span></span><br><span class="line">git config --global user.email <span class="string">&quot;GithubEmail&quot;</span></span><br></pre></td></tr></table></figure></li><li>检查关联账户是否正确<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">git config --list</span><br></pre></td></tr></table></figure></li><li>创建<code>SSH keys</code><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ssh-keygen -t rsa -C <span class="string">&quot;GithubEmail&quot;</span></span><br></pre></td></tr></table></figure>输入之后一路回车,<br><code>Windows</code>在C:\Users\adai&#x2F;.ssh找到<code>id_rsa.pub</code>并复制其中的内容<div class="note info simple"><p>\adai为windoss用户名，根据自身名称查找</p></div><code>Android</code>:在termux文件夹中打开<code>.ssh</code>文件夹</li><li>点击Github个人头像找到<code>setting</code>-&gt;<code>SSH and GPG keys</code>-&gt;<code>New SSH keyb</code>,将<code>id_rsa.pub</code>内容复制到Key中<br><img src="/img/posts/hexo/ssh.jpg"></li><li>验证ssh<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ssh -T git@github.com</span><br></pre></td></tr></table></figure><div class="note danger simple"><p>如果报错connect to host github.com port 22: Connection refused，说明github被墙<br>在<code>C:\Users\adai\.ssh</code>目录下创建<code>config</code>文件输入一下内容保存</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">Host github.com</span><br><span class="line">Hostname ssh.github.com</span><br><span class="line">Port 443</span><br></pre></td></tr></table></figure></div></li><li>打开博客文件中的<code>_config.yml</code>拉到最下面输入<figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">deploy:</span></span><br><span class="line">  <span class="bullet">-</span> <span class="attr">type:</span> <span class="string">&#x27;git&#x27;</span></span><br><span class="line">    <span class="attr">repo:</span> <span class="string">git@github.com:GithubName/GithubName.github.io.git</span></span><br><span class="line">    <span class="attr">branch:</span> <span class="string">master</span></span><br></pre></td></tr></table></figure></li><li>保存之后在<code>Git Bash</code>输入<figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">#生成静态文件</span></span><br><span class="line"><span class="string">hexo</span> <span class="string">g</span></span><br><span class="line"><span class="comment">#部署上传到github</span></span><br><span class="line"><span class="string">hexo</span> <span class="string">d</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 其他hexo操作</span></span><br><span class="line"><span class="comment"># 创建文章</span></span><br><span class="line"><span class="string">hexo</span> <span class="string">new</span> <span class="string">&quot;Name&quot;</span></span><br><span class="line"><span class="comment">#本地服务预览</span></span><br><span class="line"><span class="string">hexo</span> <span class="string">s</span> </span><br><span class="line"><span class="comment"># 清除缓存文件</span></span><br><span class="line"><span class="string">hexo</span> <span class="string">clean</span></span><br></pre></td></tr></table></figure></li></ol><h2 id="搭建部分错误"><a href="#搭建部分错误" class="headerlink" title="搭建部分错误"></a>搭建部分错误</h2><p>提示Please make sure you have the correct access rights and the repository exists.</p><div class="tabs" id="解决办法"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="解决办法-1">解决办法 1</button><button type="button" class="tab " data-href="解决办法-2">解决办法 2</button></ul><div class="tab-contents"><div class="tab-item-content active" id="解决办法-1"><p>可能是git绑定名称邮箱不对，或者密钥错误，这里我们查看并重新生成密钥</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">git config --list    //查看user.name,user.eamil是否正确，不正确重新设置</span><br><span class="line">git config --global user.name <span class="string">&quot;GithubName&quot;</span>     //GithubName: Github用户名</span><br><span class="line">git config --global user.email <span class="string">&quot;GithubEmail&quot;</span>   //#GithubEmail：Github绑定的邮箱</span><br><span class="line">ssh-keygen -t rsa -C <span class="string">&quot;GithubEmail&quot;</span>             //生成密钥</span><br></pre></td></tr></table></figure><h1 id="更换主题"><a href="#更换主题" class="headerlink" title="更换主题"></a>更换主题</h1><p>打开<a class="btn-anzhiyu outline blue" href="https://hexo.io/themes/"   title="Hexo主题"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>Hexo主题</span></a>，下载主题文件，将文件复制到blog文件夹下面的themes中，并打开<code> _config.yml</code>找到<code>theme：landscape</code>,将<code>landscape</code>改成下载主题文件夹名称</p><h1 id="绑定域名-开启HTTPS"><a href="#绑定域名-开启HTTPS" class="headerlink" title="绑定域名 开启HTTPS"></a>绑定域名 开启HTTPS</h1><p>进入到域名管理页面，点击域名解析创建两条记录<br>记录类型 CNAME<br>主机记录 www<br>记录值：博客地址</p><p>记录类型 CNAME<br>主机记录 @<br>记录值：博客地址</p><p>在blog目录中进入<code>source</code>，并创建一个名为<code> CNAME</code>，内容输入域名保存<br>打开<a class="btn-anzhiyu outline blue" href="https://github.com/"   title="Github"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>Github</span></a>，点击创建的<code> GIthub用户名.github.io</code>仓，进入点击上方<code> Settings</code>，选择<code> Pages</code>在<code>Custom domain</code>中输入域名并勾选<code>Enforce HTTPS</code><br><img src="/img/posts/hexo/www.jpg"></p><h1 id="多端同步"><a href="#多端同步" class="headerlink" title="多端同步"></a>多端同步</h1><p>完成环境配置和hexo关联github，<br>创建blog文件夹将除了<code>node_modules</code>和<code>public</code>文件夹之外的项目全部复制进来<br>进行blog文件夹中</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 进入博客文件夹</span></span><br><span class="line"><span class="string">cd</span> <span class="string">blog</span> </span><br><span class="line"></span><br><span class="line"><span class="comment"># 清理旧依赖（如果存在）</span></span><br><span class="line"><span class="string">rm</span> <span class="string">-rf</span> <span class="string">node_modules</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 重新安装所有依赖</span></span><br><span class="line"><span class="string">npm</span> <span class="string">install</span></span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="解决办法-2"><p>网络原因，查看是否开启github加速器等软件，关闭尝试看是否成功。<br>如还是不行,检查是否能连接github.com</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ssh -T git@github.com </span><br></pre></td></tr></table></figure><p>如提示：ssh: connect to host github.com port 22: Connection refused,22端口不行就改成443端口<br>在C:\Users\用户名.ssh（也就是密钥文件地方）创建一个config并输入以下内容保存</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><span class="line">Host github.com</span><br><span class="line">User git</span><br><span class="line">Hostname ssh.github.com</span><br><span class="line">PreferredAuthentications publickey</span><br><span class="line">IdentityFile ~/.ssh/id_rsa</span><br><span class="line">Port 443</span><br><span class="line"> </span><br><span class="line">Host gitlab.com</span><br><span class="line">Hostname altssh.gitlab.com</span><br><span class="line">User git</span><br><span class="line">Port 443</span><br><span class="line">PreferredAuthentications publickey</span><br><span class="line">IdentityFile ~/.ssh/id_rsa</span><br></pre></td></tr></table></figure></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><ol start="2"><li>hexo d错误无法上传<figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">INFO  Deploying:</span> <span class="string">git</span></span><br><span class="line"><span class="string">INFO</span>  <span class="string">Clearing</span> <span class="string">.deploy_git</span> <span class="string">folder...</span></span><br><span class="line"><span class="string">INFO</span>  <span class="string">Copying</span> <span class="string">files</span> <span class="string">from</span> <span class="string">public</span> <span class="string">folder...</span></span><br><span class="line"><span class="string">INFO</span>  <span class="string">Copying</span> <span class="string">files</span> <span class="string">from</span> <span class="string">extend</span> <span class="string">dirs...</span></span><br><span class="line"><span class="attr">error:</span> <span class="string">&#x27;source/_posts/&#x27;</span> <span class="string">does</span> <span class="string">not</span> <span class="string">have</span> <span class="string">a</span> <span class="string">commit</span> <span class="string">checked</span> <span class="string">out</span></span><br><span class="line"><span class="attr">fatal:</span> <span class="string">adding</span> <span class="string">files</span> <span class="string">failed</span></span><br><span class="line"><span class="string">FATAL</span> <span class="string">Something&#x27;s</span> <span class="attr">wrong. Maybe you can find the solution here:</span> <span class="string">https://hexo.io/docs/troubleshooting.html</span></span><br><span class="line"><span class="attr">Error:</span> <span class="string">Spawn</span> <span class="string">failed</span></span><br><span class="line">    <span class="string">at</span> <span class="string">ChildProcess.&lt;anonymous&gt;</span> <span class="string">(/data/data/com.termux/files/home/adaiblog/node_modules/hexo-util/dist/spawn.js:47:31)</span></span><br><span class="line">    <span class="string">at</span> <span class="string">ChildProcess.emit</span> <span class="string">(node:events:507:28)</span></span><br><span class="line">    <span class="string">at</span> <span class="string">ChildProcess._handle.onexit</span> <span class="string">(node:internal/child_process:294:12)</span></span><br></pre></td></tr></table></figure>这个时候打开博客文件夹找到&#x2F;source&#x2F;_posts&#x2F;.git删除.git文件夹以解除仓库状态，随后清理Hexo缓存和生成文件，并重新上传<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">hexo clean </span><br><span class="line">hexo g</span><br><span class="line">hexo d</span><br></pre></td></tr></table></figure></li><li>在上传推送时报错如下<div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">错误一</button><button type="button" class="tab " data-href="test4-2">错误二</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><p>错误：</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">remote: error: GH013: Repository rule violations found for refs/heads/  locations:</span> </span><br><span class="line"><span class="attr">remote: - blob id: 11b09fbc1e4dac6df5822fa90bb454c8e16707a9                                            remote:</span></span><br><span class="line"><span class="attr">remote:</span> <span class="string">(?)</span> <span class="string">To</span> <span class="string">push,</span> <span class="string">remove</span> <span class="string">secret</span> <span class="string">from</span> <span class="string">commit(s)</span> <span class="string">or</span> <span class="string">follow</span> <span class="string">this</span> <span class="string">URL</span> <span class="string">to</span> <span class="string">allow</span> <span class="string">the</span> <span class="string">secret.</span></span><br><span class="line"><span class="attr">remote: https://github.com/ADAIBLOG/adaiblog.github.io/security/secret-scanning/unblock-secret/2xUu0IVzQxUGN05ytuE7IXPXMkN                                       remote:</span>                                                 </span><br></pre></td></tr></table></figure><p>解决办法：只需要找到secret from commit(s) or follow this URL to allow the secret.，中的地址进入同意即可。</p></div><div class="tab-item-content" id="test4-2"><p>错误：LF will be replaced by CRLF<br>解决办法：git config –global core.autocrlf false &#x2F;&#x2F;禁用自动转换</p></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div></li></ol><h1 id="博客短链接地址"><a href="#博客短链接地址" class="headerlink" title="博客短链接地址"></a>博客短链接地址</h1><p>打开_config.yml,找到permalink并修改</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">permalink: posts/:id.html</span><br></pre></td></tr></table></figure><p>在文章上面加入ID：xxxx作为文章地址</p><h1 id="生成站点xml"><a href="#生成站点xml" class="headerlink" title="生成站点xml"></a>生成站点xml</h1><p>安装站点地图生成插件</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">npm install hexo-generator-sitemap --save         //谷歌</span><br><span class="line">npm install hexo-generator-baidu-sitemap --save   //百度，申请门坎：30天内，日均点击量大于1w，快速收录需要加入VIP俱乐部</span><br></pre></td></tr></table></figure><p>打开根目录_config.yml添加</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">sitemap:</span></span><br><span class="line">  <span class="attr">path:</span> <span class="string">sitemap.xml</span></span><br><span class="line">  <span class="attr">template:</span> <span class="string">./sitemap_template.xml</span></span><br><span class="line">  <span class="attr">template_txt:</span> <span class="string">./sitemap_template.txt</span></span><br><span class="line">  <span class="attr">rel:</span> <span class="literal">false</span></span><br><span class="line">  <span class="attr">tags:</span> <span class="literal">true</span></span><br><span class="line">  <span class="attr">categories:</span> <span class="literal">true</span></span><br><span class="line"><span class="attr">baidusitemap:</span></span><br><span class="line">  <span class="attr">path:</span> <span class="string">baidusitemap.xml</span></span><br></pre></td></tr></table></figure><p>在跟目录source文件夹中创建robots.txt并输入</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">User-agent: *</span><br><span class="line">Allow: /</span><br><span class="line"></span><br><span class="line">Sitemap: https://博客域名/sitemap.xml</span><br></pre></td></tr></table></figure><p>屏蔽某个文章在其Front-matter中添加</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sitemap: <span class="literal">false</span></span><br></pre></td></tr></table></figure><h1 id="添加RSS订阅"><a href="#添加RSS订阅" class="headerlink" title="添加RSS订阅"></a>添加RSS订阅</h1><p>安装插件</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">npm install hexo-generator-feed --save</span><br></pre></td></tr></table></figure><p>打开根目录_config.yml添加</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">feed:</span></span><br><span class="line">  <span class="attr">enable:</span> <span class="literal">true</span></span><br><span class="line">  <span class="attr">type:</span> <span class="string">atom</span></span><br><span class="line">  <span class="attr">path:</span> <span class="string">atom.xml</span></span><br><span class="line">  <span class="attr">limit:</span> <span class="literal">false</span></span><br></pre></td></tr></table></figure><h1 id="加密文章"><a href="#加密文章" class="headerlink" title="加密文章"></a>加密文章</h1><p>安装插件</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">npm install --save hexo-blog-encrypt</span><br></pre></td></tr></table></figure><p>在文章信息头添加</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">---</span></span><br><span class="line"><span class="attr">title:</span> <span class="string">Hello</span> <span class="string">World</span></span><br><span class="line"><span class="attr">password:</span> <span class="string">hello</span></span><br><span class="line"><span class="attr">abstract:</span> <span class="string">有东西被加密了,</span> <span class="string">请输入密码查看.</span></span><br><span class="line"><span class="attr">message:</span> <span class="string">您好,</span> <span class="string">这里需要密码.</span></span><br><span class="line"><span class="attr">wrong_pass_message:</span> <span class="string">抱歉,</span> <span class="string">这个密码看着不太对,</span> <span class="string">请再试试.</span></span><br><span class="line"><span class="attr">wrong_hash_message:</span> <span class="string">抱歉,</span> <span class="string">这个文章不能被校验,</span> <span class="string">不过您还是能看看解密后的内容.</span></span><br><span class="line"><span class="meta">---</span></span><br></pre></td></tr></table></figure><p>需要全局设置可以在博客_config.yml中添加</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># Security</span></span><br><span class="line"><span class="attr">encrypt:</span> <span class="comment"># hexo-blog-encrypt</span></span><br><span class="line">  <span class="attr">abstract:</span> <span class="string">有东西被加密了,</span> <span class="string">请输入密码查看.</span></span><br><span class="line">  <span class="attr">message:</span> <span class="string">您好,</span> <span class="string">这里需要密码.</span></span><br><span class="line">  <span class="attr">tags:</span></span><br><span class="line">  <span class="bullet">-</span> &#123;<span class="attr">name:</span> <span class="string">tagName</span>, <span class="attr">password:</span> <span class="string">密码A</span>&#125;</span><br><span class="line">  <span class="bullet">-</span> &#123;<span class="attr">name:</span> <span class="string">tagName</span>, <span class="attr">password:</span> <span class="string">密码B</span>&#125;</span><br><span class="line">  <span class="attr">wrong_pass_message:</span> <span class="string">抱歉,</span> <span class="string">这个密码看着不太对,</span> <span class="string">请再试试.</span></span><br><span class="line">  <span class="attr">wrong_hash_message:</span> <span class="string">抱歉,</span> <span class="string">这个文章不能被校验,</span> <span class="string">不过您还是能看看解密后的内容.</span></span><br></pre></td></tr></table></figure><p>如果设置tag，就是根据标签来同意加密文章和密码</p>]]></content>
    
    
    <summary type="html">一份从零开始的 Hexo + GitHub Pages 静态博客搭建完整指南。内容涵盖 Windows/Linux/Android 多平台环境配置、主题更换、自定义域名、HTTPS 强制开启、多设备同步以及各种常见错误的解决方案。</summary>
    
    
    
    <category term="博客" scheme="https://www.adaiblog.github.io/categories/%E5%8D%9A%E5%AE%A2/"/>
    
    
    <category term="Github" scheme="https://www.adaiblog.github.io/tags/Github/"/>
    
    <category term="Hexo" scheme="https://www.adaiblog.github.io/tags/Hexo/"/>
    
  </entry>
  
  <entry>
    <title>网站导航</title>
    <link href="https://www.adaiblog.github.io/posts/web.html"/>
    <id>https://www.adaiblog.github.io/posts/web.html</id>
    <published>2024-11-12T09:05:29.000Z</published>
    <updated>2026-02-26T06:52:08.830Z</updated>
    
    <content type="html"><![CDATA[<!-- 免责声明部分 --><div class="disclaimer">  <h3>免责声明</h3>  <ul>    <li>本站提供的第三方链接仅用于<strong>技术交流与合法学习目的</strong>，不控制目标网站内容，无法保证其安全性、合法性或准确性。</li>    <li>访问外部链接前，请自行核实域名归属及内容真实性，并确保遵守当地法律与软件许可协议，<strong>一切风险由访问者自行承担</strong>。</li>    <li>若发现链接失效、跳转异常或内容违规，请通过 [<span id="safe-email"></span>] 反馈，将及时核查处理。</li>  </ul>  <p class="security-tip">⚠️ 安全提示：谨慎提交个人信息至第三方网站。</p></div><!-- 动态生成防爬虫邮箱 --><script>function generateSafeEmail(user, domain, displayText) {  const email = `${user}@${domain}`;  const mailtoLink = `mailto:${email}?subject=链接问题反馈`;  return `<a href="${mailtoLink}" onclick="handleEmailClick('${email}')">${displayText}</a>`;}function handleEmailClick(email) {  setTimeout(() => {    if (!document.hidden) { // 检测是否成功打开邮件客户端      if (confirm("是否复制邮箱地址？")) {        navigator.clipboard.writeText(email);      }    }  }, 500);  return true; // 允许默认跳转行为}// 填充邮箱（拆分防止爬虫直接匹配）document.getElementById('safe-email').innerHTML = generateSafeEmail('adaiblog', '163.com', '联系邮箱');</script><style>.security-tip {  color: #ff4444;  border-left: 3px solid #ff4444;  padding-left: 10px;}</style><div class="flink"><div class="flink-name">资源</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://zh.z-lib.gl/" title="Zlibrary" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts2.cn.mm.bing.net/th?id=ODLS.790c733a-6a29-4872-87f2-c17eb98906dd&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Zlibrary" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Zlibrary</div>                  <div class="flink-item-desc" title="书籍资源">书籍资源</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/icon11-community/Folder-Ico" title="Folder-Ico" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/web/folder11.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Folder-Ico" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Folder-Ico</div>                  <div class="flink-item-desc" title="文件夹图标美化">文件夹图标美化</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://music.gimhoy.com/list" title="Gimhoy音乐盒" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://cdn.static.gimhoy.com/frontend/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Gimhoy音乐盒" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Gimhoy音乐盒</div>                  <div class="flink-item-desc" title="音乐资源">音乐资源</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://indiegoodies.com/awesome-open-source-mac-apps" title="Open Source Mac Apps" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://avatars.githubusercontent.com/u/15808174?v=4" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Open Source Mac Apps" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Open Source Mac Apps</div>                  <div class="flink-item-desc" title="开源 Mac 应用推荐平台">开源 Mac 应用推荐平台</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://alternativeto.net" title="AlternativeTo" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://alternativeto.net/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="AlternativeTo" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">AlternativeTo</div>                  <div class="flink-item-desc" title="应用程序和服务">应用程序和服务</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://newsnow.busiyi.world/" title="Newsnow" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://newsnow.busiyi.world/apple-touch-icon.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Newsnow" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Newsnow</div>                  <div class="flink-item-desc" title="多平台新闻热点">多平台新闻热点</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://icon.sucai999.com/" title="菜鸟图标" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://icon.sucai999.com/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="菜鸟图标" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">菜鸟图标</div>                  <div class="flink-item-desc" title="免费商用矢量图标库">免费商用矢量图标库</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://resourceboy.com/" title="Resource Boy" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://resourceboy.com/apple-touch-icon.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Resource Boy" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Resource Boy</div>                  <div class="flink-item-desc" title="设计资源(访问慢)">设计资源(访问慢)</div>                </div>              </a>            </div></div></div><div class="flink-name">指南</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://zh.ifixit.com/" title="IFXIT" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://zh.ifixit.com/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="IFXIT" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">IFXIT</div>                  <div class="flink-item-desc" title="维修指南">维修指南</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://zufang.ababtools.com/" title="城市租房生存指南" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://zufang.ababtools.com/logo.svg" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="城市租房生存指南" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">城市租房生存指南</div>                  <div class="flink-item-desc" title="租房指南">租房指南</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://socpk.com/" title="Socpk" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://socpk.com/MAINPIC/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Socpk" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Socpk</div>                  <div class="flink-item-desc" title="极客湾移动芯片排行">极客湾移动芯片排行</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://www.wikihow.com/Main-Page" title="vikiHow" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://www.wikihow.com/favicon_round.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="vikiHow" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">vikiHow</div>                  <div class="flink-item-desc" title="百科指南">百科指南</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://www.zhongguose.com/" title="ZhongGuoSe" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://www.zhongguose.com/img/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="ZhongGuoSe" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">ZhongGuoSe</div>                  <div class="flink-item-desc" title="中国传统颜色">中国传统颜色</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://chinacolor.org/" title="ChinaColor" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://chinacolor.org/chinacolor.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="ChinaColor" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">ChinaColor</div>                  <div class="flink-item-desc" title="中国传统颜色">中国传统颜色</div>                </div>              </a>            </div></div></div><div class="flink-name">DIY制作</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://oshwhub.com/" title="嘉立创" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://oshwhub.com/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="嘉立创" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">嘉立创</div>                  <div class="flink-item-desc" title="硬件开源平台">硬件开源平台</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://www.instructables.com/" title="Instructables" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://www.instructables.com/assets/img/siteassets/apple-touch-icon.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Instructables" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Instructables</div>                  <div class="flink-item-desc" title="探索、记录和分享创作">探索、记录和分享创作</div>                </div>              </a>            </div></div></div><div class="flink-name">写作创作</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://cover.bsgun.cn/" title="Mini-Cover" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/web/minicover.svg" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Mini-Cover" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Mini-Cover</div>                  <div class="flink-item-desc" title="在线生成封面网站">在线生成封面网站</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://app.codeimage.dev/" title="codeimage" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/web/codeimage.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="codeimage" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">codeimage</div>                  <div class="flink-item-desc" title="美化代码屏幕截图的工具">美化代码屏幕截图的工具</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://gustinlau.github.io/pixel-art" title="pixel-art" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://avatars.githubusercontent.com/u/10335558?v=4" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="pixel-art" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">pixel-art</div>                  <div class="flink-item-desc" title="图片转换成像素画">图片转换成像素画</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://watermark.adai.fun/" title="WaterMark" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/web/watermark.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="WaterMark" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">WaterMark</div>                  <div class="flink-item-desc" title="图片添加水印">图片添加水印</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://picsmaller.com/" title="Picsmaller" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://picsmaller.com/logo.svg" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Picsmaller" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Picsmaller</div>                  <div class="flink-item-desc" title="图片压缩">图片压缩</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://excalidraw.com/" title="Excalidraw" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://excalidraw.com/apple-touch-icon.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Excalidraw" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Excalidraw</div>                  <div class="flink-item-desc" title="用于绘制手绘图表的虚拟白板">用于绘制手绘图表的虚拟白板</div>                </div>              </a>            </div></div></div><div class="flink-name">教程</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://eat.lz-t.top/" title="一饭封神" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://eat.lz-t.top/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="一饭封神" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">一饭封神</div>                  <div class="flink-item-desc" title="AI智能菜谱生成">AI智能菜谱生成</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://www.bbcook.cn/" title="宝宝辅食" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://www.bbcook.cn/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="宝宝辅食" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">宝宝辅食</div>                  <div class="flink-item-desc" title="专注于婴幼儿辅食制作">专注于婴幼儿辅食制作</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/Anduin2017/HowToCook" title="HowToCook" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://avatars.githubusercontent.com/u/83223374?v=4" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="HowToCook" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">HowToCook</div>                  <div class="flink-item-desc" title="程序员在家做饭方法指南">程序员在家做饭方法指南</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://cook.yunle.app/" title="Cook" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://cook.yunle.app/favicon.svg" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Cook" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Cook</div>                  <div class="flink-item-desc" title="菜谱">菜谱</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://jobyu.gitbooks.io/classic_pixel_art_tutorial/content/" title="非常经典的像素画教程" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://jobyu.gitbooks.io/classic_pixel_art_tutorial/content/gitbook/images/apple-touch-icon-precomposed-152.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="非常经典的像素画教程" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">非常经典的像素画教程</div>                  <div class="flink-item-desc" title="像素画教程">像素画教程</div>                </div>              </a>            </div></div></div><div class="flink-name">知识学习</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://julebu.co/" title="句乐部" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://julebu.co/logo-light.svg" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="句乐部" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">句乐部</div>                  <div class="flink-item-desc" title="通过用连词造句的方法学习英语">通过用连词造句的方法学习英语</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://yyjingyan.com/" title="有用经验" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://yyjingyan.com/logo(%E5%B7%B2%E5%A4%84%E7%90%86).png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="有用经验" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">有用经验</div>                  <div class="flink-item-desc" title="生活经验，科普，避坑指南">生活经验，科普，避坑指南</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://saduck.top/" title="SaDuck" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://saduck.top/favicon.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="SaDuck" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">SaDuck</div>                  <div class="flink-item-desc" title="考公考编知识网站">考公考编知识网站</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://paper.z2h.cn/" title="Z2H字帖" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/web/z2h.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Z2H字帖" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Z2H字帖</div>                  <div class="flink-item-desc" title="字帖生成工具">字帖生成工具</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://www.kirupa.com/" title="Kirupa" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://www.kirupa.com/favicon.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Kirupa" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Kirupa</div>                  <div class="flink-item-desc" title="学习前端 web开发">学习前端 web开发</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://www.edclub.com/sportal/" title="Edclub" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://static.typingclub.com/m/favicon.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Edclub" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Edclub</div>                  <div class="flink-item-desc" title="打字练习">打字练习</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://qwerty.kaiyi.cool" title="Qwerty Learner" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://qwerty.kaiyi.cool/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Qwerty Learner" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Qwerty Learner</div>                  <div class="flink-item-desc" title="打字练习的同时学习单词">打字练习的同时学习单词</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://www.shidianguji.com/" title="识典古籍" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://lf3-static.bytednsdoc.com/obj/eden-cn/ipsaulpjuh_yzj_zlp/ljhwZthlaukjlkulzlp/logo/logo.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="识典古籍" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">识典古籍</div>                  <div class="flink-item-desc" title="古典在线阅读">古典在线阅读</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://zidian.gushici.net/" title="字典" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://m.gushici.net/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="字典" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">字典</div>                  <div class="flink-item-desc" title="在线字典查询">在线字典查询</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://gushici.net/" title="古诗词网" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://m.gushici.net/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="古诗词网" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">古诗词网</div>                  <div class="flink-item-desc" title="古诗词">古诗词</div>                </div>              </a>            </div></div></div><div class="flink-name">工具</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://dnd-resume.com/" title="dnd-resume" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://dnd-resume.com/avatar.jpg" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="dnd-resume" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">dnd-resume</div>                  <div class="flink-item-desc" title="简历生成工具">简历生成工具</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://www.speedtest.NET" title="SpeedTest" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts4.cn.mm.bing.net/th?id=ODLS.0c624339-fdb9-4d35-b3fc-3da2975b5644&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="SpeedTest" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">SpeedTest</div>                  <div class="flink-item-desc" title="测网速">测网速</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://jamcz.com/speedtest/" title="下载测速" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://jamcz.com/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="下载测速" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">下载测速</div>                  <div class="flink-item-desc" title="测试下载网速">测试下载网速</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://share.lanol.cn/#/" title="FileCodeBkx" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://share.lanol.cn/assets/logo_small.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="FileCodeBkx" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">FileCodeBkx</div>                  <div class="flink-item-desc" title="匿名口令分享文本">匿名口令分享文本</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://todo.uiineed.com/index-zh" title="ToDo" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://todo.uiineed.com/assets/img/favicon.png?V1" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="ToDo" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">ToDo</div>                  <div class="flink-item-desc" title="undefined">undefined</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://www.virustotal.com/gui/home/upload" title="Virustotal" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://www.virustotal.com/gui/images/favicon.svg" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Virustotal" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Virustotal</div>                  <div class="flink-item-desc" title="病毒检测">病毒检测</div>                </div>              </a>            </div></div></div><div class="flink-name">生活服务</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://95598.cn/" title="国家电网" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts2.cn.mm.bing.net/th?id=ODLS.c629b8c7-30d9-4d92-9c05-2693e7d68aea&w=50&h=50&qlt=91&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="国家电网" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">国家电网</div>                  <div class="flink-item-desc" title="查询余额,账单，缴费，过户等在线服务">查询余额,账单，缴费，过户等在线服务</div>                </div>              </a>            </div></div></div><div class="flink-name">在线游戏</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://poki.com/zh" title="Poki" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://a.poki-cdn.com/img/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Poki" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Poki</div>                  <div class="flink-item-desc" title="免费在线小游戏">免费在线小游戏</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://dos.lol/" title="在线DOS游戏" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://zaixianwan.app/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="在线DOS游戏" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">在线DOS游戏</div>                  <div class="flink-item-desc" title="在线DOS游戏">在线DOS游戏</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://zaixianwan.app/" title="老游戏" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://zaixianwan.app/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="老游戏" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">老游戏</div>                  <div class="flink-item-desc" title="三万多款老游戏">三万多款老游戏</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://retroonline.net/GameList" title="低端游戏" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://retroonline.net/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="低端游戏" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">低端游戏</div>                  <div class="flink-item-desc" title="在线游玩">在线游玩</div>                </div>              </a>            </div></div></div><div class="flink-name">系统</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://www.microsoft.com/zh-cn/software-download" title="Windwos" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts2.cn.mm.bing.net/th?id=ODLS.b46d32a4-79e8-4508-a983-a2bd3e173a0a&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Windwos" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Windwos</div>                  <div class="flink-item-desc" title="windows系统">windows系统</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://www.debian.org/index.zh-cn.html" title="Debian" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts1.cn.mm.bing.net/th?id=ODLS.e58bc2f3-d9ad-43d4-98c7-afca838fba4a&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Debian" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Debian</div>                  <div class="flink-item-desc" title="debian系统">debian系统</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://cn.ubuntu.com/" title="Ubuntu" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts2.cn.mm.bing.net/th?id=ODLS.cdad98e9-bec7-47eb-97ef-43845aac6ae7&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Ubuntu" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Ubuntu</div>                  <div class="flink-item-desc" title="ubuntu系统">ubuntu系统</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://store.steampowered.com/steamos/buildyourown?l=schinese" title="SteamOS" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/steam/steam.webp" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="SteamOS" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">SteamOS</div>                  <div class="flink-item-desc" title="Steam系统">Steam系统</div>                </div>              </a>            </div></div></div><div class="flink-name">外设驱动</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://www.mchose.com.cn:8881/" title="迈从" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts2.cn.mm.bing.net/th?id=ODLS.12c98b74-4eae-4ab1-947f-ae304ca186ec&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="迈从" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">迈从</div>                  <div class="flink-item-desc" title="网页驱动">网页驱动</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://hub.atk.pro/" title="ATK" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts1.cn.mm.bing.net/th?id=ODLS.7947fd9c-d65d-4aa6-a340-da1a5b47bae1&w=50&h=50&qlt=97&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="ATK" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">ATK</div>                  <div class="flink-item-desc" title="网页驱动">网页驱动</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://hub.fgg.com.cn/" title="美加狮" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts3.cn.mm.bing.net/th?id=ODLS.e4b40781-d68c-4e79-b2ba-728f58e10b33&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="美加狮" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">美加狮</div>                  <div class="flink-item-desc" title="网页驱动">网页驱动</div>                </div>              </a>            </div></div></div><div class="flink-name">电脑驱动</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://www.intel.cn/content/www/cn/zh/download-center/home.html" title="Intel" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts1.cn.mm.bing.net/th?id=ODLS.8df237ce-ad03-4264-95a6-7cdf0f8ca340&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Intel" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Intel</div>                  <div class="flink-item-desc" title="处理器驱动">处理器驱动</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://www.amd.com/zh-cn/support/download/drivers.html" title="AMD" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts1.cn.mm.bing.net/th?id=ODLS.e45581fb-051a-4c29-9c97-407d9ec5ecd4&w=50&h=50&qlt=91&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="AMD" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">AMD</div>                  <div class="flink-item-desc" title="处理器和显卡驱动">处理器和显卡驱动</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://www.asus.com.cn/support/download-center" title="华硕" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts4.cn.mm.bing.net/th?id=ODLS.448fbdda-8e7b-4cab-b14c-70ff048c2cf7&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="华硕" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">华硕</div>                  <div class="flink-item-desc" title="主板驱动">主板驱动</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://www.msi.cn/support/download" title="微星" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts4.cn.mm.bing.net/th?id=ODLS.832d11d0-f2b9-4b9f-9de1-78dbb9042b7d&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="微星" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">微星</div>                  <div class="flink-item-desc" title="主板驱动">主板驱动</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://www.colorful.cn/home/download" title="七彩虹" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts4.cn.mm.bing.net/th?id=ODLS.bdf4fce3-dae3-4915-89de-c8a6f49cd174&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="七彩虹" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">七彩虹</div>                  <div class="flink-item-desc" title="主板驱动">主板驱动</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://www.gigabyte.cn/Support/Consumer/Download" title="技嘉" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts4.cn.mm.bing.net/th?id=ODLS.c86dbb17-e6a4-4266-a46b-15dfd488bfda&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="技嘉" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">技嘉</div>                  <div class="flink-item-desc" title="主板驱动">主板驱动</div>                </div>              </a>            </div></div></div><div class="flink-name">站长管理</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://search.google.com/search-console" title="Google站长" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts1.cn.mm.bing.net/th?id=ODLS.23829058-51a0-4aa3-83f8-888af1746751&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Google站长" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Google站长</div>                  <div class="flink-item-desc" title="谷歌网站收录">谷歌网站收录</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://ziyuan.baidu.com/dashboard/index" title="百度站长" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts2.cn.mm.bing.net/th?id=ODLS.772bcce9-7ea1-4428-a157-bfaa03fd8ff4&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="百度站长" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">百度站长</div>                  <div class="flink-item-desc" title="百度网站收录">百度网站收录</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://www.bing.com/webmasters/about" title="Bing站长" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts4.cn.mm.bing.net/th?id=ODLS.975512b5-1e8c-4fef-bba5-69d525dcd799&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Bing站长" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Bing站长</div>                  <div class="flink-item-desc" title="必应网站收录">必应网站收录</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://adsense.google.com/intl/zh-CN_cn/start/" title="Google AdSense" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts1.cn.mm.bing.net/th?id=ODLS.23829058-51a0-4aa3-83f8-888af1746751&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Google AdSense" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Google AdSense</div>                  <div class="flink-item-desc" title="申请谷歌广告进行创收">申请谷歌广告进行创收</div>                </div>              </a>            </div></div></div></div>]]></content>
    
    
    <summary type="html">要用的网站工具，一键直达创作工具，正式官网，在线游戏，有趣网站。</summary>
    
    
    
    <category term="网站" scheme="https://www.adaiblog.github.io/categories/%E7%BD%91%E7%AB%99/"/>
    
    
    <category term="资源" scheme="https://www.adaiblog.github.io/tags/%E8%B5%84%E6%BA%90/"/>
    
  </entry>
  
  <entry>
    <title>语音开黑软件Mumble的部署与使用</title>
    <link href="https://www.adaiblog.github.io/posts/mumble.html"/>
    <id>https://www.adaiblog.github.io/posts/mumble.html</id>
    <published>2024-11-08T15:47:16.000Z</published>
    <updated>2026-02-25T15:49:46.629Z</updated>
    
    <content type="html"><![CDATA[<h2 id="什么是Mumble？"><a href="#什么是Mumble？" class="headerlink" title="什么是Mumble？"></a>什么是Mumble？</h2><p>Mumble是一款开源的语音通信软件，专为游戏玩家和团队协作设计。它以低延迟、高质量的语音传输和强大的权限管理系统而闻名，是许多游戏社区和专业团队的首选语音工具。</p><h3 id="Mumble的主要特点"><a href="#Mumble的主要特点" class="headerlink" title="Mumble的主要特点"></a>Mumble的主要特点</h3><ul><li><strong>低延迟</strong>：专为游戏优化，延迟极低，确保实时通信</li><li><strong>高质量音频</strong>：支持高保真音频传输，提供清晰的语音体验</li><li><strong>强大的权限系统</strong>：灵活的ACL（访问控制列表）管理，可精细控制用户权限</li><li><strong>positional audio</strong>：支持3D positional audio，在支持的游戏中提供沉浸式体验</li><li><strong>开源免费</strong>：完全开源，无广告，可自由部署和定制</li><li><strong>跨平台</strong>：支持Windows、macOS、Linux等多种操作系统</li><li><strong>安全加密</strong>：所有通信均经过加密，保护用户隐私</li></ul><a class="btn-anzhiyu larger" href="mumble://117.72.201.214?title=%E9%98%BF%E5%91%86%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8&version=1.2.0"   title="阿呆的服务器"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>阿呆的服务器</span></a><a class="btn-anzhiyu larger" href="https://www.mumble.info/"   title="客户端官网"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>客户端官网</span></a><a class="btn-anzhiyu larger" href="https://adaifun.lanzout.com/b00wn2f7fg"   title="云盘下载"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>云盘下载</span></a><div class="note warning simple"><p>版本<code>1.5.735</code>密码：adai</p></div><details class="folding-tag" orange><summary> Mumble设置 </summary>              <div class='content'>              <ol><li><p>登录<br>服务器-&gt;添加<br><code>地址</code>： 输入服务器地址<br><code>端口</code>： 服务器端口号默认64738<br><code>用户名</code>： 进入服务器的用户昵称。管理员输入：superuser会出现密码<br><code>别名</code>： 服务器别名</p><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="330" data-limit="10"> <span class="gallery-data">[{"url":"/img/posts/mumble/denglu2.jpg","alt":""},{"url":"/img/posts/mumble/denglu.jpg","alt":""}]</span>  </div><button class="gallery-load-more" style="opacity:0">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div></li><li><p>麦克风设置<br><img src="/img/posts/mumble/yinpin.png"><br>设备：设备修改成自己麦克风设置<br>传输模式： <span class='p yellow'>连续发言</span>，<span class='p green'>语音激活</span> ，<span class='p cyan'>按键发言</span><br><span class='p yellow'>连续发言</span>：自由麦<br><span class='p green'>语音激活</span>：安静阈值：低于此值视为不启用麦克风，语音阈值：高于此值使用启用麦克风<br><span class='p cyan'>按键发言</span>：设置按键触发麦克风<br><span class='p blue'>压缩质量</span>：你的语音数据包的音频质量，理论是越高越好，但也要看服务器最高支持多少质量</p></li><li><p>设置耳机<br>点击设置-&gt;音频输出<br><img src="/img/posts/mumble/erji.jpg"></p></li><li><p>快速连接服务器<br>点击设置-&gt;网络-&gt;勾选启动时自动连接上次的服务器<br><img src="/img/posts/mumble/kuaisulianjie.png"></p></li><li><p>关闭上传隐私数据<br>勾选 请勿向Mumble服务器和页面服务器发送操作系统信息<br><img src="/img/posts/mumble/mumble15.png"></p></li><li><p>开启语音播报<br>点击设置-&gt;消息-&gt;启动语音播报<br><img src="/img/posts/mumble/yuyin.jpg"></p></li><li><p>高级设置</p><ul><li><strong>回声消除</strong>：在音频输入设置中，勾选”启用回声消除”可以减少麦克风拾取的扬声器声音</li><li><strong>噪音抑制</strong>：勾选”启用噪音抑制”可以自动过滤背景噪音，提高语音清晰度</li><li><strong>自动增益控制</strong>：勾选”启用自动增益控制”可以自动调整麦克风音量，保持稳定的输出水平</li><li><strong>压缩质量</strong>：根据网络状况调整压缩质量，建议在良好网络环境下设置为9-10</li></ul></li></ol>              </div>            </details><details class="folding-tag" green><summary> 服务器搭建 </summary>              <div class='content'>              <div class="tabs" id="test4"><ul class="nav-tabs"><button type="button" class="tab  active" data-href="test4-1">apt安装</button><button type="button" class="tab " data-href="test4-2">Docker</button><button type="button" class="tab " data-href="test4-3">Docker Compose</button></ul><div class="tab-contents"><div class="tab-item-content active" id="test4-1"><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">#添加用户</span></span><br><span class="line">adduser mumble</span><br><span class="line"><span class="comment">#添加sudo权限</span></span><br><span class="line"><span class="built_in">sudo</span> adduser mumble <span class="built_in">sudo</span></span><br><span class="line"><span class="comment">#切换到mumble用户</span></span><br><span class="line">su mumble</span><br><span class="line"><span class="comment">#切换到mumble目录</span></span><br><span class="line"><span class="built_in">cd</span> /home/mumble</span><br></pre></td></tr></table></figure><p>安装mumble-server</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">apt install mumble-server</span><br><span class="line"><span class="comment">#启动服务，点击两次yes，之后设置superuser用户密码</span></span><br><span class="line"><span class="built_in">sudo</span> dpkg-reconfigure mumble-server</span><br></pre></td></tr></table></figure><p>启动服务</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> systemctl start mumble-server</span><br></pre></td></tr></table></figure><p>打开配置文件</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> nano /etc/mumble-server.ini</span><br></pre></td></tr></table></figure><p><span class='p red'>welcometext</span>：服务器欢迎语句<br><span class='p red'>port</span>：端口<br><span class='p red'>serverpassword</span>：服务器密码<br><span class='p red'>bandwidth</span>：带宽，影响音频质量和服务器资源消耗默认72000，可设置更高如96000&#x2F;128000<br><span class='p red'>users</span>：服务器可加入人数<br><span class='p red'>registerName</span>:更改默认Root频道名称</p><div class="note warning simple"><p>部分配置被注释，请删除前面的 ；</p></div>设置完重启配置文件<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> service mumble-server restart</span><br></pre></td></tr></table></figure>开放64738端口<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> ufw allow 64738</span><br></pre></td></tr></table></figure></div><div class="tab-item-content" id="test4-2"><ol><li>拉取镜像（可选，运行时会自动拉取）<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">docker pull mumblevoip/mumble-server:latest</span><br></pre></td></tr></table></figure></li><li>运行容器<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">docker run --detach \</span><br><span class="line">            --name mumble-server \</span><br><span class="line">            --publish 64738:64738/tcp \</span><br><span class="line">            --publish 64738:64738/udp \</span><br><span class="line">            --volume ./data/mumble:/data \</span><br><span class="line">            --restart on-failure \</span><br><span class="line">            mumblevoip/mumble-server:latest</span><br></pre></td></tr></table></figure></li><li>更新与删除<figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 拉取最新版</span></span><br><span class="line"><span class="string">docker</span> <span class="string">pull</span> <span class="string">mumblevoip/mumble-server:latest</span></span><br><span class="line"><span class="comment"># 或拉取指定版本（如 v1.5.634）</span></span><br><span class="line"><span class="string">docker</span> <span class="string">pull</span> <span class="string">mumblevoip/mumble-server:v1.5.634</span></span><br><span class="line"><span class="comment"># 删除</span></span><br><span class="line"><span class="string">docker</span> <span class="string">stop</span> <span class="string">mumble-server</span></span><br><span class="line"><span class="string">docker</span> <span class="string">rm</span> <span class="string">mumble-server</span></span><br></pre></td></tr></table></figure></li></ol></div><div class="tab-item-content" id="test4-3"><ol><li>创建文件夹并进入<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">mkdir</span> mumble &amp;&amp; <span class="built_in">cd</span> mumble</span><br></pre></td></tr></table></figure></li><li>创建并编辑<strong>docker-compose.yml</strong> <kbd>Ctrl</kbd> + <kbd>X</kbd>按<kbd>Y</kbd>，<kbd>Enter</kbd>保存<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><span class="line">services:</span><br><span class="line">  mumble-server:</span><br><span class="line">    image: mumblevoip/mumble-server:latest</span><br><span class="line">    container_name: mumble-server</span><br><span class="line">    hostname: mumble-server</span><br><span class="line">    restart: on-failure</span><br><span class="line">    environment:</span><br><span class="line">      MUMBLE_CUSTOM_CONFIG_FILE: /data/mumble-server.ini</span><br><span class="line">      MUMBLE_SUPERUSER_PASSWORD: password</span><br><span class="line">    ports:</span><br><span class="line">      - 64738:64738</span><br><span class="line">      - 64738:64738/udp</span><br><span class="line">    volumes:</span><br><span class="line">      - ./data:/data</span><br></pre></td></tr></table></figure><div class="note info simple"><p>如果只需要最新版本填写：latest，MUMBLE_SUPERUSER_PASSWORD：Superuser账户密码</p></div></li><li>启动docker <figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> docker compose up -d</span><br></pre></td></tr></table></figure><div class="note info simple"><p><img src="/img/posts/mumble/error.jpg"><br>连接 Docker Hub 时超时,需要更换Docker源。点击查看<a href="https://www.adaiblog.github.io/posts/docker.html#Docker%E6%9B%B4%E6%8D%A2%E6%BA%90">更换方法</a></p></div></li><li>编辑mumble参数,<a class="btn-anzhiyu orange" href="https://github.com/mumble-voip/mumble/blob/master/auxiliary_files/mumble-server.ini"   title="mumble-server.ini"><i class="anzhiyufont anzhiyu-icon-github"></i><span>mumble-server.ini</span></a>配置模板。<br>停止docker compose <figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> docker compose stop</span><br></pre></td></tr></table></figure>进入data并创建mumble配置文件<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">cd</span> data <span class="comment">#docker-compose文件夹中</span></span><br><span class="line"><span class="built_in">sudo</span> nano mumble-server.ini</span><br></pre></td></tr></table></figure><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line"><span class="string">welcometext=&quot;欢迎来到我的服务器&quot;</span> <span class="comment">#欢迎语</span></span><br><span class="line"><span class="string">port=64738</span> <span class="comment">#连接端口号</span></span><br><span class="line"><span class="string">serverpassword=password</span> <span class="comment"># 连接服务器密码</span></span><br><span class="line"><span class="string">users=100</span>    <span class="comment">#连接服务器最高人数</span></span><br><span class="line"><span class="string">registerName=xx</span>   <span class="comment">#默认频道名称  </span></span><br><span class="line"><span class="string">bandwidth=72000</span>  <span class="comment">#带宽，影响音频质量和服务器资源消耗默认72000，可设置更高如96000/128000</span></span><br></pre></td></tr></table></figure>重启docker compose<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> docker compose up -d</span><br></pre></td></tr></table></figure></li><li>更新与删除<figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 更新</span></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">pull</span> <span class="comment">#拉取最新镜像</span></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">up</span> <span class="string">-d</span> <span class="comment">#重新部署容器</span></span><br><span class="line"><span class="comment"># 删除</span></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">down</span> <span class="comment">#基础删除（保留数据卷，仅删除容器和网络）</span></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">down</span> <span class="string">-v</span> <span class="comment">#彻底删除（包括数据卷，数据会丢失）</span></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">down</span> <span class="string">--rmi</span> <span class="string">all</span> <span class="comment">#额外清理（删除未使用的镜像）</span></span><br></pre></td></tr></table></figure></li></ol></div></div><div class="tab-to-top"><button type="button" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div><p>开放外部端口</p><ol><li>本地服务器：在路由器中找到端口转发添加端口</li><li>云服务器：进入服务器实例详情页面-&gt;配置安全组规则-&gt;配置规则-&gt;手动添加-&gt;选择协议类型，目标填写端口号</li></ol>              </div>            </details><details class="folding-tag" blue><summary> 权限管理（ACL） </summary>              <div class='content'>              <h2 id="官方文档"><a href="#官方文档" class="headerlink" title="官方文档"></a>官方文档</h2><p><a class="btn-anzhiyu larger" href="https://www.mumble.info/documentation/administration/acl/"   title="ACL"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>ACL</span></a></p><h2 id="创建分组"><a href="#创建分组" class="headerlink" title="创建分组"></a>创建分组</h2><p>右键默认频道（ROOT）-&gt;编辑-&gt;分组，输入名称点击添加。<br><img src="/img/posts/mumble/mumble0.png"></p><h2 id="添加成员"><a href="#添加成员" class="headerlink" title="添加成员"></a>添加成员</h2><p>分组中选中新增的分组，在成员栏中，需要手动输入管理员名称，点击添加<br><img src="/img/posts/mumble/mumble3.png"></p><div class="note info simple"><p>添加成员必须是注册的用户才能添加。</p></div><h2 id="赋予分组权限"><a href="#赋予分组权限" class="headerlink" title="赋予分组权限"></a>赋予分组权限</h2><p>右键默认频道（ROOT）-&gt;编辑-&gt;ACL（访问控制列表）<br><span class='p red'>@all</span>   所有人<br><span class='p red'>@auth</span>  已注册用户<br><span class='p red'>@in</span>    在这个频道里<br><span class='p red'>@out</span>   在此频道之外<br><span class='p red'>@~sub</span>  子频道<br>点击添加,在分组中找到我们刚添加的分组，在右侧给予相关权限<br><img src="/img/posts/mumble/mumble2.png"></p><div class="note info simple"><p>这里需要注意权限的上下顺序依次覆盖的。如果@all放在最下面，那么我们设置的所有权限都没有任何作用</p></div><h2 id="区分权限范围"><a href="#区分权限范围" class="headerlink" title="区分权限范围"></a>区分权限范围</h2><ol><li>全局权限：在Root频道激活的ACL是可以被任何频道继承的。如果每个频道都勾选继承ACL即可实现全局<br>创建第二个频道，并打开ACL（访问控制列表），这时候默认继承ACL是不勾选的。此时就没有任何管理权限。<div class="gallery">  <div class="fj-gallery page_img_lazyload  data" data-rowHeight="220" data-limit="2"> <span class="gallery-data">[{"url":"/img/posts/mumble/mumble5.png","alt":""},{"url":"/img/posts/mumble/mumble6.png","alt":""}]</span>  </div><button class="gallery-load-more" style="opacity:0">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div></li><li>频道内权限：非ROOt频道创建的权限仅适用于当前频道，如使用相同分组，那么分组中的成员也仅适用于当前频道。<table><thead><tr><th>名称</th><th>适用范围</th><th>详细说明</th></tr></thead><tbody><tr><td>编辑ACL</td><td>频道</td><td>频道控制的写权限，包含除说话外的所有其他权限</td></tr><tr><td>通过</td><td>频道</td><td>允许穿越该频道访问子频道，没有此权限无法访问子频道（是Enter权限的前提）</td></tr><tr><td>进入</td><td>频道</td><td>允许加入并停留在该频道</td></tr><tr><td>说话</td><td>频道</td><td>允许在频道中说话，没有此权限会被服务器静音</td></tr><tr><td>禁言&#x2F;禁听</td><td>频道</td><td>允许静音和禁听其他用户</td></tr><tr><td>移动用户</td><td>频道</td><td>允许将用户从当前频道移动到其他频道，需要源和目标频道都有此权限</td></tr><tr><td>创建频道</td><td>频道</td><td>允许创建新的子频道</td></tr><tr><td>链接频道</td><td>频道</td><td>允许链接频道，需要源和目标频道都有此权限</td></tr><tr><td>文字消息</td><td>频道</td><td>允许在频道中发送文本消息</td></tr><tr><td>密语</td><td>频道</td><td>允许从外部向该频道密语，类似于说话权限，但适用于密语数据包</td></tr><tr><td>创建临时频道</td><td>频道</td><td>允许创建临时子频道</td></tr><tr><td>踢出用户</td><td>服务器</td><td>允许踢出服务器用户，仅在Root频道有效</td></tr><tr><td>封禁用户</td><td>服务器</td><td>允许封禁服务器用户，仅在Root频道有效</td></tr><tr><td>注册用户</td><td>服务器</td><td>允许注册和注销用户，仅在Root频道有效</td></tr><tr><td>注册自己</td><td>服务器</td><td>允许用户注册自己，仅在Root频道有效</td></tr><tr><td>重置用户信息</td><td>服务器</td><td>允许重置用户的评论或头像，仅在Root频道有效</td></tr><tr><td>监听</td><td>频道</td><td>允许收听该频道的声音，没有此权限无法听到频道中的语音</td></tr></tbody></table></li></ol><h2 id="ACL核心逻辑"><a href="#ACL核心逻辑" class="headerlink" title="ACL核心逻辑"></a>ACL核心逻辑</h2><h2 id="ACL管理（参考）"><a href="#ACL管理（参考）" class="headerlink" title="ACL管理（参考）"></a>ACL管理（参考）</h2><ul><li>全局管理员 ：管理整个服务器</li><li>频道_管理员 ：仅管理特定频道及子频道</li><li>频道_成员 ：只能访问特定频道</li><li>专属频道_管理员 ：仅管理该专属频道</li><li>专属频道_成员 ： 仅访问该专属频道</li><li>游客 ：只能访问公共频道</li></ul><div class="note warning simple"><p>Mumble ACL权限生效遵循3条关键规则，直接决定配置是否生效：</p><ol><li><strong>身份多标签匹配</strong>：一个用户会同时属于多个组（如已注册用户&#x3D;auth + 所有人&#x3D;all；管理员&#x3D;管理员组 + auth + all），系统会检查所有匹配该用户的规则；</li><li><strong>拒绝权限优先（Deny &gt; Allow）</strong>：只要有任意一条匹配规则拒绝某权限，即使其他规则允许，最终权限仍为“拒绝”；</li><li><strong>默认拒绝</strong>：所有匹配规则都未明确允许某权限时，默认权限为“拒绝”；</li><li><strong>规则顺序仅作用于：同一用户匹配的多条规则均为“允许”或均为“拒绝”时，按从上到下取第一条生效</strong>。</li></ol></div>### 一、创建用户组#### 1. 创建全局组<ol><li>右键<strong>Root频道</strong> → 编辑 → 分组</li><li>创建以下全局组：<ul><li><code>全局管理员</code>（管理整个服务器）</li><li><code>频道_管理员</code>（仅管理非公共频道）</li><li><code>频道_成员</code>（仅访问非公共频道）</li></ul></li></ol><h3 id="二、详细权限设置"><a href="#二、详细权限设置" class="headerlink" title="二、详细权限设置"></a>二、详细权限设置</h3><h4 id="1-默认权限设置（Root频道）"><a href="#1-默认权限设置（Root频道）" class="headerlink" title="1. 默认权限设置（Root频道）"></a>1. 默认权限设置（Root频道）</h4><ol><li>右键<strong>Root频道</strong> → 编辑 → ACL</li><li>点击<strong>添加</strong>按钮添加新规则</li><li>设置规则：<ul><li><strong>组</strong>：<code>all</code>（所有人）</li><li><strong>权限</strong>：仅勾选<ul><li>通过</li><li>进入</li><li>文字消息    </li><li>其他权限全部拒绝</li></ul></li><li><strong>应用到</strong>：勾选”作用于子频道”和”作用于当前频道”</li></ul></li><li>再次点击<strong>添加</strong>按钮</li><li>设置规则：<ul><li><strong>组</strong>：<code>auth</code>（已注册用户）<ul><li>通过</li><li>进入</li><li>监听</li><li>说话</li><li>文字消息</li><li>其他权限全部拒绝</li></ul></li><li><strong>应用到</strong>：勾选”作用于子频道”和”作用于当前频道”</li></ul></li><li>再次点击<strong>添加</strong>按钮</li><li>设置规则：<ul><li><strong>组</strong>：<code>全局管理员</code></li><li><strong>权限</strong>：勾选需要授予的权限和拒绝的权限</li><li><strong>应用到</strong>：勾选”作用于子频道”和”作用于当前频道”</li></ul></li><li>点击<strong>应用</strong>保存设置</li><li>确保ACL规则按以下顺序排列（从上到下优先级递减）：<ul><li>all</li><li>all</li><li>auth</li><li>全局管理员</li></ul></li></ol><h4 id="2-非公共频道设置"><a href="#2-非公共频道设置" class="headerlink" title="2. 非公共频道设置"></a>2. 非公共频道设置</h4><ol><li>右键<strong>非公共频道</strong> → 编辑 → ACL</li><li>点击<strong>添加</strong>按钮添加新规则</li><li>设置规则：<ul><li><strong>组</strong>：<code>all</code>（所有人）</li><li><strong>权限</strong>：全部拒绝</li><li><strong>应用到</strong>：勾选”作用于子频道”和”作用于当前频道”</li></ul></li><li>再次点击<strong>添加</strong>按钮</li><li>设置规则：<ul><li><strong>组</strong>：<code>频道_成员</code></li><li><strong>权限</strong>：勾选<ul><li>通过</li><li>进入</li><li>说话</li><li>密语</li><li>文字消息</li><li>监听</li><li>其他权限全部拒绝</li></ul></li><li><strong>应用到</strong>：勾选”作用于子频道”和”作用于当前频道”，如果是仅限专属频道的单个频道，勾选”作用于当前频道”即可。</li></ul></li><li>再次点击<strong>添加</strong>按钮</li><li>设置规则：<ul><li>点击<strong>添加</strong>按钮</li><li><strong>组</strong>：<code>频道_管理员</code></li><li><strong>权限</strong>：勾选需要授予的权限和拒绝的权限</li><li><strong>应用到</strong>：勾选”作用于子频道”和”作用于当前频道”</li></ul></li><li>确保ACL规则按以下顺序排列（从上到下优先级递减）：<ul><li>all</li><li>all</li><li>auth</li><li>全局管理员</li><li>all</li><li>频道_成员</li><li>频道_管理员</li></ul></li></ol><h4 id="3-专属频道（不受全局管理员管理）"><a href="#3-专属频道（不受全局管理员管理）" class="headerlink" title="3. 专属频道（不受全局管理员管理）"></a>3. 专属频道（不受全局管理员管理）</h4><ol><li><p>右键<strong>专属频道</strong>设置 → 编辑 → ACL → 取消勾选”继承父频道的ACL”</p></li><li><p>点击<strong>添加</strong>按钮添加新规则</p><ul><li><strong>组</strong>：<code>all</code>（所有人）</li><li><strong>权限</strong>：全部拒绝</li><li><strong>应用到</strong>：勾选”作用于子频道”和”作用于当前频道”</li></ul></li><li><p>再次点击<strong>添加</strong>按钮</p></li><li><p>设置规则：</p><ul><li><strong>组</strong>：输入<code>频道_成员</code></li><li><strong>权限</strong>：勾选<ul><li>通过</li><li>进入</li><li>说话</li><li>密语</li><li>文字消息</li><li>监听</li><li>其他权限全部拒绝</li></ul></li><li><strong>应用到</strong>：勾选”作用于子频道”和”作用于当前频道”，如果是仅限专属频道的单个频道，勾选”作用于当前频道”即可。</li></ul></li><li><p>再次点击<strong>添加</strong>按钮</p></li><li><p>设置规则：</p><ul><li><strong>组</strong>：输入<code>频道_管理员</code></li><li><strong>权限</strong>：勾选需要授予的权限和拒绝的权限</li><li><strong>应用到</strong>：勾选”作用于子频道”和”作用于当前频道”</li></ul></li><li><p>确保ACL规则按以下顺序排列：</p><ul><li>all</li><li>all</li><li>频道_成员</li><li>频道_管理员</li></ul></li></ol><h3 id="三、添加组成员"><a href="#三、添加组成员" class="headerlink" title="三、添加组成员"></a>三、添加组成员</h3><ol><li><p><strong>添加全局管理员</strong>：</p><ul><li>右键<strong>Root频道</strong> → 编辑 → 分组</li><li>选择<code>全局管理员</code>组</li><li>在成员栏输入用户名，点击”添加”</li></ul></li><li><p><strong>添加非全局权限</strong>：</p><ul><li>右键<strong>频道</strong> → 编辑 → 分组</li><li>选择对应管理员或成员组，添加相应用户</li></ul></li></ol><h2 id="视频"><a href="#视频" class="headerlink" title="视频"></a>视频</h2><iframe class="bilibili" src="//player.bilibili.com/player.html?isOutside=true&aid=113545127855121&bvid=BV1RAzMYHEYh&cid=27014269396&p=1&autoplay=0" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true" sandbox="allow-top-navigation allow-same-origin allow-forms allow-scripts"> </iframe>              </div>            </details><details class="folding-tag" pink><summary> Mumble备份文件 </summary>              <div class='content'>              <h1 id="Windows"><a href="#Windows" class="headerlink" title="Windows"></a>Windows</h1><p>数据库：%APPDATA%\Mumble\mumble.sqlite<br>设置：在Windows注册表的HKEY_CURRENT_USER\Software\Mumble\Mumble</p><h1 id="Mac-OS-X"><a href="#Mac-OS-X" class="headerlink" title="Mac OS X"></a>Mac OS X</h1><p>数据库：$HOME&#x2F;Library&#x2F;Application Support&#x2F;Mumble&#x2F;Mumble&#x2F;.mumble.sqlite<br>设置：$HOME&#x2F;Library&#x2F;Preferences&#x2F;net.sourceforge.mumble.Mumble.plist</p><h1 id="Linux"><a href="#Linux" class="headerlink" title="Linux"></a>Linux</h1><p>数据库: $HOME&#x2F;.local&#x2F;share&#x2F;Mumble&#x2F;Mumble&#x2F;mumble.sqlite<br>设置: $HOME&#x2F;.config&#x2F;Mumble&#x2F;Mumble.conf</p>              </div>            </details><details class="folding-tag" red><summary> 故障排除 </summary>              <div class='content'>              <h2 id="常见问题及解决方法"><a href="#常见问题及解决方法" class="headerlink" title="常见问题及解决方法"></a>常见问题及解决方法</h2><h3 id="1-无法连接到服务器"><a href="#1-无法连接到服务器" class="headerlink" title="1. 无法连接到服务器"></a>1. 无法连接到服务器</h3><ul><li>检查服务器地址和端口是否正确</li><li>确认服务器已启动且网络正常</li><li>检查防火墙设置，确保64738端口已开放</li><li>尝试暂时关闭防火墙和杀毒软件</li></ul><h3 id="2-语音质量差或有延迟"><a href="#2-语音质量差或有延迟" class="headerlink" title="2. 语音质量差或有延迟"></a>2. 语音质量差或有延迟</h3><ul><li>检查网络连接，确保带宽充足</li><li>调整客户端压缩质量，降低网络负载</li><li>服务器端增加带宽设置（bandwidth参数）</li><li>关闭其他占用网络资源的应用程序</li></ul><h3 id="3-麦克风无法正常工作"><a href="#3-麦克风无法正常工作" class="headerlink" title="3. 麦克风无法正常工作"></a>3. 麦克风无法正常工作</h3><ul><li>确认麦克风设备已正确连接并设置为默认设备</li><li>检查Mumble中的麦克风设置，确保选择了正确的设备</li><li>调整语音激活阈值或切换到按键发言模式</li><li>检查操作系统的麦克风权限设置</li></ul><h3 id="4-听不到其他用户的声音"><a href="#4-听不到其他用户的声音" class="headerlink" title="4. 听不到其他用户的声音"></a>4. 听不到其他用户的声音</h3><ul><li>确认耳机设备已正确连接并设置为默认设备</li><li>检查Mumble中的音频输出设置，确保选择了正确的设备</li><li>确认未被静音或音量过低</li><li>检查服务器端的权限设置，确保有收听权限</li></ul><h3 id="5-回声问题"><a href="#5-回声问题" class="headerlink" title="5. 回声问题"></a>5. 回声问题</h3><ul><li>启用Mumble中的回声消除功能</li><li>调整麦克风和扬声器的位置，避免近距离放置</li><li>使用耳机替代扬声器</li><li>降低扬声器音量</li></ul><h3 id="6-服务器启动失败"><a href="#6-服务器启动失败" class="headerlink" title="6. 服务器启动失败"></a>6. 服务器启动失败</h3><ul><li>检查配置文件语法是否正确</li><li>确认端口未被其他程序占用</li><li>查看服务器日志文件获取详细错误信息</li><li>尝试使用默认配置文件重新启动</li></ul>              </div>            </details>]]></content>
    
    
    <summary type="html">一份完整的开源语音软件 Mumble 服务器搭建与使用指南。教程涵盖 Windows/Linux 客户端设置、两种服务器部署方式（APT 与 Docker-Compose）、详尽的权限管理（ACL）配置方案以及客户端数据备份方法，助你打造高质量的私有语音开黑环境。</summary>
    
    
    
    <category term="软件" scheme="https://www.adaiblog.github.io/categories/%E8%BD%AF%E4%BB%B6/"/>
    
    <category term="开源" scheme="https://www.adaiblog.github.io/categories/%E5%BC%80%E6%BA%90/"/>
    
    <category term="服务器" scheme="https://www.adaiblog.github.io/categories/%E6%9C%8D%E5%8A%A1%E5%99%A8/"/>
    
    
    <category term="Linux" scheme="https://www.adaiblog.github.io/tags/Linux/"/>
    
    <category term="Windows" scheme="https://www.adaiblog.github.io/tags/Windows/"/>
    
    <category term="Docker" scheme="https://www.adaiblog.github.io/tags/Docker/"/>
    
    <category term="语音软件" scheme="https://www.adaiblog.github.io/tags/%E8%AF%AD%E9%9F%B3%E8%BD%AF%E4%BB%B6/"/>
    
    <category term="语音服务器" scheme="https://www.adaiblog.github.io/tags/%E8%AF%AD%E9%9F%B3%E6%9C%8D%E5%8A%A1%E5%99%A8/"/>
    
  </entry>
  
  <entry>
    <title>从0学习使用Docker</title>
    <link href="https://www.adaiblog.github.io/posts/docker.html"/>
    <id>https://www.adaiblog.github.io/posts/docker.html</id>
    <published>2024-11-01T14:34:13.000Z</published>
    <updated>2026-02-25T15:49:46.441Z</updated>
    
    <content type="html"><![CDATA[<p><a href="https://docs.docker.com/engine/install/debian/#install-using-the-repository">Docker手册</a></p><h2 id="1-安装-Docker-Engine"><a href="#1-安装-Docker-Engine" class="headerlink" title="1. 安装 Docker Engine"></a>1. 安装 Docker Engine</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 执行以下命令卸载所有冲突的软件包</span></span><br><span class="line"><span class="keyword">for</span> pkg <span class="keyword">in</span> docker.io docker-doc docker-compose podman-docker containerd runc; <span class="keyword">do</span> <span class="built_in">sudo</span> apt-get remove <span class="variable">$pkg</span>; <span class="keyword">done</span></span><br><span class="line"><span class="comment"># 安装依赖  </span></span><br><span class="line"><span class="built_in">sudo</span> apt install apt-transport-https ca-certificates curl software-properties-common -y  </span><br><span class="line"></span><br><span class="line"><span class="comment"># 添加 Docker GPG 密钥  </span></span><br><span class="line"><span class="built_in">sudo</span> apt update</span><br><span class="line"><span class="built_in">sudo</span> apt install ca-certificates curl</span><br><span class="line"><span class="built_in">sudo</span> install -m 0755 -d /etc/apt/keyrings</span><br><span class="line"><span class="built_in">sudo</span> curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc</span><br><span class="line"><span class="built_in">sudo</span> <span class="built_in">chmod</span> a+r /etc/apt/keyrings/docker.asc</span><br><span class="line"></span><br><span class="line"><span class="comment"># 将存储库添加到Apt源代码中</span></span><br><span class="line"><span class="built_in">echo</span> \</span><br><span class="line"><span class="string">&quot;deb [arch=<span class="subst">$(dpkg --print-architecture)</span> signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \</span></span><br><span class="line"><span class="string"><span class="subst">$(. /etc/os-release &amp;&amp; echo <span class="string">&quot;<span class="variable">$VERSION_CODENAME</span>&quot;</span>)</span> stable&quot;</span> | \</span><br><span class="line"><span class="built_in">sudo</span> <span class="built_in">tee</span> /etc/apt/sources.list.d/docker.list &gt; /dev/null</span><br><span class="line"><span class="built_in">sudo</span> apt update</span><br><span class="line"></span><br><span class="line"><span class="comment">#安装Docker软件包</span></span><br><span class="line"><span class="built_in">sudo</span> apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin  </span><br></pre></td></tr></table></figure><h2 id="Docker命令"><a href="#Docker命令" class="headerlink" title="Docker命令"></a>Docker命令</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> docker ps                 // 查看所有正在运行容器</span><br><span class="line"><span class="built_in">sudo</span> docker ps -a              // 查看所有容器</span><br><span class="line"><span class="built_in">sudo</span> docker ps -a -q           // 查看所有容器ID</span><br><span class="line"><span class="built_in">sudo</span> docker stop 容器ID        //停止指定容器</span><br><span class="line"><span class="built_in">sudo</span> docker <span class="built_in">kill</span> 容器名称或ID  //强制停止指定容器</span><br><span class="line"><span class="built_in">sudo</span> docker <span class="built_in">rm</span> 容器名称或ID    //删除指定容器</span><br><span class="line"><span class="built_in">sudo</span> systemctl start docker   //启动Docker进程</span><br><span class="line"><span class="built_in">sudo</span> systemctl daemon-reload  //守护Docker进程</span><br><span class="line"><span class="built_in">sudo</span> systemctl restart docker //重启Docker进程</span><br><span class="line"><span class="built_in">sudo</span> systemctl stop docker     //关闭Docker进程  </span><br><span class="line"><span class="built_in">sudo</span> usermod -aG docker user   //将用户加入docker组</span><br><span class="line"><span class="built_in">sudo</span> apt purge docker-ce </span><br><span class="line"><span class="built_in">sudo</span> apt purge docker-ce-cli</span><br><span class="line"><span class="built_in">sudo</span> apt purge docker-containerd.io  //卸载docker</span><br></pre></td></tr></table></figure><h3 id="创建Docker组"><a href="#创建Docker组" class="headerlink" title="创建Docker组"></a>创建Docker组</h3><ol><li>确认 docker 组是否存在<figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="string">getent</span> <span class="string">group</span> <span class="string">docker</span></span><br><span class="line"><span class="comment"># 若输出类似 docker:x:999:, 说明组已存在，直接进行步骤 2</span></span><br><span class="line"><span class="comment"># 若无输出，需先手动创建 docker 组</span></span><br><span class="line"><span class="string">sudo</span> <span class="string">groupadd</span> <span class="string">docker</span></span><br></pre></td></tr></table></figure></li><li>将当前用户加入 docker 组<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sudo usermod -aG docker $USER</span><br></pre></td></tr></table></figure></li><li>重启设备刷新用户组权限</li><li>验证是否成功<figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="string">docker</span> <span class="string">ps</span></span><br><span class="line"><span class="comment"># 若仍提示 Permission denied，请检查步骤是否正确，或重启系统后再试。</span></span><br></pre></td></tr></table></figure></li></ol><h3 id="Docker更换源"><a href="#Docker更换源" class="headerlink" title="Docker更换源"></a>Docker更换源</h3><p>打开编辑（现在很多镜像地址都不能用了，建议搜索最新镜像地址进行尝试）<br>sudo nano &#x2F;etc&#x2F;docker&#x2F;daemon.json</p><figure class="highlight json"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="punctuation">&#123;</span></span><br><span class="line">  <span class="attr">&quot;registry-mirrors&quot;</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line">    <span class="string">&quot;https://docker.mirrors.ustc.edu.cn&quot;</span><span class="punctuation">,</span></span><br><span class="line">    <span class="string">&quot;https://hub-mirror.c.163.com&quot;</span><span class="punctuation">,</span></span><br><span class="line">    <span class="string">&quot;https://registry.docker-cn.com&quot;</span></span><br><span class="line">  <span class="punctuation">]</span></span><br><span class="line"><span class="punctuation">&#125;</span></span><br></pre></td></tr></table></figure><kbd>Ctrl</kbd>+<kbd>X</kbd>后按<kbd>Y</kbd>,再按<kbd>Enter</kbd>进行保存<p>重启Docker服务</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> systemctl daemon-reload</span><br><span class="line"><span class="built_in">sudo</span> systemctl restart docker</span><br></pre></td></tr></table></figure><h3 id="设置Docker安装路径"><a href="#设置Docker安装路径" class="headerlink" title="设置Docker安装路径"></a>设置Docker安装路径</h3><p>首先停止正在运行的Docker服务</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> systemctl stop docker</span><br></pre></td></tr></table></figure><p>复制数据到新路径,<strong>&#x2F;new&#x2F;path&#x2F;docker</strong>为新的储存路径</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> <span class="built_in">cp</span> -r /var/lib/docker /new/path/docker</span><br></pre></td></tr></table></figure><p>修改Docker守护进程配置,编辑Docker的配置文件 <strong>&#x2F;etc&#x2F;docker&#x2F;daemon.json</strong></p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">&#123;</span><br><span class="line">  <span class="string">&quot;data-root&quot;</span>: <span class="string">&quot;/new/path/docker&quot;</span>,  <span class="comment">#(如果文件里还有其他内容比如设置镜像，这里要加一个，)</span></span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p>重启Docker并验证</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> systemctl start docker</span><br></pre></td></tr></table></figure><h3 id="操作指令"><a href="#操作指令" class="headerlink" title="操作指令"></a>操作指令</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">docker pull xxx <span class="comment">#从 Docker Hub 中拉出新版本</span></span><br><span class="line">docker stop xxx <span class="comment">#停止当前运行的容器</span></span><br><span class="line">docker <span class="built_in">rm</span> xxx <span class="comment"># 移除当前运行的容器</span></span><br></pre></td></tr></table></figure><h2 id="Docker-Compose"><a href="#Docker-Compose" class="headerlink" title="Docker-Compose"></a>Docker-Compose</h2><h3 id="安装"><a href="#安装" class="headerlink" title="安装"></a>安装</h3><p><a href="https://hub.docker.com/">Docker Hub</a>，<a href="https://docs.docker.com/compose/install/standalone/">Docker-compose</a>文档</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">docker compose version</span><br></pre></td></tr></table></figure><p>查看是否docker-compose版本确认是否安装<br>Docker Compose 通常与 Docker 一起安装。如果你已经安装了 Docker，不再需要额外安装，如果没有安装也可以手动安装<br>这里下载地址是<code>v2.39.4</code>版本也可以根据最新版本进行修改</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 下载 Docker Compose 二进制</span></span><br><span class="line">curl -SL https://github.com/docker/compose/releases/download/v2.39.4/docker-compose-linux-x86_64 -o <span class="variable">$DOCKER_CONFIG</span>/cli-plugins/docker-compose</span><br><span class="line"></span><br><span class="line"><span class="comment"># 赋予执行</span></span><br><span class="line"><span class="built_in">chmod</span> +x /usr/local/bin/docker-compose</span><br></pre></td></tr></table></figure><p>如果无法从github上下载docker-compose文件，用电脑浏览器打开<a href="https://github.com/docker/compose/releases">Docker-compose</a>并下载对应文件上传到linux服务器的<a>&#x2F;usr&#x2F;local&#x2F;bin</a>目录中并赋予权限(注意修改文件名称)</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> <span class="built_in">chmod</span> +x /usr/local/bin/docker-compose</span><br></pre></td></tr></table></figure><h3 id="使用"><a href="#使用" class="headerlink" title="使用"></a>使用</h3><p>每个项目在docker中创建相对应项目名称</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">cd</span> /home/docker</span><br><span class="line"><span class="built_in">mkdir</span> 项目名称</span><br><span class="line"><span class="built_in">cd</span> 项目名称</span><br></pre></td></tr></table></figure><p>再在项目名称目录里创建docker compose文件进行编辑</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> nano docker-compose.yml</span><br></pre></td></tr></table></figure><p>文件保存之后，部署项目</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> docker compose up -d</span><br></pre></td></tr></table></figure><h3 id="更新"><a href="#更新" class="headerlink" title="更新"></a>更新</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">docker-compose pull <span class="comment">#拉取最新镜像</span></span><br><span class="line">docker-compose up -d <span class="comment">#重新部署容器</span></span><br></pre></td></tr></table></figure><h3 id="卸载"><a href="#卸载" class="headerlink" title="卸载"></a>卸载</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">docker-compose down <span class="comment">#基础删除（保留数据卷，仅删除容器和网络）</span></span><br><span class="line">docker-compose down -v <span class="comment">#彻底删除（包括数据卷，数据会丢失）</span></span><br><span class="line">docker-compose down --rmi all <span class="comment">#额外清理（删除未使用的镜像）</span></span><br></pre></td></tr></table></figure><h3 id="查看日志"><a href="#查看日志" class="headerlink" title="查看日志"></a>查看日志</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">docker compose <span class="built_in">log</span> 项目名</span><br></pre></td></tr></table></figure><h2 id="报错"><a href="#报错" class="headerlink" title="报错"></a>报错</h2><ol><li><p>Warning: Stopping docker.service, but it can still be activated by: docker.socket<br>Docker默认开启自动唤醒机制，首先关掉docker.socket</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> systemctl stop docker.socket   </span><br></pre></td></tr></table></figure></li><li><p>错误二<br><img src="/img/posts/docker/error2.jpg"><br>解： 是由于系统缺少 Docker 官方仓库的 GPG 公钥，导致 APT 包管理器无法验证软件包签名。<br>输入命令添加Docker密钥</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc</span><br><span class="line"><span class="built_in">sudo</span> <span class="built_in">chmod</span> a+r /etc/apt/keyrings/docker.asc</span><br></pre></td></tr></table></figure></li></ol>]]></content>
    
    
    <summary type="html">一份面向新手的 Docker 与 Docker Compose 入门指南。内容涵盖在 Debian 系统上的安装、常用命令、更换国内镜像源以及使用 Docker Compose 部署项目的完整流程，助你从零开始掌握容器技术。</summary>
    
    
    
    <category term="软件" scheme="https://www.adaiblog.github.io/categories/%E8%BD%AF%E4%BB%B6/"/>
    
    
    <category term="Linux" scheme="https://www.adaiblog.github.io/tags/Linux/"/>
    
    <category term="Docker" scheme="https://www.adaiblog.github.io/tags/Docker/"/>
    
  </entry>
  
  <entry>
    <title>Windows系统设置和优化</title>
    <link href="https://www.adaiblog.github.io/posts/windwos.html"/>
    <id>https://www.adaiblog.github.io/posts/windwos.html</id>
    <published>2024-10-30T19:39:19.000Z</published>
    <updated>2025-10-17T09:49:10.923Z</updated>
    
    <content type="html"><![CDATA[<script>let isConverting = false;function convertUnits(sourceUnit) {    if(isConverting) return;    isConverting = true;    const gbField = document.getElementById('gbValue');    const mbField = document.getElementById('mbValue');        try {        // 移除所有非数字字符（包括逗号）        const cleanValue = (value) => parseFloat(value.toString().replace(/[^0-9.]/g, '')) || 0;        if(sourceUnit === 'gb') {            const gb = cleanValue(gbField.value);            mbField.value = smartFormat(gb * 1024, 'mb');        } else {            const mb = cleanValue(mbField.value);            gbField.value = smartFormat(mb / 1024, 'gb');        }    } finally {        isConverting = false;    }}// 新格式化函数（禁用逗号分隔）function smartFormat(value, unit) {    const config = {        gb: { decimals: 5, min: 0.00001 },        mb: { decimals: 3, min: 1 }    }[unit];        return (value < config.min && value !== 0)         ? value.toFixed(config.decimals)        : value.toLocaleString(undefined, {             maximumFractionDigits: config.decimals,            useGrouping: false  // 禁用千分位逗号          });}</script><details class="folding-tag" blue><summary> 基础操作 </summary>              <div class='content'>              <details class="folding-tag" ><summary> 磁盘分区 </summary>              <div class='content'>              <p>win+r输入</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">diskmgmt.msc</span><br></pre></td></tr></table></figure><div style="display: flex; align-items: center; gap: 8px; font-family: monospace;">    <input type="number"           id="gbValue"           style="width: 80px; padding: 6px; border: 1px solid #4CAF50; text-align: center;"           placeholder="0"           oninput="convertUnits('gb')">    <span>GB =</span>    <input type="number"           id="mbValue"           style="width: 120px; padding: 6px; border: 1px solid #2196F3; text-align: center;"           placeholder="0"           oninput="convertUnits('mb')">    <span>MB</span></div>              </div>            </details><details class="folding-tag" ><summary> 映射磁盘 </summary>              <div class='content'>              <ol><li>WebDav等需要映射到windwos本地的使用，如果是http地址需要修改注册表<br>Win+s搜索注册表，进入以下地址，计算机<code>\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters</code>，<code>BasicAuthLevel</code>的值改为<code>2</code>，1：仅支持https 2：支持http和https<br>可以右键网络-&gt;映射网络驱动器-&gt;输入的地址-&gt;完成-&gt;输入账号密码<div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="500" data-limit="2"> <span class="gallery-data">[{"url":"/img/posts/windows/yingshe.png","alt":""},{"url":"/img/posts/windows/yingshe2.png","alt":""},{"url":"/img/posts/windows/yingshe3.png","alt":""}]</span>  </div><button class="gallery-load-more" style="">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div></li><li>链接smb<br>打开此电脑，地址栏输入<code>\\</code>ip地址（比如：\192.168.50.85）随后输入账号密码，即可访问<br><img src="/img/posts/windows/smb1.png"></li><li>映射OneDrive<br>登陆<a href="https://onedrive.live.com/">OneDrive</a>之后复制cid&#x3D;”复制里面的内容”<div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="500" data-limit="2"> <span class="gallery-data">[{"url":"/img/posts/windows/yingshe.png","alt":""},{"url":"/img/posts/windows/yingshe2.png","alt":""}]</span>  </div><button class="gallery-load-more" style="">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div>文件夹填写`https://d.docs.live.net/复制内容`，之后登陆微软账号密码即可，如果有2FA验证需要创建并输入[应用密码](https://account.live.com/proofs/AppPassword)地址栏输入</li></ol>              </div>            </details>              </div>            </details><details class="folding-tag" green><summary> 去广告 </summary>              <div class='content'>              <details class="folding-tag" ><summary> 搜索栏热门搜索 </summary>              <div class='content'>              <ol><li>Win+S搜索CMD管理员运行输入代码并重启。<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">reg add HKCU\Software\Policies\Microsoft\Windows\explorer /v DisableSearchBoxSuggestions /t reg_dword /d 1 /f </span><br></pre></td></tr></table></figure></li><li>右键下方任务栏，咨询与兴趣关闭</li></ol>              </div>            </details>              </div>            </details><details class="folding-tag" orange><summary> 游戏优化 </summary>              <div class='content'>              <details class="folding-tag" ><summary> 关闭鼠标加速度 </summary>              <div class='content'>              <p>win+s搜索输入鼠标设置,点击相关设置中的鼠标选项，点击指针设置，激昂提高指针精度关掉<br><img src="/img/posts/windows/shubiaojiasudu.jpg" alt="关闭鼠标加速度"></p>              </div>            </details><details class="folding-tag" ><summary> 开启高性能模式 </summary>              <div class='content'>              <p>win+s输入电源点击选择电源计划，选择高性能模式或者CPU的电源计划<br><img src="/img/posts/windows/gaoxingneng" alt="高性能模式"></p>              </div>            </details>              </div>            </details><details class="folding-tag" purple><summary> window优化设置 </summary>              <div class='content'>              <details class="folding-tag" ><summary> 隐私设置 </summary>              <div class='content'>              <p>win+s输入设置，点击隐私</p><ol><li>常规中全部关闭</li><li>诊断和反馈中全部关闭，反馈频率设置为从不</li></ol>              </div>            </details><details class="folding-tag" ><summary> 关闭windwos自动更新 </summary>              <div class='content'>              <p>WIn+r输入services.msc找到Windwos Update点击，启动类型改为禁用，在点击上方的回复，将失败后的操作改为无操作</p><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="220" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/windows/jinzhigengxin1.jpg","alt":"禁止更新"},{"url":"/img/posts/windows/jinzhigengxin2.jpg","alt":"禁止更新"}]</span>  </div><button class="gallery-load-more" style="opacity:0">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div>              </div>            </details><details class="folding-tag" ><summary> 关闭休眠 </summary>              <div class='content'>              <p>WIn+r输入CMD，点击以管理员身份运行，输入</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">powercfg -h off</span><br></pre></td></tr></table></figure>              </div>            </details>              </div>            </details>]]></content>
    
    
    <summary type="html">一份实用的 Windows 系统优化与设置指南。内容涵盖磁盘分区大小计算、网络驱动器映射（WebDAV/SMB/OneDrive）、去除任务栏广告与热门搜索、游戏性能优化（关闭鼠标加速/高性能模式）以及系统隐私和自动更新设置。</summary>
    
    
    
    <category term="系统" scheme="https://www.adaiblog.github.io/categories/%E7%B3%BB%E7%BB%9F/"/>
    
    
    <category term="Windows" scheme="https://www.adaiblog.github.io/tags/Windows/"/>
    
  </entry>
  
  <entry>
    <title>Linux系统：Debian</title>
    <link href="https://www.adaiblog.github.io/posts/debian.html"/>
    <id>https://www.adaiblog.github.io/posts/debian.html</id>
    <published>2024-10-30T15:51:43.000Z</published>
    <updated>2026-02-25T15:49:48.545Z</updated>
    
    <content type="html"><![CDATA[<p>记录一下从0开始安装debian服务器系统</p><h1 id="下载"><a href="#下载" class="headerlink" title="下载"></a>下载</h1><p>因为设备性能和用途原因这里我选择安装无桌面版本<br>打开<a href="https://www.debian.org/index.zh-cn.html">debian</a>官网，直接点击下载的ios是网络安装，速度比较慢并且无法离线安装，我们点击<mark class="hl-label blue">其他下载链接</mark> ，选择<mark class="hl-label pink">镜像站点</mark> 找到中国大陆选择其中一个，点击<mark class="hl-label red">current-live</mark> 这个是当前最新版本。之后选择<mark class="hl-label green">AMD64</mark> -&gt;<mark class="hl-label orange">iso-hybrid</mark> 里面有很多版本，这里我们选择<mark class="hl-label purple">standard.ios</mark> 标准版下载即可</p><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="220" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/debian/debiandownload.png","alt":""},{"url":"/img/posts/debian/debiandownload2.png","alt":""},{"url":"/img/posts/debian/debiandownload3.png","alt":""}]</span>  </div><button class="gallery-load-more" style="opacity:0">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div><p>下载完成之后，开始制作U盘启动器。首先下载U盘启动器工具：<a href="https://github.com/pbatard/rufus/releases">Rufus</a>，选择U盘设备并导入ios文件开始制作。<br><img src="/img/posts/debian/rufus.png" width="300"></p><h1 id="安装"><a href="#安装" class="headerlink" title="安装"></a>安装</h1><p>将优盘插入需要安装的设备上，开机按<kbd>Del</kbd>进入bios将u盘设置第一启动项并重启。<br>来到安装页面，选择<mark class="hl-label green">Start Installer</mark> 开始安装<br><img src="/img/posts/debian/debianinstall.jpg" width="500"><br>语言选择<mark class="hl-label green">English</mark> ，地区选择<mark class="hl-label orange">HongKong</mark> ，键盘映射选择<mark class="hl-label pink">American English</mark> </p><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="220" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/debian/debianinstall2.jpg","alt":""},{"url":"/img/posts/debian/debianinstall3.jpg","alt":""},{"url":"/img/posts/debian/debianinstall4.jpg","alt":""}]</span>  </div><button class="gallery-load-more" style="opacity:0">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div><p>主机名称<mark class="hl-label green">debian</mark> ，Domain name<mark class="hl-label red">不填跳过</mark> ，设置<mark class="hl-label pink">Root密码</mark> ，创建<mark class="hl-label blue">新用户</mark> ，创建<mark class="hl-label orange">新用户密码</mark> </p><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="220" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/debian/debianinstall5.jpg","alt":""},{"url":"/img/posts/debian/debianinstall6.jpg","alt":""},{"url":"/img/posts/debian/debianinstall7.jpg","alt":""},{"url":"/img/posts/debian/debianinstall8.jpg","alt":""},{"url":"/img/posts/debian/debianinstall9.jpg","alt":""}]</span>  </div><button class="gallery-load-more" style="opacity:0">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div><p>磁盘安装方式<mark class="hl-label green">use entire disk</mark> ，选择<mark class="hl-label red">安装系统的硬盘</mark> ，分区方式选择<mark class="hl-label pink">/home,/var,/tmp</mark> ，完成磁盘设置<mark class="hl-label blue">Finish Partitioning</mark> ，进行格式化<mark class="hl-label orange">yes</mark> </p><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="220" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/debian/debianinstall10.jpg","alt":""},{"url":"/img/posts/debian/debianinstall11.jpg","alt":""},{"url":"/img/posts/debian/debianinstall12.jpg","alt":""},{"url":"/img/posts/debian/debianinstall13.jpg","alt":""},{"url":"/img/posts/debian/debianinstall14.jpg","alt":""}]</span>  </div><button class="gallery-load-more" style="opacity:0">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div><p>是否选择网络镜像，根据自己需求选择<mark class="hl-label blue">No</mark> 或者<mark class="hl-label red">YES</mark> <br>如果是YES选择<mark class="hl-label pink">China</mark> ，点击163，tuna等国内镜像。<br>网络代理<mark class="hl-label orange">不填</mark> 等待安装完成。之后拔掉U盘重启电脑。</p><div class="gallery">  <div class="fj-gallery page_img_lazyload lazyload btn_album_detail_lazyload data" data-rowHeight="220" data-limit="2">    <span class="gallery-data">[{"url":"/img/posts/debian/debianinstall15.jpg","alt":""},{"url":"/img/posts/debian/debianinstall16.jpg","alt":""},{"url":"/img/posts/debian/debianinstall17.jpg","alt":""},{"url":"/img/posts/debian/debianinstall18.jpg","alt":""}]</span>  </div><button class="gallery-load-more" style="opacity:0">  <span>加载更多</span>  <i class="anzhiyufont anzhiyu-icon-arrow-down"></i>  </button></div><h1 id="系统操作"><a href="#系统操作" class="headerlink" title="系统操作"></a>系统操作</h1><h3 id="更新系统和软件包"><a href="#更新系统和软件包" class="headerlink" title="更新系统和软件包"></a>更新系统和软件包</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">apt update </span><br><span class="line">apt upgrade</span><br></pre></td></tr></table></figure><p>无法apt更新解决办法</p><p>检查是否能ping通8.8.8.8排除是否是检查网线&#x2F;路由器&#x2F;防火墙</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ping 8.8.8.8</span><br></pre></td></tr></table></figure><p>打开DNS配置文件并加添DNS地址</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">nano /etc/resolv.conf</span><br><span class="line">nameserver 8.8.8.8</span><br></pre></td></tr></table></figure><kbd>Ctrl</kbd>+<kbd>X</kbd>后按<kbd>Y</kbd>,再按<kbd>Enter</kbd>进行保存<p>如果还是不可以检查网络接口状态</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">ip a</span><br><span class="line"><span class="comment"># DHCP 自动获取</span></span><br><span class="line">dhclient 接口名称</span><br></pre></td></tr></table></figure><h3 id="开启远程ssh访问"><a href="#开启远程ssh访问" class="headerlink" title="开启远程ssh访问"></a>开启远程ssh访问</h3><p>可以下载ssh远程进行登录操作（如果有防火墙开启22端口）</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">apt instal openssh-server  //下载ssh</span><br><span class="line">service ssh restart //重启ssh服务</span><br></pre></td></tr></table></figure><p>要想远程登录Root用户，需要对ssh配置文件进行修改</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">nano /etc/ssh/sshd_config </span><br></pre></td></tr></table></figure><p>将<a>#PermitRootLogin prohibit-password</a>改成<mark class="hl-label red">PermitRootLogin yes</mark> ，<a>#PasswordAuthentication yes</a>前面的<mark class="hl-label red">#</mark> 取消</p><kbd>Ctrl</kbd>+<kbd>X</kbd>后按<kbd>Y</kbd>,再按<kbd>Enter</kbd>进行保存,并重启SSH<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">service ssh restart </span><br></pre></td></tr></table></figure><h3 id="同步时间"><a href="#同步时间" class="headerlink" title="同步时间"></a>同步时间</h3><p>如果服务器时间和本地时间有误差会导致部署项目的2FA与本地不一致导致无法使用<br>查看时间</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">date</span></span><br></pre></td></tr></table></figure><p>下载NTP同步时间</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> apt install ntp -y</span><br><span class="line"><span class="built_in">sudo</span> service ntp start</span><br></pre></td></tr></table></figure><h3 id="安装sudo"><a href="#安装sudo" class="headerlink" title="安装sudo"></a>安装sudo</h3><p>如果使用sudo提示<code>bash: sudo: command not found</code></p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">su root</span><br><span class="line">apt install <span class="built_in">sudo</span> -y</span><br></pre></td></tr></table></figure><h2 id="操作语法"><a href="#操作语法" class="headerlink" title="操作语法"></a>操作语法</h2><details class="folding-tag" ><summary> 基本操作 </summary>              <div class='content'>              <h3 id="清理屏幕"><a href="#清理屏幕" class="headerlink" title="清理屏幕"></a>清理屏幕</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">clear</span><br></pre></td></tr></table></figure><h3 id="安装应用"><a href="#安装应用" class="headerlink" title="安装应用"></a>安装应用</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">apt install xx</span><br></pre></td></tr></table></figure><h3 id="卸载应用"><a href="#卸载应用" class="headerlink" title="卸载应用"></a>卸载应用</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> apt --purge remove xxxx</span><br></pre></td></tr></table></figure><h3 id="删除文件"><a href="#删除文件" class="headerlink" title="删除文件"></a>删除文件</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">rm</span> 文件名</span><br></pre></td></tr></table></figure>              </div>            </details><details class="folding-tag" ><summary> 创建用户 </summary>              <div class='content'>              <h3 id="创建用户"><a href="#创建用户" class="headerlink" title="创建用户"></a>创建用户</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> adduser 用户名</span><br></pre></td></tr></table></figure><h3 id="用户成为sudo用户"><a href="#用户成为sudo用户" class="headerlink" title="用户成为sudo用户"></a>用户成为sudo用户</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> adduser xxx <span class="built_in">sudo</span></span><br></pre></td></tr></table></figure><h3 id="删除用户"><a href="#删除用户" class="headerlink" title="删除用户"></a>删除用户</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> deluser --remove-home 用户名</span><br><span class="line"><span class="built_in">sudo</span> userdel 用户名</span><br></pre></td></tr></table></figure>              </div>            </details><details class="folding-tag" ><summary> 挂在硬盘 </summary>              <div class='content'>              <h2 id="在目录-mnt下面创建一个文件夹"><a href="#在目录-mnt下面创建一个文件夹" class="headerlink" title="在目录&#x2F;mnt下面创建一个文件夹"></a>在目录&#x2F;mnt下面创建一个文件夹</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> <span class="built_in">mkdir</span> yingpan</span><br></pre></td></tr></table></figure><h2 id="查询添加的磁盘-找到所需磁盘"><a href="#查询添加的磁盘-找到所需磁盘" class="headerlink" title="查询添加的磁盘,找到所需磁盘"></a>查询添加的磁盘,找到所需磁盘</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> fdisk -l</span><br></pre></td></tr></table></figure><h2 id="格式化硬盘为ext4格式，后面路径未查询到新硬盘的路径请自行修改"><a href="#格式化硬盘为ext4格式，后面路径未查询到新硬盘的路径请自行修改" class="headerlink" title="格式化硬盘为ext4格式，后面路径未查询到新硬盘的路径请自行修改"></a>格式化硬盘为ext4格式，后面路径未查询到新硬盘的路径请自行修改</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">mkfs -t ext4 /dev/sda1</span><br></pre></td></tr></table></figure><h2 id="挂载"><a href="#挂载" class="headerlink" title="挂载"></a>挂载</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">mount  /dev/sda1 /mnt/yingpan</span><br></pre></td></tr></table></figure><h2 id="取消挂载"><a href="#取消挂载" class="headerlink" title="取消挂载"></a>取消挂载</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">umount /dev/sda1</span><br></pre></td></tr></table></figure><h2 id="设置开机自动挂载"><a href="#设置开机自动挂载" class="headerlink" title="设置开机自动挂载"></a>设置开机自动挂载</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> vim /etc/fstab</span><br><span class="line">/dev/sda1   /mnt/yingoan   ext4     defaults</span><br></pre></td></tr></table></figure><h2 id="生效"><a href="#生效" class="headerlink" title="生效"></a>生效</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> mount -a</span><br></pre></td></tr></table></figure>              </div>            </details><h2 id="软件安装"><a href="#软件安装" class="headerlink" title="软件安装"></a>软件安装</h2><details class="folding-tag" ><summary> 防火墙ufw </summary>              <div class='content'>              <h3 id="安装ufw"><a href="#安装ufw" class="headerlink" title="安装ufw"></a>安装ufw</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> apt install ufw</span><br></pre></td></tr></table></figure><h2 id="设置跟随系统启动"><a href="#设置跟随系统启动" class="headerlink" title="设置跟随系统启动"></a>设置跟随系统启动</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> ufw <span class="built_in">enable</span></span><br><span class="line"><span class="built_in">sudo</span> ufw default deny</span><br></pre></td></tr></table></figure><h2 id="检查ufw状态"><a href="#检查ufw状态" class="headerlink" title="检查ufw状态"></a>检查ufw状态</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> ufw status </span><br></pre></td></tr></table></figure><h2 id="添加删除规则"><a href="#添加删除规则" class="headerlink" title="添加删除规则"></a>添加删除规则</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> ufw allow 端口号 </span><br><span class="line"><span class="built_in">sudo</span> ufw delete allow 端口号   </span><br></pre></td></tr></table></figure>              </div>            </details><details class="folding-tag" ><summary> SMB局域网 </summary>              <div class='content'>              <h2 id="安装smb"><a href="#安装smb" class="headerlink" title="安装smb"></a>安装smb</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> apt install samba</span><br></pre></td></tr></table></figure><h2 id="查看samba版本"><a href="#查看samba版本" class="headerlink" title="查看samba版本"></a>查看samba版本</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">samba --version</span><br></pre></td></tr></table></figure><h2 id="配置samba文件，按i进入编辑"><a href="#配置samba文件，按i进入编辑" class="headerlink" title="配置samba文件，按i进入编辑"></a>配置samba文件，按i进入编辑</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> nano /etc/samba/smb.conf</span><br></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line">[编辑分享文件夹名称]</span><br><span class="line">   comment = 介绍</span><br><span class="line">   browseable = <span class="built_in">yes</span></span><br><span class="line">   path = 分享文件路径</span><br><span class="line">   create mask = 0777</span><br><span class="line">   directory mask = 0777</span><br><span class="line">   valid <span class="built_in">users</span> = user</span><br><span class="line">   public = <span class="built_in">yes</span></span><br><span class="line">   available = <span class="built_in">yes</span></span><br><span class="line">   writable = <span class="built_in">yes</span></span><br></pre></td></tr></table></figure><div class="note info modern"><p>info 默认是开启home共享的，如不需要，在&#x2F;etc&#x2F;samba&#x2F;smb.conf中将[homes]前面加一个#注释掉</p></div>path填写文件目录，valid users输入用户名随后进行创建，ctrl+x按Y保存<h2 id="创建用户，user可任意填写名称只要与上方配置文件保持一致即可"><a href="#创建用户，user可任意填写名称只要与上方配置文件保持一致即可" class="headerlink" title="创建用户，user可任意填写名称只要与上方配置文件保持一致即可"></a>创建用户，user可任意填写名称只要与上方配置文件保持一致即可</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> smbpasswd -a user</span><br></pre></td></tr></table></figure><h2 id="创建samba文件夹"><a href="#创建samba文件夹" class="headerlink" title="创建samba文件夹"></a>创建samba文件夹</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> <span class="built_in">mkdir</span> /samba/share</span><br></pre></td></tr></table></figure><h2 id="开启端口"><a href="#开启端口" class="headerlink" title="开启端口"></a>开启端口</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> ufw allow 445</span><br></pre></td></tr></table></figure><p>##如果连接提示禁止访问，修改文件夹访问权限</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> <span class="built_in">chmod</span> -R 777 /samba</span><br></pre></td></tr></table></figure><h2 id="重启samba服务"><a href="#重启samba服务" class="headerlink" title="重启samba服务"></a>重启samba服务</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> service smbd restart</span><br></pre></td></tr></table></figure><h2 id="如果不使用了关闭samba"><a href="#如果不使用了关闭samba" class="headerlink" title="如果不使用了关闭samba"></a>如果不使用了关闭samba</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> service smbd stop</span><br></pre></td></tr></table></figure><p>Windows链接SMB：打开此电脑，地址栏输入<mark class="hl-label green">\\ip地址</mark> （比如：\\192.168.50.85）随后输入账号密码，即可访问</p><p><img src="/img/posts/windows/smb1.png"></p>              </div>            </details><details class="folding-tag" ><summary> 安装vim编辑器 </summary>              <div class='content'>              <figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">sudo</span> apt install vim</span><br></pre></td></tr></table></figure>              </div>            </details>]]></content>
    
    
    <summary type="html">本文是一份详细的 Debian无桌面版服务器安装指南，从镜像下载、制作启动盘到分区设置全程详解，并包含基础系统操作、SSH远程访问、磁盘挂载以及Samba共享等必备后期配置教程。</summary>
    
    
    
    <category term="系统" scheme="https://www.adaiblog.github.io/categories/%E7%B3%BB%E7%BB%9F/"/>
    
    
    <category term="Linux" scheme="https://www.adaiblog.github.io/tags/Linux/"/>
    
  </entry>
  
  <entry>
    <title>超好用的Windows应用</title>
    <link href="https://www.adaiblog.github.io/posts/winapp.html"/>
    <id>https://www.adaiblog.github.io/posts/winapp.html</id>
    <published>2024-10-26T16:47:00.000Z</published>
    <updated>2024-11-19T16:00:00.000Z</updated>
    
    <content type="html"><![CDATA[<div class="note default modern"><p><span class='p red'>Universal</span>:通用版<br><span class='p yellow'>arm64-v8a</span>:arm处理器64位<br><span class='p green'>armeabi-v7a</span>:arm处理器32位<br><span class='p cyan'>x86</span>:x86架构32位<br><span class='p blue'>x86_64（x64）</span>:x86架构64位<br><span class='p gray'>ips</span>:苹果应用</p></div><div class="note info simple"><p>如果无法访问Github:请看<a href="https://www.adai.fun/posts/github.html">解决无法访问Github问题</a></p></div><!-- 免责声明部分 --><div class="disclaimer">  <h3>免责声明</h3>  <ul>    <li>本站提供的第三方链接仅用于<strong>技术交流与合法学习目的</strong>，不控制目标网站内容，无法保证其安全性、合法性或准确性。</li>    <li>访问外部链接前，请自行核实域名归属及内容真实性，并确保遵守当地法律与软件许可协议，<strong>一切风险由访问者自行承担</strong>。</li>    <li>若发现链接失效、跳转异常或内容违规，请通过 [<span id="safe-email"></span>] 反馈，将及时核查处理。</li>  </ul>  <p class="security-tip">⚠️ 安全提示：谨慎提交个人信息至第三方网站。</p></div><!-- 动态生成防爬虫邮箱 --><script>function generateSafeEmail(user, domain, displayText) {  const email = `${user}@${domain}`;  const mailtoLink = `mailto:${email}?subject=链接问题反馈`;  return `<a href="${mailtoLink}" onclick="handleEmailClick('${email}')">${displayText}</a>`;}function handleEmailClick(email) {  setTimeout(() => {    if (!document.hidden) { // 检测是否成功打开邮件客户端      if (confirm("是否复制邮箱地址？")) {        navigator.clipboard.writeText(email);      }    }  }, 500);  return true; // 允许默认跳转行为}// 填充邮箱（拆分防止爬虫直接匹配）document.getElementById('safe-email').innerHTML = generateSafeEmail('adaiblog', '163.com', '联系邮箱');</script><style>.security-tip {  color: #ff4444;  border-left: 3px solid #ff4444;  padding-left: 10px;}</style><h1 id="开源-代码公开软件"><a href="#开源-代码公开软件" class="headerlink" title="开源&#x2F;代码公开软件"></a>开源&#x2F;代码公开软件</h1><div class="flink"><div class="flink-name">工具</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/rime/weasel/releases" title="RIME" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts4.cn.mm.bing.net/th?id=ODLS.440b0805-76f4-420e-8777-399e63515818&w=50&h=350&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="RIME" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">RIME</div>                  <div class="flink-item-desc" title="输入法">输入法</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://7-zip.org/" title="7-Zip" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts1.cn.mm.bing.net/th?id=ODLS.a294175c-71aa-4157-9ca2-282d16feec4f&w=50&h=50&qlt=91&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="7-Zip" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">7-Zip</div>                  <div class="flink-item-desc" title="解压工具">解压工具</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/localsend/localsend/releases" title="LocalSend" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/localsend.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="LocalSend" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">LocalSend</div>                  <div class="flink-item-desc" title="局域网数据传输">局域网数据传输</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://www.thunderbird.net/zh-CN/" title="Thunderbird" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/thunderbird.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Thunderbird" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Thunderbird</div>                  <div class="flink-item-desc" title="邮箱客户端">邮箱客户端</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://www.videolan.org/vlc/index.zh_CN.html" title="VLC" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts2.cn.mm.bing.net/th?id=ODLS.03490a04-ae0a-4ed5-9220-326c3edee930&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="VLC" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">VLC</div>                  <div class="flink-item-desc" title="播放器">播放器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/Wox-launcher/Wox/releases" title="Wox" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/wox.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Wox" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Wox</div>                  <div class="flink-item-desc" title="启动器">启动器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/Flow-Launcher/Flow.Launcher/releases" title="Flow.Launcher" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Launcher.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Flow.Launcher" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Flow.Launcher</div>                  <div class="flink-item-desc" title="Windows应用程序启动器">Windows应用程序启动器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/XMuli/SunnyPages/releases" title="Sunny" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/SunnyPages.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Sunny" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Sunny</div>                  <div class="flink-item-desc" title="截图">截图</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/mg-chao/snow-shot/releases" title="Snow Shot" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/snowshot.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Snow Shot" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Snow Shot</div>                  <div class="flink-item-desc" title="截图工具">截图工具</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/sabrogden/Ditto/releases" title="Ditto" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/ditto.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Ditto" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Ditto</div>                  <div class="flink-item-desc" title="剪贴板">剪贴板</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/Sophia-Community/SophiApp/releases" title="SophiApp" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/sophiapp.svg" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="SophiApp" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">SophiApp</div>                  <div class="flink-item-desc" title="系统优化工具">系统优化工具</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/pot-app/pot-desktop/releases" title="Pot" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/pot.svg" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Pot" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Pot</div>                  <div class="flink-item-desc" title="划词翻译软件">划词翻译软件</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/sandboxie-plus/Sandboxie/releases" title="Sandboxie" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Sandboxie.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Sandboxie" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Sandboxie</div>                  <div class="flink-item-desc" title="基于沙箱的隔离软件">基于沙箱的隔离软件</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/QL-Win/QuickLook/releases" title="Quicklook" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/quicklook.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Quicklook" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Quicklook</div>                  <div class="flink-item-desc" title="快速预览工具">快速预览工具</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/GermanCoding/SyncTrayzor/releases" title="SyncTrayzor" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/syncthing.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="SyncTrayzor" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">SyncTrayzor</div>                  <div class="flink-item-desc" title="Syncthing启动器">Syncthing启动器</div>                </div>              </a>            </div></div></div><div class="flink-name">网络工具</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/Eugeny/tabby/releases/tag/v1.0.221" title="Tabby" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts4.cn.mm.bing.net/th?id=ODLS.233ffc08-3ab3-4018-8ca6-1e10f8b59364&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Tabby" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Tabby</div>                  <div class="flink-item-desc" title="终端模拟器、SSH串口客户端">终端模拟器、SSH串口客户端</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://www.wireshark.org" title="wireshark" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://www.wireshark.org/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="wireshark" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">wireshark</div>                  <div class="flink-item-desc" title="网络流量分析器或“嗅探器">网络流量分析器或“嗅探器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/Genymobile/scrcpy/releases" title="scrcpy" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/scrcpy.svg" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="scrcpy" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">scrcpy</div>                  <div class="flink-item-desc" title="显示和控制您的 Android 设备">显示和控制您的 Android 设备</div>                </div>              </a>            </div></div></div><div class="flink-name">USB启动器</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/pbatard/rufus/releases" title="rufus" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/rufus.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="rufus" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">rufus</div>                  <div class="flink-item-desc" title="制作单系统U盘启动器">制作单系统U盘启动器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/ventoy/Ventoy/releases" title="Ventoy" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/ventoy.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Ventoy" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Ventoy</div>                  <div class="flink-item-desc" title="制作多系统U盘启动器">制作多系统U盘启动器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/balena-io/etcher/releases" title="Balena Etcher" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/etcher.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Balena Etcher" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Balena Etcher</div>                  <div class="flink-item-desc" title="跨平台镜像烧录工具">跨平台镜像烧录工具</div>                </div>              </a>            </div></div></div><div class="flink-name">壁纸</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/rocksdanister/lively/releases" title="lively" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/lively.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="lively" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">lively</div>                  <div class="flink-item-desc" title="动态壁纸">动态壁纸</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/Taiizor/Sucrose/releases" title="Sucrose" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Sucrose.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Sucrose" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Sucrose</div>                  <div class="flink-item-desc" title="动态壁纸">动态壁纸</div>                </div>              </a>            </div></div></div><div class="flink-name">清理卸载工具</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/Klocman/Bulk-Crap-Uninstaller" title="Bulk-Crap-Uninstaller" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Bulk-Crap-Uninstaller.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Bulk-Crap-Uninstaller" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Bulk-Crap-Uninstaller</div>                  <div class="flink-item-desc" title="卸载工具">卸载工具</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://www.bleachbit.org/" title="bleachbit" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts2.cn.mm.bing.net/th?id=ODLS.e55abe3e-1ce2-46cf-b325-55184273f87f&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="bleachbit" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">bleachbit</div>                  <div class="flink-item-desc" title="清理系统并释放磁盘空间">清理系统并释放磁盘空间</div>                </div>              </a>            </div></div></div><div class="flink-name">浏览器</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://www.mozilla.org/zh-CN/firefox/new/?redirect_source=firefox-com" title="Firefox" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts3.cn.mm.bing.net/th?id=ODLS.a50da6f4-b7da-46ee-9e56-a1df87fb3910&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Firefox" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Firefox</div>                  <div class="flink-item-desc" title="火狐浏览器">火狐浏览器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/zen-browser/desktop/releases" title="Zen-browser" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/zen.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Zen-browser" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Zen-browser</div>                  <div class="flink-item-desc" title="第三方火狐浏览器">第三方火狐浏览器</div>                </div>              </a>            </div></div></div><div class="flink-name">录制工具</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://obsproject.com/" title="OBS" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts4.cn.mm.bing.net/th?id=ODLS.a709bfb0-9668-4d88-a737-db482d771b55&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="OBS" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">OBS</div>                  <div class="flink-item-desc" title="直播录像">直播录像</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/NickeManarin/ScreenToGif/releases" title="ScreenToGif" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/screentogif.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="ScreenToGif" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">ScreenToGif</div>                  <div class="flink-item-desc" title="Gif录制">Gif录制</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/Xinrea/bili-shadowreplay/releases" title="BiliBili ShadowReplay" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/BiliBiliShadowReplay.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="BiliBili ShadowReplay" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">BiliBili ShadowReplay</div>                  <div class="flink-item-desc" title="直播实时切片工具">直播实时切片工具</div>                </div>              </a>            </div></div></div><div class="flink-name">生产力工具</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://code.visualstudio.com" title="VScode" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts1.cn.mm.bing.net/th?id=ODLS.3867ad76-c943-4bda-9222-881c31b08799&w=40&h=40&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="VScode" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">VScode</div>                  <div class="flink-item-desc" title="代码编辑器">代码编辑器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://www.libreoffice.org/" title="LibreOffice" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts3.cn.mm.bing.net/th?id=ODLS.b3fb474c-8537-47a4-8f09-52f5a7cacd19&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="LibreOffice" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">LibreOffice</div>                  <div class="flink-item-desc" title="全能办公套件">全能办公套件</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://www.onlyoffice.com/download-desktop.aspx" title="onlyoffice" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts1.cn.mm.bing.net/th?id=ODLS.9ae0b8ae-8aaa-4fc1-b9c1-6674ee9b645f&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="onlyoffice" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">onlyoffice</div>                  <div class="flink-item-desc" title="协作办公套件，兼容 MS Office 格式">协作办公套件，兼容 MS Office 格式</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/LibreCAD/LibreCAD/releases" title="LibreCAD" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts4.cn.mm.bing.net/th?id=ODLS.7b33036c-67b1-4b39-9f8f-9640fff48b19&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="LibreCAD" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">LibreCAD</div>                  <div class="flink-item-desc" title="2D CAD 绘图工具">2D CAD 绘图工具</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://gitlab.gnome.org/GNOME/gimp/-/releases" title="GIMP" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts3.cn.mm.bing.net/th?id=OSAAS.CEDC9A0F9FCDB166ACA04B66F0F901DF&w=72&h=72&c=17&rs=1&o=6&pid=TechQna" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="GIMP" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">GIMP</div>                  <div class="flink-item-desc" title="图像编辑器">图像编辑器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://gitlab.gnome.org/GNOME/gimp/-/releases" title="Inkscape" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts2.cn.mm.bing.net/th?id=ODLS.05c34803-8497-4e5f-9e81-045cfba3fcb1&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Inkscape" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Inkscape</div>                  <div class="flink-item-desc" title="矢量图形设计工具">矢量图形设计工具</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://www.adai.fun/posts/aseprite.html" title="Aseprite" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts4.cn.mm.bing.net/th?id=ODLS.5699bbd1-3bdb-4714-9fa5-8e80d1f67dae&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Aseprite" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Aseprite</div>                  <div class="flink-item-desc" title="像素艺术工具">像素艺术工具</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/godotengine/godot/releases" title="GodotEngine 4" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/GodotEngine.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="GodotEngine 4" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">GodotEngine 4</div>                  <div class="flink-item-desc" title="游戏引擎">游戏引擎</div>                </div>              </a>            </div></div></div><div class="flink-name">笔记与知识管理</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/0x7c13/Notepads/releases" title="Notepads" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Notepads.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Notepads" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Notepads</div>                  <div class="flink-item-desc" title="文本编辑器">文本编辑器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/1943time/inkdown/releases" title="Inkdown" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Inkdown.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Inkdown" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Inkdown</div>                  <div class="flink-item-desc" title="Markdown编辑器">Markdown编辑器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/laurent22/joplin/releases" title="joplin" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/LinuxIcons/256x256.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="joplin" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">joplin</div>                  <div class="flink-item-desc" title="Markdown编辑器">Markdown编辑器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/logseq/logseq/releases" title="Logseq" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://user-images.githubusercontent.com/25513724/220608753-f33db466-af72-4611-b603-411440c15ed0.png?sanatize=true" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Logseq" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Logseq</div>                  <div class="flink-item-desc" title="用于知识管理和协作">用于知识管理和协作</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/Yu-Core/SwashbucklerDiary/releases" title="侠客日记" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/侠客.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="侠客日记" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">侠客日记</div>                  <div class="flink-item-desc" title="本地日记APP">本地日记APP</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/zzy-life/DesktopNotes/releases" title="DesktopNotes" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/DesktopNotes.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="DesktopNotes" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">DesktopNotes</div>                  <div class="flink-item-desc" title="500kb大小便签应用">500kb大小便签应用</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/caol64/wenyan" title="wenyan" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/wenyan.webp" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="wenyan" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">wenyan</div>                  <div class="flink-item-desc" title="Markdown文章排版美化工具">Markdown文章排版美化工具</div>                </div>              </a>            </div></div></div><div class="flink-name">知识学习</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/tangshimin/MuJing/releases" title="MuJing" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/MuJing.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="MuJing" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">MuJing</div>                  <div class="flink-item-desc" title="学习英语单词">学习英语单词</div>                </div>              </a>            </div></div></div><div class="flink-name">媒体与娱乐</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/bggRGjQaUbCoE/PiliPlus/releases" title="PiliPlus" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/PiliPlus.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="PiliPlus" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">PiliPlus</div>                  <div class="flink-item-desc" title="bilibili客户端">bilibili客户端</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/miru-project/miru-app/releases" title="Miru" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/miru.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Miru" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Miru</div>                  <div class="flink-item-desc" title="支持视频，漫画，小说扩展源的多功能应用">支持视频，漫画，小说扩展源的多功能应用</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/Predidit/Kazumi/releases" title="Kazumi" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/kazumi.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Kazumi" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Kazumi</div>                  <div class="flink-item-desc" title="基于自定义规则的番剧采集">基于自定义规则的番剧采集</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/xiaoyaocz/dart_simple_live/releases" title="Simple Live" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Simple-Live.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Simple Live" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Simple Live</div>                  <div class="flink-item-desc" title="看直播软件">看直播软件</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/Super-Badmen-Viper/NSMusicS/releases" title="NSMusicS" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/NSMusicS.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="NSMusicS" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">NSMusicS</div>                  <div class="flink-item-desc" title="支持流媒体服务和本地音乐的播放器">支持流媒体服务和本地音乐的播放器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/lyswhut/lx-music-desktop/releases" title="LX Music" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/lxmusic.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="LX Music" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">LX Music</div>                  <div class="flink-item-desc" title="跨平台的音乐播放神器">跨平台的音乐播放神器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/maotoumao/MusicFree/releases" title="Musicfree" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://musicfree.catcat.work/img/logo.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Musicfree" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Musicfree</div>                  <div class="flink-item-desc" title="插件化、定制化、无广告的音乐播放器">插件化、定制化、无广告的音乐播放器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/imsyy/SPlayer/releases" title="Splayer" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/splayer.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Splayer" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Splayer</div>                  <div class="flink-item-desc" title="网易云音乐第三方客户端">网易云音乐第三方客户端</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/iAJue/MoeKoeMusic/releases" title="MoeKoeMusic" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/MoeKoeMusic.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="MoeKoeMusic" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">MoeKoeMusic</div>                  <div class="flink-item-desc" title="酷狗音乐第三方客户端">酷狗音乐第三方客户端</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/KRTirtho/spotube/releases" title="spotube" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://github.com/KRTirtho/spotube/raw/master/assets/spotube_banner.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="spotube" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">spotube</div>                  <div class="flink-item-desc" title="轻量级Spotify音乐客户端">轻量级Spotify音乐客户端</div>                </div>              </a>            </div></div></div><div class="flink-name">下载器</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/amir1376/ab-download-manager/releases" title="AB Download" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/abdownload.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="AB Download" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">AB Download</div>                  <div class="flink-item-desc" title="下载器">下载器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/agalwood/Motrix/releases" title="Motrix" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/motrix.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Motrix" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Motrix</div>                  <div class="flink-item-desc" title="支持下载 HTTP、FTP、BT、磁力链等资源">支持下载 HTTP、FTP、BT、磁力链等资源</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://www.qbittorrent.org/download" title="qBittorent" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/qBittorent.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="qBittorent" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">qBittorent</div>                  <div class="flink-item-desc" title="种子下载器">种子下载器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/YouROK/TorrServer/releases" title="TorrServer" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/TorrServer.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="TorrServer" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">TorrServer</div>                  <div class="flink-item-desc" title="种子下载器">种子下载器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/GopeedLab/gopeed/releases" title="GoPeed" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/gopeed.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="GoPeed" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">GoPeed</div>                  <div class="flink-item-desc" title="支持HTTP、BitTorrent、Magnet协议下载器">支持HTTP、BitTorrent、Magnet协议下载器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/iawia002/lux/releases" title="Lux" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://avatars.githubusercontent.com/u/9134003?v=4" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Lux" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Lux</div>                  <div class="flink-item-desc" title="视频下载器">视频下载器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/zhiyiYo/Fluent-M3U8/releases" title="Fluent M3U8" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/fluent.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Fluent M3U8" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Fluent M3U8</div>                  <div class="flink-item-desc" title="m3u8 下载器">m3u8 下载器</div>                </div>              </a>            </div></div></div><div class="flink-name">密码管理器</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://keepass.info/download.html" title="KeePass" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts2.cn.mm.bing.net/th?id=ODLS.780feae5-f249-4f84-b8ec-95987ca87e3f&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="KeePass" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">KeePass</div>                  <div class="flink-item-desc" title="密码管理器">密码管理器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/keepassxreboot/keepassxc/releases" title="KeePassXC" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts4.cn.mm.bing.net/th?id=ODLS.1d1367ec-195a-4354-8ec2-478d3dc23810&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="KeePassXC" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">KeePassXC</div>                  <div class="flink-item-desc" title="密码管理器">密码管理器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/bitwarden/clients/releases" title="Bitwarden" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts2.cn.mm.bing.net/th?id=ODLS.f1640d3c-5a19-4148-b9ea-4a7b2dc1b628&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Bitwarden" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Bitwarden</div>                  <div class="flink-item-desc" title="密码管理器">密码管理器</div>                </div>              </a>            </div></div></div><div class="flink-name">阅读</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/Anxcye/anx-reader/releases" title="安读" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Anx.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="安读" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">安读</div>                  <div class="flink-item-desc" title="本地AI阅读器">本地AI阅读器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/koodo-reader/koodo-reader/releases" title="Koodo Reader" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/KoodoReader.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Koodo Reader" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Koodo Reader</div>                  <div class="flink-item-desc" title="电子书阅读器">电子书阅读器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/readest/readest/releases" title="Readest" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/readest.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Readest" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Readest</div>                  <div class="flink-item-desc" title="电子书阅读器">电子书阅读器</div>                </div>              </a>            </div></div></div><div class="flink-name">游戏工具</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/game1024/OpenSpeedy/releases" title="OpenSpeedy" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/OpenSpeedy.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="OpenSpeedy" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">OpenSpeedy</div>                  <div class="flink-item-desc" title="游戏变速器">游戏变速器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/Scighost/Starward/releases" title="Starward" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Starward.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Starward" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Starward</div>                  <div class="flink-item-desc" title="米哈游启动器">米哈游启动器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/liseami/DeepRant/releases" title="DeepRant" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/deeprant.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="DeepRant" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">DeepRant</div>                  <div class="flink-item-desc" title="游戏快捷翻译工具">游戏快捷翻译工具</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/JosefNemec/Playnite" title="Playnite" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Playnite.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Playnite" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Playnite</div>                  <div class="flink-item-desc" title="游戏管理器">游戏管理器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/dyang886/Game-Save-Manager/releases" title="Game Save Manager" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/gamesave.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Game Save Manager" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Game Save Manager</div>                  <div class="flink-item-desc" title="备份、恢复和导出游戏存档">备份、恢复和导出游戏存档</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://steampp.net/" title="Watt Toolkit" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts2.cn.mm.bing.net/th?id=ODLS.7e88b171-5dbc-4915-80b6-dc6889b87653&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Watt Toolkit" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Watt Toolkit</div>                  <div class="flink-item-desc" title="Steam工具">Steam工具</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://www.mumble.info/" title="Mumble" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts1.cn.mm.bing.net/th?id=ODLS.eedc9b8d-fe3c-4c2c-af39-0bcd6608d766&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Mumble" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Mumble</div>                  <div class="flink-item-desc" title="开黑语音">开黑语音</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/moonlight-stream/moonlight-qt/releases" title="Moonlight" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/moonlighs.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Moonlight" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Moonlight</div>                  <div class="flink-item-desc" title="串流工具">串流工具</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/LizardByte/Sunshine/releases" title="Sunshine" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/sunshine.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Sunshine" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Sunshine</div>                  <div class="flink-item-desc" title="Moonlight 的自托管串流流主机">Moonlight 的自托管串流流主机</div>                </div>              </a>            </div></div></div><div class="flink-name">游戏</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/HMCL-dev/HMCL/releases" title="HMCL" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/hmcl.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="HMCL" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">HMCL</div>                  <div class="flink-item-desc" title="我的世界启动器">我的世界启动器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/setube/vue-XiuXianGame" title="XiuXianGame" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/XiuXianGame.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="XiuXianGame" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">XiuXianGame</div>                  <div class="flink-item-desc" title="文字游戏修仙全靠刷">文字游戏修仙全靠刷</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/yairm210/Unciv/releases" title="Unciv" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Unciv.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Unciv" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Unciv</div>                  <div class="flink-item-desc" title="类文明6的建设类游戏">类文明6的建设类游戏</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/00-Evan/shattered-pixel-dungeon/releases" title="破碎的像素地牢" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/shattered-pixel-dungeon.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="破碎的像素地牢" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">破碎的像素地牢</div>                  <div class="flink-item-desc" title="Roguelike地下城探索游戏">Roguelike地下城探索游戏</div>                </div>              </a>            </div></div></div><div class="flink-name">应用插件</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/huiyadanli/RevokeMsgPatcher/releases" title="RevokeMsgPatcher" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/RevokeMsgPatcher.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="RevokeMsgPatcher" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">RevokeMsgPatcher</div>                  <div class="flink-item-desc" title="微信/QQ/TIM防撤回补丁">微信/QQ/TIM防撤回补丁</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/leafOfTree/WindowTabs/releases" title="WindowsTabs" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/windowtabs.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="WindowsTabs" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">WindowsTabs</div>                  <div class="flink-item-desc" title="给Windows窗口添加标签">给Windows窗口添加标签</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/gaboolic/rime-frost" title="rime-frost" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://avatars.githubusercontent.com/u/3831173?v=4" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="rime-frost" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">rime-frost</div>                  <div class="flink-item-desc" title="rime方案的开源词库">rime方案的开源词库</div>                </div>              </a>            </div></div></div></div><h1 id="闭源软件"><a href="#闭源软件" class="headerlink" title="闭源软件"></a>闭源软件</h1><div class="flink"><div class="flink-name">浏览器</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://www.microsoft.com/en-us/edge/download?form=MA13RE?ocid=ORSEARCH_Bing" title="Edge" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts1.cn.mm.bing.net/th?id=OSAAS.D73DFDD004899F78DA74BF0DB498D8B3&w=50&h=50&c=17&rs=1&o=6&pid=TechQna" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Edge" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Edge</div>                  <div class="flink-item-desc" title="微软浏览器">微软浏览器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://gooogleweb.com/index.html" title="Chrome" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts4.cn.mm.bing.net/th?id=ODLS.79d7c869-d108-4a09-965b-6f9cfe1c079d&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Chrome" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Chrome</div>                  <div class="flink-item-desc" title="谷歌浏览器">谷歌浏览器</div>                </div>              </a>            </div></div></div><div class="flink-name">社交</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://tim.qq.com/" title="TIM" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts1.cn.mm.bing.net/th?id=ODLS.2a2a53ef-a362-48b1-8fe5-ff79393bc828&w=50&h=50&qlt=91&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="TIM" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">TIM</div>                  <div class="flink-item-desc" title="QQ">QQ</div>                </div>              </a>            </div></div></div><div class="flink-name">下载器</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://www.internetdownloadmanager.com/" title="IDM" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts3.cn.mm.bing.net/th?id=ODLS.fb5fc563-d056-4a5e-b30f-592a2a7394d6&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="IDM" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">IDM</div>                  <div class="flink-item-desc" title="下载器">下载器</div>                </div>              </a>            </div></div></div><div class="flink-name">工具</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://geekuninstaller.com/" title="Geek" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts3.cn.mm.bing.net/th?id=ODLS.9ff57567-6b87-4b97-a9db-7e0e0a49761e&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Geek" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Geek</div>                  <div class="flink-item-desc" title="卸载工具">卸载工具</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://www.voidtools.com/zh-cn/" title="everything" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts4.cn.mm.bing.net/th?id=ODLS.087b2079-21b3-4dd7-a1f3-416c6f379218&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="everything" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">everything</div>                  <div class="flink-item-desc" title="搜索文件">搜索文件</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://teamspeak.com/zh-CN/" title="Teamspeak" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts3.cn.mm.bing.net/th?id=ODLS.6569a391-5ce2-4907-85b6-0dbebaea51e3&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Teamspeak" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Teamspeak</div>                  <div class="flink-item-desc" title="开黑语音">开黑语音</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://aka.ms/terminal" title="Windows Terminal" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://store-images.s-microsoft.com/image/apps.26229.13926773940052066.8978812d-6c65-429b-835d-2cecd178e2d7.1a6e7f67-0788-40f0-9502-e962a62361cb?h=210" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Windows Terminal" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Windows Terminal</div>                  <div class="flink-item-desc" title="终端程序">终端程序</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://adguard.com/zh_cn/welcome.html" title="AdGuard" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts3.cn.mm.bing.net/th?id=ODLS.e4eace61-b80b-4adf-884f-4e8be97b489f&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="AdGuard" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">AdGuard</div>                  <div class="flink-item-desc" title="去广告">去广告</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://free.lanzoux.com/b0cpu1guf" title="SoftCnKiller" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/softcnkiller.jpg" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="SoftCnKiller" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">SoftCnKiller</div>                  <div class="flink-item-desc" title="高速下载器捆绑软件杀手">高速下载器捆绑软件杀手</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://www.wagnardsoft.com/display-driver-uninstaller-ddu-" title="DDU" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts3.cn.mm.bing.net/th?id=ODLS.01eb60e2-6571-473a-beeb-bb36510df563&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="DDU" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">DDU</div>                  <div class="flink-item-desc" title="卸载显卡驱动工具">卸载显卡驱动工具</div>                </div>              </a>            </div></div></div><div class="flink-name">笔记与知识管理</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://obsidian.md/" title="Obsidian" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://obsidian.md/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Obsidian" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Obsidian</div>                  <div class="flink-item-desc" title="笔记软件">笔记软件</div>                </div>              </a>            </div></div></div><div class="flink-name">游戏娱乐</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://media.st.dl.eccdnx.com/client/installer/SteamSetup.exe" title="Steam" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts2.cn.mm.bing.net/th?id=ODLS.15fb0a7f-d405-4f9b-92b2-57735ec88f41&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Steam" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Steam</div>                  <div class="flink-item-desc" title="游戏平台">游戏平台</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://launcher-public-service-prod06.ol.epicgames.com/launcher/api/installer/download/EpicGamesLauncherInstaller.msi" title="EPIC" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts1.cn.mm.bing.net/th?id=ODLS.84a5dd84-a02a-4c30-9be0-0c41f6f36eff&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="EPIC" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">EPIC</div>                  <div class="flink-item-desc" title="游戏平台">游戏平台</div>                </div>              </a>            </div></div></div></div>]]></content>
    
    
    <summary type="html">告别软件选择困难症！本指南收录了众多真正好用的Windows必备软件，从编程开发到日常办公，从影音娱乐到游戏工具，全方位提升你的电脑使用效率。</summary>
    
    
    
    <category term="软件" scheme="https://www.adaiblog.github.io/categories/%E8%BD%AF%E4%BB%B6/"/>
    
    <category term="开源" scheme="https://www.adaiblog.github.io/categories/%E5%BC%80%E6%BA%90/"/>
    
    
    <category term="Windows" scheme="https://www.adaiblog.github.io/tags/Windows/"/>
    
  </entry>
  
  <entry>
    <title>超好用的安卓应用</title>
    <link href="https://www.adaiblog.github.io/posts/androidapp.html"/>
    <id>https://www.adaiblog.github.io/posts/androidapp.html</id>
    <published>2024-10-26T16:47:00.000Z</published>
    <updated>2024-11-19T16:00:00.000Z</updated>
    
    <content type="html"><![CDATA[<div class="note default modern"><p><span class='p red'>Universal</span>:通用版<br><span class='p yellow'>arm64-v8a</span>:arm处理器64位<br><span class='p green'>armeabi-v7a</span>:arm处理器32位<br><span class='p cyan'>x86</span>:x86架构32位<br><span class='p blue'>x86_64（x64）</span>:x86架构64位<br><span class='p gray'>ips</span>:苹果应用</p></div><div class="note info simple"><p>因为网络原因，部分APP无法直接访问下载，我们可以先下载F-Droid或者Droid-ify，添加镜像软件仓地址<br><a href="https://mirrors.tuna.tsinghua.edu.cn/fdroid/repo/?fingerprint=43238D512C1E5EB2D6569F4A3AFBF5523418B82E0A3ED1552770ABB9A9C9CCAB">https://mirrors.tuna.tsinghua.edu.cn/fdroid/repo/?fingerprint=43238D512C1E5EB2D6569F4A3AFBF5523418B82E0A3ED1552770ABB9A9C9CCAB</a></p></div><!-- <div class="note info simple"><p>因为很多开源软件下载地址在Github，F-Droid国内访问慢或者无法访问，每个APP我都存放在云盘一份供大家下载，详细请看<a class="btn-anzhiyu " href="https://www.adai.fun/posts/androidappcloud.html"   title="APP导航(云盘版)"><i class="anzhiyufont anzhiyu-icon-circle-arrow-right"></i><span>APP导航(云盘版)</span></a></p></div> --><!-- 免责声明部分 --><div class="disclaimer">  <h3>免责声明</h3>  <ul>    <li>本站提供的第三方链接仅用于<strong>技术交流与合法学习目的</strong>，不控制目标网站内容，无法保证其安全性、合法性或准确性。</li>    <li>访问外部链接前，请自行核实域名归属及内容真实性，并确保遵守当地法律与软件许可协议，<strong>一切风险由访问者自行承担</strong>。</li>    <li>若发现链接失效、跳转异常或内容违规，请通过 [<span id="safe-email"></span>] 反馈，将及时核查处理。</li>  </ul>  <p class="security-tip">⚠️ 安全提示：谨慎提交个人信息至第三方网站。</p></div><!-- 动态生成防爬虫邮箱 --><script>function generateSafeEmail(user, domain, displayText) {  const email = `${user}@${domain}`;  const mailtoLink = `mailto:${email}?subject=链接问题反馈`;  return `<a href="${mailtoLink}" onclick="handleEmailClick('${email}')">${displayText}</a>`;}function handleEmailClick(email) {  setTimeout(() => {    if (!document.hidden) { // 检测是否成功打开邮件客户端      if (confirm("是否复制邮箱地址？")) {        navigator.clipboard.writeText(email);      }    }  }, 500);  return true; // 允许默认跳转行为}// 填充邮箱（拆分防止爬虫直接匹配）document.getElementById('safe-email').innerHTML = generateSafeEmail('adaiblog', '163.com', '联系邮箱');</script><style>.security-tip {  color: #ff4444;  border-left: 3px solid #ff4444;  padding-left: 10px;}</style><h1 id="开源-代码公开软件"><a href="#开源-代码公开软件" class="headerlink" title="开源&#x2F;代码公开软件"></a>开源&#x2F;代码公开软件</h1><div class="flink"><div class="flink-name">应用商城</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/NeoApplications/Neo-Store/releases" title="Neo Store" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/newstore.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Neo Store" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Neo Store</div>                  <div class="flink-item-desc" title="F-Droid第三方客户端">F-Droid第三方客户端</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/Droid-ify/client/releases" title="Droid-ify" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Droid-ify.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Droid-ify" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Droid-ify</div>                  <div class="flink-item-desc" title="F-Droid第三方客户端">F-Droid第三方客户端</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://gitlab.com/AuroraOSS/AuroraStore" title="AuroraStore" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/AuroraStore.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="AuroraStore" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">AuroraStore</div>                  <div class="flink-item-desc" title="Goole Play客户端">Goole Play客户端</div>                </div>              </a>            </div></div></div><div class="flink-name">系统级</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/fcitx5-android/fcitx5-android/releases" title="fcitx5" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/fcitx5-android.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="fcitx5" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">fcitx5</div>                  <div class="flink-item-desc" title="输入法">输入法</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/gurecn/YuyanIme/releases" title="语燕输入法" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://avatars.githubusercontent.com/u/8704526?v=4" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="语燕输入法" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">语燕输入法</div>                  <div class="flink-item-desc" title="输入法">输入法</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/T8RIN/ImageToolbox/releases" title="Image Toolbox" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/ImageToolbox.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Image Toolbox" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Image Toolbox</div>                  <div class="flink-item-desc" title="图片工具箱">图片工具箱</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/researchxxl/syncthing-android/releases" title="syncthing-Fork" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/syncthing.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="syncthing-Fork" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">syncthing-Fork</div>                  <div class="flink-item-desc" title="Syncthing同步">Syncthing同步</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/florisboard/florisboard/releases" title="florisboard" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/florisboard.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="florisboard" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">florisboard</div>                  <div class="flink-item-desc" title="输入法">输入法</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/fcitx5-android/fcitx5-android/releases" title="Fennec" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/fennec.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Fennec" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Fennec</div>                  <div class="flink-item-desc" title="Firefox浏览器">Firefox浏览器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/FossifyOrg/Gallery/releases" title="图库" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Gallery.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="图库" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">图库</div>                  <div class="flink-item-desc" title="相册">相册</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/IacobIonut01/Gallery/releases" title="Gallery" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/gallery1.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Gallery" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Gallery</div>                  <div class="flink-item-desc" title="相册">相册</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/octoshrimpy/quik/releases" title="QUIK" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/quik.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="QUIK" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">QUIK</div>                  <div class="flink-item-desc" title="短信">短信</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/danascape/Messages" title="Messages" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Messages.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Messages" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Messages</div>                  <div class="flink-item-desc" title="短信">短信</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/zhanghai/MaterialFiles/releases" title="质感文件" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Materialfiles.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="质感文件" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">质感文件</div>                  <div class="flink-item-desc" title="文件管理器">文件管理器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/TeamAmaze/AmazeFileManager/releases" title="Amaze" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/amaze.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Amaze" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Amaze</div>                  <div class="flink-item-desc" title="文件管理器">文件管理器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/jd1378/otphelper/releases" title="OtpHelper" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/otphelper.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="OtpHelper" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">OtpHelper</div>                  <div class="flink-item-desc" title="验证码自动复制器">验证码自动复制器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/thunderbird/thunderbird-android/releases" title="Thunderbird" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/thunderbird.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Thunderbird" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Thunderbird</div>                  <div class="flink-item-desc" title="邮箱客户端">邮箱客户端</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/breezy-weather/breezy-weather/releases" title="Breezy Weather" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/breezy-weather.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Breezy Weather" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Breezy Weather</div>                  <div class="flink-item-desc" title="天气预报">天气预报</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/organicmaps/organicmaps/releases" title="Organic Maps" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/OrganicMaps.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Organic Maps" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Organic Maps</div>                  <div class="flink-item-desc" title="离线地图导航">离线地图导航</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/shezik/DrawAnywhere/releases" title="DrawAnywhere" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/DrawAnywhere.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="DrawAnywhere" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">DrawAnywhere</div>                  <div class="flink-item-desc" title="任何地方绘画">任何地方绘画</div>                </div>              </a>            </div></div></div><div class="flink-name">社交论坛</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/bggRGjQaUbCoE/c001apk" title="酷安" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://www.coolapk.com/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="酷安" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">酷安</div>                  <div class="flink-item-desc" title="需要自行编译">需要自行编译</div>                </div>              </a>            </div></div></div><div class="flink-name">实用工具</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/shareven/parcel/releases" title="取件码" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/qujianma.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="取件码" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">取件码</div>                  <div class="flink-item-desc" title="获取快递取件码">获取快递取件码</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://apt.izzysoft.de/fdroid/index/apk/com.marktka.calculatorYou" title="OCalculator You" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Calculator-You.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="OCalculator You" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">OCalculator You</div>                  <div class="flink-item-desc" title="计算器">计算器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/Kr0oked/Compass/releases" title="Compass" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Compass.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Compass" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Compass</div>                  <div class="flink-item-desc" title="指南针">指南针</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://gitlab.com/Atharok/BtRemote/-/releases" title="蓝牙遥控器" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/蓝牙遥控器.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="蓝牙遥控器" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">蓝牙遥控器</div>                  <div class="flink-item-desc" title="适用于 Android TV 的蓝牙遥控器">适用于 Android TV 的蓝牙遥控器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/brunodev85/winlator/releases" title="Minlator" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/minlator.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Minlator" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Minlator</div>                  <div class="flink-item-desc" title="使用 Wine 和 Box86/Box64 运行 Windows 应用">使用 Wine 和 Box86/Box64 运行 Windows 应用</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/etchdroid/etchdroid/releases" title="EtchDroid" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/etchdroid.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="EtchDroid" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">EtchDroid</div>                  <div class="flink-item-desc" title="将系统ISO(不支持windows)写入U盘">将系统ISO(不支持windows)写入U盘</div>                </div>              </a>            </div></div></div><div class="flink-name">搞机工具</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/RikkaApps/Shizuku/releases" title="shizuku" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/shizuku.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="shizuku" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">shizuku</div>                  <div class="flink-item-desc" title="ADB 权限管理器">ADB 权限管理器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/samolego/Canta/releases" title="Canta" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/canta.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Canta" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Canta</div>                  <div class="flink-item-desc" title="通过shizuku卸载任何应用程序">通过shizuku卸载任何应用程序</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/aistra0528/Hail/releases" title="Hail(雹)" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/hail.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Hail(雹)" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Hail(雹)</div>                  <div class="flink-item-desc" title="通过shizuku冻结应用程序">通过shizuku冻结应用程序</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/deltazefiro/Amarok-Hider/releases" title="Amarok" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/amarok.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Amarok" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Amarok</div>                  <div class="flink-item-desc" title="通过shizuku卸隐藏文件">通过shizuku卸隐藏文件</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/Mahmud0808/ColorBlendr/releases" title="ColorBlendr" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/ColorBlendr.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="ColorBlendr" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">ColorBlendr</div>                  <div class="flink-item-desc" title="自定义设备的 Material You 颜色。">自定义设备的 Material You 颜色。</div>                </div>              </a>            </div></div></div><div class="flink-name">时钟闹钟</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/BlackyHawky/Clock/releases" title="时钟" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/时钟.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="时钟" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">时钟</div>                  <div class="flink-item-desc" title="时钟">时钟</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/vicolo-dev/chrono/releases" title="Compass" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Chrono.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Compass" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Compass</div>                  <div class="flink-item-desc" title="时钟">时钟</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://apt.izzysoft.de/fdroid/index/apk/com.sweak.qralarm/" title="QRalarm" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/qralarm.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="QRalarm" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">QRalarm</div>                  <div class="flink-item-desc" title="二维码闹钟">二维码闹钟</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/adrcotfas/goodtime?tab=readme-ov-file" title="GoodTime" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/GoodTime.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="GoodTime" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">GoodTime</div>                  <div class="flink-item-desc" title="生产力计时器">生产力计时器</div>                </div>              </a>            </div></div></div><div class="flink-name">创作工具</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/drawpile/Drawpile/releases" title="DrawPile" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/drawpile.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="DrawPile" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">DrawPile</div>                  <div class="flink-item-desc" title="绘图、绘画和制作动画">绘图、绘画和制作动画</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/xororz/local-dream/releases" title="Local Dream" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/local-dream.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Local Dream" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Local Dream</div>                  <div class="flink-item-desc" title="本地AI绘画应用">本地AI绘画应用</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/gsantner/markor/releases" title="Markor" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/markor.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Markor" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Markor</div>                  <div class="flink-item-desc" title="文本编辑器支持markdown">文本编辑器支持markdown</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/adeeteya/FlutterMarkdownEditor?tab=readme-ov-file" title="Markdown Editor" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/FlutterMarkdownEditor.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Markdown Editor" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Markdown Editor</div>                  <div class="flink-item-desc" title="Markdown编辑器">Markdown编辑器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/Acode-Foundation/Acode/releases" title="Acode" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/acode.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Acode" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Acode</div>                  <div class="flink-item-desc" title="代码编辑工具">代码编辑工具</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/godotengine/godot/releases" title="GodotEngine 4" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/GodotEngine.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="GodotEngine 4" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">GodotEngine 4</div>                  <div class="flink-item-desc" title="游戏引擎">游戏引擎</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/JACKADUX/handy_pixel" title="Handy Pixel" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/handy.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Handy Pixel" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Handy Pixel</div>                  <div class="flink-item-desc" title="像素绘画工具">像素绘画工具</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/patzly/tack-android/releases" title="Tack" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/tack.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Tack" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Tack</div>                  <div class="flink-item-desc" title="节拍器">节拍器</div>                </div>              </a>            </div></div></div><div class="flink-name">局域网传输</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/localsend/localsend/releases" title="LocalSend" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/localsend.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="LocalSend" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">LocalSend</div>                  <div class="flink-item-desc" title="局域网数据传输">局域网数据传输</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/moonlight-stream/moonlight-android/releases" title="Moonlight" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/moonlighs.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Moonlight" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Moonlight</div>                  <div class="flink-item-desc" title="GameStream客户端">GameStream客户端</div>                </div>              </a>            </div></div></div><div class="flink-name">音乐播放器</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/2697a/bujuan/releases" title="Bujuan" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/bujuan.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Bujuan" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Bujuan</div>                  <div class="flink-item-desc" title="网易云播放器">网易云播放器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/lyswhut/lx-music-mobile/releases" title="LX Music" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/lxmusic.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="LX Music" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">LX Music</div>                  <div class="flink-item-desc" title="跨平台的音乐播放神器">跨平台的音乐播放神器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/algerkong/AlgerMusicPlayer/releases" title="AlgerMusicPlayer" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/AlgerMusicPlayer.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="AlgerMusicPlayer" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">AlgerMusicPlayer</div>                  <div class="flink-item-desc" title="第三方在线音乐播放器">第三方在线音乐播放器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/KRTirtho/spotube/releases" title="spotube" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/spotube.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="spotube" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">spotube</div>                  <div class="flink-item-desc" title="轻量级Spotify音乐客户端">轻量级Spotify音乐客户端</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/maotoumao/MusicFree/releases" title="Musicfree" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://musicfree.catcat.work/img/logo.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Musicfree" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Musicfree</div>                  <div class="flink-item-desc" title="插件化、定制化、无广告的音乐播放器">插件化、定制化、无广告的音乐播放器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/AkaneTan/Gramophone/releases" title="Gramophone" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Gramophone.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Gramophone" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Gramophone</div>                  <div class="flink-item-desc" title="本地音乐播放器">本地音乐播放器</div>                </div>              </a>            </div></div></div><div class="flink-name">媒体与娱乐</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/xiaoyaocz/dart_simple_live" title="Simple Live" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Simple-Live.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Simple Live" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Simple Live</div>                  <div class="flink-item-desc" title="直播客户端(自行编译)">直播客户端(自行编译)</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/orz12/PiliPalaX/releases" title="PilipalaX" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/PiliPalaX.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="PilipalaX" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">PilipalaX</div>                  <div class="flink-item-desc" title="bilibili客户端 (停止维护)">bilibili客户端 (停止维护)</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/bggRGjQaUbCoE/PiliPlus/releases" title="PiliPlus" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/PiliPlus.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="PiliPlus" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">PiliPlus</div>                  <div class="flink-item-desc" title="bilibili客户端">bilibili客户端</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/libre-tube/LibreTube/releases" title="Libretube" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/LibreTube.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Libretube" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Libretube</div>                  <div class="flink-item-desc" title="Youtube客户端">Youtube客户端</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/TeamNewPipe/NewPipe/releases" title="NewPipe" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts1.cn.mm.bing.net/th?id=ODLS.aee67033-700f-4238-91cb-6c2cc85dfae5&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="NewPipe" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">NewPipe</div>                  <div class="flink-item-desc" title="Youtube客户端">Youtube客户端</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/crackededed/Xtra/releases" title="Xtra" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/xtra.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Xtra" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Xtra</div>                  <div class="flink-item-desc" title="Twitch 播放器和浏览器">Twitch 播放器和浏览器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://apt.izzysoft.de/fdroid/index/apk/org.y20k.transistor/" title="晶体管收音机" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Transistor.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="晶体管收音机" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">晶体管收音机</div>                  <div class="flink-item-desc" title="广播应用程序">广播应用程序</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/fumiama/copymanga/releases" title="copymanga" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/copymanga.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="copymanga" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">copymanga</div>                  <div class="flink-item-desc" title="拷贝漫画客户端">拷贝漫画客户端</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/Predidit/Kazumi/releases" title="Kazumi" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/kazumi.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Kazumi" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Kazumi</div>                  <div class="flink-item-desc" title="基于自定义规则的番剧采集">基于自定义规则的番剧采集</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/miru-project/miru-app/releases" title="Miru" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/miru.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Miru" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Miru</div>                  <div class="flink-item-desc" title="支持视频，漫画，小说扩展源的多功能应用">支持视频，漫画，小说扩展源的多功能应用</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/hefengbao/jingmo/releases" title="京墨" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/京墨.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="京墨" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">京墨</div>                  <div class="flink-item-desc" title="中华文化宝典">中华文化宝典</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://f-droid.org/en/packages/org.videolan.vlc/" title="VLC" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts2.cn.mm.bing.net/th?id=ODLS.03490a04-ae0a-4ed5-9220-326c3edee930&w=60&h=60&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="VLC" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">VLC</div>                  <div class="flink-item-desc" title="视频播放器">视频播放器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/GhostenEditor/Ghosten-Player/release" title="Ghosten-Player" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/GhostenPlayer.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Ghosten-Player" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Ghosten-Player</div>                  <div class="flink-item-desc" title="支持云播放(阿里云盘、夸克网盘和Webdav)和本地播放">支持云播放(阿里云盘、夸克网盘和Webdav)和本地播放</div>                </div>              </a>            </div></div></div><div class="flink-name">阅读</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/KotatsuApp/Kotatsu" title="Kotatsu" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/kotatsu.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Kotatsu" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Kotatsu</div>                  <div class="flink-item-desc" title="漫画阅读">漫画阅读</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/Ashinch/ReadYou/releases" title="Read You" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/ReadYou.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Read You" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Read You</div>                  <div class="flink-item-desc" title="RSS阅读器">RSS阅读器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://f-droid.org/packages/de.danoeh.antennapod/" title="AntennaPod" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts4.cn.mm.bing.net/th?id=ODLS.329100be-3b1e-41f3-a54d-64cf33282c82&w=32&h=32&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="AntennaPod" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">AntennaPod</div>                  <div class="flink-item-desc" title="播客播放器">播客播放器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/spacecowboy/Feeder/releases" title="Feeder" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Feeder.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Feeder" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Feeder</div>                  <div class="flink-item-desc" title="RSS阅读器">RSS阅读器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/SkyD666/PodAura/releases" title="PodAura" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/PodAura.svg" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="PodAura" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">PodAura</div>                  <div class="flink-item-desc" title="一站式RSS订阅，BitTorrent下载和媒体播放器">一站式RSS订阅，BitTorrent下载和媒体播放器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/foobnix/LibreraReader/releases" title="Librera FD" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/LibreraReader.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Librera FD" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Librera FD</div>                  <div class="flink-item-desc" title="本地阅读器">本地阅读器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/readest/readest/releases" title="Readest" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/readest.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Readest" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Readest</div>                  <div class="flink-item-desc" title="电子书阅读器">电子书阅读器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/Acclorite/book-story/releases" title="Book’s Story" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/book-story.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Book’s Story" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Book’s Story</div>                  <div class="flink-item-desc" title="本地书籍阅读器">本地书籍阅读器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/Anxcye/anx-reader/releases" title="安读" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Anx.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="安读" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">安读</div>                  <div class="flink-item-desc" title="本地AI阅读器">本地AI阅读器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/gedoor/legado/releases" title="阅读" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/yuedu.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="阅读" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">阅读</div>                  <div class="flink-item-desc" title="网络和本地阅读器">网络和本地阅读器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/null2264/yokai/releases" title="Yokai" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/yokai.webp" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Yokai" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Yokai</div>                  <div class="flink-item-desc" title="本地漫画阅读器">本地漫画阅读器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://f-droid.org/packages/org.documentfoundation.libreoffice/" title="LibreOffice Viewer" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts3.cn.mm.bing.net/th?id=ODLS.b3fb474c-8537-47a4-8f09-52f5a7cacd19&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="LibreOffice Viewer" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">LibreOffice Viewer</div>                  <div class="flink-item-desc" title="办公文档查看器">办公文档查看器</div>                </div>              </a>            </div></div></div><div class="flink-name">下载器</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/JunkFood02/Seal/releases" title="Seal" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Seal.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Seal" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Seal</div>                  <div class="flink-item-desc" title="流媒体下载器">流媒体下载器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/TachibanaGeneralLaboratories/download-navi/releases" title="Download Navi" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/download-navi.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Download Navi" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Download Navi</div>                  <div class="flink-item-desc" title="下载器">下载器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/amir1376/ab-download-manager/releases" title="AB Download" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/abdownload.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="AB Download" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">AB Download</div>                  <div class="flink-item-desc" title="下载器">下载器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/Bartuzen/qBitController/releases" title="qBitController" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/qBitController.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="qBitController" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">qBitController</div>                  <div class="flink-item-desc" title="种子下载器">种子下载器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/YouROK/TorrServer/releases" title="TorrServer" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/TorrServer.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="TorrServer" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">TorrServer</div>                  <div class="flink-item-desc" title="种子下载器">种子下载器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/GopeedLab/gopeed/releases" title="GoPeed" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/gopeed.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="GoPeed" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">GoPeed</div>                  <div class="flink-item-desc" title="支持HTTP、BitTorrent、Magnet协议下载器">支持HTTP、BitTorrent、Magnet协议下载器</div>                </div>              </a>            </div></div></div><div class="flink-name">密码管理器</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/Kunzisoft/KeePassDX/releases" title="KeePassDX" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/KeePassDX.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="KeePassDX" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">KeePassDX</div>                  <div class="flink-item-desc" title="密码管理器">密码管理器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/PhilippC/keepass2android/releases" title="KeePass2Android" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/keepass2android.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="KeePass2Android" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">KeePass2Android</div>                  <div class="flink-item-desc" title="密码管理器">密码管理器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/bitwarden/android/releases" title="Bitwarden" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts2.cn.mm.bing.net/th?id=ODLS.f1640d3c-5a19-4148-b9ea-4a7b2dc1b628&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Bitwarden" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Bitwarden</div>                  <div class="flink-item-desc" title="密码管理器">密码管理器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/beemdevelopment/Aegis/releases" title="Aegis Authenticator" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Aegis.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Aegis Authenticator" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Aegis Authenticator</div>                  <div class="flink-item-desc" title="管理两步验证令牌">管理两步验证令牌</div>                </div>              </a>            </div></div></div><div class="flink-name">习惯追踪与管理</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/Futsch1/medTimer/releases" title="MedTimer" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/medTimer.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="MedTimer" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">MedTimer</div>                  <div class="flink-item-desc" title="吃药提醒">吃药提醒</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://f-droid.org/packages/com.drip/" title="Drip" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts3.cn.mm.bing.net/th?id=ODLS.65b3f6b2-6f7d-4362-9a18-03f926bb833c&w=40&h=40&qlt=91&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Drip" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Drip</div>                  <div class="flink-item-desc" title="月经生理跟踪">月经生理跟踪</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/NobodyForNothing/blood-pressure-monitor-fl/releases" title="Blood" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/blood-pressure-monitor-fl.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Blood" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Blood</div>                  <div class="flink-item-desc" title="血压记录">血压记录</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/mateusz-bak/openreads/releases" title="Openreads" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Openreads.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Openreads" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Openreads</div>                  <div class="flink-item-desc" title="跟踪您的书籍阅读进度">跟踪您的书籍阅读进度</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/patzly/grocy-android/releases" title="Grocy" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/grocy.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Grocy" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Grocy</div>                  <div class="flink-item-desc" title="适用于您家的自托管杂货店和家庭管理解决方案。">适用于您家的自托管杂货店和家庭管理解决方案。</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/Super12138/ToDo/releases" title="待办" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/todo.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="待办" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">待办</div>                  <div class="flink-item-desc" title="记录学校作业和生活日常备忘录">记录学校作业和生活日常备忘录</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/iSoron/uhabits/releases" title="Loop Habit Tracker" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/xiguan.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Loop Habit Tracker" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Loop Habit Tracker</div>                  <div class="flink-item-desc" title="习惯跟踪器">习惯跟踪器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/FriesI23/mhabit/releases" title="Table Habit" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/TableHabit.svg" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Table Habit" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Table Habit</div>                  <div class="flink-item-desc" title="习惯跟踪器">习惯跟踪器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/shub39/Grit/releases" title="Grit" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/grit.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Grit" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Grit</div>                  <div class="flink-item-desc" title="待办事项列表和每日习惯追踪器">待办事项列表和每日习惯追踪器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/ahmet-cetinkaya/whph/releases" title="WHPH" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://whph.ahmetcetinkaya.me//favicon.svg" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="WHPH" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">WHPH</div>                  <div class="flink-item-desc" title="任务管理、习惯跟踪和时间分析">任务管理、习惯跟踪和时间分析</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/HabitRPG/habitica-android/releases" title="habitica" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://habitica.com/static/icons/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="habitica" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">habitica</div>                  <div class="flink-item-desc" title="超好玩的待办事项应用">超好玩的待办事项应用</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/pewaru-333/HomeMedkit-App/releases" title="HomeMedkit" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/HomeMedkit.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="HomeMedkit" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">HomeMedkit</div>                  <div class="flink-item-desc" title="药物管理">药物管理</div>                </div>              </a>            </div></div></div><div class="flink-name">笔记与知识管理</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/Yu-Core/SwashbucklerDiary/releases" title="侠客日记" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/侠客.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="侠客日记" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">侠客日记</div>                  <div class="flink-item-desc" title="本地日记APP">本地日记APP</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/laurent22/joplin/releases" title="Joplin" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/joplin.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Joplin" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Joplin</div>                  <div class="flink-item-desc" title="笔记应用程序">笔记应用程序</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/mhss1/MyBrain/releases" title="MyBrain" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://user-images.githubusercontent.com/58703865/169863670-eee3c8f1-1308-4eb2-9aea-f7c0a47e6a31.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="MyBrain" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">MyBrain</div>                  <div class="flink-item-desc" title="多合一的应用程序带有任务、笔记、日历、日记和书签">多合一的应用程序带有任务、笔记、日历、日记和书签</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/siyuan-note/siyuan/releases" title="siyuan" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/siyuan.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="siyuan" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">siyuan</div>                  <div class="flink-item-desc" title="知识管理软件">知识管理软件</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/PhilKes/NotallyX/releases" title="NotallyX" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/NotallyX.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="NotallyX" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">NotallyX</div>                  <div class="flink-item-desc" title="笔记应用程序">笔记应用程序</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/farmerbb/Notepad/releases" title="Notepad" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Notepad.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Notepad" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Notepad</div>                  <div class="flink-item-desc" title="简单、简洁的笔记应用">简单、简洁的笔记应用</div>                </div>              </a>            </div></div></div><div class="flink-name">理财工具</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://adaiblog.github.io/posts/Cashew.html" title="Cashew" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Cashew.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Cashew" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Cashew</div>                  <div class="flink-item-desc" title="管理预算和消费记录">管理预算和消费记录</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/ADAIBLOG/Cashew/releases" title="Cashew Fork版" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Cashew.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Cashew Fork版" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Cashew Fork版</div>                  <div class="flink-item-desc" title="管理预算和消费记录">管理预算和消费记录</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/Ivy-Apps/ivy-wallet/releases/" title="Ivy Wallet" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/ivy-wallet.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Ivy Wallet" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Ivy Wallet</div>                  <div class="flink-item-desc" title="管理开支">管理开支</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/enrique-lozano/Monekin/releases" title="Monekin" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Monekin.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Monekin" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Monekin</div>                  <div class="flink-item-desc" title="管理开支">管理开支</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/mtotschnig/MyExpenses?tab=readme-ov-file" title="开支助手" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts3.cn.mm.bing.net/th?id=ODLS.b8f56983-7891-4a5b-b71a-ec638b806de7&w=50&h=50&qlt=90&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="开支助手" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">开支助手</div>                  <div class="flink-item-desc" title="管理开支">管理开支</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/Pool-Of-Tears/GreenStash/releases" title="GreenStash" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/GreenStash.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="GreenStash" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">GreenStash</div>                  <div class="flink-item-desc" title="规划和管理储蓄目标">规划和管理储蓄目标</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/emavgl/oinkoin/releases" title="Oinkoin" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Oinkoin.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Oinkoin" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Oinkoin</div>                  <div class="flink-item-desc" title="跟踪费用记录">跟踪费用记录</div>                </div>              </a>            </div></div></div><div class="flink-name">网络与调试</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/termux/termux-app/releases" title="Termux" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/termux.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Termux" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Termux</div>                  <div class="flink-item-desc" title="终端模拟器">终端模拟器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/lollipopkit/flutter_server_box/releases" title="ServerBox" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/flutter_server_box.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="ServerBox" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">ServerBox</div>                  <div class="flink-item-desc" title="SSH工具">SSH工具</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/2dust/v2rayNG/releases/tag/1.9.16" title="N2rayNG" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/v2rayNG.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="N2rayNG" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">N2rayNG</div>                  <div class="flink-item-desc" title="网络代理">网络代理</div>                </div>              </a>            </div></div></div><div class="flink-name">健身与健康</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/Freeyourgadget/Gadgetbridge" title="Gadgetbridge" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Gadgetbridge.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Gadgetbridge" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Gadgetbridge</div>                  <div class="flink-item-desc" title="连接智能手环/手表">连接智能手环/手表</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/OpenTracksApp/OpenTracks/releases" title="OpenTracks" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/OpenTracks.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="OpenTracks" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">OpenTracks</div>                  <div class="flink-item-desc" title="运动轨迹记录（徒步、骑行等）">运动轨迹记录（徒步、骑行等）</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/naoxio/inbreeze/releases" title="Inner Breeze" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/InnerBreeze.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Inner Breeze" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Inner Breeze</div>                  <div class="flink-item-desc" title="基于Wim Hof 呼吸方法的引导式呼吸冥想">基于Wim Hof 呼吸方法的引导式呼吸冥想</div>                </div>              </a>            </div></div></div><div class="flink-name">隐私与安全工具</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/celzero/rethink-app/releases" title="Rethink DNS" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/rethink.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Rethink DNS" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Rethink DNS</div>                  <div class="flink-item-desc" title="阻止所有应用程序中的恶意软件、间谍软件、广告和跟踪器">阻止所有应用程序中的恶意软件、间谍软件、广告和跟踪器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/M66B/NetGuard/releases" title="NetGuard" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts2.cn.mm.bing.net/th?id=ODLS.a1d5ae05-4475-4097-b8ca-5355fc841fcb&w=50&h=50&qlt=91&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="NetGuard" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">NetGuard</div>                  <div class="flink-item-desc" title="控制应用网络权限，支持流量过滤和广告拦截">控制应用网络权限，支持流量过滤和广告拦截</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/Crazy-Marvin/MetadataRemover/releases" title="元数据清理器" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/MetadataRemover.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="元数据清理器" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">元数据清理器</div>                  <div class="flink-item-desc" title="删除图像元数据">删除图像元数据</div>                </div>              </a>            </div></div></div><div class="flink-name">游戏</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/Swordfish90/Lemuroid/releases" title="Lemuroid" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/lemuroid.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Lemuroid" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Lemuroid</div>                  <div class="flink-item-desc" title="多合一模拟器">多合一模拟器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/nikita36078/J2ME-Loader/releases" title="J2ME-Loader" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/J2ME-Loader.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="J2ME-Loader" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">J2ME-Loader</div>                  <div class="flink-item-desc" title="J2ME模拟器">J2ME模拟器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/FCL-Team/FoldCraftLauncher/releases" title="FCL" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/fcl.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="FCL" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">FCL</div>                  <div class="flink-item-desc" title="Android Minecraft：Java 版启动器">Android Minecraft：Java 版启动器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/ZalithLauncher/ZalithLauncher/releases" title="ZalithLauncher" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/ZalithLauncher.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="ZalithLauncher" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">ZalithLauncher</div>                  <div class="flink-item-desc" title="Android Minecraft：Java 版启动器">Android Minecraft：Java 版启动器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/yairm210/Unciv/releases" title="Unciv" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Unciv.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Unciv" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Unciv</div>                  <div class="flink-item-desc" title="类文明6的建设类游戏">类文明6的建设类游戏</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://f-droid.org/packages/io.anuke.mindustry/" title="Mindustry" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Mindustry.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Mindustry" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Mindustry</div>                  <div class="flink-item-desc" title="沙盒塔防">沙盒塔防</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/00-Evan/shattered-pixel-dungeon/releases" title="破碎的像素地牢" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/shattered-pixel-dungeon.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="破碎的像素地牢" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">破碎的像素地牢</div>                  <div class="flink-item-desc" title="Roguelike地下城探索游戏">Roguelike地下城探索游戏</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/kaajjo/LibreSudoku/releases" title="LibreSudoku" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/sudu.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="LibreSudoku" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">LibreSudoku</div>                  <div class="flink-item-desc" title="数独">数独</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://github.com/PrintN/Human-Benchmark/releases" title="Human Benchmark" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/Human-Benchmark.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Human Benchmark" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Human Benchmark</div>                  <div class="flink-item-desc" title="提升记忆，反应时间，打字速度小游戏">提升记忆，反应时间，打字速度小游戏</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://f-droid.org/packages/dev.lucanlm.antimine" title="扫雷" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="/img/posts/app/saolei.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="扫雷" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">扫雷</div>                  <div class="flink-item-desc" title="扫雷">扫雷</div>                </div>              </a>            </div></div></div></div><h1 id="闭源软件"><a href="#闭源软件" class="headerlink" title="闭源软件"></a>闭源软件</h1><div class="flink"><div class="flink-name">系统级</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://viayoo.com/zh-cn/" title="Via" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://viayoo.com/zh-cn/images/via-logo.svg" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Via" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Via</div>                  <div class="flink-item-desc" title="浏览器">浏览器</div>                </div>              </a>            </div></div></div><div class="flink-name">社交</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://tim.qq.com/" title="TIM" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://ts1.cn.mm.bing.net/th?id=ODLS.2a2a53ef-a362-48b1-8fe5-ff79393bc828&w=50&h=50&qlt=91&pcl=fffffa&o=6&pid=1.2" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="TIM" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">TIM</div>                  <div class="flink-item-desc" title="QQ">QQ</div>                </div>              </a>            </div></div></div><div class="flink-name">记录与习惯</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://github.com/obsidianmd/obsidian-releases/releases/" title="Obsidian" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://obsidian.md/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="Obsidian" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">Obsidian</div>                  <div class="flink-item-desc" title="笔记软件">笔记软件</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://www.lifeupapp.fun/zh/index.html" title="人生" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://www.lifeupapp.fun/zh/favicon.ico" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="人生" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">人生</div>                  <div class="flink-item-desc" title="游戏化待办&习惯养成">游戏化待办&习惯养成</div>                </div>              </a>            </div></div></div><div class="flink-name">娱乐</div> <div class="flink-list"><div class="anzhiyu-flink-list">            <div class="flink-list-item">              <a href="https://moriafly.xyz/HiMoriafly/docs/salt-player/download/" title="椒盐音乐" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://moriafly.com/spa.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="椒盐音乐" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">椒盐音乐</div>                  <div class="flink-item-desc" title="本地音乐播放器">本地音乐播放器</div>                </div>              </a>            </div>            <div class="flink-list-item">              <a href="https://adaifun.lanzout.com/if35u2rs7ola" title="音乐标签" class="cf-friends-link" target="_blank">                <div class="flink-item-icon">                  <img class="no-lightbox cf-friends-avatar" src="https://image.coolapk.com/apk_logo/2019/0312/21/musictageditor512-102459-o_1d5p257iufqgrlg1kag1fn8kdfq-uid-410561@512x512.png" onerror='this.onerror=null;this.src="/img/friend_404.gif"' alt="音乐标签" />                </div>                <div class="flink-item-info">                  <div class="flink-item-name">音乐标签</div>                  <div class="flink-item-desc" title="音乐添加歌词">音乐添加歌词</div>                </div>              </a>            </div></div></div></div>]]></content>
    
    
    <summary type="html">安卓优质应用大合集，包含大量开源与闭源软件。内容按功能详细分类（如应用商城、系统工具、媒体娱乐、阅读、生产力等），并提供官方下载链接，助你轻松发现和获取高口碑应用。</summary>
    
    
    
    <category term="软件" scheme="https://www.adaiblog.github.io/categories/%E8%BD%AF%E4%BB%B6/"/>
    
    <category term="开源" scheme="https://www.adaiblog.github.io/categories/%E5%BC%80%E6%BA%90/"/>
    
    
    <category term="Android" scheme="https://www.adaiblog.github.io/tags/Android/"/>
    
  </entry>
  
</feed>
