设计一个博客系统

特性

  • 基于文件(不一定是Markdown,甚至是word文件,只要告诉程序解析策略即可),而不是数据库
  • 可以随时静态化到第三放托管的站点,例如GitHub page
  • 有强大的后台管理系统(全文检索,标签过滤)
  • 有方便通用的主题开发通道(试想开发出一款主题,这个主题本身是高度可定制的)
  • 强大易开发的插件系统

博客系统的模型(高度抽象)

  • 显示级别(删除,草稿,发布,定时发布)
  • 通用显示组件(根组件,子组件)
  • 博客领域显示组件(文章组件,主题组件,功能组件比如过滤功能)
  • 文章组件包含
    • 文章内容
    • 标题
    • 发布时间
    • 作者
    • 摘要
    • 字数等元信息
    • 数据治理信息
  • 主题组件
    • logo,slogan
    • 定制首页
  • 评论系统(外置)