markdown posts/hello-editor.md · 2026-08-07 · ~1 min read

你好,编辑器

为什么要把博客做成一个编辑器的样子——以及它到底是怎么实现的。

欢迎来到这个博客。它看起来像一个代码编辑器——因为这正是我想要的。

为什么是「编辑器」

大多数博客模板长得像宣传册:大图、卡片、渐变。但我每天有 8 小时坐在编辑器里, 与其再做一个「宣传册」,不如把博客做成我待得最舒服的那个界面。

于是有了你现在看到的样子:

  • 顶部是 tab 栏,每个 tab 是一个真实的页面
  • 左侧是 文件树,能点进去
  • 底部是 状态栏,鼠标移动时行号会跟着跳
  • 文章页有 阅读进度条光标闪烁
  • 首页的自我介绍是一段 YAML 配置文件,带行号

它不只是装饰。tab、文件树、状态栏都是功能性的——导航、索引、定位。

技术栈

这个站点用 Astro 构建,原因很简单:

  • 零 JS by default:纯静态输出,文章页几乎没有 JavaScript
  • 内容集合:Markdown / MDX 文章有类型安全的前置元数据
  • 岛屿架构:只有需要交互的地方(主题切换、进度条)才加载脚本

样式用 Tailwind,但配色走 GitHub Dark 的克制路线:一个荧光绿强调色, 其余全是灰阶。留白靠的是网格和排版,不是阴影和渐变。

一段代码示例

为了证明代码高亮是工作的,这里有一段 TypeScript:

interface Post {
  title: string;
  pubDate: Date;
  tags: string[];
  draft: boolean;
}

const isPublished = (post: Post): boolean => !post.draft;

行内代码也支持:astro dev 启动开发服务器。

接下来

我会在这里写:

  • 前端工程实践
  • 一些关于排版和性能的碎碎念
  • 偶尔写点和技术无关的东西

如果你也喜欢这种「编辑器即博客」的想法,欢迎把文章分享出去。 RSS 在顶部 tab 栏的 rss.xml,订阅它就不会错过更新。

一个博客如果叫「编辑器」,它就得真的像个编辑器。

— 完 —