CaraFloa 正式上线!
CaraFloa 开发至今,已经从一个最初的站点想法,逐渐变成了一个可以持续承载内容、组织文章和探索交互方式的个人内容站点。
这个项目并不只是把文章按照时间顺序排列出来,而是尝试回答一个问题:如果内容本身具有周期性,站点是否也可以用更有空间感的方式来组织和呈现?
前端:使用 Astro 构建
CaraFloa 的前端使用 Astro 构建。Astro 的静态生成能力让站点可以在构建阶段完成文章内容的整理和页面生成,同时保留了较轻量的运行时负担。
文章使用 Markdown 编写,通过 Astro Content Collections 统一读取和校验。每篇文章可以定义标题、摘要、栏目、周期、封面、标签和发布时间等信息。这样既保持了 Markdown 的可读性,也让文章数据具备了明确的结构。
站点还接入了数学公式、KaTeX、Font Awesome 等能力,并针对 Markdown 内容补充了表格、列表、任务列表、图片、代码块和引用等样式,让文章不只能够被发布,也能够保持稳定、清晰的阅读体验。
以周期为单位循环展示文章
CaraFloa 的内容组织方式以周期为重要单位。不同栏目可以围绕某一个周期持续更新文章,首页则从各个栏目中选取当前周期或最新周期的内容进行展示。
这种方式和单纯的时间线有所不同。时间线强调“什么时候发布”,而周期更强调“这一组内容属于哪一次持续发生的内容”。例如每周议题、每周隐写、技术新闻和周汇小结,都可以在周期的框架下形成相对稳定的内容节奏。
周期让文章之间产生了联系,也让站点有了持续循环的感觉。每一次更新不仅是新增一篇文章,也是在为下一轮内容循环补充新的节点。
用 2D 网格平铺页面
CaraFloa 的另一个核心特性,是将页面放置在 2D 网格中。
首页、文章归档、关于页面和友情链接等内容不再只是通过传统的上下级路由进行切换,而是被安排在一个具有坐标的页面空间中。用户可以在不同页面之间平移,文章详情也位于独立的网格位置。
这种设计让页面导航不只是“从一个地址跳到另一个地址”,而更像是在一张内容地图中移动。页面的位置代表了它在整个站点中的关系,也为以后继续扩展更多页面和内容模块留下了空间。
数据协作:Florance 编写,AstrBot 润色并提交
在内容生产流程中,文章数据和站点代码被分离到了不同的仓库。
站点仓库负责 Astro 前端、组件、页面、样式和构建流程;独立的内容仓库负责 Markdown 文章、站点内容配置和图片资源。构建时,站点会拉取内容仓库,并将这些数据注入到模板目录中。
目前的协作方式是由 Florance 负责编写和整理内容,AstrBot 根据需要对文章进行润色、补充格式和整理 frontmatter,然后通过内容仓库的提交流程完成发布。内容仓库的 GitHub Actions 会在内容更新后触发站点重新构建,最终由 Netlify 等构建平台发布最新版本。
这样的流程让内容编辑和前端开发可以相互独立,又保持了清晰的版本记录。每次文章发布都对应一个 Git commit,文章、图片和配置的变化都可以追踪、回看和恢复。
QQ 空间同步
CaraFloa 还提供了将文章同步到 QQ 空间的功能。通过 AstrBot 的插件,一篇简短的说说会与文章内容同步发布到 QQ 空间,让更多人可以在社交平台上看到最新的内容。
目前已经具备的特性
截至目前,CaraFloa 已经具备了一组相对完整的站点能力:
- 使用 Astro 进行静态站点生成;
- 使用 Markdown 管理文章内容;
- 按栏目和周期组织文章;
- 首页按周期循环展示各栏目内容;
- 使用 2D 网格平铺主要页面;
- 支持文章归档和关键词搜索;
- 支持按板块、周期和多个 tags 筛选文章;
- 文章详情页展示发布时间和 tags;
- 支持 Markdown 表格、列表、任务列表、图片、代码块和引用;
- 支持数学公式和 KaTeX;
- 支持响应式布局和深色主题;
- 支持 RSS 输出;
- 支持独立内容仓库和自动化构建;
- 支持通过 AstrBot 创建和发布文章、图片及其他内容资源。
- QQ 空间同步功能,支持将内容同步发布到 QQ 空间。
这些特性仍然只是项目当前阶段的基础。相比功能数量,更重要的是它们逐渐组成了一套从内容编写、数据提交、自动构建到站点展示的完整流程。
对未来的期待
CaraFloa 还有很多值得继续发展的方向。
首先,希望周期内容可以变得更加丰富。除了现有的文章栏目,还可以尝试加入更多固定主题、专题内容和阶段性回顾,让不同周期之间形成更清晰的脉络。
在内容协作方面,也期待 AstrBot 能够承担更多辅助工作,例如从素材整理、文章草稿、摘要生成,到发布前检查链接、图片和 frontmatter。与此同时,最终的内容方向和表达仍然应该由人来决定,工具负责降低整理和发布的成本。
最后,希望 CaraFloa 能够保持一种持续生长的状态。它不一定要快速变成一个庞大的平台,但可以稳定地记录想法、积累内容,并在每一次周期更新和页面移动中留下清晰的痕迹。
这就是 CaraFloa 开发至今的状态:前端由 Astro 驱动,内容由 Florance 编写,AstrBot 协助润色并提交,站点则在周期与 2D 网格之间继续向前展开。
Florance 倾献