目录结构
ryeblog/
├── index.php # 首页(列表)
├── post.php / page.php / category.php / tag.php / tags.php
├── archive.php / search.php / sitemap.php / feed.php
├── install.php / upgrade.php # 安装与升级
├── inc/ # 核心:functions.php / view.php / markdown.php / card.php / cloud.php
├── admin/ # 后台页面(settings-*、content、appearance…)
├── usr/theme/ # 主题目录
├── usr/plugins/ # 插件目录
├── usr/uploads/ # 上传/备份/导出
├── usr/cache/ # 文件缓存(可清)
└── tools/ # 发版/导入/打包工具
核心函数(inc/functions.php)
- 数据库:
db()(PDO)、dbOne()/dbAll()/dbQuery()、dbInsert();
- 内容:
getPosts($opts)(统一列表查询:分类/标签/月份/搜索/分页)、getPost()、getArchiveMonths();
- 选项:
getOption()/setOption()(vd_options,首调缓存整表);
- 渲染:
renderContent()/renderContentWithTocCached()/renderPostCard()/renderPager();
- 工具:
esc()/L()/__()(转义/双语/词典)、baseUrl()/postUrl()、ryeblogCacheGet()(带 content_rev 的文件缓存)。
数据表(vd_ 前缀)
vd_posts:文章/页面(type=post|page,status=draft|published|trash);
vd_categories / vd_tags / vd_post_tags:分类标签与关联;
vd_comments / vd_users:评论与用户;
vd_options:全部站点设置(name/value);
vd_archive_stats:归档月计数物化表;vd_attachments / vd_menus / vd_trail 等。
build-release.php <版本>:打完整安装包(install/upgrade/LICENSE);
verify-pack.php:安装包校验;cli_pack.php:插件/主题云端包;
release.py <版本> <changelog>:一键发版(同步版本号→打包→校验→上传云端→发布更新文章);
cloud-publish.php:发布「版本更新」公告文章。
约定
- 版本号双处同步:inc/functions.php 的 RYEBLOG_VERSION 与 install.php;
- 发版必须同时产出 install.php(全新)+ upgrade.php(幂等迁移块);
- 缓存文件在 usr/cache/,随时可清;上传数据在 usr/uploads/(backup/export 受 nginx 保护)。