Skip to content

yscoder/hexo-generator-restful

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 

hexo-generator-restful

Generate restful json data for Hexo plugins.

生成 restful 风格的 json 数据,可以当作 api 接口,开始构建一个 SPA 应用吧。

Install

npm install hexo-generator-restful --save

Config

以下为默认配置,属性值为 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

Document

Get Hexo Config

获取所有 Hexo 配置(站点配置和主题配置)。

Request
GET /api/site.json
Response

/api/site.json

Get Posts

如果配置 posts_size: 0 则不分页,以下请求会获取全部文章。

Request
GET /api/posts.json
Response

示例为分页配置下的数据,会包含分页属性 totalpageSizepageCount,不分页的数据不包含这三项。

/api/posts.json

Get Posts By Page

获取分页数据

Request
GET /api/posts/:PageNum.json
Response

/api/posts/1.json

Get All Tags

获取所有文章标签,如果文章无标签则不生成。

Request
GET /api/tags.json
Response

/api/tags.json

Get Posts By Tag

获取某一标签下的所有文章

Request
GET /api/tags/:TagName.json
Response

/api/tags/Hexo.json

Get All Categories

获取所有文章分类,如果文章无分类则不生成。

Request
GET /api/categories.json
Response

数据格式同 Get All Tags

Get Posts By Categorie

获取某一分类下的所有文章

Request
GET /api/categories/:CategorieName.json
Response

数据格式同 Get Posts By Tag

Get Post By Slug

根据文章别名获取文章详细信息

Request
GET /api/articles/:Slug.json
Response

/api/articles/javascript-advanced-functions.json

Get Implecit Pages

获取来自主题的 Hexo 隐式页面内容,如 About 等。因隐式页面(除 About 等导航栏入口页外)一般在 Hexo 不提供直接访问入口,调用此 API 的开发者需要了解其完整路径,此接口默认关闭。

例如:

Request
GET /api/pages/about.json
Response

格式类似于于 Get Post By Slug。