开发
ThemeKit

ThemeKit

reblog提供了ThemeKit(@reblog/themekit)用以从后端获取数据。ThemeKit只提供数据,不约束实现,你可使用任意喜欢的框架配合ThemeKit开发主题。以下为ThemeKit API文档。

安装

使用包管理器:

pnpm add @reblog/themekit

初始化 constructor

import ThemeKit from "@reblog/themekit";
 
const themekit = new ThemeKit({
  server: {
    url: "https://reblog.example.com",
  },
  cache: "no-store",
});

文章

获取文章列表 getArticleList

const articles = await themekit.getArticleList({
  pageIndex: 1,
  pageSize: 10,
});

根据slug获取文章 getArticle

const article = await themekit.getArticle("reblog-test-article");

站点

获取站点信息 getSite

const site = await themekit.getSite();

友链

获取友情链接 getFriendList

const friends = await themekit.getFriendList({
  pageIndex: 1,
  pageSize: 10,
});

发起友链申请 addFriend

themekit.addFriend({
  name: "test site",
  avatar: "https://reblog.example.com/avatar.jpg",
  url: "https://reblog.example.com",
  desc: "reblog test site",
});

类型声明

文章 Article

export type Article = {
  // 文章id
  id: number;
 
  // 文章创建时间
  created_at: string;
 
  // 文章更新时间
  updated_at: string;
 
  // 文章slug
  slug: string;
 
  // 文章标题
  title: string;
 
  // 文章描述
  desc: string;
 
  // 文章内容
  content: string;
};
 
export type ArticleList = {
  // 文章总数
  count: number;
 
  // 文章列表
  articles: Article[];
};

站点 Site

export type Site = {
  name: string;
  url: string;
  desc: string;
  icon?: string;
};

友链 Friend

export type Friend = {
  name: string;
  avatar: string;
  url: string;
  desc: string;
};