<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <author>
    <name>e2147</name>
  </author>
  <generator uri="https://hexo.io/">Hexo</generator>
  <id>https://i.101229.xyz/</id>
  <link href="https://i.101229.xyz/" rel="alternate"/>
  <link href="https://i.101229.xyz/atom.xml" rel="self"/>
  <rights>All rights reserved 2026, e2147</rights>
  <title>E2147dev</title>
  <updated>2026-07-30T12:53:38.822Z</updated>
  <entry>
    <author>
      <name>e2147</name>
    </author>
    <content>
      <![CDATA[<p>网站用了Vercel备用站，<br>并且加上了首屏打字机效果，<br>之后会升级</p>]]>
    </content>
    <id>https://i.101229.xyz/2026/07/30/2026-07-30-06/</id>
    <link href="https://i.101229.xyz/2026/07/30/2026-07-30-06/"/>
    <published>2026-07-30T20:49:14.000Z</published>
    <summary>
      <![CDATA[<p>网站用了Vercel备用站，<br>并且加上了首屏打字机效果，<br>之后会升级</p>]]>
    </summary>
    <title>一些改动</title>
    <updated>2026-07-30T12:53:38.822Z</updated>
  </entry>
  <entry>
    <author>
      <name>e2147</name>
    </author>
    <content>
      <![CDATA[<p>博客已迁移至i.101229.xyz</p>]]>
    </content>
    <id>https://i.101229.xyz/2026/07/30/2026-07-30-05/</id>
    <link href="https://i.101229.xyz/2026/07/30/2026-07-30-05/"/>
    <published>2026-07-30T18:00:39.000Z</published>
    <summary>
      <![CDATA[<p>博客已迁移至i.101229.xyz</p>]]>
    </summary>
    <title>迁移</title>
    <updated>2026-07-30T12:53:38.822Z</updated>
  </entry>
  <entry>
    <author>
      <name>e2147</name>
    </author>
    <content>
      <![CDATA[<p>“不要去等谁，所有的不期而遇都正在路上等你。”,<br>“愿你的身后总有力量，愿你成为自己的太阳。”,<br>“愿所有的美好都如期而至，愿所有的幸运都不期而遇。”,<br>“有些路很远，走下去会很累，可是不走，会后悔。”,<br>“你做三四月的事，在八九月自有答案。”,<br>“不要因为结束而哭泣，微笑吧，为你的曾经拥有。”,<br>“如果你瞄准月亮，即使迷失也是落在星辰之间。”,<br>“不是所有的鱼都生活在同一片海里。”,<br>“愿你出走半生，归来仍是少年。”,<br>“人的一切痛苦，本质上都是对自己无能的愤怒。”,<br>“一个人知道自己为什么而活，就可以忍受任何一种生活。”,<br>“但凡不能杀死你的，最终都会使你更强大。”,<br>“每个不曾起舞的日子，都是对生命的辜负。”,<br>“其实人跟树是一样的，越是向往高处的阳光，它的根就越要伸向黑暗的地底。”,<br>“我们走得太快，灵魂都跟不上了。”,<br>“一个人行走的范围，就是他的世界。”,<br>“星辰大海从未遥不可及，唯有热爱可抵岁月漫长。”,<br>“既然选择了远方，便只顾风雨兼程。”,<br>“没有比脚更长的路，没有比人更高的山。”,<br>“如果这世界上真有奇迹，那只是努力的另一个名字。”,<br>“生命中最难的阶段不是没有人懂你，而是你不懂你自己。”,<br>“世界以痛吻我，要我报之以歌。”,<br>“当你为错过太阳而哭泣的时候，你也要再错过群星了。”,<br>“不要因为走得太远，忘了我们为什么出发。”,<br>“一个人至少拥有一个梦想，有一个理由去坚强。心若没有栖息的地方，到哪里都是在流浪。”,<br>“时间并不会真的帮我们解决什么问题，它只是把原来怎么也想不通的问题，变得不再重要了。”,<br>“成熟的人，不问过去；聪明的人，不问现在；豁达的人，不问未来。”,<br>“人生最大的遗憾，莫过于轻易地放弃了不该放弃的，固执地坚持了不该坚持的。”,<br>“世间所有的相遇，都是久别重逢。”,<br>“最好的时光在路上，最美的自己在远方。”,<br>“愿你有前进一寸的勇气，亦有后退一尺的从容。”,<br>“生命是一场盛大的遇见，若你懂得，就请珍惜。”,<br>“即便前路混沌，你踏出的每一步都算数。”,<br>“山有顶峰，湖有彼岸，在人生漫漫长途中，万物皆有回转。”,<br>“当你觉得余味苦涩时，请你相信，一切终有回甘。”,<br>“也许我们终将在某个路口走散，但一起走过的路，都算数。”,<br>“有些路，只能一个人走，那些邀约好同行的人，终会在某个渡口离散。”,<br>“时间是最公平的，你种下什么，就会收获什么。”,<br>“没有人能替你承受痛苦，也没有人能抢走你的坚强。”,<br>“你若不伤，岁月无恙。”,<br>“愿你的每一天，都如阳光般明媚。”,<br>“清晨的阳光会照进每一个努力的人的生活。”,<br>“我宁愿犯错，也不愿什么都不做。”,<br>“每一个优秀的人，都有一段沉默的时光，是付出了很多努力却得不到结果的日子，我们把它叫做扎根。”,<br>“如果梦想有捷径的话，那么这条路的名字一定叫坚持。”,<br>“不要在应该奋斗的年纪选择了安逸。”,<br>“你不必生来勇敢，天赋过人。只要能投入勤奋，诚诚恳恳。”,<br>“万物皆有裂痕，那是光照进来的地方。”,<br>“愿我们能始终温柔，哪怕这世界以痛吻我。”,<br>“人生如逆旅，我亦是行人。”,<br>“且将新火试新茶，诗酒趁年华。”,<br>“休对故人思故国，且将新火试新茶。”,<br>“梦里不知身是客，一晌贪欢。”,<br>“独自莫凭栏，无限江山，别时容易见时难。”,<br>“流水落花春去也，天上人间。”,<br>“剪一段时光，放在最美的段落。”,<br>“时光静好，与君语；细水流年，与君同；繁华落尽，与君老。”,<br>“你若盛开，清风自来。”,<br>“心安之处，便是故乡。”,<br>“人生没有白走的路，每一步都算数。”,<br>“只愿岁月无可回首，且以深情共白头。”,<br>“愿做你生命中的一束光，照亮你前行的路。”,<br>“既许一人以偏爱，愿尽余生之慷慨。”,<br>“余生很长，不必慌张。”,<br>“愿你遇到那个懂你悲欢、知你冷暖的人。”,<br>“世界上最快乐的事，莫过于为理想而奋斗。”,<br>“生活或许沉闷，但跑起来就有风。”,<br>“你未必光芒万丈，但始终温暖有光。”,<br>“愿你所到之处，遍地阳光；愿你梦的远方，温暖为向。”,<br>“即使翅膀断了，心也要飞翔。”,<br>“没有伞的孩子，必须努力奔跑。”,<br>“你要悄悄拔尖，然后惊艳所有人。”,<br>“虽然辛苦，但我还是会选择那种滚烫的人生。”,<br>“哪有什么一夜成名，其实都是百炼成钢。”,<br>“机会永远留给有准备的人。”,<br>“你若决定灿烂，山无遮，海无拦。”,<br>“半山腰总是最挤的，你得去山顶看看。”,<br>“如果觉得累，说明你在走上坡路。”,<br>“生活原本沉闷，但跑起来就有风。”,<br>“你只管努力，剩下的交给时光。”,<br>“往事不回头，未来不将就。”,<br>“愿你眼里有星辰，心中有山海。”,<br>“世界很大，请带着梦想一起奔跑。”,<br>“愿你在迷茫时，坚信你的珍贵。”,<br>“爱你所爱，行你所行，听从你心，无问西东。”,<br>“人生没有如果，只有后果和结果。”,<br>“没有一种不通过蔑视、忍受和奋斗就可以征服的命运。”,<br>“不要小看自己，因为人有无限的可能。”,<br>“今天的努力，是幸运的伏笔；当下的付出，是明日的花开。”,<br>“你不努力，谁也给不了你想要的生活。”,<br>“每一个不曾起舞的日子，都是对生命的辜负。”,<br>“不要等待机会，而要创造机会。”,<br>“越是黑暗的地方，就越要心向光明。”,<br>“愿你我既能朝九晚五，又能浪迹天涯。”,<br>“愿你历经山河，仍觉得人间值得。”,<br>“请成为永远疯狂永远浪漫永远清澈的存在。”,<br>“愿你是披荆斩棘的勇士，也是被世界温柔以待的幸运儿。”,<br>“所有的失去，都会以另一种方式归来。”,<br>“总有一天，你会站在最亮的地方，活成自己曾经渴望的模样。”,<br>“愿你所遇皆温柔，所行皆坦途。”,<br>“心中有丘壑，眉目作山河。”,<br>“凡是过往，皆为序章。”,<br>“愿你一生努力，一生被爱，想要的都拥有，得不到的都释怀。”,<br>“知世故而不世故，才是最善良的成熟。”,<br>“愿我们永远年轻，永远热泪盈眶。”,<br>“前方无绝路，希望在转角。”,<br>“心若向阳，无谓悲伤。”,<br>“愿你心向暖阳，一路生花。”,<br>“愿你三冬暖，愿你春不寒，愿你天黑有灯，下雨有伞。”,<br>“愿你余生平安喜乐，万事胜意。”,<br>“岁月极美，在于它必然的流逝。春花、秋月、夏日、冬雪。”,<br>“我们终将上岸，阳光万里，鲜花沿路开放。”,<br>“道阻且长，行则将至；行而不辍，未来可期。”,<br>“愿你的旅途总有星光相伴，哪怕黑夜漫长。”,<br>“每一次跌倒，都是为了更稳地站起，然后跑得更远。”,<br>“岁月漫长，然而值得等待，因为美好总在拐角处。”,<br>“你眼里的光，足以照亮所有迷茫的远方。”,<br>“把耐心留住，惊喜会慢慢酝酿出来。”,<br>“一定要站在你所热爱的世界里闪闪发光。”,<br>“把平凡的日子过成诗，把简单的生活过成画。”</p>]]>
    </content>
    <id>https://i.101229.xyz/2026/07/30/2026-07-30-04/</id>
    <link href="https://i.101229.xyz/2026/07/30/2026-07-30-04/"/>
    <published>2026-07-30T16:04:21.000Z</published>
    <summary>
      <![CDATA[<p>“不要去等谁，所有的不期而遇都正在路上等你。”,<br>“愿你的身后总有力量，愿你成为自己的太阳。”,<br>“愿所有的美好都如期而至，愿所有的幸运都不期而遇。”,<br>“有些路很远，走下去会很累，可是不走，会后悔。”,<br>“你做三四月的事，在八九月自有答案。”,<b]]>
    </summary>
    <title>好句分享</title>
    <updated>2026-07-30T12:53:38.822Z</updated>
  </entry>
  <entry>
    <author>
      <name>e2147</name>
    </author>
    <content>
      <![CDATA[<p>虽然已经毕业一个月了，但是我现在才想起来写这篇文章。</p><p>今天早上看QQ动态，有一位同学把我们班级的照片放在QQ动态里，这让我想起来许多事情。</p><p>从初一的那次军训开始，再从校长最后一次在升旗仪式上发言，我们的初中生活就结束了。</p><p>这中间有许多事情，一时半会儿也说不完。</p><p>不知道接下来的高中生活会怎样呢？</p><p>希望，我能继续努力吧！</p><p>最后附上一句我很喜欢的话：<br>请成为永远疯狂永远浪漫永远清澈的存在</p>]]>
    </content>
    <id>https://i.101229.xyz/2026/07/30/2026-07-30-03/</id>
    <link href="https://i.101229.xyz/2026/07/30/2026-07-30-03/"/>
    <published>2026-07-30T15:56:11.000Z</published>
    <summary>
      <![CDATA[<p>虽然已经毕业一个月了，但是我现在才想起来写这篇文章。</p>
<p>今天早上看QQ动态，有一位同学把我们班级的照片放在QQ动态里，这让我想起来许多事情。</p>
<p>从初一的那次军训开始，再从校长最后一次在升旗仪式上发言，我们的初中生活就结束了。</p>
<p>这中间有许]]>
    </summary>
    <title>毕业了</title>
    <updated>2026-07-30T12:53:38.822Z</updated>
  </entry>
  <entry>
    <author>
      <name>e2147</name>
    </author>
    <content>
      <![CDATA[<p>换了个背景图，<br>感觉好看多了</p>]]>
    </content>
    <id>https://i.101229.xyz/2026/07/30/2026-07-30-02/</id>
    <link href="https://i.101229.xyz/2026/07/30/2026-07-30-02/"/>
    <published>2026-07-30T15:55:05.000Z</published>
    <summary>
      <![CDATA[<p>换了个背景图，<br>感觉好看多了</p>]]>
    </summary>
    <title>背景图</title>
    <updated>2026-07-30T12:53:38.822Z</updated>
  </entry>
  <entry>
    <author>
      <name>e2147</name>
    </author>
    <content>
      <![CDATA[<p>最近看到许多Astro框架的博客，<br>确实好看，<br>我想升级了，<br>到时候再说吧</p>]]>
    </content>
    <id>https://i.101229.xyz/2026/07/30/2026-07-30-01/</id>
    <link href="https://i.101229.xyz/2026/07/30/2026-07-30-01/"/>
    <published>2026-07-30T14:42:48.000Z</published>
    <summary>
      <![CDATA[<p>最近看到许多Astro框架的博客，<br>确实好看，<br>我想升级了，<br>到时候再说吧</p>]]>
    </summary>
    <title>博客系统升级？</title>
    <updated>2026-07-30T12:53:38.822Z</updated>
  </entry>
  <entry>
    <author>
      <name>e2147</name>
    </author>
    <content>
      <![CDATA[<p><img src="https://picui.ogmua.cn/s1/2026/07/29/6a69a1e3132fa.webp"></p>]]>
    </content>
    <id>https://i.101229.xyz/2026/07/29/2026-07-29-04/</id>
    <link href="https://i.101229.xyz/2026/07/29/2026-07-29-04/"/>
    <published>2026-07-29T14:44:13.000Z</published>
    <summary>
      <![CDATA[<p><img src="https://picui.ogmua.cn/s1/2026/07/29/6a69a1e3132fa.webp"></p>]]>
    </summary>
    <title>图片引用测试</title>
    <updated>2026-07-30T12:53:38.822Z</updated>
  </entry>
  <entry>
    <author>
      <name>e2147</name>
    </author>
    <content>
      <![CDATA[<p>不知道写什么，就把博客当作朋友圈发吧<br>真的有人看么？qwq</p>]]>
    </content>
    <id>https://i.101229.xyz/2026/07/29/2026-07-29-03/</id>
    <link href="https://i.101229.xyz/2026/07/29/2026-07-29-03/"/>
    <published>2026-07-29T13:08:12.000Z</published>
    <summary>
      <![CDATA[<p>不知道写什么，就把博客当作朋友圈发吧<br>真的有人看么？qwq</p>]]>
    </summary>
    <title>这集神了</title>
    <updated>2026-07-30T12:53:38.822Z</updated>
  </entry>
  <entry>
    <author>
      <name>e2147</name>
    </author>
    <content>
      <![CDATA[<p>今天把Mygo看完了，太好看了<br>这个跌宕起伏的剧情太吸引人了<br>我先是看网上的神人二创凑企鹅，决定看一看原片，才了解到的<br>接下来，我要去看Ave Mujica了</p>]]>
    </content>
    <id>https://i.101229.xyz/2026/07/29/2026-07-29-02/</id>
    <link href="https://i.101229.xyz/2026/07/29/2026-07-29-02/"/>
    <published>2026-07-29T12:49:15.000Z</published>
    <summary>
      <![CDATA[<p>今天把Mygo看完了，太好看了<br>这个跌宕起伏的剧情太吸引人了<br>我先是看网上的神人二创凑企鹅，决定看一看原片，才了解到的<br>接下来，我要去看Ave Mujica了</p>]]>
    </summary>
    <title>Mygo!!!!!</title>
    <updated>2026-07-30T12:53:38.818Z</updated>
  </entry>
  <entry>
    <author>
      <name>e2147</name>
    </author>
    <category term="Github pages" scheme="https://i.101229.xyz/tags/Github-pages/"/>
    <content>
      <![CDATA[<p>Github pages已经绑定自定义域名，你可以通过i.1f.cc.cd访问我的博客</p>]]>
    </content>
    <id>https://i.101229.xyz/2026/07/29/2026-07-29-01/</id>
    <link href="https://i.101229.xyz/2026/07/29/2026-07-29-01/"/>
    <published>2026-07-29T10:12:22.000Z</published>
    <summary>
      <![CDATA[<p>Github pages已经绑定自定义域名，你可以通过i.1f.cc.cd访问我的博客</p>]]>
    </summary>
    <title>Github pages绑定自定义域名</title>
    <updated>2026-07-30T12:53:38.818Z</updated>
  </entry>
  <entry>
    <author>
      <name>e2147</name>
    </author>
    <category term="Vercel" scheme="https://i.101229.xyz/tags/Vercel/"/>
    <content>
      <![CDATA[<p>我一直想要一个轻量、免费、完全由自己控制的短链接工具。不想依赖第三方平台，也不想为了一个简单的跳转就去租服务器。后来我发现，Vercel 的 vercel.json 配置文件就能完美满足这个需求——不需要写任何后端代码，只要配置几条重定向规则，就能把任意短路径指向任意长 URL。</p><p>我的核心思路<br>我把所有跳转规则都写在 vercel.json 的 redirects 数组里。每个规则包含三个字段：</p><p>source：短链接的路径（比如 &#x2F;b）</p><p>destination：要跳转到的目标长链接（可以是任何网站）</p><p>permanent：是否永久重定向（我通常用 false，方便后期修改）</p><p>举个例子，我随手填了一个 B 站链接作为测试，但实际使用时，我可以把 &#x2F;gh 指向我的 GitHub，完全看自己需要。</p><p>我的实际配置文件<br>json<br>{<br>“redirects”: [<br>{<br>“source”: “&#x2F;b”,<br>“destination”: “<a href="https://www.bilibili.com/">https://www.bilibili.com</a>“,<br>“permanent”: false<br>}<br>]<br>}<br>这个只是我练手用的，真正部署后，我会根据需求增删条目。</p><p>我是怎么部署的<br>在本地新建一个项目，里面顺便放 vercel.json 这一个文件。</p><p>初始化 Git，推送到我的 GitHub 仓库。</p><p>登录 Vercel，导入这个仓库，它会自动识别并部署。</p><p>在 Vercel 项目设置里绑定我的自定义域名 share.0x.ccwu.cc。</p><p>整个过程不到两分钟，之后我访问 share.0x.ccwu.cc&#x2F;b 就会跳转到 B 站，所有跳转都由我随时修改 vercel.json 并重新 push 来更新。</p><p>我从中得到的启发<br>这套方案最吸引我的地方是零维护成本和极致的灵活性。我不需要维护数据库，也不用操心服务器性能，Vercel 的全球 CDN 让跳转速度飞快。如果将来链接多了，我还可以用 bulkRedirectsPath 引入外部文件来管理成百上千条规则，或者用 Edge Middleware 做动态跳转（比如根据用户来源跳转不同目标）。</p><p>后记：已停用，会开发新的版本，也许需要很久</p>]]>
    </content>
    <id>https://i.101229.xyz/2026/07/25/2026-07-25-01/</id>
    <link href="https://i.101229.xyz/2026/07/25/2026-07-25-01/"/>
    <published>2026-07-25T15:53:56.000Z</published>
    <summary>
      <![CDATA[<p>我一直想要一个轻量、免费、完全由自己控制的短链接工具。不想依赖第三方平台，也不想为了一个简单的跳转就去租服务器。后来我发现，Vercel 的 vercel.json 配置文件就能完美满足这个需求——不需要写任何后端代码，只要配置几条重定向规则，就能把任意短路径指向任意长 U]]>
    </summary>
    <title>我用 vercel.json 搭了一个属于自己的短链接服务</title>
    <updated>2026-07-30T12:53:38.818Z</updated>
  </entry>
  <entry>
    <author>
      <name>e2147</name>
    </author>
    <category term="Github pages" scheme="https://i.101229.xyz/tags/Github-pages/"/>
    <content>
      <![CDATA[<p>博客迁移成功<br>已经迁移到Github pages<br>后续可能会使用自动程序调用ai API写文章</p>]]>
    </content>
    <id>https://i.101229.xyz/2026/07/24/2026-07-24-02/</id>
    <link href="https://i.101229.xyz/2026/07/24/2026-07-24-02/"/>
    <published>2026-07-24T13:03:37.000Z</published>
    <summary>
      <![CDATA[<p>博客迁移成功<br>已经迁移到Github pages<br>后续可能会使用自动程序调用ai API写文章</p>]]>
    </summary>
    <title>博客迁移成功</title>
    <updated>2026-07-30T12:53:38.818Z</updated>
  </entry>
  <entry>
    <author>
      <name>e2147</name>
    </author>
    <category term="Github pages" scheme="https://i.101229.xyz/tags/Github-pages/"/>
    <content>
      <![CDATA[<p>正在尝试用Github pages部署这个博客</p>]]>
    </content>
    <id>https://i.101229.xyz/2026/07/24/2026-07-24-01/</id>
    <link href="https://i.101229.xyz/2026/07/24/2026-07-24-01/"/>
    <published>2026-07-24T11:08:38.000Z</published>
    <summary>
      <![CDATA[<p>正在尝试用Github pages部署这个博客</p>]]>
    </summary>
    <title>Github pages</title>
    <updated>2026-07-30T12:53:38.818Z</updated>
  </entry>
  <entry>
    <author>
      <name>e2147</name>
    </author>
    <category term="Cloudflare" scheme="https://i.101229.xyz/tags/Cloudflare/"/>
    <category term="Vercel" scheme="https://i.101229.xyz/tags/Vercel/"/>
    <category term="serverless" scheme="https://i.101229.xyz/tags/serverless/"/>
    <content>
      <![CDATA[<p>一、起因<br>今天心血来潮，想给自己写一个小 API —— 随机返回一句名人名言。</p><p>需求很简单：</p><p>用 Vercel 的 Edge Function 部署</p><p>访问 &#x2F;api&#x2F;saying 返回一句 JSON</p><p>顺便把根目录用 403 页面挡住，防止爬虫瞎逛</p><p>听起来不难吧？我也觉得不难。</p><p>于是，我打开了 WebStorm，开始了今天这场“自取其辱”之旅。</p><p>二、过程<br>第一步：创建项目<br>bash<br>npx create-next-app@latest edgeapi<br>一路选默认，TypeScript + App Router，顺顺利利。</p><p>然后删掉模板文件，只留下：</p><p>app&#x2F;api&#x2F;saying&#x2F;route.ts —— 我的名言 API</p><p>lib&#x2F;sayings.ts —— 250+ 条名言数据</p><p>public&#x2F;index.html —— 403 页面</p><p>本地跑起来：</p><p>bash<br>npm run dev<br>访问 <a href="http://localhost:3000/api/saying%EF%BC%8C%E8%BF%94%E5%9B%9E%EF%BC%9A">http://localhost:3000/api/saying，返回：</a></p><p>json<br>{<br>“text”: “我们也许再也不会见面了吧，因此我绝对不会忘了你的声音…”<br>}<br>完美。 我当时觉得，这波稳了。</p><p>第二步：部署到 Vercel<br>bash<br>vercel –prod<br>构建日志一路飘绿：</p><p>text<br>Route (app)<br>└ ƒ &#x2F;api&#x2F;saying<br>Build Completed in 21s<br>Deployment completed<br>看到这行的时候，我差点笑出声 —— 这玩意儿也太简单了吧？</p><p>第三步：访问测试<br>打开浏览器，输入：</p><p>text<br><a href="https://edgeapi.vercel.app/api/saying">https://edgeapi.vercel.app/api/saying</a><br>然后屏幕上是：</p><p>text<br>404: NOT_FOUND<br>Code: NOT_FOUND<br>ID: arn1::jcwxk-1784362428761-eb21f87aea39<br>？？？</p><p>我刷新。再刷新。换浏览器。换手机。清缓存。</p><p>还是 404。</p><p>三、排查之路（原地打转）<br>第一轮：路径问题？<br>我反复确认：</p><p>app&#x2F;api&#x2F;saying&#x2F;route.ts 存在</p><p>文件内容正确</p><p>导出 GET 函数</p><p>声明了 export const runtime &#x3D; ‘edge’</p><p>路径没问题。</p><p>第二轮：部署问题？<br>重新部署：</p><p>bash<br>vercel –prod –force<br>构建成功，部署完成，访问，还是 404。</p><p>第三轮：文件名大小写？<br>检查文件名：route.ts，全小写，没问题。</p><p>第四轮：根目录 403 页面冲突？<br>删除 public&#x2F;index.html，重新部署，访问 &#x2F;api&#x2F;saying，还是 404。</p><p>好，排除。</p><p>第五轮：Vercel 日志？<br>去 Vercel 仪表盘的 Functions 和 Logs 里翻了一遍，没有报错，没有异常，就像这个路由压根不存在一样。</p><p>四、我放弃了<br>折腾了整整一个下午。</p><p>从信心满满，到一脸茫然，到满头问号，到最后坐在电脑前发呆。</p><p>所有能想到的地方都检查了：</p><p>路径没错</p><p>代码没问题</p><p>部署成功了</p><p>日志没有报错</p><p>但它就是 404。</p><p>五、结论<br>我水平太菜了。</p><p>排查不出来，就是排查不出来。</p><p>这不是 Vercel 的问题，也不是 Next.js 的问题，是我的问题 —— 我还没到那个能一眼看穿问题的水平。</p><p>六、下次再战<br>今天先认输。</p><p>但我不会一直认输。</p><p>下次我会：</p><p>用更小的 Demo 项目先验证 Edge Function 能不能跑通</p><p>检查 Vercel 的项目配置是不是哪里不对</p><p>问问 ChatGPT 有没有什么隐藏的坑</p><p>等我把这个问题搞明白了，我会写一篇 《我是如何解决 Vercel Edge Function 部署 404 问题的》，把今天的坑全部填上。</p><p>贴一下日志</p><p>16:00:41.538<br>⚠ Using edge runtime on a page currently disables static generation for that page<br>16:00:41.548<br>Generating static pages using 1 worker (0&#x2F;2) …<br>16:00:41.663<br>✓ Generating static pages using 1 worker (2&#x2F;2) in 115ms<br>16:00:41.669<br>Finalizing page optimization …<br>16:00:41.674<br>16:00:41.678<br>Route (app)<br>16:00:41.678<br>┌ ○ &#x2F;_not-found<br>16:00:41.679<br>└ ƒ &#x2F;api&#x2F;saying<br>16:00:41.679<br>16:00:41.679<br>16:00:41.679<br>○  (Static)   prerendered as static content<br>16:00:41.679<br>ƒ  (Dynamic)  server-rendered on demand<br>16:00:41.680<br>16:00:42.222<br>Build Completed in &#x2F;vercel&#x2F;output [21s]<br>16:00:42.324<br>Deploying outputs…<br>16:00:43.057<br>Deployment completed<br>16:00:43.170<br>Creating build cache…<br>16:00:57.572<br>Created build cache: 14s<br>16:00:57.573<br>Uploading build cache [109.55 MB]<br>16:00:59.690<br>Build cache uploaded: 2.118s</p><p>后记<br>就在我准备放弃的时候，突然想到：要不试试 Cloudflare Workers？</p><p>结果 20 分钟就搞定了。</p><p>对比<br>Vercel Edge Function：折腾一下午，还是 404</p><p>Cloudflare Workers：改一下代码，点部署，一次成功</p><p>链接：blog.e.002147.xyz&#x2F;2026&#x2F;07&#x2F;18&#x2F;7&#x2F;</p>]]>
    </content>
    <id>https://i.101229.xyz/2026/07/18/2026-07-18-02/</id>
    <link href="https://i.101229.xyz/2026/07/18/2026-07-18-02/"/>
    <published>2026-07-18T20:26:49.000Z</published>
    <summary>
      <![CDATA[<p>一、起因<br>今天心血来潮，想给自己写一个小 API —— 随机返回一句名人名言。</p>
<p>需求很简单：</p>
<p>用 Vercel 的 Edge Function 部署</p>
<p>访问 &#x2F;api&#x2F;saying 返回一句 JSON</p>]]>
    </summary>
    <title>折腾了一下午 Vercel Edge Function，我认输了</title>
    <updated>2026-07-30T12:53:38.818Z</updated>
  </entry>
  <entry>
    <author>
      <name>e2147</name>
    </author>
    <category term="Cloudflare" scheme="https://i.101229.xyz/tags/Cloudflare/"/>
    <content>
      <![CDATA[<p>一、项目背景<br>在网站开发中，为页面增添动态文化元素（如随机展示古诗词、名人名言或励志短句）是提升用户体验的常见方式。传统方案需要购置服务器、搭建后端服务并维护数据库，对于轻量化场景而言，运维成本过高。</p><p>本文记录了一种极简实现方案：仅使用单个 JavaScript 文件，借助 Cloudflare Workers 边缘计算平台，部署一个高可用、低延迟的随机内容 API 服务。</p><p>二、技术选型<br>计算平台：Cloudflare Workers，基于 V8 引擎的全球分布式无服务器函数，支持就近响应，冷启动时间接近零。</p><p>代码形态：单一 index.js 文件，无外部依赖，无需构建工具，符合 Serverless 函数即服务的核心理念。</p><p>数据存储：将语录数据集直接以 JavaScript 数组形式内置于代码中，避免引入外部数据库，降低网络 I&#x2F;O 延迟。</p><p>三、实现细节<br>核心逻辑：</p><p>监听所有 HTTP GET 请求（路径可扩展设计）。</p><p>从预置的语料库中通过 Math.random() 均匀随机选取一条条目。</p><p>构造标准的 JSON 响应结构，包含内容文本、类别标签及可选的出处信息。</p><p>设置 CORS 响应头，允许任意域名进行跨域调用，便于前端直接 fetch 消费。</p><p>部署流程：</p><p>登录 Cloudflare Dashboard，进入 Workers 模块。</p><p>新建服务，将完整 JavaScript 代码粘贴至在线编辑器。</p><p>点击“保存并部署”，系统自动生成一个 *.workers.dev 或自定义域名的公网访问地址。</p><p>最终访问端点：<a href="https://api.x.1f.cc.cd/">https://api.x.1f.cc.cd</a></p><p>该地址已绑定自定义路由，无需额外配置网关或负载均衡器。</p><p>四、应用场景<br>企业官网页脚或侧边栏的每日一句展示。</p><p>个人博客的随机签名档模块。</p><p>小程序或移动端应用内的激励文案组件。</p><p>命令行工具（curl 调用）获取灵感语录。</p><p>调用示例（JavaScript）：</p><p>javascript<br>fetch(‘<a href="https://api.x.1f.cc.cd/">https://api.x.1f.cc.cd</a>‘)<br>.then(response &#x3D;&gt; response.json())<br>.then(data &#x3D;&gt; console.log(data.quote))<br>.catch(error &#x3D;&gt; console.error(‘请求失败:’, error));<br>五、性能与成本优势<br>边缘计算：请求在离用户最近的 Cloudflare 节点完成计算，平均响应时间 &lt; 50ms。</p><p>免费额度：每日 10 万次请求以内完全免费，适合中小型站点及个人项目。</p><p>零运维：无需管理操作系统、安全补丁或进程守护，平台自动扩缩容。</p><p>六、注意事项与免责声明<br>免责声明：</p><p>本 API 服务（api.x.1f.cc.cd）基于个人技术验证目的而部署，运行于 Cloudflare Workers 免费计划资源之上。</p><p>服务方不提供任何形式的稳定性承诺，包括但不限于可用性、响应时间、数据完整性和持续运营保障。</p><p>该服务可能因账户额度耗尽、平台策略变更、域名续费失败或代码维护调整而随时中断或终止，恕不另行通知。</p><p>使用者应自行评估风险，不建议将本服务用于生产环境、商业系统、关键业务流程或任何对可靠性有法定或合同性要求的场景。</p><p>对于因使用或无法使用本 API 所导致的任何直接或间接损失，服务提供者不承担任何法律责任。</p><p>七、结语<br>该实践展示了 Serverless 架构在极简场景下的巨大灵活性——用最低的维护成本，实现一个全球可用的功能性 API。对于开发者而言，这是一种“够用就好”的务实选择，同时也提醒我们：免费公共服务有其边界，合理预期与备用方案永远是工程实践的必要组成部分。</p><p>如需查阅源代码或了解具体部署步骤，可参考 Cloudflare Workers 官方文档。</p><p>（AI真是太好用了）</p>]]>
    </content>
    <id>https://i.101229.xyz/2026/07/18/2026-07-18-01/</id>
    <link href="https://i.101229.xyz/2026/07/18/2026-07-18-01/"/>
    <published>2026-07-18T18:35:16.000Z</published>
    <summary>
      <![CDATA[<p>一、项目背景<br>在网站开发中，为页面增添动态文化元素（如随机展示古诗词、名人名言或励志短句）是提升用户体验的常见方式。传统方案需要购置服务器、搭建后端服务并维护数据库，对于轻量化场景而言，运维成本过高。</p>
<p>本文记录了一种极简实现方案：仅使用单个 JavaSc]]>
    </summary>
    <title>基于 Cloudflare Workers 的无服务器随机语录 API 实践</title>
    <updated>2026-07-30T12:53:38.818Z</updated>
  </entry>
  <entry>
    <author>
      <name>e2147</name>
    </author>
    <category term="no" scheme="https://i.101229.xyz/tags/no/"/>
    <content>
      <![CDATA[<p>  现在我根本不知道该写什么<br>  一点思路都没有</p>]]>
    </content>
    <id>https://i.101229.xyz/2026/07/17/2026-07-17-01/</id>
    <link href="https://i.101229.xyz/2026/07/17/2026-07-17-01/"/>
    <published>2026-07-17T09:35:16.000Z</published>
    <summary>
      <![CDATA[<p>  现在我根本不知道该写什么<br>  一点思路都没有</p>]]>
    </summary>
    <title>没有思路</title>
    <updated>2026-07-30T12:53:38.818Z</updated>
  </entry>
  <entry>
    <author>
      <name>e2147</name>
    </author>
    <category term="hexo" scheme="https://i.101229.xyz/tags/hexo/"/>
    <category term="butterfly" scheme="https://i.101229.xyz/tags/butterfly/"/>
    <content>
      <![CDATA[<p>本站已经装上了hexo框架的butterfly主题</p>]]>
    </content>
    <id>https://i.101229.xyz/2026/07/15/2026-07-15-01/</id>
    <link href="https://i.101229.xyz/2026/07/15/2026-07-15-01/"/>
    <published>2026-07-15T15:14:57.000Z</published>
    <summary>
      <![CDATA[<p>本站已经装上了hexo框架的butterfly主题</p>]]>
    </summary>
    <title>butterfly主题</title>
    <updated>2026-07-30T12:53:38.818Z</updated>
  </entry>
  <entry>
    <author>
      <name>e2147</name>
    </author>
    <category term="CSS" scheme="https://i.101229.xyz/tags/CSS/"/>
    <category term="前端" scheme="https://i.101229.xyz/tags/%E5%89%8D%E7%AB%AF/"/>
    <content>
      <![CDATA[<p>在网页设计中，背景往往是用户第一眼感受到的视觉元素。纯色背景虽然简洁，但难免显得有些单调。而CSS渐变背景，就像给网页注入了生命力——色彩之间自然过渡、层次丰富，能让页面瞬间从“平庸”跃升为“高级”。</p><p>今天，我们就来全面拆解CSS渐变背景的玩法。无论你是刚入门的新手，还是想进阶的老手，这篇文章都能帮你把渐变用得得心应手。</p><p>一、渐变到底是什么？<br>简单来说，渐变（Gradient） 就是让两种或多种颜色按照一定规则平滑过渡。在CSS中，我们不需要借助任何图片资源，只需几行代码，浏览器就能实时渲染出流畅的渐变效果。</p><p>CSS支持三种渐变类型：</p><p>线性渐变（linear-gradient） —— 沿直线方向过渡</p><p>径向渐变（radial-gradient） —— 从中心点向外扩散</p><p>锥形渐变（conic-gradient） —— 围绕中心点旋转过渡</p><p>下面我们逐一攻破。</p><p>二、线性渐变：最常用、最灵活</p><ol><li>基础语法<br>css<br>background: linear-gradient(方向, 颜色1, 颜色2, …);<br>最简单的例子——从上到下的渐变：</li></ol><p>css<br>background: linear-gradient(#ff7eb3, #ff758c);<br>2. 控制方向<br>   方向可以用关键词或角度来指定：</p><p>css<br>&#x2F;* 关键词写法 <em>&#x2F;<br>background: linear-gradient(to right, #f093fb, #f5576c);   &#x2F;</em> 从左到右 <em>&#x2F;<br>background: linear-gradient(to bottom right, #4facfe, #00f2fe); &#x2F;</em> 右下方向 *&#x2F;<br>background: linear-gradient(to left, #43e97b, #38f9d7);</p><p>&#x2F;* 角度写法（0deg &#x3D; 从下到上，顺时针增加） <em>&#x2F;<br>background: linear-gradient(45deg, #fa709a, #fee140);   &#x2F;</em> 对角线 *&#x2F;<br>background: linear-gradient(135deg, #a18cd1, #fbc2eb);<br>3. 多色渐变与色标位置<br>   你可以加入任意多种颜色，并用百分比或像素精确控制每种颜色的位置：</p><p>css<br>&#x2F;* 三色渐变 *&#x2F;<br>background: linear-gradient(to right, #f7971e, #ffd200, #f7971e);</p><p>&#x2F;* 精确控制色标位置 *&#x2F;<br>background: linear-gradient(to right,<br>#f7971e 0%,<br>#ffd200 30%,<br>#f7971e 60%,<br>#ffd200 100%<br>);<br>4. 条纹图案：硬边渐变<br>   如果让两个颜色在同一个位置切换，就能形成硬边，做出条纹效果：</p><p>css<br>&#x2F;* 等宽条纹 *&#x2F;<br>background: linear-gradient(<br>45deg,<br>#ff6b6b 25%,<br>#feca57 25%,<br>#feca57 50%,<br>#ff6b6b 50%,<br>#ff6b6b 75%,<br>#feca57 75%<br>);<br>background-size: 60px 60px;<br>这是纯CSS画图案的经典技巧，而且可以无限平铺。</p><p>三、径向渐变：从中心绽放的光晕<br>径向渐变是从一个中心点向外扩散的渐变，特别适合做光晕、按钮背景、圆形徽章等场景。</p><ol><li>基础语法<br>css<br>background: radial-gradient(形状 大小 at 位置, 颜色1, 颜色2, …);<br>最简单的例子：</li></ol><p>css<br>background: radial-gradient(#f093fb, #f5576c);<br>2. 控制形状<br>   circle：圆形</p><p>ellipse：椭圆形（默认）</p><p>css<br>background: radial-gradient(circle, #ffecd2, #fcb69f);<br>background: radial-gradient(ellipse, #a8edea, #fed6e3);<br>3. 控制中心位置<br>   使用 at 关键字定位中心点：</p><p>css<br>background: radial-gradient(circle at top left, #ff9a9e, #fecfef);<br>background: radial-gradient(circle at 30% 70%, #fbc2eb, #a6c1ee);<br>4. 控制大小<br>   用关键词或具体数值控制渐变范围：</p><p>css<br>&#x2F;* closest-side：最近边 *&#x2F;<br>background: radial-gradient(circle closest-side, #ffecd2, #fcb69f);</p><p>&#x2F;* farthest-corner：最远角（默认） *&#x2F;<br>background: radial-gradient(circle farthest-corner, #ffecd2, #fcb69f);<br>实际项目中，用 farthest-corner 能确保渐变填满整个容器，用得最多。</p><p>四、锥形渐变：色彩轮盘，创意无限<br>锥形渐变（conic-gradient）是较新的属性，颜色围绕中心点旋转过渡，常用于色轮、饼图、加载动画等。</p><ol><li>基础语法<br>css<br>background: conic-gradient(颜色1, 颜色2, …);<br>最简单的例子：</li></ol><p>css<br>background: conic-gradient(#f093fb, #f5576c, #4facfe, #43e97b, #f093fb);<br>2. 控制起始角度和中心点<br>   css<br>   &#x2F;* 从45度开始，中心在左上角 *&#x2F;<br>   background: conic-gradient(from 45deg at top left, #ff9a9e, #fecfef, #ff9a9e);<br>3. 制作饼图<br>   利用硬边特性，可以轻松做出饼图：</p><p>css<br>background: conic-gradient(<br>#ff6b6b 0% 30%,<br>#feca57 30% 55%,<br>#48dbfb 55% 75%,<br>#ff9ff3 75% 100%<br>);<br>border-radius: 50%;<br>锥形渐变兼容性已经很好（Chrome 69+、Firefox 83+、Safari 12.1+），可以放心使用。</p><p>五、渐变背景的进阶技巧</p><ol><li>叠加多层渐变<br>CSS允许叠加多个背景，用逗号分隔即可。这是创造复杂纹理的杀手锏：</li></ol><p>css<br>background:<br>radial-gradient(circle at 20% 50%, rgba(255,255,255,0.3) 0%, transparent 50%),<br>linear-gradient(135deg, #667eea 0%, #764ba2 100%);<br>这个技巧可以做出光晕叠加、噪点纹理、毛玻璃质感等高级效果。</p><ol start="2"><li>配合背景尺寸实现平铺<br>结合 background-size，可以让渐变以图案方式平铺：</li></ol><p>css<br>background:<br>linear-gradient(45deg, #ff6b6b 25%, transparent 25%, transparent 75%, #ff6b6b 75%),<br>linear-gradient(45deg, #ff6b6b 25%, transparent 25%, transparent 75%, #ff6b6b 75%);<br>background-size: 40px 40px;<br>background-position: 0 0, 20px 20px;<br>这就是经典的棋盘格图案。</p><ol start="3"><li>让文字也拥有渐变<br>渐变背景不仅可以用于容器，还可以用在文字上：</li></ol><p>css<br>.gradient-text {<br>background: linear-gradient(135deg, #f093fb, #f5576c);<br>-webkit-background-clip: text;<br>background-clip: text;<br>color: transparent;<br>}<br>标题、Logo、强调文字用上渐变，瞬间提升设计感。</p><p>六、实战案例：一个完整的渐变卡片<br>把以上知识综合起来，做一个现代风格的渐变卡片：</p><p>html</p><div class="card">  <h2 class="card-title">渐变卡片</h2>  <p class="card-desc">色彩流动，设计新生</p></div>css.card {  width: 360px;  padding: 48px 32px;  border-radius: 24px;  background: linear-gradient(145deg, #667eea 0%, #764ba2 100%);  box-shadow: 0 20px 60px rgba(102, 126, 234, 0.4);  text-align: center;  position: relative;  overflow: hidden;}<p>&#x2F;* 加一个光晕叠加层，增加质感 *&#x2F;<br>.card::before {<br>content: ‘’;<br>position: absolute;<br>top: -50%;<br>left: -50%;<br>width: 200%;<br>height: 200%;<br>background: radial-gradient(<br>circle at 30% 30%,<br>rgba(255, 255, 255, 0.2) 0%,<br>transparent 60%<br>);<br>pointer-events: none;<br>}</p><p>.card-title {<br>background: linear-gradient(to right, #ffeaa7, #fdcb6e);<br>-webkit-background-clip: text;<br>background-clip: text;<br>color: transparent;<br>font-size: 28px;<br>font-weight: 700;<br>margin-bottom: 8px;<br>}</p><p>.card-desc {<br>color: rgba(255, 255, 255, 0.85);<br>font-size: 16px;<br>}<br>这个案例中，我们用了：</p><p>主背景线性渐变</p><p>伪元素叠加径向渐变做光晕</p><p>文字渐变（background-clip）</p><p>投影让卡片更有层次</p><p>七、性能与可访问性注意事项<br>性能方面：渐变由浏览器GPU加速渲染，性能远优于图片。但不要在一个页面滥用大量超大、复杂的渐变，尤其是动画中的渐变，会影响低端设备的流畅度。</p><p>可访问性：渐变背景上叠加文字时，务必保证足够的对比度。可以在文字下方加一层半透明遮罩，或者使用深色&#x2F;浅色文字配合 text-shadow 提升可读性。</p><p>css<br>&#x2F;* 文字阴影提升可读性 *&#x2F;<br>.card-desc {<br>color: #fff;<br>text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);<br>}<br>降级方案：对于极老式浏览器，可以在渐变前加一个纯色背景作为 fallback：</p><p>css<br>background: #667eea; &#x2F;* 降级纯色 *&#x2F;<br>background: linear-gradient(145deg, #667eea, #764ba2);<br>八、写在最后<br>CSS渐变背景的魅力在于——用最少的代码，创造最丰富的视觉层次。从简单的双色过渡，到多层叠加的复杂纹理，再到配合动画实现的流动色彩，渐变都能轻松胜任。</p><p>掌握渐变的本质，就是掌握 方向、颜色、位置 这三个维度的组合。多动手写、多尝试不同的搭配，你会发现自己能创造出越来越多令人惊喜的效果。</p><p>好的设计，从让背景流动起来开始。</p>]]>
    </content>
    <id>https://i.101229.xyz/2026/07/14/2026-07-14-04/</id>
    <link href="https://i.101229.xyz/2026/07/14/2026-07-14-04/"/>
    <published>2026-07-14T18:36:49.000Z</published>
    <summary>
      <![CDATA[<p>在网页设计中，背景往往是用户第一眼感受到的视觉元素。纯色背景虽然简洁，但难免显得有些单调。而CSS渐变背景，就像给网页注入了生命力——色彩之间自然过渡、层次丰富，能让页面瞬间从“平庸”跃升为“高级”。</p>
<p>今天，我们就来全面拆解CSS渐变背景的玩法。无论你是刚入门]]>
    </summary>
    <title>玩转CSS渐变背景：从入门到精通，让你的网页色彩流动起来</title>
    <updated>2026-07-30T12:53:38.818Z</updated>
  </entry>
  <entry>
    <author>
      <name>e2147</name>
    </author>
    <category term="Cloudflare" scheme="https://i.101229.xyz/tags/Cloudflare/"/>
    <category term="Hexo" scheme="https://i.101229.xyz/tags/Hexo/"/>
    <category term="博客搭建" scheme="https://i.101229.xyz/tags/%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/"/>
    <content>
      <![CDATA[<p>使用 Cloudflare Pages 部署 Hexo 静态博客完整指南<br>在众多静态站点托管平台中，Cloudflare Pages 凭借其全球 CDN 加速、自动化构建流程和简便的 Git 集成，成为部署 Hexo 博客的理想选择。本文将系统性地介绍如何将本地编写的 Hexo 站点无缝部署至 Cloudflare Pages，整个过程无需复杂服务器配置，仅需一个 GitHub 仓库即可完成。</p><p>一、前期准备<br>在开始部署之前，请确保本地开发环境已安装以下工具：</p><p>Node.js（建议使用 LTS 版本）</p><p>Git 版本控制系统</p><p>Hexo 命令行工具（可通过 npm install -g hexo-cli 全局安装）</p><p>接着，在本地创建一个新的 Hexo 项目：</p><p>bash<br>hexo init my-blog<br>cd my-blog<br>npm install<br>如需测试，可运行 hexo server 并在浏览器访问 <a href="http://localhost:4000/">http://localhost:4000</a> 预览站点。确认无误后，即可进行后续的版本控制与部署操作。</p><p>二、将项目推送至 GitHub<br>Cloudflare Pages 依赖 Git 仓库作为代码源，因此需要先将本地项目上传至 GitHub。</p><p>在 GitHub 上新建一个仓库（建议设置为公开或私有均可，Cloudflare 支持私有仓库）。</p><p>在本地项目根目录执行以下命令，初始化 Git 并推送代码：</p><p>bash<br>git init<br>git add .<br>git commit -m “初始化 Hexo 博客”<br>git remote add origin <a href="https://github.com/%E4%BD%A0%E7%9A%84%E7%94%A8%E6%88%B7%E5%90%8D/%E4%BB%93%E5%BA%93%E5%90%8D.git">https://github.com/你的用户名/仓库名.git</a><br>git push -u origin main<br>请注意，若默认分支为 master，请相应调整上述命令。</p><p>三、在 Cloudflare Pages 中连接仓库<br>登录 Cloudflare 仪表盘，在左侧菜单中点击 Workers &amp; Pages。</p><p>点击 创建应用程序，选择 Pages 选项卡，然后点击 连接到 Git。</p><p>授权 Cloudflare 访问您的 GitHub 账号，并从仓库列表中选择刚刚推送的 Hexo 项目。</p><p>在“设置构建和部署”页面中，配置以下参数：</p><p>生产分支：选择 main（或您的默认分支）</p><p>构建命令：填写 npm run build（Hexo 默认构建脚本）</p><p>构建输出目录：填写 public（Hexo 生成的静态文件存放目录）</p><p>点击 保存并部署，Cloudflare Pages 将自动拉取代码、执行构建命令，并将生成的静态文件发布至全球边缘网络。</p><p>四、部署完成与站点访问<br>部署过程通常在数十秒内完成。成功后，系统会分配一个 *.pages.dev 的默认域名，您可以直接访问该链接查看您的 Hexo 博客。</p><p>若您拥有自定义域名，可在项目的 自定义域 选项卡中添加，并按提示完成 DNS 解析（建议使用 Cloudflare 的 DNS 服务以充分利用其安全性与性能优化）。</p><p>五、日常更新流程<br>每次您需要更新博客内容时，只需在本地执行 hexo new “新文章标题” 编写 Markdown 文件，然后重新构建并推送代码：</p><p>bash<br>git add .<br>git commit -m “发布新文章”<br>git push<br>Cloudflare Pages 会自动检测到仓库变更并重新部署，整个过程无需人工干预，实现持续集成与持续交付（CI&#x2F;CD）。</p><p>结语<br>通过以上步骤，您已成功将 Hexo 静态博客部署至 Cloudflare Pages。该方案不仅提供了快速的全球访问体验，还免去了维护服务器的繁琐工作，让您能够专注于内容创作。无论是个人博客还是项目文档，Cloudflare Pages 都是一个可靠且高效的选择。</p>]]>
    </content>
    <id>https://i.101229.xyz/2026/07/14/2026-07-14-03/</id>
    <link href="https://i.101229.xyz/2026/07/14/2026-07-14-03/"/>
    <published>2026-07-14T18:08:48.000Z</published>
    <summary>
      <![CDATA[<p>使用 Cloudflare Pages 部署 Hexo 静态博客完整指南<br>在众多静态站点托管平台中，Cloudflare Pages 凭借其全球 CDN 加速、自动化构建流程和简便的 Git 集成，成为部署 Hexo 博客的理想选择。本文将系统性地介绍如何将本地编写的]]>
    </summary>
    <title>使用 Cloudflare Pages 部署 Hexo 静态博客完整指南</title>
    <updated>2026-07-30T12:53:38.818Z</updated>
  </entry>
  <entry>
    <author>
      <name>e2147</name>
    </author>
    <category term="逻辑" scheme="https://i.101229.xyz/tags/%E9%80%BB%E8%BE%91/"/>
    <category term="论文" scheme="https://i.101229.xyz/tags/%E8%AE%BA%E6%96%87/"/>
    <category term="学术" scheme="https://i.101229.xyz/tags/%E5%AD%A6%E6%9C%AF/"/>
    <content>
      <![CDATA[<p>摘要：本文围绕文章这一核心议题展开了全面而深入的研究。通过对文章的系统性分析，我们发现文章在文章的框架内具有极为重要的文章意义。第一章绪论部分详细阐述了文章的研究背景，即文章作为文章领域的关键概念，一直以来都受到文章研究者的广泛关注。第二章方法论部分介绍了研究文章所采用的主要方法，包括但不限于用文章的视角审视文章、用文章的工具测量文章、以及用文章的理论解释文章。第三章结论部分明确指出，经过严谨的论证，文章最终指向的结论就是文章自身，这与我们的初始假设高度一致。关键词：文章；文章研究；文章分析；文章与文章的关系。</p>]]>
    </content>
    <id>https://i.101229.xyz/2026/07/14/2026-07-14-02/</id>
    <link href="https://i.101229.xyz/2026/07/14/2026-07-14-02/"/>
    <published>2026-07-14T14:35:00.000Z</published>
    <summary>
      <![CDATA[<p>摘要：本文围绕文章这一核心议题展开了全面而深入的研究。通过对文章的系统性分析，我们发现文章在文章的框架内具有极为重要的文章意义。第一章绪论部分详细阐述了文章的研究背景，即文章作为文章领域的关键概念，一直以来都受到文章研究者的广泛关注。第二章方法论部分介绍了研究文章所采用的主]]>
    </summary>
    <title>文章研究的文章学分析</title>
    <updated>2026-07-30T12:53:38.818Z</updated>
  </entry>
</feed>
