<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>月光博客</title><link>https://www.williamlong.info/</link><description>关注互联网和搜索引擎的IT科技博客</description><generator>RainbowSoft Studio Z-Blog 2.3 Avengers Build 180518</generator><language>zh-CN</language><pubDate>Fri, 11 Sep 2026 19:58:27 +0800</pubDate><item><title>使用PagesCMS和GitHub打造免费CMS网站</title><author>williamlong.info@gmail.com (williamlong)</author><link>https://www.williamlong.info/archives/7562.html</link><pubDate>Tue, 08 Sep 2026 20:19:18 +0800</pubDate><guid>https://www.williamlong.info/archives/7562.html</guid><description><![CDATA[<p>如何替换WordPress这样的动态CMS网站，上文提到的VS Code + Front Matter CMS + Hugo + GitHub是一个免费方案，但对于普通用户来说，使用VS Code还是有一定难度，无法像WordPress那样全部在网站上操作，因此，这里介绍一个更为简单的和WordPress一样的可视化后台的博客方案：PagesCMS + Hugo + GitHub Pages。</p>

<p>这套方案可以完美替代传统的WordPress系统，具有静态网站高速访问、全自动部署、可视化后台发文的三大特点，没有任何费用，个人用户可以长期零成本使用，个人博客、技术随笔、笔记站点完全够用。</p>

<p><strong>一、架构原理</strong></p>

<p>这套方案使用PagesCMS这个免费服务，技术人员可以搭好系统配置，做完初期的配置设置，之后，没有任何技术基础的客户可以使用Github账号登陆Pages‑CMS，然后通过网站的CMS界面发布和管理文章，保存提交之后，Github Actions自动部署发布，网站自动实时更新。</p>

<p>二、搭建流程</p>

<p>1、创建 GitHub 专属网站仓库</p>

<p>登录 GitHub，新建仓库，仓库名为：你的用户名.github.io，选择 Public 公开仓库，初始化空白仓库。</p>

<p>2、创建 Hugo 网站</p>

<p>本地克隆仓库，新建并初始化一个Hugo站点，同步该仓库。</p>

<p>3、配置 GitHub Actions&nbsp;</p>

<p>访问GitHub仓库，在Settings-Pages-Deployment source 选项选择 GitHub Actions，选择浏览工作流模板，选用Hugo模板，点击 Configure，保存文件，工作流配置就写入仓库，自动部署正式生效。</p>

<p>4、配置 PagesCMS 后台</p>

<p>使用GitHub登陆PagesCMS网站，选定目标仓库，新建并修改一个配置文件，该文件会被保存在仓库根目录的 .pages.config.yml，适配 Hugo 配置的文件内容如下：</p>

<blockquote>
<p>media:</p>

<p>&nbsp; input: &quot;static/images&quot; &nbsp; # 图片上传存放目录（Hugo static，会被发布到网站根目录）</p>

<p>&nbsp; output: &quot;/images&quot;</p>

<p>content:</p>

<p>&nbsp; - name: &quot;posts&quot;</p>

<p>&nbsp; &nbsp; label: &quot;博客文章&quot;</p>

<p>&nbsp; &nbsp; type: &quot;collection&quot;</p>

<p>&nbsp; &nbsp; path: &quot;content/posts&quot; &nbsp;# Hugo文章md所在文件夹</p>

<p>&nbsp; &nbsp; create: true &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# 允许新建文章</p>

<p>&nbsp; &nbsp; delete: true &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# 允许删除文章</p>

<p>&nbsp; &nbsp; fields:</p>

<p>&nbsp; &nbsp; &nbsp; - name: title</p>

<p>&nbsp; &nbsp; &nbsp; &nbsp; label: 标题</p>

<p>&nbsp; &nbsp; &nbsp; &nbsp; type: string</p>

<p>&nbsp; &nbsp; &nbsp; - name: date</p>

<p>&nbsp; &nbsp; &nbsp; &nbsp; label: 发布日期</p>

<p>&nbsp; &nbsp; &nbsp; &nbsp; type: date</p>

<p>&nbsp; &nbsp; &nbsp; - name: draft</p>

<p>&nbsp; &nbsp; &nbsp; &nbsp; label: 是否草稿</p>

<p>&nbsp; &nbsp; &nbsp; &nbsp; type: boolean</p>

<p>&nbsp; &nbsp; &nbsp; - name: description</p>

<p>&nbsp; &nbsp; &nbsp; &nbsp; label: 摘要</p>

<p>&nbsp; &nbsp; &nbsp; &nbsp; type: string</p>

<p>&nbsp; &nbsp; &nbsp; - name: tags</p>

<p>&nbsp; &nbsp; &nbsp; &nbsp; label: 标签</p>

<p>&nbsp; &nbsp; &nbsp; &nbsp; type: list</p>

<p>&nbsp; &nbsp; &nbsp; - name: body</p>

<p>&nbsp; &nbsp; &nbsp; &nbsp; label: 正文</p>

<p>&nbsp; &nbsp; &nbsp; &nbsp; type: markdown</p>
</blockquote>

<p>保存好了以后，所有前期的操作配置就完成了。</p>

<p><strong>三、PagesCMS后台日常发文</strong></p>

<p>1. 登录后台</p>

<p>前期配置好了以后，后面就可以全在浏览器上进行操作管理了，客户可以打开PagesCMS官网：https://app.pagescms.org，使用GitHub账号授权登录，即可进入后台进行管理。</p>

<p>2. 新建/编辑文章</p>

<p>登录之后，选择打开CMS网站的仓库，进入管理面板，就可以管理文章、媒体了，点击&ldquo;Add an entry&rdquo;可以发布一篇新文章，旧文章点&ldquo;Edit&rdquo;可以编辑，正文内容并非可见即所得的形式，需要自己写Markdown语法，建议现在记事本里写好内容，转为Markdown语法后再粘贴进去。图片拖拽上传，图片自动存入指定目录下。</p>

<p>3. 自动发布更新</p>

<p>点击保存后，PagesCMS 会自动提交 Markdown 文件到仓库，触发 GitHub Actions 自动编译部署，等待 1-2 分钟，网站即可更新完成。</p>

<p><strong>结语</strong></p>

<p>这套 PagesCMS + Hugo + GitHub Pages 方案，是目前个人免费博客的最优解之一。既解决了传统静态博客&ldquo;无后台、难维护&rdquo;的痛点，又规避了 WordPress&ldquo;付费、卡顿、不安全&rdquo;的缺陷，实现了免费、好看、高速、易用、免维护的完美博客体验。</p>
]]></description><category>网站建设</category><comments>https://www.williamlong.info/archives/7562.html#comment</comments><wfw:commentRss>https://www.williamlong.info/feed.asp?cmt=7562</wfw:commentRss></item><item><title>使用VS Code和Github打造免费网站系统</title><author>williamlong.info@gmail.com (williamlong)</author><link>https://www.williamlong.info/archives/7561.html</link><pubDate>Mon, 07 Sep 2026 19:33:14 +0800</pubDate><guid>https://www.williamlong.info/archives/7561.html</guid><description><![CDATA[<p>以前搭建博客或CMS网站，绝大多数人都会选择WordPress、Typecho、Zblog等基于PHP+MySQL的动态CMS系统，这类传统程序虽然功能成熟、后台可视化易用，但对于个人博客场景来说，存在成本高、维护麻烦、性能差、不安全等一系列问题。</p>

<p>这样的系统存在的问题是，需要服务器支持php、mysql数据库等服务，服务器成本较高，php程序漏洞多，很容易被挂马、被注入攻击，而且遇到大流量访问，服务器往往会遇到各种瓶颈，出现卡顿、报错等情况。</p>

<p>因此，很多人尝试使用Hugo等静态网站系统来搭建博客或CMS网站，由于Hugo本身并没有markdown写作界面，因此需要使用第三方的CMS系统来实现写作和管理文章的功能。</p>

<p>很多新手一般会选择用Obsidian来写markdown文章，把仓库建立在Hugo站点目录下，搭配各类发布插件推送到Github，但实际使用后就会发现，相关配置繁琐、坑点极多，各种BUG不断，调试排查全靠自己上网摸索。</p>

<p>实际上，现在AI时代已经到来了，我们完全可以采用另外一个简单易用方案来实现免费CMS网站的功能，经过实测对比，VS Code + Front Matter CMS + Hugo + GitHub 是目前最适合新手、最稳定、零折腾的免费个人博客网站方案。</p>

<p><strong>一、工作原理</strong></p>

<p>整体逻辑并不复杂，在 VS Code 装好 Front Matter CMS 插件，利用插件自动处理文章头部配置，直接写 Markdown 内容；写完把代码提交推送到 GitHub 仓库；仓库收到更新后触发 GitHub Actions，云端自动调用 Hugo 编译生成静态网页；最后由 GitHub Pages 对外提供网站访问。</p>

<p>简单说，我们只需要专注写内容，配置、编译、上线这些步骤都交给工具自动完成。</p>

<p><strong>二、前置环境准备</strong></p>

<p>本地电脑只需要准备三个软件，全部默认安装就可以，不用折腾额外设置。</p>

<p>第一个是 Git，主要用来做版本管理，我们本地写好的文章，靠它提交同步到 GitHub 上面。</p>

<p>第二个就是 VS Code，我们主要就在这个编辑器里面写文章、修改各类配置。除了VS Code，使用其他套壳软件也可以，例如：TRAE、Qoder、CodeBuddy、Antigravity等等。</p>

<p>第三个是 Hugo，记得一定要下载 Extended 扩展版本。平时主要用它新建站点，还有在本地预览博客实际效果。真正网站上线编译，是在 GitHub 服务器上跑的，就算关掉自己电脑也不受影响。</p>

<p><strong>三、初始化Hugo博客项目并绑定GitHub仓库</strong></p>

<p>1. 本地创建Hugo站点</p>

<p>打开电脑终端，一行一行复制执行下面的命令，就能生成完整的 Hugo 博客目录。</p>

<p># 创建博客站点文件夹<br />
hugo new site my-blog<br />
# 进入项目目录<br />
cd my-blog<br />
# 初始化git仓库<br />
git init<br />
# 安装简约主题PaperMod<br />
git submodule add https://github.com/adityatelange/hugo-PaperMod.git themes/PaperMod</p>

<p>2. 基础配置修改</p>

<p>进到生成好的项目文件夹，找到hugo.toml，把下面内容粘贴进去，记得把网址改成自己 GitHub 账号和仓库名字。</p>

<p>baseURL = &#39;https://你的用户名.github.io/仓库名/&#39;<br />
locale = &#39;zh-cn&#39;<br />
title = &#39;个人技术博客&#39;<br />
theme = &quot;PaperMod&quot;</p>

<p>3. 关联GitHub远程仓库</p>

<p>先打开 GitHub 网页，手动新建一个空仓库，不要勾选 README、许可证这些选项。</p>

<p>回到终端执行下面代码，把本地全部文件推送到刚建好的 GitHub 仓库。</p>

<p>git add .<br />
git commit -m &quot;初始化hugo博客项目&quot;<br />
git remote add origin 你的仓库地址<br />
git push origin main</p>

<p><strong>四、VS Code核心配置：Front Matter CMS插件搭建本地CMS</strong></p>

<p>这一步是这套方案的核心，不用每次手写一大段文章头部配置，借助插件完成文章管理。</p>

<p>1. 插件安装</p>

<p>打开 VS Code 的插件市场，搜索&ldquo;Front Matter CMS&rdquo;。注意选择正式稳定版，不要装 BETA 测试版本，正式版的功能完全够用。</p>

<p>2. 插件初始化（适配Hugo）</p>

<p>用VS Code打开博客项目根目录（必须打开根目录，不可打开子文件夹），左侧点击Front Matter CMS图标，启动初始化向导，框架选择：Hugo，文章目录配置：content/posts。</p>

<p style="text-align:center"><a href="https://static.williamlong.info/upload/7561_2.jpg"><img alt="Front Matter CMS" src="https://static.williamlong.info/upload/7561_1.jpg" /></a></p>

<p><strong>五、配置 GitHub Actions 实现自动部署</strong></p>

<p>配置完成之后，只要本地把代码推送到 GitHub，就会自动编译并且更新网站，不用手动操作打包。</p>

<p>1. 打开你的 GitHub 仓库页面，进入 Settings &rarr; Pages；</p>

<p>2. Deployment source&nbsp;选项选择 GitHub Actions；</p>

<p>3. 选择浏览工作流模板，搜索 Hugo，选用官方 Hugo 模板，点击 Configure；</p>

<p>4. 保存文件，工作流配置就写入仓库，自动部署正式生效。</p>

<p><strong>六、平时写文章和发布的实际操作</strong></p>

<p>全部环境搭好之后，后续写博客就很简单，一共几步：</p>

<p>1. 打开 Front Matter 面板，点击创建新文章。插件会自动生成 Hugo 需要的头部信息，自动填好标题、时间、标签、草稿标识。</p>

<p>2. 在 VS Code 里面写 Markdown 正文，图片直接拖拽进去，插件会自动保存图片并生成访问链接。</p>

<p>3. 内容写完检查完毕，如果要对外发布，把文章头部的 `draft: true` 修改成 `draft: false`。draft 为 true 代表草稿，Hugo 不会把这篇文章编译到线上网站。</p>

<p>4. 通过 VS Code 的 Git 功能，提交改动并推送到 GitHub 远程仓库。</p>

<p>5. 等待 GitHub Actions 执行构建，一般几十秒到一分钟，线上网站就完成更新。</p>

<p>过程里碰到配置报错、页面渲染异常、部署失败之类的问题，不用到处搜帖子慢慢试。直接复制报错信息丢给 VS Code 内置 AI，让它帮你定位和修改配置，大部分问题很快就能处理完成。</p>
]]></description><category>网站建设</category><comments>https://www.williamlong.info/archives/7561.html#comment</comments><wfw:commentRss>https://www.williamlong.info/feed.asp?cmt=7561</wfw:commentRss></item><item><title>母亲被配音兼职诈骗</title><author>williamlong.info@gmail.com (williamlong)</author><link>https://www.williamlong.info/archives/7560.html</link><pubDate>Tue, 01 Sep 2026 20:12:02 +0800</pubDate><guid>https://www.williamlong.info/archives/7560.html</guid><description><![CDATA[<p>自从去年我妈被电信诈骗之后，又卷入保健品诈骗，购买了不少高价保健品，今年8月中旬，我查看我妈的银行卡账单时，忽然发现有一笔1480元的交易记录，我赶忙询问我妈，是不是又买了什么保健品，结果却出乎我的意料，这笔钱用来报了一门配音课程。我感觉，一年下来，我仿佛成了家里免费的&ldquo;反诈宣传员&rdquo;，让我感到非常无奈。</p>

<p><strong>一、被骗的整个过程</strong></p>

<p>整件事始于一套针对性极强、迷惑性很高的营销套路。</p>

<p>原来，有一家专门面向老年人推广的配音培训公司，在微信群里向老年人大肆宣传参与朗诵配音项目能获取高额回报，他们声称只要老人简单参与朗诵配音一些文稿，就能获得高额报酬，比如每一单能有几十元甚至上百元收入，让老人误以为真能在家就轻松赚钱。</p>

<p>这家骗子公司通过&ldquo;零基础&rdquo;、&ldquo;一部手机在家录音&rdquo;、&ldquo;轻松赚钱月入过万&rdquo;等虚假宣传，诱导我家老人花费1480元购买其配音课程，付款后，既未收到任何正式的合同与发票，连最基础的消费凭证都未曾给到。</p>

<p>在直播间老师表示，学完课可在特定软件里接单配音赚钱，并且很快能赚回投入，实际上，我家老人只在接单平台里接到一个配音朗读订单，订单价格只有8元，根本就没有什么海量的商单资源，花1480元买来的，只是一堆随处可搜的基础录播课程，和&ldquo;赚钱副业&rdquo;没有半点关系。付款之后实际提供的服务与宣传不符，这个培训课程涉嫌&ldquo;虚假宣传&rdquo;&ldquo;诱导消费&rdquo;&ldquo;消费陷阱&rdquo;等等。</p>

<p><strong>二、12315不予受理</strong></p>

<p>发现被骗后，我第一时间整理全套证据，在12315平台发起正规投诉，诉求很明确：商家虚假宣传、未履约服务约定，要求商家能全额退款。</p>

<p>然而，令我意想不到的是，市场监管局给予的回复是，不予受理通知，理由是：本次纠纷不属于生活消费需要购买、使用商品或接受服务的范畴，依据相关规定不予受理，建议通过司法途径解决。</p>

<blockquote>
<p>不受理原因</p>

<p>XX市场监督管理局接到你投诉事项，针对您的投诉内容，您投诉涉及有声配音培训及录音收益相关内容，其内容不属于生活消费需要购买、使用商品或者接受服务产生的纠纷，依据《市场监督管理投诉举报处理办法》第十六条第（三）项规定，不予受理。建议您通过司法途径解决。</p>
</blockquote>

<p>后来我才弄明白其中的关键，12315受理的是普通生活消费纠纷，而这类打着学技能、做副业赚钱旗号的培训项目，会被监管部门认定为投资/副业增收类付费项目，不属于普通的日常消费，因此不能走消费者调解通道。</p>

<p><strong>三、商家的霸王封口协议</strong></p>

<p>在我提交12315投诉后，商家也主动打电话联系我，说可以退款1130元，但必须签署一份退费申请书，商家用短信发来的这个退费申请书的全文如下：</p>

<blockquote>
<p>退费申请书</p>

<p>本人于2026年08月16日购买配音核心养成训练营，付款1480元，共计1480元，现本人因个人原因申请退费，经本人与&ldquo;XX企业&rdquo;协商，由&ldquo;XX企业&rdquo;向本人退费1130元。退费之后，双方再无其他争议。</p>

<p>本人承诺不通过任何方式公开与本次退款相关的任何事项，不传播和扩散与&ldquo;XX企业&rdquo;相关的任何不实、负面的消息等，否则本人同意向&ldquo;XX企业&rdquo;支付退费金额的十倍作为违约金。</p>
</blockquote>

<p>这份协议暗藏两大霸王条款：</p>

<p>一是篡改退费原因，协议写明&ldquo;因个人原因申请退费&rdquo;，把全部责任归于消费者自身，商家虚假宣传、服务违约的问题被一笔勾销。</p>

<p>二是天价封口违约金，协议明确要求：不得公开、传播任何相关负面信息，否则需赔付退费金额十倍违约金（高达一万余元）。</p>

<p>很多人看到高额违约金后，就乖乖签字认栽、闭口不提被骗经历。</p>

<p>不过从法律角度来看，这份违约金条款本身就属于无效的格式条款。</p>

<p>根据《民法典》第四百九十七条、最高法预付式消费纠纷相关司法解释：经营者提供的格式条款，若不合理免除自身责任、加重消费者责任、限制消费者合法维权权利，依法直接认定无效。</p>

<p>十倍违约金远超实际损失，严重违背公平原则，完全属于用来恐吓受害者、压制维权的非法条款，并不具备法律上的支持。</p>

<p>即便这份协议处处不公，在12315投诉通道走不通的现实情况下，为尽可能减少损失，我最后还是让老人签署了这份协议，当天收到1130元退款，这事情也只能认栽了。</p>

<p><strong>四、结语</strong></p>

<p>整件事件让人感觉非常无奈，这类无良的骗子企业实在太会钻监管和法律的空子了，又懂如何忽悠老人，事后还会用霸王条款来拿捏受害者，一个企业的所有心思都放在诈骗老年人身上，多么缺德啊。</p>

<p>最后想郑重提醒所有老年人：凡是宣称&ldquo;先交钱、再赚钱&rdquo;的居家副业，100%都是圈套。</p>

<p>希望这篇真实的维权实录，希望能够帮更多家庭避开同类陷阱，让那些无良培训机构不再肆意收割老年人群体。</p>
]]></description><category>生活感悟</category><comments>https://www.williamlong.info/archives/7560.html#comment</comments><wfw:commentRss>https://www.williamlong.info/feed.asp?cmt=7560</wfw:commentRss></item><item><title>Hugo搭建静态网站教程</title><author>williamlong.info@gmail.com (williamlong)</author><link>https://www.williamlong.info/archives/7559.html</link><pubDate>Sun, 30 Aug 2026 22:14:30 +0800</pubDate><guid>https://www.williamlong.info/archives/7559.html</guid><description><![CDATA[<p>之前我介绍了Cloudflare Pages，GitHub Pages等静态网站托管平台，那么，用户如果想搭建一个静态网站，还需要一个静态网站生成软件，在大量的同类工具里，例如Hexo、Jekyll等等，Hugo是速度最快，而且上手也最容易的一个选择，由于Hugo是Go语言编写，速度极快，几千页的网站能在几秒钟生成完毕，这也是目前个人网站搭建平台最优的选择之一，下面我就介绍一下如何使用Hugo搭建一个静态网站。</p>

<p><strong>第一步：安装Hugo</strong></p>

<p>安装Hugo之前，首先要先从下面的两个地址来安装Git和Go：</p>

<p>Git下载地址：https://git-scm.com/install/</p>

<p>Go下载地址：https://go.dev/dl/</p>

<p>安装完成之后，就可以从下面的地址来安装Hugo：</p>

<p>Hugo下载地址：https://github.com/gohugoio/hugo/releases/latest</p>

<p>地址里有很多个Hugo版本，建议选择下载 Hugo Extended 这个版本，大多数包管理器默认安装的就是这个版本。</p>

<p>对于Windows系统来说，Hugo本身只有一个EXE文件，下载后将其放在任意目录均可，但该目录需要在&ldquo;系统变量&rdquo;的Path里才行，比如C:\Windows目录。</p>

<p>之后，打开cmd或者powershell，输入hugo version可以查看当前Hugo程序的版本号。</p>

<p><strong>第二步：创建站点</strong></p>

<p>安装好之后，就可以使用Hugo来搭建网站了。</p>

<p>先创建一个目录，然后用一条命令就能生成一个新静态网站的基础目录结构：（本例创建的站点名为mysite，大家可以自定义）：</p>

<p>hugo new site mysite</p>

<p>之后，我们会看到当前目录新增了一个mysite的文件夹，这个文件夹就是Hugo的工作目录。</p>

<p>下面简单说明几个关键目录的作用：</p>

<p>content/：存放你的文章和页面内容（Markdown 文件）</p>

<p>layouts/：网站模板文件</p>

<p>static/：静态资源，比如图片、字体，会原样复制到最终生成的网站中</p>

<p>themes/：主题存放目录</p>

<p>hugo.toml：站点的核心配置文件</p>

<p>修改 hugo.toml 文件，可以修改网站的语言、标题、网址、分页、permalinks等功能。</p>

<p><strong>第三步：安装主题样式</strong></p>

<p>Hugo 本身不自带任何样式，需要单独安装主题。这里以轻量、简洁著称的 PaperMod 主题为例，用 Git 子模块的方式引入：</p>

<p>git submodule add https://github.com/adityatelange/hugo-PaperMod.git themes/PaperMod</p>

<p>之后编辑 hugo.toml ，在文件中加入下面这一行，指定使用这个主题：</p>

<p>theme = &quot;PaperMod&quot;</p>

<p>如果不用Git子模块，也可以直接从GitHub仓库下载该主题的压缩包，解压到 themes/ 目录下即可，效果是一样的。</p>

<p><strong>第四步：写文章</strong></p>

<p>创建好了站点后，现在网站中还什么内容都没有，执行下方命令创建一篇markdown格式的文章：</p>

<p>hugo new posts/hello-world.md</p>

<p>生成的文件位于 content/posts/hello-world.md，打开后大致长这样：</p>

<p>---<br />
title: &quot;Hello World&quot;<br />
date: 2026-08-30T10:00:00+08:00<br />
draft: true<br />
---</p>

<p>顶部用 --- 包裹起来的部分是文章的配置信息，用来定义标题、发布时间、是否为草稿、标签、目录等元信息。正文部分使用标准 Markdown 语法编写就可以了，支持标题、列表、代码块、图片等常见格式。</p>

<p>在顶部加入 tags 和 categories 字段，配合主题自带的归档页面，可以自动生成标签云和分类列表。</p>

<p>默认新建文章为草稿状态，必须将 draft 改为 false，上线后才能正常展示。</p>

<p>把图片放进 static/images/ 目录，在文章中用 /images/xxx.png 的相对路径引用即可。</p>

<p><strong>第五步：预览并生成静态文件</strong></p>

<p>一切准备就绪后，可以使用下面的命令，启动本地开发服务器，实时预览效果：</p>

<p>hugo server</p>

<p>命令执行后，在浏览器打开 http://localhost:1313 就能看到网站了。修改任何文件保存后，页面会自动刷新，不需要手动重启服务。</p>

<p>确认内容和样式都没问题之后，执行下面的命令生成最终的静态网站：</p>

<p>hugo</p>

<p>Hugo会把所有内容编译到 public/ 目录下，这里面的文件就是可以直接部署的完整网站，全是纯 HTML、CSS 和 JS，不依赖任何后端服务。把这个目录发布到Cloudflare Pages或GitHub Pages等静态网站托管平台，即可完成部署上线，具体如何部署，可参考我之前的两篇文章。</p>

<p>如果对于页面不满意，可以修改模板，强烈建议使用目前的Codex、Antigravity或Trae等AI编程工具来修改模板，效率非常高。</p>

<p><strong>小结</strong></p>

<p>总的来说，整个流程走下来其实并不复杂：安装 Hugo、初始化站点、装主题、写 Markdown、本地预览、生成静态文件、推送部署。相比传统的 CMS 建站方式，Hugo 的好处在于内容都是纯文本文件，可以用 Git 做版本管理，也不用操心数据库和服务器安全问题，特别适合个人博客、文档站点这类以内容为主的场景。</p>
]]></description><category>网站建设</category><comments>https://www.williamlong.info/archives/7559.html#comment</comments><wfw:commentRss>https://www.williamlong.info/feed.asp?cmt=7559</wfw:commentRss></item><item><title>解决Cloudflare Pages的308自动重定向问题</title><author>williamlong.info@gmail.com (williamlong)</author><link>https://www.williamlong.info/archives/7558.html</link><pubDate>Thu, 20 Aug 2026 18:40:04 +0800</pubDate><guid>https://www.williamlong.info/archives/7558.html</guid><description><![CDATA[<p>我在使用Cloudflare Pages的时候，发现了一个非常奇怪的问题，就是发布的带有.html后缀的网页，会自动308重定向到一个没有.html的地址，并且，这个行为是Cloudflare Pages底层硬编码，无法通过配置参数关闭。</p>

<p>这个问题我用中文咨询了所有主流AI，都没有得到好的解决，有给方案说，使用.htm代替.html，因为Cloudflare Pages不会重写.htm文件，但这对于老网站的SEO来说显然不行，还有一个方案说是使用 Pages 函数进行拦截，说将一段代码放入functions/[[path]].js 文件中，然后重新发布，然后就会返回 200 + HTML内容，不会再有308重定向的状态码。我按照其方法发布了，也不行。</p>

<p>接着，我使用Google搜索&ldquo;Cloudflare Pages html 308 Permanent Redirect&rdquo;这样的关键词，看到一大堆Cloudflare的用户反馈同样的问题，但每一个问题都没有给出解决方案，翻了好几页也没找到解决方法。</p>

<p>后来，我用Google Translate将我原先的问题翻译为英文，然后提交给Google Gemini，这时候Gemini给出了一个全新的方案，这是以前没见过的，我按照这个新方案试了一下，竟然成功了，使用 curl -I URL，得到的回应从308变成200了，再访问网页，也没有再跳转了，看来还是英文AI更靠谱啊。</p>

<p>这个解决方案，通过使用Cloudflare Pages 函数（中间件）绕过308重定向限制，在重定向发生之前拦截请求，在内部获取HTML，并将其连同200 OK状态一起返回给浏览器。</p>

<p>下面就是保留.html扩展名的解决方案：</p>

<p>1、在项目根目录（与输出/构建目录同级，但不要位于其内部）创建一个文件夹functions。</p>

<p>2、在它里面创建一个名为_middleware.js的文件。</p>

<p>3、添加以下代码以拦截.html请求：</p>

<p>JavaScript代码如下：</p>

<p>export async function onRequest(context) {<br />
&nbsp; const url = new URL(context.request.url);<br />
&nbsp; // 1. Check if the incoming request is for an .html file<br />
&nbsp; if (url.pathname.endsWith(&#39;.html&#39;)) {<br />
&nbsp; &nbsp; // 2. Remove the .html extension for the internal lookup<br />
&nbsp; &nbsp; url.pathname = url.pathname.slice(0, -5);<br />
&nbsp; &nbsp; // 3. Clone the original request (to keep headers) but use the new URL<br />
&nbsp; &nbsp; const newRequest = new Request(url.toString(), context.request);<br />
&nbsp; &nbsp; // 4. Fetch the extension-less asset internally.&nbsp;<br />
&nbsp; &nbsp; // This returns the 200 HTML response directly to the browser.<br />
&nbsp; &nbsp; return context.env.ASSETS.fetch(newRequest);<br />
&nbsp; }<br />
&nbsp; // For all other requests, proceed to normal Cloudflare routing<br />
&nbsp; return context.next();<br />
}</p>

<p>这种方法的原理是，当用户请求.html页面时，此中间件会捕获该请求，这个函数会在后台秘密地向 Cloudflare 请求不带扩展名的页面路径，然后，它会获取成功的HTML 响应，并将其直接发送回原始URL，这时候，旧永久链接将立即加载，无需任何重定向跳转。</p>

<p>需要注意的是，这个功能并不是无限使用的，免费的Cloudflare Pages用户每天的额度是十万次，超过十万次以后当天该函数就停了，需要等到第二天重置额度。</p>
]]></description><category>网站建设</category><comments>https://www.williamlong.info/archives/7558.html#comment</comments><wfw:commentRss>https://www.williamlong.info/feed.asp?cmt=7558</wfw:commentRss></item><item><title>推特推出全新“原创内容奖励计划”</title><author>williamlong.info@gmail.com (williamlong)</author><link>https://www.williamlong.info/archives/7557.html</link><pubDate>Mon, 10 Aug 2026 10:50:29 +0800</pubDate><guid>https://www.williamlong.info/archives/7557.html</guid><description><![CDATA[<p>8月8日，推特（X）给创作者群发邮件称，将上线全新原创内容奖励计划，创作者发布原创优质内容、产出有价值对话贡献即可在平台获取收益。现行收益分成计划将于9月7日结束，参与者收益结算至该日，末笔款项9月11日发放。9月8日起可申请新计划，已完成身份核验与收款绑定无需重复操作，审核通过后按新规则获取收益。</p>

<p>根据新计划，创作者需要满足一定条件才有资格参与，包括至少拥有500名经过认证的粉丝，并且过去90天内来自认证用户的主页时间线累计曝光量达到至少50万次等要求，符合条件的创作者将根据&ldquo;原创内容&rdquo;的&ldquo;有效曝光量&rdquo;获得收益。符合条件的已加入收益分成的创作者可自2026年9月8日起申请。</p>

<p>其中，&ldquo;有效曝光量&rdquo;指来自Premium订阅用户的独立曝光次数，且内容需要出现在主页时间线中，并保证帖子至少有50%的内容区域可见。</p>

<p>在&ldquo;原创内容&rdquo;方面，X的定义相对宽泛。根据官方规则，原创报道、分析文章、用户自行拍摄的视频和照片，以及创作者制作的图片、插画（包括表情包和迷因内容）都属于符合条件的内容。此外，评论和反应类内容也可以获得收益，但前提是必须&ldquo;提供有实际价值的补充&rdquo;。</p>

<p>X表示，推出该计划的目标是减少过去收益体系中利用漏洞和制造标题党内容获利的现象。在新机制下，单纯搬运他人内容，或仅通过回复其他帖子获取流量，理论上将无法成为稳定收入来源。</p>

<p>以下为邮件的中文翻译全文（使用谷歌翻译）：</p>

<blockquote>
<p><strong>关于收益分成和创作者变现的重要更新</strong><br />
&nbsp;&nbsp; &nbsp;<br />
今天，我们推出原创内容奖励计划&mdash;&mdash;创作者可以通过分享原创内容并为对话做出有意义的贡献，在 X 上赚取收益的新方式。</p>

<p>X 一直以来都依靠那些分享独一无二内容的人们：突发新闻、专家见解、独特体验、创意以及推动文化发展的评论。我们希望奖励那些让 X 每天都值得一看的人，因此我们正在改进创作者的收入方式。</p>

<p>收益分成计划将于 2026 年 9 月 7 日终止。如果您目前已加入收益分成计划，您将继续获得收益直至 2026 年 9 月 7 日，您的最后一笔收益分成款项将于 2026 年 9 月 11 日发放。</p>

<p>自2026年9月8日起，您即可申请原创内容奖励计划。要加入该计划，您需要满足其资格要求。您可以随时前往&ldquo;创作者工作室&rdquo;&rarr;&ldquo;原创内容奖励&rdquo;查看您的资格状态。</p>

<p>如果您已完成身份验证并已将有效的收款方式关联到您的账户，则无需再次完成这些步骤。审核通过后，您将继续根据原创内容奖励计划及其条款和条件获得收益。</p>

<p>感谢您成为 X 平台创作者社区的一员。我们很高兴能够继续投资于您，并奖励平台上原创的声音。</p>

<p>&mdash; X Creators 团队</p>
</blockquote>

<p>&nbsp;</p>
]]></description><category>业界动态</category><comments>https://www.williamlong.info/archives/7557.html#comment</comments><wfw:commentRss>https://www.williamlong.info/feed.asp?cmt=7557</wfw:commentRss></item><item><title>《生化危机9安魂曲》游戏评测</title><author>williamlong.info@gmail.com (williamlong)</author><link>https://www.williamlong.info/archives/7556.html</link><pubDate>Sat, 01 Aug 2026 10:50:13 +0800</pubDate><guid>https://www.williamlong.info/archives/7556.html</guid><description><![CDATA[<p>最近几天玩了《生化危机9安魂曲》（Resident Evil Requiem）这个游戏，做为系列的老粉丝，整体感受较为复杂，整体体验又有满足又有遗憾。</p>

<p>本作纯主线流程大概10小时左右，流程偏短，内容充实度一般。游戏延续了当下热门的双主角叙事模式，老玩家情怀满满的里昂回归主场，同时上线全新FBI新人女主格蕾丝。双主角设定本应丰富游戏玩法和剧情层次，结果却成为了本作最大的体验短板。</p>

<p>新人女主格蕾丝的人物设计和操作手感堪称翻车，简直是废物一个，攻击力极弱，操作起来难受极了，而且她的背包非常小，资源收纳空间严重不足，全程需要反复取舍弹药、道具、药品，玩起来更像是&ldquo;格子危机&rdquo;，极大影响了整体游玩流畅度。</p>

<p>后半部分，里昂重回浣熊市又收割了一次老玩家情怀，同时还让玩家再度对战《生化危机2》《生化危机3》的经典BOSS，一波波回忆杀精准戳中老玩家，算是本作最大的亮点。</p>

<p>结局是双结局，剧情走向反差极大。一个结局人气主角里昂直接被反派杀死了，没有最终BOSS战就结束了。另一个结局是大团圆结局，里昂大战终极BOSS，并救回全员。打完一个结局后，游戏还贴心的让用户可以直接玩另一个结局。</p>

<p>整个游戏的中文配音好评，不过两个主角经常口吐芬芳说脏话，对于女性角色来说，观感上大打折扣。</p>

<p>总的来说，游戏的核心玩法、战斗机制、生存节奏还算在线，游戏性合格，整体值得普通玩家一试。缺点是游戏的关卡设计缺乏新意，高度套路化，重复场景和固定的解谜模式让人审美疲劳。剧情叙事也颇为平淡，没有跌宕起伏的转折和惊艳的伏笔。</p>

<p>纵观整部作品，能明显感觉到卡普空创意枯竭、江郎才尽，靠着经典IP和情怀撑场面，却没有打磨好剧情与玩法，属实辜负了老玩家的期待。</p>
]]></description><category>软件应用</category><comments>https://www.williamlong.info/archives/7556.html#comment</comments><wfw:commentRss>https://www.williamlong.info/feed.asp?cmt=7556</wfw:commentRss></item><item><title>大学教授出奇招抓AI作弊，35名学生32人中招</title><author>user@gmail.com (guest)</author><link>https://www.williamlong.info/archives/7555.html</link><pubDate>Thu, 30 Jul 2026 10:38:48 +0800</pubDate><guid>https://www.williamlong.info/archives/7555.html</guid><description><![CDATA[<p>7月28日消息，据科技媒体TechSpot昨天报道，美国奥尔康州立大学历史学教授杰森 &middot; 吉布森（Jason Gibson）最近分享自己抓 AI 作弊的奇招，结果显示他任教的两个班级中，共有 32 人被抓现行。</p>

<p>据报道，这名教授给学生出的期中考试题目中，有一题涉及工业革命。他知道许多学生会直接照抄 AI 答案，因此他决定往试卷文档里加入一条提示词，要求 AI 以毫无逻辑的方式描述&ldquo;马达加斯加&rdquo;。这段提示词使用白色字体嵌入在文档里，因此学生无法直接用肉眼看到。</p>

<p>最终学生们交上来的 35 份试卷中，有 32 张答卷露出马脚。其实这些学生哪怕稍微检查一下 AI 给出的答案，就能发现异常。其中一个答案先是描述了工业革命，然后突然说&ldquo;马达加斯加在下午时分横向漂浮&rdquo;；另一答案则先讨论技术发展与社会不平等，然后结尾是&ldquo;马达加斯加紫色单车对天花板低语&rdquo;。</p>

<p>杰森教授表示，他这么做并不是想嘲讽学生。发现他们作弊后，他给了这些学生申诉机会。最后 30 人选择认栽，但仍有 2 人试图为自己的行为辩解。</p>

<p>来源：IT之家</p>
]]></description><category>业界动态</category><comments>https://www.williamlong.info/archives/7555.html#comment</comments><wfw:commentRss>https://www.williamlong.info/feed.asp?cmt=7555</wfw:commentRss></item><item><title>申真谞九段让子棋战胜KataGo</title><author>williamlong.info@gmail.com (williamlong)</author><link>https://www.williamlong.info/archives/7554.html</link><pubDate>Mon, 20 Jul 2026 15:17:24 +0800</pubDate><guid>https://www.williamlong.info/archives/7554.html</guid><description><![CDATA[<p>7月17日，位于韩国的首尔经济电视台演播厅，一场围棋人机大战三番棋对决，正徐徐拉开帷幕。本次比赛采用了韩国申真谞九段受让两子的&ldquo;让子棋&rdquo;赛制，申真谞&mdash;&mdash;这位被称为&ldquo;申工智能&rdquo;的现役世界第一，执黑先行，挑战顶尖开源人工智能KataGo。在首局比赛中，申真谞执黑中盘败北，申真谞在先失一局的不利局面下，连扳两局，以2比1的总比分取胜。</p>

<p>第一局的较量中，由四张英伟达RTX3090显卡并联构建起的KataGo，开局就下出了少见的着法，而申真谞小心翼翼地应对，尽量避免战斗。虽然在开局阶段没有犯错，但他的优势在被慢慢蚕食。</p>

<p>到了中盘第90手，他的一步冲仅仅是稍有失误，立刻就被KataGo无情地抓住，棋局瞬间就进入了黑棋不得不强杀中腹白棋的局面&mdash;&mdash;而&ldquo;治孤&rdquo;活棋，正是AI最拿手的。现场解说的韩国国家围棋队总教练洪旼杓当时就断言：&ldquo;获胜几乎不可能了！&rdquo;</p>

<p>第二局中，申真谞调整战术，放弃布局阶段的复杂博弈，借助&ldquo;芈式飞刀&rdquo;定式快速简化局面，压缩棋盘的周旋空间，并将优势牢牢掌控，最终以4目半获胜。决胜局中，他延续这一思路，尽量减少复杂变化，依靠黑棋厚势稳步推进，避免给KataGo制造反扑机会，最终以11目半的优势锁定胜局。</p>

<p>但申真谞的获胜，并未在围棋界引发轰动效应，争议却随之而来。有分析指出，此次对弈所用的KataGo并非性能最优版本，是由四张英伟达RTX3090显卡并联构建起的KataGo，其参数配置未达最大化，算力或未得到充分释放。同时，赛制除了规定KataGo让两子外，用时规则为：申真谞每方基本时限5小时，随后进入30秒读秒；KataGo则无基本时限，但每手棋须在20秒内落子，且在申真谞思考期间暂停运算，不得提前推演后续变化。</p>

<p>在此约束下，AI是否能在每步棋之间获取足够的计算资源存在疑问。决胜局中，KataGo的招法趋于简化，在劣势局面下未能展现出AI标志性的敏锐判断与强攻手段，进一步放大了规则对其效能影响的不确定性。</p>

<p>此外，有围棋爱好者进行过测试，第一盘与30k算力（差不多符合4卡3090，20s一步的效果）的katago一选吻合度超过95％，第二盘与轻微负激进度（pda），2k算力的katago一选吻合度超过了98％，但是与30k算力的一选吻合度不到80％。第三盘与超强的负激进度（pda）-0.8的2k katago一选吻合率超过了98％，同样与30k算力的一选吻合度不足80％。</p>

<p>激进度（pda）可以理解成数值越大下法越激进，越小下法越保守。因此有网友推测，第一盘对阵30k算力的KataGo，申真谞输了之后，第二、三盘KataGo被调低为2k算力，激进度降成负的。</p>

<p>一场跌宕的人机逆转，最终留给世人的并非胜负答案，而是无尽的思考与争议，但恰恰是这些争议，让这场胜利超越了单纯的胜负本身。申真谞赢下的不仅是一盘棋，更是一个关乎人类智慧价值的拷问：当算力被刻意压制、当规则被人为设限，这场&ldquo;人机大战&rdquo;究竟还剩下多少参照意义？围棋的魅力从不在于绝对的强弱碾压，而在于未知的博弈与突破，在首尔经济电视台的演播厅里，人类棋手以&ldquo;不完美&rdquo;的方式，战胜了一个&ldquo;被限制&rdquo;的对手，这本身就是对人工智能时代人类处境的最生动的回应。</p>

<p>附录：三局的棋谱如下</p>

<p style="text-align:center"><a href="https://static.williamlong.info/upload/7554_1b.jpg"><img alt="申真谞九段让子棋战胜KataGo" src="https://static.williamlong.info/upload/7554_1.jpg" /></a></p>

<p style="text-align:center"><a href="https://static.williamlong.info/upload/7554_2b.jpg"><img alt="申真谞九段让子棋战胜KataGo" src="https://static.williamlong.info/upload/7554_2.jpg" /></a></p>

<p style="text-align:center"><a href="https://static.williamlong.info/upload/7554_3b.jpg"><img alt="申真谞九段让子棋战胜KataGo" src="https://static.williamlong.info/upload/7554_3.jpg" /></a></p>
]]></description><category>软件应用</category><comments>https://www.williamlong.info/archives/7554.html#comment</comments><wfw:commentRss>https://www.williamlong.info/feed.asp?cmt=7554</wfw:commentRss></item><item><title>豆包千问宣布下线智能体功能</title><author>user@gmail.com (guest)</author><link>https://www.williamlong.info/archives/7553.html</link><pubDate>Fri, 10 Jul 2026 10:57:39 +0800</pubDate><guid>https://www.williamlong.info/archives/7553.html</guid><description><![CDATA[<p>中国两大科企阿里巴巴旗下人工智能（AI）应用通义千问和字节跳动旗下的AI应有豆包星期六（7月4日）宣布，将于7月15日下线智能体功能。此举恰逢中国官方公布的《人工智能拟人化互动服务管理暂行办法》施行之日。</p>

<p>综合华尔街见闻和中国经济网报道，豆包发布《豆包智能体功能下线通知》，确认智能体功能将于7月15日下线，并将用户引流至字节跳动旗下猫箱App承接相关需求。</p>

<p>豆包称，智能体功能下线后，用户仍可在一段时间内查看并自行保存智能体信息及历史对话数据。10月15日后，豆包将根据《隐私政策》对智能体相关数据进行处理，后续将无法在豆包内查看或恢复。如有重要内容，建议通过截图或分享导出文本的方式提前完成备份。</p>

<p>通义千问则向用户推送下线提醒，指千问智能体功能与服务7月15日彻底下线后，用户将无法访问相关智能体配置及历史对话记录。用户可以在下线前通过复制、截图、导出对话等方式保存智能体配置信息及重要对话记录。</p>

<p>中国国家网信办、国家发展改革委、工业和信息化部、公安部、市场监管总局4月10日联合公布《人工智能拟人化互动服务管理暂行办法》，自7月15日起施行。</p>

<p>《办法》针对AI拟人化互动、角色扮演类服务等明确了内容安全、知识产权保护、未成年人防护等监管规则。</p>

<p>上海市委网信办6月26日通报&ldquo;清朗&middot;整治AI应用乱象&rdquo;专项行动第一阶段成果，宣布累计下架违规智能体1万4000余个。</p>
]]></description><category>业界动态</category><comments>https://www.williamlong.info/archives/7553.html#comment</comments><wfw:commentRss>https://www.williamlong.info/feed.asp?cmt=7553</wfw:commentRss></item></channel></rss>
