The Story Behind Blogit: Why I Built a Git-Powered, Local-First Blogging System

I used to believe publishing meant ownership.

For years, I wrote on Web2 platforms like Medium. They were polished, easy to use, and had built-in distribution. You could focus on writing and let the platform handle everything else.
But over time, I started to feel the tradeoff: I was creating content, but I didn’t really control its fate. My writing lived inside someone else’s product, someone else’s rules, someone else’s business model.

Then I entered the Web3 world.

I was deeply convinced by the idea of decentralization, so I moved my blog to xLog. It felt like the right answer: creator ownership, censorship resistance, open protocols. I didn’t just switch tools, I switched beliefs. I thought I had finally solved the ownership problem.

Until 2025.

xLog, along with the Crossbell chain behind it, stopped operating. Painfully, I realized that every post I had published there was gone.
That was the moment everything became brutally clear:

Publishing on a “decentralized” platform is still not the same as owning your content.

If your writing cannot be restored independently, migrated freely, and served without a single product dependency, then you don’t truly own it. You’re still renting infrastructure, just with a different narrative.

What I Learned

I no longer define content ownership by where it is published.
I define it by whether I can survive platform failure.

Real ownership means:

  • My content exists as local files.
  • Every change is versioned in Git.
  • Images and assets are stored with the post, not in a third-party silo.
  • I can deploy anywhere, migrate anytime.
  • Platforms are distribution channels, not my source of truth.

That is exactly why I built Blogit.

Introducing Blogit

Blogit is a Git-powered, local-first blogging system built around one principle:

Own your content. For real.

Its core model is simple:

  • Content as code: Posts are Markdown in your own repo.
  • Writing as commit: Every edit is a commit with full history.
  • Publishing as push: CI/CD turns pushes into published pages.
  • Cloneable and forkable: Your blog is portable and reproducible.
  • No platform lock-in: You can move without rewriting your life’s work.

On top of that, Blogit gives you modern publishing capabilities:

  • SSG-based SEO (metadata, sitemap, robots)
  • Local media storage (posts/<slug>/assets)
  • Visual admin panel with Markdown block-level editing (Milkdown)
  • Optional Giscus comments
  • Cloudflare deployment workflow

Final Thought

I don’t think platforms are bad.
I still use them. But now I use them differently.

I publish to platforms for reach.
I publish to Blogit for permanence.

Because after losing content once, you stop optimizing only for convenience.
You start optimizing for survival.


中文版

我曾经以为,发布就等于拥有。

很多年里,我一直在 Medium 这样的 Web2 平台上写作。它们足够成熟、易用,而且自带分发能力。你只需要专注写作,剩下的事情交给平台。
但时间久了,我逐渐感受到那种隐性的代价:内容虽然是我写的,但它的命运其实并不由我掌控。我的文字住在别人的产品里,受制于别人的规则、别人的商业模式。

后来,我进入了 Web3 世界。

我曾非常认同去中心化的理念,所以我把博客迁移到了 xLog。它看起来像是正确答案:创作者所有权、抗审查、开放协议。我不只是换了一个工具,而是换了一套信念。我一度以为,内容所有权的问题终于被解决了。

直到 2025 年。

xLog 以及其背后的 Crossbell 链停止运营。我痛苦地意识到,我发布在那里的所有文章都丢失了。
那一刻,很多事情一下子变得非常清楚:

把内容发布在一个“去中心化”平台上,依然不等于你真正拥有了它。

如果你的文章不能被独立恢复、自由迁移,并且在不依赖某一个具体产品的前提下继续提供访问,那你其实并没有真正拥有它。你仍然是在租用基础设施,只不过换了一套叙事。

我学到的事情

现在,我不再用“内容发布在哪儿”来定义所有权。
我用“平台失效后我还能不能活下来”来定义它。

真正的所有权意味着:

  • 我的内容以本地文件存在。
  • 每一次修改都由 Git 做版本管理。
  • 图片和静态资源跟文章一起存放,而不是丢在第三方孤岛里。
  • 我可以部署到任何地方,也可以随时迁移。
  • 平台只是分发渠道,而不是我的事实源头。

这也正是我构建 Blogit 的原因。

介绍 Blogit

Blogit 是一个 Git 驱动、以本地优先为核心的博客系统,它围绕一个原则构建:

真正拥有你的内容。

它的核心模型非常简单:

  • 内容即代码:文章是你自己仓库里的 Markdown 文件。
  • 写作即提交:每一次编辑都是一次可追溯的 commit。
  • 发布即推送:CI/CD 会把每一次 push 变成线上页面。
  • 可克隆、可 fork:你的博客可以被移植,也可以被复现。
  • 没有平台锁定:你可以迁移,而不用重写自己的人生作品。

除此之外,Blogit 也提供了现代博客发布所需的能力:

  • 基于 SSG 的 SEO 能力(metadata、sitemap、robots)
  • 本地媒体资源存储(posts/<slug>/assets
  • 带有 Markdown 区块级编辑体验的可视化后台(Milkdown)
  • 可选的 Giscus 评论系统
  • Cloudflare 部署工作流

最后的想法

我并不认为平台是坏的。
我现在依然会使用它们,只是使用方式不同了。

我把内容发布到平台,是为了触达更多人。
我把内容发布到 Blogit,是为了让它长久存在。

因为当你真正失去过一次内容之后,你就不会只为方便而优化。
你会开始为“生存能力”而优化。