Generate restful json data for Hexo plugins.
生成 restful 风格的 json 数据,可以当作 api 接口,开始构建一个 SPA 应用吧。
npm install hexo-generator-restful --save以下为默认配置,属性值为 false 表示不生成。
restful:
  # site 可配置为数组选择性生成某些属性
  # site: ['title', 'subtitle', 'description', 'author', 'since', email', 'favicon', 'avatar']
  site: true        # hexo.config mix theme.config
  posts_size: 10    # 文章列表分页,0 表示不分页
  posts_props:      # 文章列表项的需要生成的属性
    title: true
    slug: true
    date: true
    updated: true
    comments: true
    path: true
    excerpt: false
    cover: true      # 封面图,取文章第一张图片
    content: false
    keywords: false
    categories: true
    tags: true
  categories: true         # 分类数据
  use_category_slug: false # Use slug for filename of category data
  tags: true               # 标签数据
  use_tag_slug: false      # Use slug for filename of tag data
  post: true               # 文章数据
  pages: false             # 额外的 Hexo 页面数据, 如 About获取所有 Hexo 配置(站点配置和主题配置)。
GET /api/site.json
如果配置 posts_size: 0 则不分页,以下请求会获取全部文章。
GET /api/posts.json
示例为分页配置下的数据,会包含分页属性 total、pageSize、pageCount,不分页的数据不包含这三项。
获取分页数据
GET /api/posts/:PageNum.json
获取所有文章标签,如果文章无标签则不生成。
GET /api/tags.json
获取某一标签下的所有文章
GET /api/tags/:TagName.json
获取所有文章分类,如果文章无分类则不生成。
GET /api/categories.json
数据格式同 Get All Tags
获取某一分类下的所有文章
GET /api/categories/:CategorieName.json
数据格式同 Get Posts By Tag
根据文章别名获取文章详细信息
GET /api/articles/:Slug.json
/api/articles/javascript-advanced-functions.json
获取来自主题的 Hexo 隐式页面内容,如 About 等。因隐式页面(除 About 等导航栏入口页外)一般在 Hexo 不提供直接访问入口,调用此 API 的开发者需要了解其完整路径,此接口默认关闭。
例如:
GET /api/pages/about.json
格式类似于于 Get Post By Slug。