[{"content":"这个博客使用 Hugo 和 Prism 主题生成静态网站，再通过 Cloudflare Workers Static Assets 对外提供访问。文章保存在本地，写完后运行发布脚本；下面以一篇新文章为例，记录实际操作。\n第一步：写一篇 Markdown 在博客项目的 content/post 目录下，新建一个 Markdown 文件，例如 my-first-post.md，内容可以简单到只有标题和正文：\n# 一篇新文章 这是文章的第一段。 ## 一个小节 这里是正文。 不用为普通文章手写页面模板或 CSS。构建时，如果文章没有单独指定标题，会优先使用文件开头的一级标题；没有一级标题则使用文件名。没有指定日期时，使用文件修改时间。文章没有指定封面时，自动使用默认封面。\n日期如果需要保持固定，建议写在文章开头，因为文件修改时间可能随编辑或复制而变化。标题、日期、简介、分类和标签都可以通过可选的元信息设置：\n--- title: 一篇新文章 date: 2026-10-29 description: 这篇文章的简介。 categories: - 随笔 tags: - 记录 --- 这里开始写正文。 要为某篇文章使用自己的封面，可以把文章和图片放在同一个文件夹中，并把文章文件命名为 index.md：\ncontent/post/my-first-post/ ├── index.md └── cover.webp 然后在 index.md 的元信息中加入 image: cover.webp。不设置封面也完全可以发布。\n第二步：运行发布脚本 保存文章后，在博客项目目录打开 PowerShell，运行：\n.\\deploy.ps1 这个命令会重新构建整个博客并发布最新版本，不仅适用于新文章，也适用于修改已有文章。运行前需要已安装 Cloudflare CLI，并登录有权管理博客的 Cloudflare 账号；项目目录中已经包含构建所需的 Hugo 和 Dart Sass。\n如果 CLI 尚未登录，可先运行 cf auth login，按提示在浏览器完成授权。登录后通常不需要每次发布都重新授权。\n也可以先单独运行 .\\build.ps1，只生成网站文件，不发布。构建成功后，如果电脑安装了 Python，可以在项目目录启动本地预览：\n.\\build.ps1 python -m http.server 1313 --directory .cloudflare\\output\\v0\\workers\\default\\assets 随后在浏览器打开 http://localhost:1313/。修改 Markdown 后，需要重新运行构建才能更新预览。\n第三步：脚本如何部署到 Cloudflare deploy.ps1 按顺序完成下面几件事：\n运行 build.ps1，把文章复制到临时目录，给需要的文章补上标题，再用 Hugo、Prism 和 Dart Sass 生成静态文件。原始 Markdown 不会被改写。 将生成的文件放进 Cloudflare CLI 使用的 Build Output 目录，并准备 Worker 和自定义域名的部署配置。 运行 cf deploy --prebuilt --dry-run，预检已有的构建结果。如果预检失败，脚本停止，不继续发布。 运行 cf deploy --prebuilt，上传静态文件并更新 Cloudflare Worker。Cloudflare 随后通过已配置的自定义域名提供网站。 这里的 --prebuilt 表示部署前一步已经生成好的文件。部署完成后，可以打开首页和新文章，确认页面、封面和链接正常；也可以检查 RSS 和 HTTPS。\n整个过程可以理解成：\nMarkdown 文章 ↓ 准备临时副本与默认信息 ↓ Hugo + Prism 生成静态网站 ↓ 预检并部署到 Cloudflare ↓ 浏览器访问博客 Markdown 并不是直接上传后就变成网页，而是先在本地生成静态网站，再上传生成结果。保存文件本身不会自动发布：目前需要主动运行脚本，或者请助手执行；尚未配置 Git 推送后自动部署。\n这个方案适合什么 对于以文字和图片为主的个人博客，这套流程比较轻：文章是普通文本，网站是静态文件，更新时重新构建即可。如果以后需要在线编辑后台、评论或其他动态功能，可以再根据实际需求增加相应服务。\n","id":"b8bf663fe57c0af55871b46940523874","title":"一篇 Markdown 文章是怎样变成博客的"},{"content":"这是一篇可以随时编辑或删除的示例文章，用来展示 Memo 使用的 Prism 主题。文章的封面、分类和标签都写在文件开头，正文使用 Markdown。\n章节与段落 用两个井号写二级标题，用三个井号写三级标题。文章中有多个标题时，主题会生成目录，方便读者跳转。\n普通文字可以写成 粗体、斜体，也可以加入 链接。\n清单 把文章放在 content/post 目录下。 给文章添加标题、日期和简介。 如果有封面，把图片与 index.md 放在同一个文件夹。 引用 用简洁的文字，留住值得记住的片刻。\n图片 在正文中单独放置图片，主题会显示图片说明并支持点击查看大图。\n封面图片，摄影：Marek Szturc / Unsplash 代码与表格 行内代码可以用反引号，例如 hugo。代码块也可以指定语言：\ndef hello(name): return f\u0026#34;你好，{name}！\u0026#34; print(hello(\u0026#34;Memo\u0026#34;)) 元素 写法 标题 ## 章节名称 链接 [文字](https://example.com) 图片 ![说明](图片文件名) 这篇示例只是一个起点；可以替换为自己的文章，也可以直接删除。\n","id":"983b24544aeec9b2bf7637900c4ca32f","title":"Prism 排版示例"},{"content":"你好，欢迎来到 Memo。\n这个小站刚刚搭建完成。以后，这里会慢慢收集文章、想法与值得留存的片刻。\n","id":"ce9b69132ad2f23aafa60560d0bedd6c","title":"欢迎来到 Memo"}]