Warning: Undefined variable $categories in /www/wwwroot/wwwmetocc/index.php on line 378

Warning: foreach() argument must be of type array|object, null given in /www/wwwroot/wwwmetocc/index.php on line 378

关于

# 关于 JsonLeaf 1.0

![JsonLeaf 树叶封面](https://images.unsplash.com/photo-1441974231531-c6227db76b6e?auto=format&fit=crop&w=1200&q=80)

JsonLeaf 是一个面向个人创作者的轻量博客程序,强调 **内容优先、部署简单、结构清晰、可持续扩展**。它希望把复杂度留给程序,把表达空间还给写作者。

## 设计理念

- 🍃 **轻部署**:不依赖数据库,基于 JSON 文件即可运行。
- ✍️ **重写作**:后台支持 Markdown 编辑与实时预览,降低发布阻力。
- 🧭 **重结构**:分类、标签、归档、首页推荐,让内容组织更有秩序。
- 🌗 **重体验**:明暗主题、响应式布局、简洁但不单薄的阅读界面。

## 程序架构

### 1. 展示层
- 🖼️ `index.php`:负责页面骨架、路由切换与 SEO 元信息输出。
- ⚙️ `js/app.js`:负责前端交互、推荐渲染、筛选与无刷新切换。
- 🎨 `css/style.css`:负责前台视觉系统、响应式布局与主题样式。

### 2. 管理层
- 📝 `admin.html`:后台界面与编辑器容器。
- 🛠️ `js/admin.js`:负责文章增删改、推荐开关、设置保存与发布流程。
- 🧩 `css/admin.css`:负责后台排版、表单与交互细节样式。

### 3. 数据层
- 📦 `data/blog.json`:保存站点配置、分类、文章内容与状态。
- 🔐 `api.php`:负责登录鉴权、数据读取、保存与字段规范化。

## 数据流与发布流程

1. 在后台创建或编辑文章,填写标题、正文、标签、封面和发布状态。
2. 点击保存或发布后,内容通过 `api.php?action=save` 写入 `blog.json`。
3. 前台通过 `api.php?action=get_data` 获取数据,并实时渲染首页、文章页与归档页。
4. 已发布文章立即可见,草稿则保留在后台,不出现在前台。

## 首页推荐机制

- ⭐ 可在后台勾选“首页推荐”。
- ⏱️ 系统会记录推荐时间 `recommended_at`。
- 📚 首页模块只展示“已推荐 + 已发布”的文章。
- 🔄 推荐区默认保留最近推荐的 4 篇,新推荐会自动把较旧内容挤下去。

## 核心特点

- ✍️ Markdown 写作与实时预览
- 🗂️ 分类、标签、归档体系
- 🌙 明暗主题切换
- 🚀 JSON 文件部署,无数据库依赖
- 🔐 后台登录与基础安全控制
- 🔎 轻量 SEO 输出,适合内容站点抓取

## 适用场景

- 个人博客与写作主页
- 作品展示站与内容名片
- 小型团队知识发布页
- 想快速上线、后续持续打磨的轻内容项目

## 后续演进方向

- 🌿 更丰富的主题样式与页面模板
- 📊 更细粒度的统计与内容运营能力
- 📌 可配置推荐排序策略(手动置顶 / 时间衰减)
- 🔌 更清晰的组件化扩展能力

> JsonLeaf 1.0:像一片叶子一样轻,却能承载稳定、清晰、可生长的内容结构。