<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Yokiの小站</title>
  
  <subtitle>向死而生</subtitle>
  <link href="/atom.xml" rel="self"/>
  
  <link href="http://example.com/"/>
  <updated>2026-04-24T00:15:48.903Z</updated>
  <id>http://example.com/</id>
  
  <author>
    <name>John Doe</name>
    
  </author>
  
  <generator uri="https://hexo.io/">Hexo</generator>
  
  <entry>
    <title>Twikoo 评论系统集成 Cloudflare ImgBed 图床指南</title>
    <link href="http://example.com/2026/04/24/twikoo-cfimgbed-guide/"/>
    <id>http://example.com/2026/04/24/twikoo-cfimgbed-guide/</id>
    <published>2026-04-24T04:00:00.000Z</published>
    <updated>2026-04-24T00:15:48.903Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Twikoo-Cloudflare-ImgBed-图床配置指南"><a href="#Twikoo-Cloudflare-ImgBed-图床配置指南" class="headerlink" title="Twikoo + Cloudflare ImgBed 图床配置指南"></a>Twikoo + Cloudflare ImgBed 图床配置指南</h1><h2 id="一、概述"><a href="#一、概述" class="headerlink" title="一、概述"></a>一、概述</h2><p>本指南介绍如何在 Twikoo 评论系统中集成 Cloudflare ImgBed 图床，实现图片上传功能。</p><span id="more"></span><h3 id="适用场景"><a href="#适用场景" class="headerlink" title="适用场景"></a>适用场景</h3><ul><li>使用 Vercel 部署 Twikoo</li><li>需要将评论中的图片上传到云存储</li><li>使用 Cloudflare ImgBed 作为图床服务</li></ul><h2 id="二、修改的源码文件"><a href="#二、修改的源码文件" class="headerlink" title="二、修改的源码文件"></a>二、修改的源码文件</h2><table><thead><tr><th>文件</th><th>说明</th></tr></thead><tbody><tr><td><code>src/server/function/twikoo/utils/image.js</code></td><td>cfimgbed 上传逻辑实现</td></tr><tr><td><code>src/server/function/twikoo/package.json</code></td><td>npm 包版本号</td></tr><tr><td><code>src/server/vercel/package.json</code></td><td>依赖 <code>twikoo-func-yokipeek</code></td></tr><tr><td><code>src/server/vercel/api/index.js</code></td><td>require 路径改为 <code>twikoo-func-yokipeek</code></td></tr></tbody></table><h2 id="三、发布-npm-包"><a href="#三、发布-npm-包" class="headerlink" title="三、发布 npm 包"></a>三、发布 npm 包</h2><h3 id="1-修改版本号"><a href="#1-修改版本号" class="headerlink" title="1. 修改版本号"></a>1. 修改版本号</h3><p>编辑 <code>src/server/function/twikoo/package.json</code>，将 <code>version</code> 改为新版本号（如 <code>1.7.15</code>）。</p><h3 id="2-配置-npm-认证"><a href="#2-配置-npm-认证" class="headerlink" title="2. 配置 npm 认证"></a>2. 配置 npm 认证</h3><p>在 <code>src/server/function/twikoo/</code> 目录下创建 <code>.npmrc</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">//registry.npmjs.org/:_authToken=你的_npm_automation_token</span><br></pre></td></tr></table></figure><p><strong>Token 获取方式</strong>：</p><ol><li>登录 <a href="https://www.npmjs.com/">https://www.npmjs.com</a></li><li>进入 Settings &gt; Tokens</li><li>Generate New Token &gt; Automation</li><li>勾选 “Allow packages with 2FA enabled to be published without 2FA”</li><li>复制生成的 token</li></ol><h3 id="3-发布包"><a href="#3-发布包" class="headerlink" title="3. 发布包"></a>3. 发布包</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">cd</span> src/server/function/twikoo</span><br><span class="line">npm publish --access public</span><br></pre></td></tr></table></figure><h3 id="4-更新-Vercel-依赖"><a href="#4-更新-Vercel-依赖" class="headerlink" title="4. 更新 Vercel 依赖"></a>4. 更新 Vercel 依赖</h3><p>编辑 <code>src/server/vercel/package.json</code>，将 <code>twikoo-func-yokipeek</code> 版本改为刚发布的版本号。</p><h2 id="四、Vercel-部署配置"><a href="#四、Vercel-部署配置" class="headerlink" title="四、Vercel 部署配置"></a>四、Vercel 部署配置</h2><ol><li>登录 Vercel，进入你的项目</li><li>点击 <strong>Settings</strong> &gt; <strong>General</strong></li><li><strong>Root Directory</strong> 设置为 <code>src/server/vercel</code></li><li>不需要设置 Build Command（Vercel 自动处理）</li></ol><h2 id="五、环境变量配置"><a href="#五、环境变量配置" class="headerlink" title="五、环境变量配置"></a>五、环境变量配置</h2><p>在 Vercel Settings &gt; Environment Variables 中添加：</p><table><thead><tr><th>变量名</th><th>说明</th><th>示例</th></tr></thead><tbody><tr><td><code>MONGODB_URI</code></td><td>MongoDB 连接字符串</td><td><code>mongodb+srv://user:pass@cluster.xxx.mongodb.net/twikoo</code></td></tr><tr><td><code>IMAGE_CDN</code></td><td>图床类型，固定值</td><td><code>cfimgbed</code></td></tr><tr><td><code>IMAGE_CDN_URL</code></td><td>cfimgbed API 地址</td><td><code>https://cfbed.sanyue.de</code> 或 <code>https://img.weiguang.eu.org</code></td></tr><tr><td><code>IMAGE_CDN_TOKEN</code></td><td>认证令牌</td><td>详见下方配置方式</td></tr></tbody></table><h2 id="六、IMAGE-CDN-TOKEN-配置方式"><a href="#六、IMAGE-CDN-TOKEN-配置方式" class="headerlink" title="六、IMAGE_CDN_TOKEN 配置方式"></a>六、IMAGE_CDN_TOKEN 配置方式</h2><h3 id="方式1：直接填-authCode（简单模式）"><a href="#方式1：直接填-authCode（简单模式）" class="headerlink" title="方式1：直接填 authCode（简单模式）"></a>方式1：直接填 authCode（简单模式）</h3><p>适用于使用 <code>authCode</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">IMAGE_CDN_TOKEN = your_auth_code_here</span><br></pre></td></tr></table></figure><h3 id="方式2：JSON-完整配置（推荐）"><a href="#方式2：JSON-完整配置（推荐）" class="headerlink" title="方式2：JSON 完整配置（推荐）"></a>方式2：JSON 完整配置（推荐）</h3><p>适用于需要指定更多参数的场景：</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><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="punctuation">&#123;</span></span><br><span class="line">  <span class="attr">&quot;authCode&quot;</span><span class="punctuation">:</span> <span class="string">&quot;your_auth_code&quot;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;uploadChannel&quot;</span><span class="punctuation">:</span> <span class="string">&quot;telegram&quot;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;useBearerAuth&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">false</span></span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;uploadNameType&quot;</span><span class="punctuation">:</span> <span class="string">&quot;origin&quot;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;channelName&quot;</span><span class="punctuation">:</span> <span class="string">&quot;&quot;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;serverCompress&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">true</span></span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;autoRetry&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">true</span></span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;uploadFolder&quot;</span><span class="punctuation">:</span> <span class="string">&quot;&quot;</span></span><br><span class="line"><span class="punctuation">&#125;</span></span><br></pre></td></tr></table></figure><p><strong>或使用 Bearer Token 认证</strong>：</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></pre></td><td class="code"><pre><span class="line"><span class="punctuation">&#123;</span></span><br><span class="line">  <span class="attr">&quot;token&quot;</span><span class="punctuation">:</span> <span class="string">&quot;your_api_token&quot;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;uploadChannel&quot;</span><span class="punctuation">:</span> <span class="string">&quot;discord&quot;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;useBearerAuth&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">true</span></span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;uploadNameType&quot;</span><span class="punctuation">:</span> <span class="string">&quot;origin&quot;</span></span><br><span class="line"><span class="punctuation">&#125;</span></span><br></pre></td></tr></table></figure><h3 id="JSON-配置参数说明"><a href="#JSON-配置参数说明" class="headerlink" title="JSON 配置参数说明"></a>JSON 配置参数说明</h3><table><thead><tr><th>参数</th><th>类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code>authCode</code></td><td>string</td><td>-</td><td>上传认证码（与 <code>token</code> 二选一）</td></tr><tr><td><code>token</code></td><td>string</td><td>-</td><td>API Token（与 <code>authCode</code> 二选一）</td></tr><tr><td><code>apiKey</code></td><td>string</td><td>-</td><td>API Key（与 <code>authCode</code> 或 <code>token</code> 二选一）</td></tr><tr><td><code>uploadChannel</code></td><td>string</td><td><code>telegram</code></td><td>上传渠道，可选值：<code>telegram</code>、<code>discord</code>、<code>cfr2</code>、<code>s3</code>、<code>huggingface</code></td></tr><tr><td><code>useBearerAuth</code></td><td>boolean</td><td><code>false</code></td><td>是否使用 <code>Authorization: Bearer</code> 方式认证</td></tr><tr><td><code>uploadNameType</code></td><td>string</td><td><code>origin</code></td><td>文件命名方式：<code>default</code>（前缀_原名）、<code>index</code>（仅前缀）、<code>origin</code>（仅原名）、<code>short</code>（短链接）</td></tr><tr><td><code>channelName</code></td><td>string</td><td>-</td><td>指定渠道名称（多渠道场景），可通过 <code>/api/channels</code> 获取可用列表</td></tr><tr><td><code>serverCompress</code></td><td>boolean</td><td><code>true</code></td><td>服务端压缩（仅 Telegram 渠道图片）</td></tr><tr><td><code>autoRetry</code></td><td>boolean</td><td><code>true</code></td><td>失败时自动切换渠道重试</td></tr><tr><td><code>uploadFolder</code></td><td>string</td><td>-</td><td>上传目录，相对路径，如 <code>twikoo</code></td></tr></tbody></table><h2 id="七、认证方式说明"><a href="#七、认证方式说明" class="headerlink" title="七、认证方式说明"></a>七、认证方式说明</h2><h3 id="authCode-认证（默认）"><a href="#authCode-认证（默认）" class="headerlink" title="authCode 认证（默认）"></a>authCode 认证（默认）</h3><p>图床 API 使用 <code>authCode</code> 作为 Query 参数认证：</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">POST /upload?authCode=xxx&amp;uploadChannel=telegram</span><br></pre></td></tr></table></figure><p>配置示例：</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></pre></td><td class="code"><pre><span class="line"><span class="punctuation">&#123;</span></span><br><span class="line">  <span class="attr">&quot;authCode&quot;</span><span class="punctuation">:</span> <span class="string">&quot;your_auth_code&quot;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;useBearerAuth&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">false</span></span></span><br><span class="line"><span class="punctuation">&#125;</span></span><br></pre></td></tr></table></figure><h3 id="Bearer-Token-认证"><a href="#Bearer-Token-认证" class="headerlink" title="Bearer Token 认证"></a>Bearer Token 认证</h3><p>图床 API 使用 <code>Authorization: Bearer</code> Header 认证：</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">Authorization: Bearer your_api_token</span><br></pre></td></tr></table></figure><p>配置示例：</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></pre></td><td class="code"><pre><span class="line"><span class="punctuation">&#123;</span></span><br><span class="line">  <span class="attr">&quot;token&quot;</span><span class="punctuation">:</span> <span class="string">&quot;your_api_token&quot;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;useBearerAuth&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">true</span></span></span><br><span class="line"><span class="punctuation">&#125;</span></span><br></pre></td></tr></table></figure><p><strong>注意</strong>：<code>useBearerAuth</code> 必须设为 <code>true</code> 才能生效。</p><h2 id="八、uploadChannel-渠道说明"><a href="#八、uploadChannel-渠道说明" class="headerlink" title="八、uploadChannel 渠道说明"></a>八、uploadChannel 渠道说明</h2><table><thead><tr><th>渠道</th><th>说明</th><th>文件限制</th></tr></thead><tbody><tr><td><code>telegram</code></td><td>默认渠道，通过 Telegram Bot 上传</td><td>单文件 20MB</td></tr><tr><td><code>discord</code></td><td>通过 Discord 上传</td><td>免费用户 10MB，Nitro 25MB</td></tr><tr><td><code>cfr2</code></td><td>Cloudflare R2 存储</td><td>无限制</td></tr><tr><td><code>s3</code></td><td>AWS S3 或兼容存储</td><td>无限制</td></tr><tr><td><code>huggingface</code></td><td>HuggingFace 存储</td><td>支持大文件直传</td></tr></tbody></table><h2 id="九、常见问题"><a href="#九、常见问题" class="headerlink" title="九、常见问题"></a>九、常见问题</h2><h3 id="1-图片上传失败：undefined"><a href="#1-图片上传失败：undefined" class="headerlink" title="1. 图片上传失败：undefined"></a>1. 图片上传失败：undefined</h3><p><strong>原因</strong>：API 响应格式不符合预期。</p><p><strong>排查</strong>：检查 Vercel Logs 查看实际响应内容。</p><h3 id="2-FUNCTION-PAYLOAD-TOO-LARGE"><a href="#2-FUNCTION-PAYLOAD-TOO-LARGE" class="headerlink" title="2. FUNCTION_PAYLOAD_TOO_LARGE"></a>2. FUNCTION_PAYLOAD_TOO_LARGE</h3><p><strong>原因</strong>：Vercel Function 请求体限制约 4.5MB，图片过大会触发此错误。</p><p><strong>解决方案</strong>：</p><ul><li>用户上传前手动压缩图片</li><li>调整 Twikoo 前端压缩参数（需修改源码并重新构建）</li></ul><h3 id="3-图片显示为相对路径"><a href="#3-图片显示为相对路径" class="headerlink" title="3. 图片显示为相对路径"></a>3. 图片显示为相对路径</h3><p><strong>原因</strong>：未设置 <code>returnFormat=full</code>。</p><p><strong>解决</strong>：代码已默认添加此参数，如仍有问题请检查图床 API 是否支持此参数。</p><h3 id="4-认证失败"><a href="#4-认证失败" class="headerlink" title="4. 认证失败"></a>4. 认证失败</h3><p><strong>检查</strong>：</p><ul><li>确认 <code>authCode</code> 或 <code>token</code> 是否正确</li><li>确认 <code>useBearerAuth</code> 设置是否正确（Bearer 认证需设为 <code>true</code>）</li><li>检查图床后台是否启用了对应的认证方式</li></ul><h2 id="十、测试验证"><a href="#十、测试验证" class="headerlink" title="十、测试验证"></a>十、测试验证</h2><ol><li>部署完成后访问你的 Vercel 域名，确认返回版本信息</li><li>进入 Twikoo 管理面板（评论框小齿轮图标）</li><li>配置图床选项，选择 <code>cfimgbed</code></li><li>填写 <code>IMAGE_CDN_URL</code> 和 <code>IMAGE_CDN_TOKEN</code></li><li>尝试上传图片，检查是否成功</li></ol><h2 id="十一、版本更新流程"><a href="#十一、版本更新流程" class="headerlink" title="十一、版本更新流程"></a>十一、版本更新流程</h2><p>当需要更新代码时：</p><ol><li>修改 <code>src/server/function/twikoo/utils/image.js</code></li><li>更新 <code>src/server/function/twikoo/package.json</code> 版本号</li><li>发布 npm 包</li><li>更新 <code>src/server/vercel/package.json</code> 依赖版本</li><li>推送代码，Vercel 自动重新部署</li></ol><h2 id="十二、完整配置示例"><a href="#十二、完整配置示例" class="headerlink" title="十二、完整配置示例"></a>十二、完整配置示例</h2><h3 id="示例1：使用-Telegram-渠道-authCode-认证"><a href="#示例1：使用-Telegram-渠道-authCode-认证" class="headerlink" title="示例1：使用 Telegram 渠道 + authCode 认证"></a>示例1：使用 Telegram 渠道 + authCode 认证</h3><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></pre></td><td class="code"><pre><span class="line"><span class="punctuation">&#123;</span></span><br><span class="line">  <span class="attr">&quot;authCode&quot;</span><span class="punctuation">:</span> <span class="string">&quot;your_auth_code&quot;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;uploadChannel&quot;</span><span class="punctuation">:</span> <span class="string">&quot;telegram&quot;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;uploadNameType&quot;</span><span class="punctuation">:</span> <span class="string">&quot;origin&quot;</span></span><br><span class="line"><span class="punctuation">&#125;</span></span><br></pre></td></tr></table></figure><h3 id="示例2：使用-Discord-渠道-Bearer-Token-认证"><a href="#示例2：使用-Discord-渠道-Bearer-Token-认证" class="headerlink" title="示例2：使用 Discord 渠道 + Bearer Token 认证"></a>示例2：使用 Discord 渠道 + Bearer Token 认证</h3><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></pre></td><td class="code"><pre><span class="line"><span class="punctuation">&#123;</span></span><br><span class="line">  <span class="attr">&quot;token&quot;</span><span class="punctuation">:</span> <span class="string">&quot;imgbed_xxxxxxxxxxxx&quot;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;uploadChannel&quot;</span><span class="punctuation">:</span> <span class="string">&quot;discord&quot;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;useBearerAuth&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">true</span></span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;uploadNameType&quot;</span><span class="punctuation">:</span> <span class="string">&quot;origin&quot;</span></span><br><span class="line"><span class="punctuation">&#125;</span></span><br></pre></td></tr></table></figure><h3 id="示例3：指定上传目录"><a href="#示例3：指定上传目录" class="headerlink" title="示例3：指定上传目录"></a>示例3：指定上传目录</h3><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></pre></td><td class="code"><pre><span class="line"><span class="punctuation">&#123;</span></span><br><span class="line">  <span class="attr">&quot;authCode&quot;</span><span class="punctuation">:</span> <span class="string">&quot;your_auth_code&quot;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;uploadChannel&quot;</span><span class="punctuation">:</span> <span class="string">&quot;telegram&quot;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;uploadFolder&quot;</span><span class="punctuation">:</span> <span class="string">&quot;blog/comments&quot;</span></span><br><span class="line"><span class="punctuation">&#125;</span></span><br></pre></td></tr></table></figure><h3 id="示例4：禁用服务端压缩"><a href="#示例4：禁用服务端压缩" class="headerlink" title="示例4：禁用服务端压缩"></a>示例4：禁用服务端压缩</h3><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></pre></td><td class="code"><pre><span class="line"><span class="punctuation">&#123;</span></span><br><span class="line">  <span class="attr">&quot;authCode&quot;</span><span class="punctuation">:</span> <span class="string">&quot;your_auth_code&quot;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;uploadChannel&quot;</span><span class="punctuation">:</span> <span class="string">&quot;telegram&quot;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;serverCompress&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">false</span></span></span><br><span class="line"><span class="punctuation">&#125;</span></span><br></pre></td></tr></table></figure>]]></content>
    
    <summary type="html">
    
      &lt;h1 id=&quot;Twikoo-Cloudflare-ImgBed-图床配置指南&quot;&gt;&lt;a href=&quot;#Twikoo-Cloudflare-ImgBed-图床配置指南&quot; class=&quot;headerlink&quot; title=&quot;Twikoo + Cloudflare ImgBed 图床配置指南&quot;&gt;&lt;/a&gt;Twikoo + Cloudflare ImgBed 图床配置指南&lt;/h1&gt;&lt;h2 id=&quot;一、概述&quot;&gt;&lt;a href=&quot;#一、概述&quot; class=&quot;headerlink&quot; title=&quot;一、概述&quot;&gt;&lt;/a&gt;一、概述&lt;/h2&gt;&lt;p&gt;本指南介绍如何在 Twikoo 评论系统中集成 Cloudflare ImgBed 图床，实现图片上传功能。&lt;/p&gt;
    
    </summary>
    
    
      <category term="技术教程" scheme="http://example.com/categories/%E6%8A%80%E6%9C%AF%E6%95%99%E7%A8%8B/"/>
    
    
      <category term="Twikoo" scheme="http://example.com/tags/Twikoo/"/>
    
      <category term="图床" scheme="http://example.com/tags/%E5%9B%BE%E5%BA%8A/"/>
    
      <category term="Cloudflare" scheme="http://example.com/tags/Cloudflare/"/>
    
      <category term="Vercel" scheme="http://example.com/tags/Vercel/"/>
    
  </entry>
  
  <entry>
    <title>每天一个linux命令</title>
    <link href="http://example.com/2026/04/17/%E8%BF%99%E6%98%AF%E4%B8%80%E7%AF%87%E6%96%B0%E7%9A%84%E5%8D%9A%E6%96%87/"/>
    <id>http://example.com/2026/04/17/%E8%BF%99%E6%98%AF%E4%B8%80%E7%AF%87%E6%96%B0%E7%9A%84%E5%8D%9A%E6%96%87/</id>
    <published>2026-04-16T16:03:43.000Z</published>
    <updated>2026-04-23T20:10:45.464Z</updated>
    
    <content type="html"><![CDATA[<h1 id="测试时间发生纠纷"><a href="#测试时间发生纠纷" class="headerlink" title="测试时间发生纠纷"></a>测试时间发生纠纷</h1><div class="video-container">[up主专用，视频内嵌代码贴在这]</div><style>.video-container {    position: relative;    width: 100%;    padding-top: 56.25%; /* 16:9 aspect ratio (height/width = 9/16 * 100%) */}.video-container iframe {    position: absolute;    top: 0;    left: 0;    width: 100%;    height: 100%;}</style>]]></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;div class=&quot;video-container&quot;&gt;
[up主专用，视频内嵌代码贴在这]
&lt;
      
    
    </summary>
    
    
      <category term="教程" scheme="http://example.com/categories/%E6%95%99%E7%A8%8B/"/>
    
    
      <category term="hexo主题" scheme="http://example.com/tags/hexo%E4%B8%BB%E9%A2%98/"/>
    
  </entry>
  
  <entry>
    <title>Hello World</title>
    <link href="http://example.com/2026/04/16/hello-world/"/>
    <id>http://example.com/2026/04/16/hello-world/</id>
    <published>2026-04-16T10:11:13.842Z</published>
    <updated>2026-04-23T20:10:45.464Z</updated>
    
    <content type="html"><![CDATA[<p>Welcome to <a href="https://hexo.io/">Hexo</a>! This is your very first post. Check <a href="https://hexo.io/docs/">documentation</a> for more info. If you get any problems when using Hexo, you can find the answer in <a href="https://hexo.io/docs/troubleshooting.html">troubleshooting</a> or you can ask me on <a href="https://github.com/hexojs/hexo/issues">GitHub</a>.</p><h2 id="Quick-Start"><a href="#Quick-Start" class="headerlink" title="Quick Start"></a>Quick Start</h2><h3 id="Create-a-new-post"><a href="#Create-a-new-post" class="headerlink" title="Create a new post"></a>Create a new post</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">$ hexo new <span class="string">&quot;My New Post&quot;</span></span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/writing.html">Writing</a></p><h3 id="Run-server"><a href="#Run-server" class="headerlink" title="Run server"></a>Run server</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">$ hexo server</span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/server.html">Server</a></p><h3 id="Generate-static-files"><a href="#Generate-static-files" class="headerlink" title="Generate static files"></a>Generate static files</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">$ hexo generate</span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/generating.html">Generating</a></p><h3 id="Deploy-to-remote-sites"><a href="#Deploy-to-remote-sites" class="headerlink" title="Deploy to remote sites"></a>Deploy to remote sites</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">$ hexo deploy</span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/one-command-deployment.html">Deployment</a></p>]]></content>
    
    <summary type="html">
    
      
      
        &lt;p&gt;Welcome to &lt;a href=&quot;https://hexo.io/&quot;&gt;Hexo&lt;/a&gt;! This is your very first post. Check &lt;a href=&quot;https://hexo.io/docs/&quot;&gt;documentation&lt;/a&gt; for
      
    
    </summary>
    
    
    
  </entry>
  
</feed>
