[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-1654":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":15,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":40,"readmeContent":41,"aiSummary":42,"trendingCount":16,"starSnapshotCount":16,"syncStatus":17,"lastSyncTime":43,"discoverSource":44},1654,"Monolith","one-ea\u002FMonolith","one-ea","⚡ A premium serverless edge-native blog — Cloudflare Workers + Hono + React + pluggable storage adapters","https:\u002F\u002Fmonolith-client.pages.dev",null,"TypeScript",251,53,182,1,0,2,69,3,5.2,"MIT License",false,"main",true,[26,27,28,29,30,31,32,33,34,35,36,37,38,39],"blog","cloudflare-d1","cloudflare-pages","cloudflare-r2","cloudflare-workers","drizzle-orm","edge-computing","hono","monorepo","react","self-hosted","serverless","typescript","vite","2026-06-12 02:00:31","\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Flucide-icons\u002Flucide\u002Fmain\u002Ficons\u002Fbox.svg\" width=\"96\" height=\"96\" alt=\"Monolith\" \u002F>\n\n# Monolith\n\n**高质感无服务器边缘博客系统**\n\n*极致视觉 · 边缘计算 · 多后端存储 · 零运维成本*\n\n\u003Cbr\u002F>\n\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-22c55e?style=flat-square)](LICENSE)\n[![Cloudflare Workers](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCloudflare-Workers-F38020?style=flat-square&logo=cloudflare&logoColor=white)](https:\u002F\u002Fworkers.cloudflare.com\u002F)\n[![React](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FReact-61DAFB?style=flat-square&logo=react&logoColor=black)](https:\u002F\u002Freact.dev\u002F)\n[![Hono](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FHono-E36002?style=flat-square&logo=hono&logoColor=white)](https:\u002F\u002Fhono.dev\u002F)\n[![TypeScript](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTypeScript-3178C6?style=flat-square&logo=typescript&logoColor=white)](https:\u002F\u002Fwww.typescriptlang.org\u002F)\n\n\u003Cbr\u002F>\n\n[**📚 文档**](https:\u002F\u002Fgithub.com\u002Fone-ea\u002FMonolith\u002Fwiki) · [**☁️ 在线预览**](https:\u002F\u002Fmonolith-client.pages.dev) · [**🐛 反馈**](https:\u002F\u002Fgithub.com\u002Fone-ea\u002FMonolith\u002Fissues) · [**🛡️ 安全**](.\u002FSECURITY.md) · [**🔒 隐私**](.\u002FPRIVACY.md)\n\n\u003C\u002Fdiv>\n\n---\n\n## ✨ 简介\n\n**Monolith** 是一套运行在 Cloudflare 全球边缘网络上的现代化博客系统，前后端通过适配器模式解耦，零运维即可获得全球 \u003C 50ms 的访问延迟。\n\n设计哲学：**内容优先 · 边缘原生 · 沉浸式阅读**。\n\n---\n\n## 🌟 核心特性\n\n### ✍️ 创作体验\n- **沉浸式编辑器** — Markdown + 实时预览，KaTeX 数学公式，代码高亮一键复制\n- **多平台导入** — 一键迁移 WordPress \u002F Ghost \u002F Hexo \u002F Hugo \u002F Jekyll \u002F Halo\n- **内容编排** — 草稿、定时发布、置顶、系列合集、独立页动态导航\n\n### 🎨 阅读体验\n- **暗\u002F亮双主题** — OKLCH 色值系统，过渡顺滑无闪烁\n- **文章导航** — 自动 TOC、阅读进度条、IntersectionObserver 章节追踪\n- **⌘K 全站搜索** — 防抖检索、键盘导航、关键词高亮\n- **Reaction 表情** — 文末轻互动，无需登录即可表态\n\n### ⚡ 性能架构\n- **边缘原生** — Hono + Cloudflare Workers，无冷启动，全球 \u003C 50ms\n- **存储适配** — 数据库 D1 \u002F Turso \u002F PostgreSQL，对象存储 R2 \u002F S3 兼容\n- **零运维成本** — 单脚本一键部署，前后端走同一条流水线\n- **访客分析** — 内置 D1 `visits` 表轻量统计；**Cloudflare 部署专属**额外解锁 Analytics Engine 增强仪表板（UV\u002F停留时长\u002F浏览器\u002F操作系统\u002F分辨率\u002F语言），其他后端 (Turso \u002F PostgreSQL) 仅基础统计可用\n\n### 🛡️ 安全合规\n- **认证与防护** — JWT + 限流，CSP\u002FHSTS 全套头，SSRF 拦截\n- **隐私优先** — Cookie 同意横幅，第三方脚本门控，GDPR 数据导出\n- **多端备份** — JSON \u002F R2-S3 \u002F WebDAV 自由切换\n\n### 🤖 智能扩展\n- **MCP 工具链** — 配套 [Monolith-MCP](https:\u002F\u002Fgithub.com\u002Fone-ea\u002FMonolith-MCP)，让 AI 助手代为写稿、审评、备份\n- **SEO 友好** — sitemap、RSS 2.0、JSON-LD、OG\u002FTwitter Card\n- **数据洞察** — 浏览量、14 日趋势、热门 Top 10\n\n---\n\n## 🏗️ 架构\n\n```\n                        ┌──────────────────────────────────────────┐\n                        │            Cloudflare Edge               │\n                        │       (200+ PoPs · global anycast)       │\n                        └──────────────────────────────────────────┘\n                                          │\n        ┌─────────────────────────────────┼─────────────────────────────────┐\n        ▼                                 ▼                                 ▼\n┌──────────────────┐            ┌──────────────────┐            ┌──────────────────┐\n│  Cloudflare      │            │  Cloudflare      │            │  Cloudflare R2   │\n│  Pages           │            │  Workers         │            │  (or S3 兼容)    │\n│                  │            │                  │            │                  │\n│  React SPA       │            │  Hono Router     │            │  上传 \u002F 媒体库    │\n│  ├ 阅读端        │  \u002Fapi\u002F*    │  ├ Public  API   │            │  ├ 文章封面      │\n│  ├ ⌘K 搜索       │ ─────────▶ │  ├ Admin   API   │ ─对象存储─▶ │  ├ Markdown 图片 │\n│  ├ TOC \u002F 阅读条  │  反向代理  │  ├ Auth (JWT)    │            │  └ 备份归档      │\n│  └ 后台 App Shell│            │  └ Importers     │            └──────────────────┘\n│                  │            │                  │                      ▲\n│  Pages Functions │            │  Storage Factory │                      │\n│  ├ \u002Fapi\u002F*  转发  │            │  ├ IDatabase     │                      │\n│  ├ \u002Fcdn\u002F*  代理  │            │  │  ├ D1         │                      │\n│  └ \u002Frss.xml      │            │  │  ├ Turso      │                      │\n└──────────────────┘            │  │  └ Postgres   │ ◀── 参数化 SQL ─┐    │\n                                │  └ IObjectStorage│                 │    │\n                                │     ├ R2         │ ─────────────────┘    │\n                                │     └ S3 兼容    │                       │\n                                └──────────────────┘                       │\n                                          ▲                                │\n                                          │ MCP Protocol                   │\n                                          │                                │\n                                ┌──────────────────┐                       │\n                                │  Monolith-MCP    │                       │\n                                │  (AI 助手通道)    │                       │\n                                │  ├ 写稿 \u002F 审评    │ ──────────────────────┘\n                                │  ├ 备份 \u002F 恢复    │   (写入媒体库)\n                                │  └ 数据洞察       │\n                                └──────────────────┘\n```\n\n**分层职责**\n\n| 层级 | 模块 | 关键路径 |\n|------|------|---------|\n| 边缘网络 | Cloudflare 全球 anycast | 200+ PoPs · 自动 TLS · DDoS 防护 |\n| 前端 | React SPA + Pages Functions | `client\u002Fsrc` · `client\u002Ffunctions` |\n| 后端 | Hono Workers + Storage Factory | `server\u002Fsrc\u002Findex.ts` · `server\u002Fsrc\u002Fstorage` |\n| 持久层 | D1 \u002F Turso \u002F PostgreSQL · R2 \u002F S3 | `server\u002Fsrc\u002Fstorage\u002Fdb` · `server\u002Fsrc\u002Fstorage\u002Fobject` |\n| 智能层 | Monolith-MCP（独立仓库） | [one-ea\u002FMonolith-MCP](https:\u002F\u002Fgithub.com\u002Fone-ea\u002FMonolith-MCP) |\n\n**关键设计决策**\n\n- **适配器模式** — 数据库与对象存储均实现统一接口（`IDatabase` \u002F `IObjectStorage`），切换后端零侵入\n- **Pages Functions 反向代理** — 前端域名直连 `\u002Fapi\u002F*`，规避 CORS 复杂度，同步注入安全头\n- **Drizzle ORM** — 所有 SQL 参数化，Schema 一处定义、三端同步生成\n- **Monorepo 单脚本部署** — `npm run deploy:cloudflare` 串起迁移 → Workers → Pages 全链路\n\n> 详细架构、模块图与设计决策请参阅 [**Wiki · 架构概览**](https:\u002F\u002Fgithub.com\u002Fone-ea\u002FMonolith\u002Fwiki\u002FArchitecture)。\n\n---\n\n## 🚀 快速开始\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fone-ea\u002FMonolith.git && cd Monolith\nnpm install\nnpm run dev\n```\n\n> 完整环境准备、密钥配置与本地数据库初始化请参阅 [**Wiki · 快速开始**](https:\u002F\u002Fgithub.com\u002Fone-ea\u002FMonolith\u002Fwiki\u002FQuick-Start)。\n\n## ☁️ 部署\n\n```bash\nnpx wrangler login          # 首次部署一次即可\nnpm run deploy:cloudflare   # 远程迁移 → Workers → API_BASE 注入 → Pages\n```\n\n支持 Windows \u002F macOS \u002F Linux 三端，脚本启动会自动预检 wrangler 登录态、Token、账户 ID 与 Node 版本。\n\n> 完整部署指南（含 Cloudflare 资源准备、密钥生成、CI 部署、故障排查）请参阅 [**Wiki · 部署指南**](https:\u002F\u002Fgithub.com\u002Fone-ea\u002FMonolith\u002Fwiki\u002FDeployment)。\n\n| 方案 | 状态 | 适用场景 |\n|------|------|---------|\n| 本机 CLI `npm run deploy:cloudflare` | ✅ 生产验证 | 推荐首选 |\n| GitHub Actions `Cloudflare Deploy` | ⚠️ 待端到端验证 | CI\u002FCD 集成（验收前请慎用） |\n\n---\n\n## 📚 文档导航\n\n| 入口 | 内容 |\n|------|------|\n| [Wiki · 部署指南](https:\u002F\u002Fgithub.com\u002Fone-ea\u002FMonolith\u002Fwiki\u002FDeployment) | Cloudflare 部署完整指南（速通 + 进阶 + 排错） |\n| [Wiki](https:\u002F\u002Fgithub.com\u002Fone-ea\u002FMonolith\u002Fwiki) | 架构、API、二次开发 |\n| [SECURITY.md](.\u002FSECURITY.md) | 安全策略与漏洞披露 |\n| [PRIVACY.md](.\u002FPRIVACY.md) | 隐私政策 |\n| [LICENSE](.\u002FLICENSE) | MIT 开源协议 |\n\n---\n\n## 🤝 贡献\n\n欢迎通过 [Issue](https:\u002F\u002Fgithub.com\u002Fone-ea\u002FMonolith\u002Fissues) 反馈问题，或通过 Pull Request 贡献代码。提交前请阅读 [Wiki · 贡献指南](https:\u002F\u002Fgithub.com\u002Fone-ea\u002FMonolith\u002Fwiki\u002FContributing)。\n\n## 📄 License\n\n基于 [MIT License](.\u002FLICENSE) 开源发布。\n\n\u003Cdiv align=\"center\">\n\n\u003Csub>Crafted with ♡ on the edge.\u003C\u002Fsub>\n\n\u003C\u002Fdiv>\n","Monolith 是一个运行在 Cloudflare 全球边缘网络上的现代化无服务器博客系统。它采用 Hono 和 Cloudflare Workers 构建后端，React 框架开发前端界面，并支持多种存储适配器如 D1、Turso 和 PostgreSQL 等，实现零运维成本下的高性能访问。项目设计注重内容优先和沉浸式阅读体验，提供丰富的创作工具如实时预览编辑器、多平台导入功能以及文章导航等。此外，Monolith 还具备强大的安全性和隐私保护机制，包括 JWT 认证、CSP\u002FHSTS 保护及 GDPR 数据导出等功能。适用于追求极致加载速度和个人品牌展示的博主或小型团队使用。","2026-06-11 02:45:17","CREATED_QUERY"]