← 返回栏目

从一个想法到正式上线:我是如何搭建 Ethan Cloud 个人网站的

记录 Ethan Cloud 从定位、栏目规划、技术选择到部署上线的过程,以及如何逐步完善写作与维护体验。

我想建一个个人网站,最初的想法很简单:给自己的技术实践、阅读笔记和软件构想,找一个能够长期积累的地方。

平时遇到问题,会查资料、做验证,也会留下一些零散记录。阅读时有想法,也常常随手记下来。但这些内容分散在不同地方,时间一长,自己都不容易找回,更难形成连续的知识体系。

因此,我开始搭建 Ethan Cloud,也给它取了一个中文名字:Ethan 智控。

网站的定位,被我概括为一句话:

以工程师的理性实践技术,以广泛的阅读构建认知框架。

这篇文章,也是网站上线后的第一次正式写作尝试。我想记录的,不只是用了什么工具,还有这个网站如何从一个模糊的想法,逐步变成一个可以访问、可以写作、可以继续完善的空间。

一、先想清楚:网站要承载什么

开始之前,我没有急着选择模板,而是先整理网站的用途。

对我来说,它主要承载三类东西:

  • 实践记录:遇到了什么问题,尝试了什么方法,实际结果如何。
  • 阅读与思考:读到了什么,如何理解,又怎样与已有知识和经历连接。
  • 软件与实验:把想法整理成可验证的方案,逐步形成作品。

我也给自己划了一条边界:个人网站与公司网站、客户资料和实际业务系统保持独立。

这里可以写方法、经验与公开资料,但不能因为方便,就把企业信息或真实设备接进来。

网站首先应该是一个清晰、可靠的内容空间。

二、把想法变成网站结构

确定方向以后,我把网站拆成了几个栏目:

栏目 用来做什么
首页 介绍网站定位,连接主要内容
技术博客 记录工程实践、开发方法与问题复盘
读书频道 整理阅读笔记、书评与主题思考
合法资源 分享原创或有明确许可的资料
AI 实验室 区分实验方案与实际执行记录
软件作品 展示构想、原型及后续真实作品
远程演示 说明未来演示形式,目前不开放设备控制
关于我 后续逐步补充个人简介与联系方式

这些栏目不需要一开始就很丰富,但应该各有用途。

例如,实验方案不能写成已经完成的实验,软件构想也不能包装成已经发布的产品。先把状态说清楚,今后内容多起来,网站才不容易变得混乱。

三、技术选择:让网站先简单地运行起来

网站最终采用了 Astro、TypeScript 和 Markdown。

我选择的方向是静态优先:文章和页面在构建时生成,读者访问时,主要获取已经生成好的网页。

这个阶段,我最需要的是写文章、展示内容、方便维护,因此没有加入数据库、登录、评论或支付系统。

正文使用 Markdown 保存。它的好处是格式直接,内容可以作为文件长期保留,也能通过 Git 记录每次修改。

技术文章、读书笔记、实验、作品和资源,各自还有对应的信息字段。例如:

  • 读书笔记需要书名、作者和阅读状态。
  • 实验记录需要环境说明;如果是已执行的报告,还需要真实证据。
  • 资源条目需要来源、许可和分享依据。

这些约束看起来增加了一点填写工作,却能减少以后内容整理时的麻烦。

四、视觉上,希望它像一个安静的阅读空间

设计方面,我给网站定下的方向是:以极简科技感为主,保留一点现代出版的气质。

具体做法比较克制:白色背景、深灰正文,用少量蓝色强调链接和操作。

首页围绕“理性实践技术,阅读拓宽认知”展开,再引导读者进入不同栏目。

我也希望手机打开时能正常阅读,而不是只在电脑上看起来完整。因此,建设过程中检查了不同宽度下的导航、文字和页面布局。

网站不需要第一眼就展示很多效果。我更希望它能让人顺畅地找到一篇文章,然后读下去。

五、上线之前,先让修改变得可检查

这次建站过程中,我使用 AI 协助整理需求、编写代码、补充测试和维护文档。

但有代码,不代表网站就已经完成。

项目加入了类型检查、生产构建、基础自动化测试,以及真实 Chromium 浏览器测试,用来检查页面、导航、搜索、下载和不同宽度下的布局。

代码修改也通过独立分支和 Pull Request 管理,再进入主分支。

这样做的意义是:每次修改都有范围、有检查结果,也有历史记录。出现问题时,能够找到改动来源,而不是凭印象猜测。

当然,浏览器里的手机宽度模拟,也不能代表所有真机、微信浏览器或网络环境。测试结果需要说明边界,不能把没有测过的部分算作通过。

六、从预览地址,到自己的正式域名

托管方面,我使用了 Cloudflare Pages,并连接 GitHub 仓库。

网站先通过 pages.dev 地址部署,确认能够访问以后,再接入自己的域名:

https://ethancloud.cn

域名在阿里云注册,之后完成了 Cloudflare 的域名接入与 Pages 自定义域绑定。控制台确认域名激活、SSL 启用后,网站有了正式访问入口。

现在,主分支更新后,会触发 Cloudflare 自动构建和部署。

这里我也学到一个很实际的区别:代码合并成功,不等于部署完成。 还需要看对应部署是否成功,再打开网站确认实际页面。

七、上线以后,还要解决“怎么方便地写”

网站能打开,只是第一步。

如果每次写文章都要重新理解目录和配置,内容更新很容易停下来。因此,后续完善的重点之一,就是降低写作门槛。

目前网站有一个内容草稿助手:

https://ethancloud.cn/write

可以选择栏目,填写标题、摘要和正文,生成 Markdown 文件。不同栏目还有写作提纲,帮助我从问题、过程、结果和限制开始整理。

它目前是一个浏览器里的写作工具,不会自动保存或直接发布。生成文件后,仍通过 GitHub 提交,再由现有流程更新网站。

同时,项目保留了中文操作手册和连续 Markdown 开发档案。以后忘记怎么新增文章、修改内容或处理错误,可以照着说明操作,不必重新摸索。

八、网站已经上线,内容建设才刚开始

目前,Ethan Cloud 已有基础栏目、内容详情、搜索、资源说明和写作辅助功能,但很多地方还会继续完善。

个人简介和联系方式,我准备后续再补。AI 实验、软件作品和远程演示,也会根据真实进展逐步增加。

我不想为了填满栏目,把计划写成成果。网站可以暂时简单,内容需要真实。

对我来说,这次建站最大的收获,是把一个想法拆成了可以逐步完成的事情:

先明确定位,再建立结构;先让页面运行,再验证和部署;上线以后,再改善写作与维护。

而接下来最重要的一步,就是开始持续记录。

这篇文章,是 Ethan Cloud 的一次发布测试,也是我为这个网站写下的第一段建设记录。