零成本基建系列——如何在没有云服务器的情况下用codex+vitepress+cloudflare pages搭建自己的网站

📅 2026/7/31 5:20:34
零成本基建系列——如何在没有云服务器的情况下用codex+vitepress+cloudflare pages搭建自己的网站
为什么不自己买云服务器首先当然是不想花钱。而且自己部署云服务器还得考虑安全等因素运维起来也挺麻烦和耗精力的。我自己对 UI 设计天然不擅长网站需要长什么样其实没有概念。同时又不想花太多时间去开发网站每次文章编写完成后也不希望还要花太多时间去部署。调研了一些框架后最终选择了 VitePress GitHub 存储 Cloudflare Pages 的方案。先简单介绍一下VitePress项目VitePress可以针对markdown的文件内容生成静态HTML页面。并且VitePress 有默认的展示样式遇到一些不满意想调整的用户可以自己进行修改而我当然是直接让 Codex 帮忙进行调整。安装和部署可以参考官方文档 VitePress 是什么 | VitePress 。Cloudflare Pages 支持免费 host 网站只要把代码提交到 GitHub并配置好Cloudflare PagesCloudflare 就会自动拉取更新并部署。这样如果有新增或者修改直接 git push 后就可以了。过两分钟网站就会自动更新到最新内容。Cloudflare Pages操作起来有些操作步骤比较难找有必要具体说明一下进入后端管理界面点击“Works Pages;点击 ”Create Application;点击下方的“Get started链接选择“Import an existing Git repository”后选择对应的代码仓库就可以了。设置编译的命令和输出路径等 Build command:npx vitepress build docs Build output:docs/.vitepress/dist配置好以后Cloudflare会提供一个默认的域名也允许我们使用自己的域名由于我现在习惯使用Obsidian来写markdown格式的文章单独在Obsidian中建了一个Vault配置到对应的git项目中的docs/posts目录。也就是说文章目录统一放在docs/posts。一篇文章一个目录正文文件固定叫index.md图片放到同一个目录的assets里。这里的docs目录是对应在vitepress初始化时选择存放markdown文件的目录我每篇文章开头会写 title 和 created--- title: 文章标题 created: 2026-07-15 19:58:53 ---因为我使用了Obsidian的一个插件Custom file explorer sorting通过这个插件我就可以配置Obsidian中的文章目录使用文章创建时间来进行排序了。Obsidian 只负责写不负责发布我直接把docs/posts作为 Obsidian 的 vault 打开,这样左侧看到的就是文章目录。为了让图片跟着文章走在.obsidian/app.json里设置了{ attachmentFolderPath: assets, newLinkFormat: relative, useMarkdownLinks: true }第一个配置让粘贴的图片放到当前文章目录的assets里。第二个和第三个配置比较重要默认的 Obsidian 图片链接长这样![[1cdce648ded9035c5c4314d25ef6f79c.jpg]]在 Obsidian 里当然能显示不过我最后要交给 VitePress。改成 Markdown 链接后新粘贴的图片会变成![](assets/1cdce648ded9035c5c4314d25ef6f79c.jpg)文件名还是一串哈希值先这样吧。真想改成好看的名字直接在 Obsidian 里重命名图片就行它会更新引用。不要在资源管理器里偷偷改Markdown 里的路径不会自己变。新建文章时我装了 Templater。输入一次标题自动创建文章目录、index.md和assets再给index.md写好 title、created 和一级标题。这里有个小技巧对于Obsidian的使用配置可以直接在codex中让GPT给出意见甚至直接配置。由于我对VitePress并不了解第一次部署后对于默认的展示样式有些不满意都是通过codex让GPT5.6帮我调整优化。经过几轮调整上线后现在发布流程比较顺畅了。不过整个网站的功能还比较单薄比如没有设计标签和分类也没有搜索功能。这些后续打算让 GPT 再优化一下。