建站能力

建站能力

SSR/SPA 双渲染、三态管理、在线编辑器、多主题配色、可视化组装、现成模板市场

🏗 双模式架构总览

📤 SSR 服务端渲染

🎨 Tera 模板引擎

  • 类 Jinja2 语法:学习成本极低,有 Python / Jinja2 经验的开发者可直接上手,`{% if %}`, `{% for %}`, `{{ variable }}` 等语法完全一致
  • extends 继承:子模板通过 `{% extends "base.html" %}` 继承父模板布局,只覆写变化部分,避免重复代码,基础布局集中管理
  • include 包含:公共组件(页头、页脚、导航栏、侧边栏)抽取为独立文件,通过 `{% include %}` 复用,修改一处全局生效
  • macro 宏定义:可复用的 UI 片段(如卡片、按钮、列表),支持参数化调用,实现真正的组件化模板开发
  • 组件化建站:导航菜单 + 内容组件 + 聚合页三件套,覆盖大部分常见的建站需求,无需从零编写模板
  • 模板三态管理:草稿(编辑中)→ 发布(正式上线)→ 归档(历史保留),每一步状态流转均可记录操作元数据(操作人、时间、变更说明)
  • 静态资源路径规范:`/statics/{site}/` 统一结构,天然适配 CDN 加速,资源版本化管理
  • Rust 原生编译:Tera 是 Rust 原生编译的模板引擎,解析速度快于 Jinja2、Pug 等解释型引擎,模板错误在编译期即可发现
✏
草稿态
编辑中,不影响线上
→
✅
发布态
正式对外服务
→
📁
归档态
历史版本保留,可回溯

每一步状态流转均可记录元数据(操作人、时间、变更说明),支持随时回溯到任意历史版本

💻 SPA 单页应用模式

🎯 SSR 最适合的场景

  • 需要 SEO 的站点:官网、新闻站、博客、落地页——搜索引擎可直接抓取完整 HTML 内容
  • 首屏加载速度要求高的场景:服务端直出 HTML,无需等待 JavaScript 下载、解析、执行
  • 面向公众访问的内容展示型站点:以内容阅读和浏览为主的页面,交互需求较低
  • 需要支持低端设备和老旧浏览器:渲染压力在服务端,客户端只需解析 HTML,兼容性极佳
  • 社交分享需要 OG 标签的场景:服务端直接输出完整的 Open Graph 标签,微信、Twitter、Facebook 分享预览完美呈现

⚡ SPA 最适合的场景

  • 管理后台、数据看板:需要频繁操作、数据实时更新的内部管理系统
  • 需要富交互的应用型页面:拖拽排序、实时预览、内联编辑、批量操作等复杂交互
  • 需要离线能力的 PWA 应用:Service Worker 缓存、离线访问、消息推送等原生能力
  • 团队已有成熟的前端框架技术栈:React、Vue、Angular 等团队可直接复用现有经验和组件库
  • 需要复杂前端路由和状态管理的场景:多步骤表单、嵌套路由、全局状态共享等

🤝 两种模式共享的能力

SSR 和 SPA 两种模式共享同一套后端基础设施,以下能力在两种模式下均可使用,只是数据获取方式不同:

能力 SSR 模式 SPA 模式
内容管理 服务端直出 API 获取
权限校验 服务端校验 API Token 校验
审核工作流 服务端处理 API 驱动
站内搜索 服务端渲染 API 调用
中文分词 后端分词 后端分词
SEO 原生支持 需 SSR 或预渲染
模板系统 Tera 渲染 前端框架自由选择
部署方式 无需构建 上传 dist 目录

💻 在线可视化编辑器

  • Monaco 在线 IDE:浏览器里就是完整 IDE——语法高亮、自动补全、实时预览,无需安装任何本地工具
  • Git 双向同步:本地用熟悉的编辑器开发模板,改动可推回变成草稿数据,正式版本只能走后台发布流程,Git 推送不绕过
  • 发布前自动校验:语法错误、引用的公共片段文件是否存在,发布前自动跑一遍检查,只提醒不阻止操作
  • 默认兜底渲染:子站缺少某类页面的专属模板时,平台级默认模板自动兜底,保证页面始终可访问

🎨 多主题配色

  • 主题预设可配置:模板设计时固定可选范围,运行时不支持任意新增
  • 浅色/深色一键切换:访客可自主切换(可关闭),选择记忆在本地
  • 前后台风格统一:主题变量跟后台管理界面共用同一套设计语言

🧩 可视化组装 + 现成模板市场

🎯 SSR 负责展示,SPA 负责交互

同一套后端同时提供 SSR 和 SPA 两种模式,可按子站需求分别选用