diff --git a/.markdownlint.json b/.markdownlint.json
index b4ba820..9860909 100644
--- a/.markdownlint.json
+++ b/.markdownlint.json
@@ -2,6 +2,7 @@
"MD033": false,
"MD024": false,
"MD029": false,
+ "MD041": false,
"MD010": {
"code_blocks": true,
"spaces_per_tab": 4
diff --git a/docs/developer-guide/theme/finder-apis/category.md b/docs/developer-guide/theme/finder-apis/category.md
index 1af6cb7..22fa4df 100644
--- a/docs/developer-guide/theme/finder-apis/category.md
+++ b/docs/developer-guide/theme/finder-apis/category.md
@@ -3,6 +3,9 @@ title: 文章分类
description: 文章分类 - CategoryFinder
---
+import CategoryVo from "../vo/CategoryVo.md"
+import CategoryTreeVo from "../vo/CategoryTreeVo.md"
+
## getByName(name)
```js
@@ -157,51 +160,21 @@ List<[#CategoryTreeVo](#categorytreevo)>
### CategoryVo
-```json title="CategoryVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.512Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "description": "string",
- "cover": "string",
- "template": "string",
- "priority": 0,
- "children": [
- "string"
- ]
- },
- "status": {
- "permalink": "string",
- "postCount": 0,
- "visiblePostCount": 0
- },
- "postCount": 0
-}
-```
+
### ListResult
```json title="ListResult"
{
- "page": 0,
- "size": 0,
- "total": 0,
- "items": "List<#CategoryVo>",
- "first": true,
- "last": true,
- "hasNext": true,
- "hasPrevious": true,
- "totalPages": 0
+ "page": 0, // 当前页码
+ "size": 0, // 每页条数
+ "total": 0, // 总条数
+ "items": "List<#CategoryVo>", // 分类列表数据
+ "first": true, // 是否为第一页
+ "last": true, // 是否为最后一页
+ "hasNext": true, // 是否有下一页
+ "hasPrevious": true, // 是否有上一页
+ "totalPages": 0 // 总页数
}
```
@@ -209,38 +182,6 @@ List<[#CategoryTreeVo](#categorytreevo)>
### CategoryTreeVo
-```json title="CategoryTreeVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T14:18:49.230Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "description": "string",
- "cover": "string",
- "template": "string",
- "priority": 0,
- "children": [
- "string"
- ]
- },
- "status": {
- "permalink": "string",
- "postCount": 0,
- "visiblePostCount": 0
- },
- "children": "List<#CategoryTreeVo>",
- "parentName": "string",
- "postCount": 0
-}
-```
+
- [#CategoryTreeVo](#categorytreevo)
diff --git a/docs/developer-guide/theme/finder-apis/comment.md b/docs/developer-guide/theme/finder-apis/comment.md
index cf15914..f217967 100644
--- a/docs/developer-guide/theme/finder-apis/comment.md
+++ b/docs/developer-guide/theme/finder-apis/comment.md
@@ -3,6 +3,9 @@ title: 评论
description: 评论 - CommentFinder
---
+import CommentVo from "../vo/CommentVo.md"
+import ReplyVo from "../vo/ReplyVo.md"
+
## getByName(name)
```js
@@ -98,73 +101,21 @@ commentFinder.listReply(commentName,page,size)
### CommentVo
-```json title="CommentVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T12:16:19.788Z"
- },
- "spec": {
- "raw": "string",
- "content": "string",
- "owner": {
- "kind": "string",
- "name": "string",
- "displayName": "string",
- "annotations": {
- "additionalProp1": "string"
- }
- },
- "userAgent": "string",
- "ipAddress": "string",
- "priority": 0,
- "top": false,
- "allowNotification": true,
- "approved": false,
- "hidden": false,
- "subjectRef": {
- "group": "string",
- "version": "string",
- "kind": "string",
- "name": "string"
- },
- "lastReadTime": "2022-11-20T12:16:19.788Z"
- },
- "status": {
- "lastReplyTime": "2022-11-20T12:16:19.788Z",
- "replyCount": 0,
- "unreadReplyCount": 0,
- "hasNewReply": true
- },
- "owner": {
- "kind": "string",
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "email": "string"
- }
-}
-```
+
### ListResult
```json title="ListResult"
{
- "page": 0,
- "size": 0,
- "total": 0,
- "items": "List<#CommentVo>",
- "first": true,
- "last": true,
- "hasNext": true,
- "hasPrevious": true,
- "totalPages": 0
+ "page": 0, // 当前页码
+ "size": 0, // 每页条数
+ "total": 0, // 总条数
+ "items": "List<#CommentVo>", // 评论列表数据
+ "first": true, // 是否为第一页
+ "last": true, // 是否为最后一页
+ "hasNext": true, // 是否有下一页
+ "hasPrevious": true, // 是否有上一页
+ "totalPages": 0 // 总页数
}
```
@@ -172,62 +123,21 @@ commentFinder.listReply(commentName,page,size)
### ReplyVo
-```json title="ReplyVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T12:25:32.357Z"
- },
- "spec": {
- "raw": "string",
- "content": "string",
- "owner": {
- "kind": "string",
- "name": "string",
- "displayName": "string",
- "annotations": {
- "additionalProp1": "string"
- }
- },
- "userAgent": "string",
- "ipAddress": "string",
- "priority": 0,
- "top": false,
- "allowNotification": true,
- "approved": false,
- "hidden": false,
- "commentName": "string",
- "quoteReply": "string"
- },
- "owner": {
- "kind": "string",
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "email": "string"
- }
-}
-```
+
### ListResult
```json title="ListResult"
{
- "page": 0,
- "size": 0,
- "total": 0,
- "items": "List<#ReplyVo>",
- "first": true,
- "last": true,
- "hasNext": true,
- "hasPrevious": true,
- "totalPages": 0
+ "page": 0, // 当前页码
+ "size": 0, // 每页条数
+ "total": 0, // 总条数
+ "items": "List<#ReplyVo>", // 回复列表数据
+ "first": true, // 是否为第一页
+ "last": true, // 是否为最后一页
+ "hasNext": true, // 是否有下一页
+ "hasPrevious": true, // 是否有上一页
+ "totalPages": 0 // 总页数
}
```
diff --git a/docs/developer-guide/theme/finder-apis/contributor.md b/docs/developer-guide/theme/finder-apis/contributor.md
index 517ece6..c272c13 100644
--- a/docs/developer-guide/theme/finder-apis/contributor.md
+++ b/docs/developer-guide/theme/finder-apis/contributor.md
@@ -3,6 +3,8 @@ title: 作者
description: 作者 - ContributorFinder
---
+import Contributor from "../vo/Contributor.md"
+
## getContributor(name)
```js
@@ -59,11 +61,4 @@ List<[#Contributor](#contributor)>
### Contributor
-```json title="Contributor"
-{
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
-}
-```
+
diff --git a/docs/developer-guide/theme/finder-apis/menu.md b/docs/developer-guide/theme/finder-apis/menu.md
index a77072d..d8e8801 100644
--- a/docs/developer-guide/theme/finder-apis/menu.md
+++ b/docs/developer-guide/theme/finder-apis/menu.md
@@ -3,6 +3,9 @@ title: 导航菜单
description: 导航菜单 - MenuFinder
---
+import MenuItemVo from "../vo/MenuItemVo.md"
+import MenuVo from "../vo/MenuVo.md"
+
## getByName(name)
```js
@@ -67,79 +70,8 @@ menuFinder.getPrimary()
### MenuVo
-```json title="MenuVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T14:44:58.984Z",
- },
- "spec": {
- "displayName": "string",
- "menuItems": [
- "string"
- ]
- },
- "menuItems": "List<#MenuItemVo>"
-}
-```
+
### MenuItemVo
-```json title="MenuItemVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T14:44:58.984Z",
- },
- "spec": {
- "displayName": "string",
- "href": "string",
- "priority": 0,
- "children": [
- "string"
- ],
- "categoryRef": {
- "group": "string",
- "version": "string",
- "kind": "string",
- "name": "string"
- },
- "tagRef": {
- "group": "string",
- "version": "string",
- "kind": "string",
- "name": "string"
- },
- "postRef": {
- "group": "string",
- "version": "string",
- "kind": "string",
- "name": "string"
- },
- "singlePageRef": {
- "group": "string",
- "version": "string",
- "kind": "string",
- "name": "string"
- }
- },
- "status": {
- "displayName": "string",
- "href": "string"
- },
- "children": "List<#MenuItemVo>",
- "parentName": "string",
-}
-```
+
diff --git a/docs/developer-guide/theme/finder-apis/post.md b/docs/developer-guide/theme/finder-apis/post.md
index 70b91be..2319016 100644
--- a/docs/developer-guide/theme/finder-apis/post.md
+++ b/docs/developer-guide/theme/finder-apis/post.md
@@ -3,10 +3,17 @@ title: 文章
description: 文章 - PostFinder
---
+import CategoryVo from "../vo/CategoryVo.md";
+import TagVo from "../vo/TagVo.md";
+import PostVo from "../vo/PostVo.md";
+import ContentVo from "../vo/ContentVo.md"
+import Contributor from "../vo/Contributor.md"
+import ListedPostVo from "../vo/ListedPostVo.md"
+
## getByName(postName)
```js
-postFinder.getByName(postName)
+postFinder.getByName(postName);
```
### 描述
@@ -32,7 +39,7 @@ postFinder.getByName(postName)
## content(postName)
```js
-postFinder.content(postName)
+postFinder.content(postName);
```
### 描述
@@ -58,7 +65,7 @@ postFinder.content(postName)
## cursor(postName)
```js
-postFinder.cursor(postName)
+postFinder.cursor(postName);
```
### 描述
@@ -76,9 +83,7 @@ postFinder.cursor(postName)
### 示例
```html title="/templates/post.html"
-
+
## list(page,size)
```js
-postFinder.list(page,size)
+postFinder.list(page, size);
```
### 描述
@@ -154,7 +159,7 @@ postFinder.list(page,size)
## listByCategory(page,size,categoryName)
```js
-postFinder.listByCategory(page,size,categoryName)
+postFinder.listByCategory(page, size, categoryName);
```
### 描述
@@ -184,7 +189,7 @@ postFinder.listByCategory(page,size,categoryName)
## listByTag(page,size,tag)
```js
-postFinder.listByTag(page,size,tag)
+postFinder.listByTag(page, size, tag);
```
### 描述
@@ -214,7 +219,7 @@ postFinder.listByTag(page,size,tag)
## archives(page,size)
```js
-postFinder.archives(page,size)
+postFinder.archives(page, size);
```
### 描述
@@ -239,9 +244,7 @@ postFinder.archives(page,size)
-
-
+
@@ -253,7 +256,7 @@ postFinder.archives(page,size)
## archives(page,size,year)
```js
-postFinder.archives(page,size,year)
+postFinder.archives(page, size, year);
```
### 描述
@@ -264,7 +267,7 @@ postFinder.archives(page,size,year)
1. `page:int` - 分页页码,从 1 开始
2. `size:int` - 分页条数
-2. `year:string` - 年份
+3. `year:string` - 年份
### 返回值
@@ -279,9 +282,7 @@ postFinder.archives(page,size,year)
-
-
+
@@ -293,7 +294,7 @@ postFinder.archives(page,size,year)
## archives(page,size,year,month)
```js
-postFinder.archives(page,size,year,month)
+postFinder.archives(page, size, year, month);
```
### 描述
@@ -304,8 +305,8 @@ postFinder.archives(page,size,year,month)
1. `page:int` - 分页页码,从 1 开始
2. `size:int` - 分页条数
-2. `year:string` - 年份
-2. `month:string` - 月份
+3. `year:string` - 年份
+4. `month:string` - 月份
### 返回值
@@ -320,9 +321,7 @@ postFinder.archives(page,size,year,month)
-
-
+
@@ -335,168 +334,36 @@ postFinder.archives(page,size,year,month)
### CategoryVo
-```json title="CategoryVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.512Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "description": "string",
- "cover": "string",
- "template": "string",
- "priority": 0,
- "children": [
- "string"
- ]
- },
- "status": {
- "permalink": "string",
- "postCount": 0,
- "visiblePostCount": 0
- },
- "postCount": 0
-}
-```
+
### TagVo
-```json title="TagVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.512Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "color": "#F9fEB1",
- "cover": "string"
- },
- "status": {
- "permalink": "string",
- "visiblePostCount": 0,
- "postCount": 0
- },
- "postCount": 0
-}
-```
+
+
+### Contributor
+
+
### PostVo
-```json title="PostVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T12:45:43.888Z",
- },
- "spec": {
- "title": "string",
- "slug": "string",
- "releaseSnapshot": "string",
- "headSnapshot": "string",
- "baseSnapshot": "string",
- "owner": "string",
- "template": "string",
- "cover": "string",
- "deleted": false,
- "publish": false,
- "publishTime": "2022-11-20T12:45:43.888Z",
- "pinned": false,
- "allowComment": true,
- "visible": "PUBLIC",
- "priority": 0,
- "excerpt": {
- "autoGenerate": true,
- "raw": "string"
- },
- "categories": [
- "string"
- ],
- "tags": [
- "string"
- ],
- "htmlMetas": [
- {
- "additionalProp1": "string"
- }
- ]
- },
- "status": {
- "permalink": "string",
- "excerpt": "string",
- "commentsCount": 0,
- "contributors": [
- "string"
- ]
- },
- "categories": "List<#CategoryVo>",
- "tags": "List<#TagVo>",
- "contributors": [
- {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- }
- ],
- "owner": {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- },
- "stats": {
- "visit": 0,
- "upvote": 0,
- "comment": 0
- },
- "content": {
- "raw": "string",
- "content": "string"
- }
-}
-```
+
- [#CategoryVo](#categoryvo)
- [#TagVo](#tagvo)
+- [#Contributor](#contributor)
+- [#ContentVo](#contentvo)
### ContentVo
-```json title="ContentVo"
-{
- "raw": "string",
- "content": "string"
-}
-```
+
### NavigationPostVo
```json title="NavigationPostVo"
{
- "previous": "#PostVo",
- "current": "#PostVo",
- "next": "#PostVo"
+ "previous": "#PostVo", // 上一篇文章
+ "current": "#PostVo", // 当前文章
+ "next": "#PostVo" // 下一篇文章
}
```
@@ -504,99 +371,25 @@ postFinder.archives(page,size,year,month)
### ListedPostVo
-```json title="ListedPostVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.505Z",
- },
- "spec": {
- "title": "string",
- "slug": "string",
- "releaseSnapshot": "string",
- "headSnapshot": "string",
- "baseSnapshot": "string",
- "owner": "string",
- "template": "string",
- "cover": "string",
- "deleted": false,
- "publish": false,
- "publishTime": "2022-11-20T13:06:38.505Z",
- "pinned": false,
- "allowComment": true,
- "visible": "PUBLIC",
- "priority": 0,
- "excerpt": {
- "autoGenerate": true,
- "raw": "string"
- },
- "categories": [
- "string"
- ],
- "tags": [
- "string"
- ],
- "htmlMetas": [
- {
- "additionalProp1": "string"
- }
- ]
- },
- "status": {
- "permalink": "string",
- "excerpt": "string",
- "inProgress": true,
- "commentsCount": 0,
- "contributors": [
- "string"
- ]
- },
- "categories": "List<#CategoryVo>",
- "tags": "List<#TagVo>",
- "contributors": [
- {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- }
- ],
- "owner": {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- },
- "stats": {
- "visit": 0,
- "upvote": 0,
- "comment": 0
- }
-}
-```
+
- [#CategoryVo](#categoryvo)
- [#TagVo](#tagvo)
+- [#Contributor](#contributor)
### ListResult
```json title="ListResult"
{
- "page": 0,
- "size": 0,
- "total": 0,
- "items": "List<#ListedPostVo>",
- "first": true,
- "last": true,
- "hasNext": true,
- "hasPrevious": true,
- "totalPages": 0
+ "page": 0, // 当前页码
+ "size": 0, // 每页条数
+ "total": 0, // 总条数
+ "items": "List<#ListedPostVo>", // 文章列表数据
+ "first": true, // 是否为第一页
+ "last": true, // 是否为最后一页
+ "hasNext": true, // 是否有下一页
+ "hasPrevious": true, // 是否有上一页
+ "totalPages": 0 // 总页数
}
```
@@ -622,15 +415,15 @@ postFinder.archives(page,size,year,month)
```json title="ListResult"
{
- "page": 0,
- "size": 0,
- "total": 0,
- "items": "List<#PostArchiveVo>",
- "first": true,
- "last": true,
- "hasNext": true,
- "hasPrevious": true,
- "totalPages": 0
+ "page": 0, // 当前页码
+ "size": 0, // 每页条数
+ "total": 0, // 总条数
+ "items": "List<#PostArchiveVo>", // 文章归档数据
+ "first": true, // 是否为第一页
+ "last": true, // 是否为最后一页
+ "hasNext": true, // 是否有下一页
+ "hasPrevious": true, // 是否有上一页
+ "totalPages": 0 // 总页数
}
```
diff --git a/docs/developer-guide/theme/finder-apis/single-page.md b/docs/developer-guide/theme/finder-apis/single-page.md
index 0194f97..6f74ba7 100644
--- a/docs/developer-guide/theme/finder-apis/single-page.md
+++ b/docs/developer-guide/theme/finder-apis/single-page.md
@@ -3,6 +3,11 @@ title: 独立页面
description: 独立页面 - SinglePageFinder
---
+import SinglePageVo from "../vo/SinglePageVo.md"
+import ListedSinglePageVo from "../vo/ListedSinglePageVo.md"
+import Contributor from "../vo/Contributor.md"
+import ContentVo from "../vo/ContentVo.md"
+
## getByName(pageName)
```js
@@ -88,163 +93,30 @@ singlePageFinder.list(page,size)
### SinglePageVo
-```json title="SinglePageVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T14:29:44.601Z",
- },
- "spec": {
- "title": "string",
- "slug": "string",
- "releaseSnapshot": "string",
- "headSnapshot": "string",
- "baseSnapshot": "string",
- "owner": "string",
- "template": "string",
- "cover": "string",
- "deleted": false,
- "publish": false,
- "publishTime": "2022-11-20T14:29:44.601Z",
- "pinned": false,
- "allowComment": true,
- "visible": "PUBLIC",
- "priority": 0,
- "excerpt": {
- "autoGenerate": true,
- "raw": "string"
- },
- "htmlMetas": [
- {
- "additionalProp1": "string"
- }
- ]
- },
- "status": {
- "permalink": "string",
- "excerpt": "string",
- "inProgress": true,
- "commentsCount": 0,
- "contributors": [
- "string"
- ]
- },
- "stats": {
- "visit": 0,
- "upvote": 0,
- "comment": 0
- },
- "contributors": [
- {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- }
- ],
- "owner": {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- },
- "content": {
- "raw": "string",
- "content": "string"
- }
-}
-```
+
+
+- [#Contributor](#contributor)
+- [#ContentVo](#contentvo)
### ListedSinglePageVo
-```json title="ListedSinglePageVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T14:31:00.876Z"
- },
- "spec": {
- "title": "string",
- "slug": "string",
- "releaseSnapshot": "string",
- "headSnapshot": "string",
- "baseSnapshot": "string",
- "owner": "string",
- "template": "string",
- "cover": "string",
- "deleted": false,
- "publish": false,
- "publishTime": "2022-11-20T14:31:00.876Z",
- "pinned": false,
- "allowComment": true,
- "visible": "PUBLIC",
- "priority": 0,
- "excerpt": {
- "autoGenerate": true,
- "raw": "string"
- },
- "htmlMetas": [
- {
- "additionalProp1": "string"
- }
- ]
- },
- "status": {
- "permalink": "string",
- "excerpt": "string",
- "inProgress": true,
- "commentsCount": 0,
- "contributors": [
- "string"
- ]
- },
- "stats": {
- "visit": 0,
- "upvote": 0,
- "comment": 0
- },
- "contributors": [
- {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- }
- ],
- "owner": {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- }
-}
-```
+- [#Contributor](#contributor)
+
+
### ListResult
```json title="ListResult"
{
- "page": 0,
- "size": 0,
- "total": 0,
- "items": "List<#ListedSinglePageVo>",
- "first": true,
- "last": true,
- "hasNext": true,
- "hasPrevious": true,
- "totalPages": 0
+ "page": 0, // 当前页码
+ "size": 0, // 每页条数
+ "total": 0, // 总条数
+ "items": "List<#ListedSinglePageVo>", // 自定义页面列表数据
+ "first": true, // 是否为第一页
+ "last": true, // 是否为最后一页
+ "hasNext": true, // 是否有下一页
+ "hasPrevious": true, // 是否有上一页
+ "totalPages": 0 // 总页数
}
```
@@ -252,9 +124,8 @@ singlePageFinder.list(page,size)
### ContentVo
-```json title="ContentVo"
-{
- "raw": "string",
- "content": "string"
-}
-```
+
+
+### Contributor
+
+
diff --git a/docs/developer-guide/theme/finder-apis/site-stats.md b/docs/developer-guide/theme/finder-apis/site-stats.md
index edb52e5..8ce58a1 100644
--- a/docs/developer-guide/theme/finder-apis/site-stats.md
+++ b/docs/developer-guide/theme/finder-apis/site-stats.md
@@ -36,10 +36,10 @@ siteStatsFinder.getStats()
```json title="SiteStatsVo"
{
- "visit": 0,
- "upvote": 0,
- "comment": 0,
- "post": 0,
- "category": 0
+ "visit": 0, // 访问数量
+ "upvote": 0, // 点赞数量
+ "comment": 0, // 评论数量
+ "post": 0, // 文章数量
+ "category": 0 // 分类数量
}
```
diff --git a/docs/developer-guide/theme/finder-apis/tag.md b/docs/developer-guide/theme/finder-apis/tag.md
index bfa0559..315168e 100644
--- a/docs/developer-guide/theme/finder-apis/tag.md
+++ b/docs/developer-guide/theme/finder-apis/tag.md
@@ -3,6 +3,8 @@ title: 文章标签
description: 文章标签 - TagFinder
---
+import TagVo from "../vo/TagVo.md"
+
## getByName(name)
```js
@@ -116,46 +118,21 @@ List<[#TagVo](#tagvo)>
### TagVo
-```json title="TagVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.512Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "color": "#F9fEB1",
- "cover": "string"
- },
- "status": {
- "permalink": "string",
- "visiblePostCount": 0,
- "postCount": 0
- },
- "postCount": 0
-}
-```
+
### ListResult
```json title="ListResult"
{
- "page": 0,
- "size": 0,
- "total": 0,
- "items": "List<#TagVo>",
- "first": true,
- "last": true,
- "hasNext": true,
- "hasPrevious": true,
- "totalPages": 0
+ "page": 0, // 当前页码
+ "size": 0, // 每页条数
+ "total": 0, // 总条数
+ "items": "List<#TagVo>", // 标签列表数据
+ "first": true, // 是否为第一页
+ "last": true, // 是否为最后一页
+ "hasNext": true, // 是否有下一页
+ "hasPrevious": true, // 是否有上一页
+ "totalPages": 0 // 总页数
}
```
diff --git a/docs/developer-guide/theme/finder-apis/theme.md b/docs/developer-guide/theme/finder-apis/theme.md
index 9fbb1a2..172ba3f 100644
--- a/docs/developer-guide/theme/finder-apis/theme.md
+++ b/docs/developer-guide/theme/finder-apis/theme.md
@@ -64,29 +64,29 @@ themeFinder.getByName(themeName)
```json title="ThemeVo"
{
"metadata": {
- "name": "string",
+ "name": "string", // 唯一标识
"labels": {
"additionalProp1": "string"
},
"annotations": {
"additionalProp1": "string"
},
- "creationTimestamp": "2022-11-20T15:27:15.036Z",
+ "creationTimestamp": "2022-11-20T15:27:15.036Z", // 创建时间
},
"spec": {
- "displayName": "string",
+ "displayName": "string", // 显示名称
"author": {
- "name": "string",
- "website": "string"
+ "name": "string", // 作者名称
+ "website": "string" // 作者网站
},
- "description": "string",
- "logo": "string",
- "website": "string",
- "repo": "string",
- "version": "string",
- "require": "string",
- "settingName": "string",
- "configMapName": "string",
+ "description": "string", // 描述
+ "logo": "string", // Logo
+ "website": "string", // 网站
+ "repo": "string", // 仓库地址
+ "version": "string", // 版本
+ "require": "string", // 依赖 Halo 的版本
+ "settingName": "string", // 表单定义的名称,即 Setting 资源的 metadata.name
+ "configMapName": "string", // 设置项存储的名称,即 ConfigMap 资源的 metadata.name
"customTemplates": {
"post": [
{
diff --git a/docs/developer-guide/theme/template-variables/archives.md b/docs/developer-guide/theme/template-variables/archives.md
index b7b80d1..21f82ab 100644
--- a/docs/developer-guide/theme/template-variables/archives.md
+++ b/docs/developer-guide/theme/template-variables/archives.md
@@ -3,6 +3,11 @@ title: 文章归档
description: archives.html - /archives
---
+import CategoryVo from "../vo/CategoryVo.md";
+import TagVo from "../vo/TagVo.md";
+import Contributor from "../vo/Contributor.md";
+import ListedPostVo from "../vo/ListedPostVo.md";
+
## 路由信息
- 模板路径:`/templates/archives.html`
@@ -27,24 +32,18 @@ description: archives.html - /archives
@@ -54,158 +53,33 @@ description: archives.html - /archives
### CategoryVo
-```json title="CategoryVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.512Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "description": "string",
- "cover": "string",
- "template": "string",
- "priority": 0,
- "children": [
- "string"
- ]
- },
- "status": {
- "permalink": "string",
- "postCount": 0,
- "visiblePostCount": 0
- },
- "postCount": 0
-}
-```
+
### TagVo
-```json title="TagVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.512Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "color": "#F9fEB1",
- "cover": "string"
- },
- "status": {
- "permalink": "string",
- "visiblePostCount": 0,
- "postCount": 0
- },
- "postCount": 0
-}
-```
+
+
+### Contributor
+
+
### ListedPostVo
-```json title="ListedPostVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.505Z",
- },
- "spec": {
- "title": "string",
- "slug": "string",
- "releaseSnapshot": "string",
- "headSnapshot": "string",
- "baseSnapshot": "string",
- "owner": "string",
- "template": "string",
- "cover": "string",
- "deleted": false,
- "publish": false,
- "publishTime": "2022-11-20T13:06:38.505Z",
- "pinned": false,
- "allowComment": true,
- "visible": "PUBLIC",
- "priority": 0,
- "excerpt": {
- "autoGenerate": true,
- "raw": "string"
- },
- "categories": [
- "string"
- ],
- "tags": [
- "string"
- ],
- "htmlMetas": [
- {
- "additionalProp1": "string"
- }
- ]
- },
- "status": {
- "permalink": "string",
- "excerpt": "string",
- "inProgress": true,
- "commentsCount": 0,
- "contributors": [
- "string"
- ]
- },
- "categories": "List<#CategoryVo>",
- "tags": "List<#TagVo>",
- "contributors": [
- {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- }
- ],
- "owner": {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- },
- "stats": {
- "visit": 0,
- "upvote": 0,
- "comment": 0
- }
-}
-```
+
- [#CategoryVo](#categoryvo)
- [#TagVo](#tagvo)
+- [#Contributor](#contributor)
### PostArchiveVo
```json title="PostArchiveVo"
{
- "year": "string",
- "months": [
+ "year": "string", // 年份
+ "months": [ // 按月的文章集合
{
- "month": "string",
- "posts": "#ListedPostVo"
+ "month": "string", // 月份
+ "posts": "List<#ListedPostVo>" // 文章列表数据
}
]
}
@@ -217,17 +91,17 @@ description: archives.html - /archives
```json title="UrlContextListResult"
{
- "page": 0,
- "size": 0,
- "total": 0,
- "items": "List<#PostArchiveVo>",
- "first": true,
- "last": true,
- "hasNext": true,
- "hasPrevious": true,
- "totalPages": 0,
- "nextUrl": "string",
- "prevUrl": "string"
+ "page": 0, // 当前页码
+ "size": 0, // 每页条数
+ "total": 0, // 总条数
+ "items": "List<#PostArchiveVo>", // 文章归档数据
+ "first": true, // 是否为第一页
+ "last": true, // 是否为最后一页
+ "hasNext": true, // 是否有下一页
+ "hasPrevious": true, // 是否有上一页
+ "totalPages": 0, // 总页数
+ "nextUrl": "string", // 下一页链接
+ "prevUrl": "string" // 上一页链接
}
```
diff --git a/docs/developer-guide/theme/template-variables/categories.md b/docs/developer-guide/theme/template-variables/categories.md
index 18e6bf0..29ed742 100644
--- a/docs/developer-guide/theme/template-variables/categories.md
+++ b/docs/developer-guide/theme/template-variables/categories.md
@@ -3,6 +3,8 @@ title: 文章分类集合
description: categories.html - /categories
---
+import CategoryTreeVo from "../vo/CategoryTreeVo.md"
+
## 路由信息
- 模板路径:`/templates/categories.html`
@@ -47,38 +49,6 @@ List<[#CategoryTreeVo](#categorytreevo)>
### CategoryTreeVo
-```json title="CategoryTreeVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T14:18:49.230Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "description": "string",
- "cover": "string",
- "template": "string",
- "priority": 0,
- "children": [
- "string"
- ]
- },
- "status": {
- "permalink": "string",
- "postCount": 0,
- "visiblePostCount": 0
- },
- "children": "List<#CategoryTreeVo>",
- "parentName": "string",
- "postCount": 0
-}
-```
+
- [#CategoryTreeVo](#categorytreevo)
diff --git a/docs/developer-guide/theme/template-variables/category.md b/docs/developer-guide/theme/template-variables/category.md
index e5d571a..a77be7d 100644
--- a/docs/developer-guide/theme/template-variables/category.md
+++ b/docs/developer-guide/theme/template-variables/category.md
@@ -3,6 +3,11 @@ title: 分类归档
description: category.html - /categories/:slug
---
+import CategoryVo from "../vo/CategoryVo.md"
+import TagVo from "../vo/TagVo.md"
+import Contributor from "../vo/Contributor.md";
+import ListedPostVo from "../vo/ListedPostVo.md"
+
## 路由信息
- 模板路径:`/templates/category.html`
@@ -61,164 +66,39 @@ description: category.html - /categories/:slug
### CategoryVo
-```json title="CategoryVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.512Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "description": "string",
- "cover": "string",
- "template": "string",
- "priority": 0,
- "children": [
- "string"
- ]
- },
- "status": {
- "permalink": "string",
- "postCount": 0,
- "visiblePostCount": 0
- },
- "postCount": 0
-}
-```
+
### TagVo
-```json title="TagVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.512Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "color": "#F9fEB1",
- "cover": "string"
- },
- "status": {
- "permalink": "string",
- "visiblePostCount": 0,
- "postCount": 0
- },
- "postCount": 0
-}
-```
+
+
+### Contributor
+
+
### ListedPostVo
-```json title="ListedPostVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.505Z",
- },
- "spec": {
- "title": "string",
- "slug": "string",
- "releaseSnapshot": "string",
- "headSnapshot": "string",
- "baseSnapshot": "string",
- "owner": "string",
- "template": "string",
- "cover": "string",
- "deleted": false,
- "publish": false,
- "publishTime": "2022-11-20T13:06:38.505Z",
- "pinned": false,
- "allowComment": true,
- "visible": "PUBLIC",
- "priority": 0,
- "excerpt": {
- "autoGenerate": true,
- "raw": "string"
- },
- "categories": [
- "string"
- ],
- "tags": [
- "string"
- ],
- "htmlMetas": [
- {
- "additionalProp1": "string"
- }
- ]
- },
- "status": {
- "permalink": "string",
- "excerpt": "string",
- "inProgress": true,
- "commentsCount": 0,
- "contributors": [
- "string"
- ]
- },
- "categories": "List<#CategoryVo>",
- "tags": "List<#TagVo>",
- "contributors": [
- {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- }
- ],
- "owner": {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- },
- "stats": {
- "visit": 0,
- "upvote": 0,
- "comment": 0
- }
-}
-```
+
- [#CategoryVo](#categoryvo)
- [#TagVo](#tagvo)
+- [#Contributor](#contributor)
### UrlContextListResult
```json title="UrlContextListResult"
{
- "page": 0,
- "size": 0,
- "total": 0,
- "items": "List<#ListedPostVo>",
- "first": true,
- "last": true,
- "hasNext": true,
- "hasPrevious": true,
- "totalPages": 0,
- "nextUrl": "string",
- "prevUrl": "string"
+ "page": 0, // 当前页码
+ "size": 0, // 每页条数
+ "total": 0, // 总条数
+ "items": "List<#ListedPostVo>", // 文章列表数据
+ "first": true, // 是否为第一页
+ "last": true, // 是否为最后一页
+ "hasNext": true, // 是否有下一页
+ "hasPrevious": true, // 是否有上一页
+ "totalPages": 0, // 总页数
+ "nextUrl": "string", // 下一页链接
+ "prevUrl": "string" // 上一页链接
}
```
diff --git a/docs/developer-guide/theme/template-variables/index_.md b/docs/developer-guide/theme/template-variables/index_.md
index 9d3f451..97ec004 100644
--- a/docs/developer-guide/theme/template-variables/index_.md
+++ b/docs/developer-guide/theme/template-variables/index_.md
@@ -3,6 +3,11 @@ title: 首页
description: index.html - /
---
+import CategoryVo from "../vo/CategoryVo.md"
+import TagVo from "../vo/TagVo.md"
+import Contributor from "../vo/Contributor.md";
+import ListedPostVo from "../vo/ListedPostVo.md"
+
## 路由信息
- 模板路径:`/templates/index.html`
@@ -54,164 +59,39 @@ description: index.html - /
### CategoryVo
-```json title="CategoryVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.512Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "description": "string",
- "cover": "string",
- "template": "string",
- "priority": 0,
- "children": [
- "string"
- ]
- },
- "status": {
- "permalink": "string",
- "postCount": 0,
- "visiblePostCount": 0
- },
- "postCount": 0
-}
-```
+
### TagVo
-```json title="TagVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.512Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "color": "#F9fEB1",
- "cover": "string"
- },
- "status": {
- "permalink": "string",
- "visiblePostCount": 0,
- "postCount": 0
- },
- "postCount": 0
-}
-```
+
+
+### Contributor
+
+
### ListedPostVo
-```json title="ListedPostVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.505Z",
- },
- "spec": {
- "title": "string",
- "slug": "string",
- "releaseSnapshot": "string",
- "headSnapshot": "string",
- "baseSnapshot": "string",
- "owner": "string",
- "template": "string",
- "cover": "string",
- "deleted": false,
- "publish": false,
- "publishTime": "2022-11-20T13:06:38.505Z",
- "pinned": false,
- "allowComment": true,
- "visible": "PUBLIC",
- "priority": 0,
- "excerpt": {
- "autoGenerate": true,
- "raw": "string"
- },
- "categories": [
- "string"
- ],
- "tags": [
- "string"
- ],
- "htmlMetas": [
- {
- "additionalProp1": "string"
- }
- ]
- },
- "status": {
- "permalink": "string",
- "excerpt": "string",
- "inProgress": true,
- "commentsCount": 0,
- "contributors": [
- "string"
- ]
- },
- "categories": "List<#CategoryVo>",
- "tags": "List<#TagVo>",
- "contributors": [
- {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- }
- ],
- "owner": {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- },
- "stats": {
- "visit": 0,
- "upvote": 0,
- "comment": 0
- }
-}
-```
+
- [#CategoryVo](#categoryvo)
- [#TagVo](#tagvo)
+- [#Contributor](#contributor)
### UrlContextListResult
```json title="UrlContextListResult"
{
- "page": 0,
- "size": 0,
- "total": 0,
- "items": "List<#ListedPostVo>",
- "first": true,
- "last": true,
- "hasNext": true,
- "hasPrevious": true,
- "totalPages": 0,
- "nextUrl": "string",
- "prevUrl": "string"
+ "page": 0, // 当前页码
+ "size": 0, // 每页条数
+ "total": 0, // 总条数
+ "items": "List<#ListedPostVo>", // 文章列表数据
+ "first": true, // 是否为第一页
+ "last": true, // 是否为最后一页
+ "hasNext": true, // 是否有下一页
+ "hasPrevious": true, // 是否有上一页
+ "totalPages": 0, // 总页数
+ "nextUrl": "string", // 下一页链接
+ "prevUrl": "string" // 上一页链接
}
```
diff --git a/docs/developer-guide/theme/template-variables/page.md b/docs/developer-guide/theme/template-variables/page.md
index 4aa1bb6..376390a 100644
--- a/docs/developer-guide/theme/template-variables/page.md
+++ b/docs/developer-guide/theme/template-variables/page.md
@@ -3,6 +3,10 @@ title: 独立页面
description: page.html - /:slug
---
+import SinglePageVo from "../vo/SinglePageVo.md"
+import Contributor from "../vo/Contributor.md"
+import ContentVo from "../vo/ContentVo.md"
+
## 路由信息
- 模板路径:`/templates/page.html`
@@ -35,75 +39,15 @@ description: page.html - /:slug
### SinglePageVo
-```json title="SinglePageVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T14:29:44.601Z",
- },
- "spec": {
- "title": "string",
- "slug": "string",
- "releaseSnapshot": "string",
- "headSnapshot": "string",
- "baseSnapshot": "string",
- "owner": "string",
- "template": "string",
- "cover": "string",
- "deleted": false,
- "publish": false,
- "publishTime": "2022-11-20T14:29:44.601Z",
- "pinned": false,
- "allowComment": true,
- "visible": "PUBLIC",
- "priority": 0,
- "excerpt": {
- "autoGenerate": true,
- "raw": "string"
- },
- "htmlMetas": [
- {
- "additionalProp1": "string"
- }
- ]
- },
- "status": {
- "permalink": "string",
- "excerpt": "string",
- "inProgress": true,
- "commentsCount": 0,
- "contributors": [
- "string"
- ]
- },
- "stats": {
- "visit": 0,
- "upvote": 0,
- "comment": 0
- },
- "contributors": [
- {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- }
- ],
- "owner": {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- },
- "content": {
- "raw": "string",
- "content": "string"
- }
-}
-```
+
+
+- [#ContentVo](#contentvo)
+- [#Contributor](#contributor)
+
+### ContentVo
+
+
+
+### Contributor
+
+
diff --git a/docs/developer-guide/theme/template-variables/post.md b/docs/developer-guide/theme/template-variables/post.md
index c554038..53dcccc 100644
--- a/docs/developer-guide/theme/template-variables/post.md
+++ b/docs/developer-guide/theme/template-variables/post.md
@@ -3,6 +3,12 @@ title: 文章
description: post.html - /archives/:slug
---
+import CategoryVo from "../vo/CategoryVo.md"
+import TagVo from "../vo/TagVo.md"
+import ContentVo from "../vo/ContentVo.md"
+import Contributor from "../vo/Contributor.md"
+import PostVo from "../vo/PostVo.md"
+
## 路由信息
- 模板路径:`/templates/post.html`
@@ -35,148 +41,25 @@ description: post.html - /archives/:slug
### CategoryVo
-```json title="CategoryVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.512Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "description": "string",
- "cover": "string",
- "template": "string",
- "priority": 0,
- "children": [
- "string"
- ]
- },
- "status": {
- "permalink": "string",
- "postCount": 0,
- "visiblePostCount": 0
- },
- "postCount": 0
-}
-```
+
### TagVo
-```json title="TagVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.512Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "color": "#F9fEB1",
- "cover": "string"
- },
- "status": {
- "permalink": "string",
- "visiblePostCount": 0,
- "postCount": 0
- },
- "postCount": 0
-}
-```
+
+
+### Contributor
+
+
+
+### ContentVo
+
+
### PostVo
-```json title="PostVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T12:45:43.888Z",
- },
- "spec": {
- "title": "string",
- "slug": "string",
- "releaseSnapshot": "string",
- "headSnapshot": "string",
- "baseSnapshot": "string",
- "owner": "string",
- "template": "string",
- "cover": "string",
- "deleted": false,
- "publish": false,
- "publishTime": "2022-11-20T12:45:43.888Z",
- "pinned": false,
- "allowComment": true,
- "visible": "PUBLIC",
- "priority": 0,
- "excerpt": {
- "autoGenerate": true,
- "raw": "string"
- },
- "categories": [
- "string"
- ],
- "tags": [
- "string"
- ],
- "htmlMetas": [
- {
- "additionalProp1": "string"
- }
- ]
- },
- "status": {
- "permalink": "string",
- "excerpt": "string",
- "commentsCount": 0,
- "contributors": [
- "string"
- ]
- },
- "categories": "List<#CategoryVo>",
- "tags": "List<#TagVo>",
- "contributors": [
- {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- }
- ],
- "owner": {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- },
- "stats": {
- "visit": 0,
- "upvote": 0,
- "comment": 0
- },
- "content": {
- "raw": "string",
- "content": "string"
- }
-}
-```
+
- [#CategoryVo](#categoryvo)
- [#TagVo](#tagvo)
+- [#Contributor](#contributor)
+- [#ContentVo](#contentvo)
diff --git a/docs/developer-guide/theme/template-variables/tag.md b/docs/developer-guide/theme/template-variables/tag.md
index 8a968e0..ee5d0a8 100644
--- a/docs/developer-guide/theme/template-variables/tag.md
+++ b/docs/developer-guide/theme/template-variables/tag.md
@@ -3,6 +3,11 @@ title: 标签归档
description: tag.html - /tags/:slug
---
+import CategoryVo from "../vo/CategoryVo.md"
+import TagVo from "../vo/TagVo.md"
+import Contributor from "../vo/Contributor.md";
+import ListedPostVo from "../vo/ListedPostVo.md"
+
## 路由信息
- 模板路径:`/templates/tag.html`
@@ -61,164 +66,39 @@ description: tag.html - /tags/:slug
### CategoryVo
-```json title="CategoryVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.512Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "description": "string",
- "cover": "string",
- "template": "string",
- "priority": 0,
- "children": [
- "string"
- ]
- },
- "status": {
- "permalink": "string",
- "postCount": 0,
- "visiblePostCount": 0
- },
- "postCount": 0
-}
-```
+
### TagVo
-```json title="TagVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.512Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "color": "#F9fEB1",
- "cover": "string"
- },
- "status": {
- "permalink": "string",
- "visiblePostCount": 0,
- "postCount": 0
- },
- "postCount": 0
-}
-```
+
+
+### Contributor
+
+
### ListedPostVo
-```json title="ListedPostVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.505Z",
- },
- "spec": {
- "title": "string",
- "slug": "string",
- "releaseSnapshot": "string",
- "headSnapshot": "string",
- "baseSnapshot": "string",
- "owner": "string",
- "template": "string",
- "cover": "string",
- "deleted": false,
- "publish": false,
- "publishTime": "2022-11-20T13:06:38.505Z",
- "pinned": false,
- "allowComment": true,
- "visible": "PUBLIC",
- "priority": 0,
- "excerpt": {
- "autoGenerate": true,
- "raw": "string"
- },
- "categories": [
- "string"
- ],
- "tags": [
- "string"
- ],
- "htmlMetas": [
- {
- "additionalProp1": "string"
- }
- ]
- },
- "status": {
- "permalink": "string",
- "excerpt": "string",
- "inProgress": true,
- "commentsCount": 0,
- "contributors": [
- "string"
- ]
- },
- "categories": "List<#CategoryVo>",
- "tags": "List<#TagVo>",
- "contributors": [
- {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- }
- ],
- "owner": {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- },
- "stats": {
- "visit": 0,
- "upvote": 0,
- "comment": 0
- }
-}
-```
+
- [#CategoryVo](#categoryvo)
- [#TagVo](#tagvo)
+- [#Contributor](#contributor)
### UrlContextListResult
```json title="UrlContextListResult"
{
- "page": 0,
- "size": 0,
- "total": 0,
- "items": "List<#ListedPostVo>",
- "first": true,
- "last": true,
- "hasNext": true,
- "hasPrevious": true,
- "totalPages": 0,
- "nextUrl": "string",
- "prevUrl": "string"
+ "page": 0, // 当前页码
+ "size": 0, // 每页条数
+ "total": 0, // 总条数
+ "items": "List<#ListedPostVo>", // 文章列表数据
+ "first": true, // 是否为第一页
+ "last": true, // 是否为最后一页
+ "hasNext": true, // 是否有下一页
+ "hasPrevious": true, // 是否有上一页
+ "totalPages": 0, // 总页数
+ "nextUrl": "string", // 下一页链接
+ "prevUrl": "string" // 上一页链接
}
```
diff --git a/docs/developer-guide/theme/template-variables/tags.md b/docs/developer-guide/theme/template-variables/tags.md
index a1b0920..f7ee0b5 100644
--- a/docs/developer-guide/theme/template-variables/tags.md
+++ b/docs/developer-guide/theme/template-variables/tags.md
@@ -2,6 +2,9 @@
title: 文章标签集合
description: tags.html - /tags
---
+
+import TagVo from '../vo/TagVo.md'
+
## 路由信息
- 模板路径:`/templates/tags.html`
@@ -33,29 +36,4 @@ List<[#TagVo](#tagvo)>
### TagVo
-```json title="TagVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.512Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "color": "#F9fEB1",
- "cover": "string"
- },
- "status": {
- "permalink": "string",
- "visiblePostCount": 0,
- "postCount": 0
- },
- "postCount": 0
-}
-```
+
diff --git a/docs/developer-guide/theme/vo/CategoryTreeVo.md b/docs/developer-guide/theme/vo/CategoryTreeVo.md
new file mode 100644
index 0000000..89439bd
--- /dev/null
+++ b/docs/developer-guide/theme/vo/CategoryTreeVo.md
@@ -0,0 +1,33 @@
+```json title="CategoryTreeVo"
+{
+ "metadata": {
+ "name": "string", // 唯一标识
+ "labels": {
+ "additionalProp1": "string"
+ },
+ "annotations": {
+ "additionalProp1": "string"
+ },
+ "creationTimestamp": "2022-11-20T14:18:49.230Z", // 创建时间
+ },
+ "spec": {
+ "displayName": "string", // 显示名称
+ "slug": "string", // 别名,通常用于生成 status.permalink
+ "description": "string", // 描述
+ "cover": "string", // 封面图
+ "template": "string", // 自定义渲染模板名称
+ "priority": 0, // 排序字段
+ "children": [ // 下级分类,分类的 metadata.name 集合
+ "string"
+ ]
+ },
+ "status": {
+ "permalink": "string", // 固定链接
+ "postCount": 0, // 文章数
+ "visiblePostCount": 0 // 已发布文章数
+ },
+ "children": "List<#CategoryTreeVo>", // 下级分类,CategoryTreeVo 的集合
+ "parentName": "string",
+ "postCount": 0
+}
+```
diff --git a/docs/developer-guide/theme/vo/CategoryVo.md b/docs/developer-guide/theme/vo/CategoryVo.md
new file mode 100644
index 0000000..325d6d6
--- /dev/null
+++ b/docs/developer-guide/theme/vo/CategoryVo.md
@@ -0,0 +1,31 @@
+```json title="CategoryVo"
+{
+ "metadata": {
+ "name": "string", // 唯一标识
+ "labels": {
+ "additionalProp1": "string"
+ },
+ "annotations": {
+ "additionalProp1": "string"
+ },
+ "creationTimestamp": "2022-11-20T13:06:38.512Z", // 创建时间
+ },
+ "spec": {
+ "displayName": "string", // 显示名称
+ "slug": "string", // 别名,通常用于生成 status.permalink
+ "description": "string", // 描述
+ "cover": "string", // 封面图
+ "template": "string", // 自定义渲染模板名称
+ "priority": 0, // 排序字段
+ "children": [ // 下级分类,分类的 metadata.name 集合
+ "string"
+ ]
+ },
+ "status": {
+ "permalink": "string", // 固定链接
+ "postCount": 0, // 文章数
+ "visiblePostCount": 0 // 已发布文章数
+ },
+ "postCount": 0
+}
+```
diff --git a/docs/developer-guide/theme/vo/CommentVo.md b/docs/developer-guide/theme/vo/CommentVo.md
new file mode 100644
index 0000000..5784206
--- /dev/null
+++ b/docs/developer-guide/theme/vo/CommentVo.md
@@ -0,0 +1,53 @@
+```json title="CommentVo"
+{
+ "metadata": {
+ "name": "string", // 唯一标识
+ "labels": {
+ "additionalProp1": "string"
+ },
+ "annotations": {
+ "additionalProp1": "string"
+ },
+ "creationTimestamp": "2022-11-20T12:16:19.788Z" // 创建时间
+ },
+ "spec": {
+ "raw": "string", // 原始文本,一般用于给编辑器使用
+ "content": "string", // 最终渲染的文本
+ "owner": { // 创建者关联
+ "kind": "string",
+ "name": "string",
+ "displayName": "string",
+ "annotations": {
+ "additionalProp1": "string"
+ }
+ },
+ "userAgent": "string", // 评论者 UserAgent 信息
+ "ipAddress": "string", // 评论者 IP 地址
+ "priority": 0, // 排序字段
+ "top": false, // 是否置顶
+ "allowNotification": true, // 是否允许通知
+ "approved": false,
+ "hidden": false,
+ "subjectRef": { // 引用关联,比如文章、自定义页面
+ "group": "string",
+ "version": "string",
+ "kind": "string",
+ "name": "string"
+ },
+ "lastReadTime": "2022-11-20T12:16:19.788Z"
+ },
+ "status": {
+ "lastReplyTime": "2022-11-20T12:16:19.788Z",
+ "replyCount": 0, // 回复数量
+ "unreadReplyCount": 0,
+ "hasNewReply": true // 是否有新回复
+ },
+ "owner": { // 创建者信息
+ "kind": "string",
+ "name": "string",
+ "displayName": "string",
+ "avatar": "string",
+ "email": "string"
+ }
+}
+```
diff --git a/docs/developer-guide/theme/vo/ContentVo.md b/docs/developer-guide/theme/vo/ContentVo.md
new file mode 100644
index 0000000..c5077ee
--- /dev/null
+++ b/docs/developer-guide/theme/vo/ContentVo.md
@@ -0,0 +1,6 @@
+```json title="ContentVo"
+{
+ "raw": "string", // 原始文本,一般用于给编辑器使用
+ "content": "string" // 最终渲染的文本
+}
+```
diff --git a/docs/developer-guide/theme/vo/Contributor.md b/docs/developer-guide/theme/vo/Contributor.md
new file mode 100644
index 0000000..9bb00d8
--- /dev/null
+++ b/docs/developer-guide/theme/vo/Contributor.md
@@ -0,0 +1,8 @@
+```json title="Contributor"
+{
+ "name": "string", // 用户名
+ "displayName": "string", // 显示名称
+ "avatar": "string", // 头像
+ "bio": "string" // 描述
+}
+```
diff --git a/docs/developer-guide/theme/vo/ListedPostVo.md b/docs/developer-guide/theme/vo/ListedPostVo.md
new file mode 100644
index 0000000..0cc8d92
--- /dev/null
+++ b/docs/developer-guide/theme/vo/ListedPostVo.md
@@ -0,0 +1,64 @@
+```json title="ListedPostVo"
+{
+ "metadata": {
+ "name": "string", // 唯一标识
+ "labels": {
+ "additionalProp1": "string"
+ },
+ "annotations": {
+ "additionalProp1": "string"
+ },
+ "creationTimestamp": "2022-11-20T13:06:38.505Z", // 创建时间
+ },
+ "spec": {
+ "title": "string", // 标题
+ "slug": "string", // 别名,通常用于生成 status.permalink
+ "releaseSnapshot": "string",
+ "headSnapshot": "string",
+ "baseSnapshot": "string",
+ "owner": "string", // 创建者名称,即 Contributor 的 metadata.name,非显示名称
+ "template": "string", // 自定义渲染模板
+ "cover": "string", // 封面图
+ "deleted": false,
+ "publish": false,
+ "publishTime": "2022-11-20T13:06:38.505Z", // 发布时间
+ "pinned": false, // 是否置顶
+ "allowComment": true, // 是否允许评论
+ "visible": "PUBLIC",
+ "priority": 0,
+ "excerpt": {
+ "autoGenerate": true, // 是否自动生成摘要
+ "raw": "string" // 摘要内容
+ },
+ "categories": [ // 分类的名称集合,即 Category 的 metadata.name 的集合
+ "string"
+ ],
+ "tags": [ // 标签的名称集合,即 Tag 的 metadata.name 的集合
+ "string"
+ ],
+ "htmlMetas": [
+ {
+ "additionalProp1": "string"
+ }
+ ]
+ },
+ "status": {
+ "permalink": "string", // 固定链接
+ "excerpt": "string", // 最终生成的摘要
+ "inProgress": true,
+ "commentsCount": 0, // 评论数
+ "contributors": [ // 贡献者名称,Contributor 的 metadata.name 的集合
+ "string"
+ ]
+ },
+ "categories": "List<#CategoryVo>", // 分类的集合
+ "tags": "List<#TagVo>", // 标签的集合
+ "contributors": "List<#Contributor>", // 贡献者的集合
+ "owner": "#Contributor", // 创建者
+ "stats": {
+ "visit": 0, // 访问数量
+ "upvote": 0, // 点赞数量
+ "comment": 0 // 评论数量
+ }
+}
+```
diff --git a/docs/developer-guide/theme/vo/ListedSinglePageVo.md b/docs/developer-guide/theme/vo/ListedSinglePageVo.md
new file mode 100644
index 0000000..6303368
--- /dev/null
+++ b/docs/developer-guide/theme/vo/ListedSinglePageVo.md
@@ -0,0 +1,56 @@
+```json title="ListedSinglePageVo"
+{
+ "metadata": {
+ "name": "string", // 唯一标识
+ "labels": {
+ "additionalProp1": "string"
+ },
+ "annotations": {
+ "additionalProp1": "string"
+ },
+ "creationTimestamp": "2022-11-20T14:31:00.876Z" // 创建时间
+ },
+ "spec": {
+ "title": "string", // 标题
+ "slug": "string", // 别名,通常用于生成 status.permalink
+ "releaseSnapshot": "string",
+ "headSnapshot": "string",
+ "baseSnapshot": "string",
+ "owner": "string", // 创建者名称,即 Contributor 的 metadata.name,非显示名称
+ "template": "string", // 自定义渲染模板
+ "cover": "string", // 封面图
+ "deleted": false,
+ "publish": false,
+ "publishTime": "2022-11-20T14:31:00.876Z", // 发布时间
+ "pinned": false, // 是否置顶
+ "allowComment": true, // 是否允许评论
+ "visible": "PUBLIC",
+ "priority": 0,
+ "excerpt": {
+ "autoGenerate": true, // 是否自动生成摘要
+ "raw": "string" // 摘要内容
+ },
+ "htmlMetas": [
+ {
+ "additionalProp1": "string"
+ }
+ ]
+ },
+ "status": {
+ "permalink": "string", // 固定链接
+ "excerpt": "string", // 最终生成的摘要
+ "inProgress": true,
+ "commentsCount": 0, // 评论数
+ "contributors": [ // 贡献者名称,Contributor 的 metadata.name 的集合
+ "string"
+ ]
+ },
+ "stats": {
+ "visit": 0, // 访问数量
+ "upvote": 0, // 点赞数量
+ "comment": 0 // 评论数量
+ },
+ "contributors": "List<#Contributor>", // 贡献者的集合
+ "owner": "#Contributor" // 创建者
+}
+```
diff --git a/docs/developer-guide/theme/vo/MenuItemVo.md b/docs/developer-guide/theme/vo/MenuItemVo.md
new file mode 100644
index 0000000..21bcfe9
--- /dev/null
+++ b/docs/developer-guide/theme/vo/MenuItemVo.md
@@ -0,0 +1,34 @@
+```json title="MenuItemVo"
+{
+ "metadata": {
+ "name": "string", // 唯一标识
+ "labels": {
+ "additionalProp1": "string"
+ },
+ "annotations": {
+ "additionalProp1": "string"
+ },
+ "creationTimestamp": "2022-11-20T14:44:58.984Z", // 创建时间
+ },
+ "spec": {
+ "displayName": "string", // 显示名称,但是不要直接使用这个字段进行显示,最终字段为 status.displayName
+ "href": "string", // 链接,同样不要直接使用这个字段,最终字段为 status.href
+ "priority": 0, // 排序字段
+ "children": [ // 下级菜单项,菜单项的 metadata.name 集合
+ "string"
+ ],
+ "targetRef": { // 与其他资源比如文章的关联,一般无需直接使用
+ "group": "string",
+ "version": "string",
+ "kind": "string",
+ "name": "string"
+ }
+ },
+ "status": {
+ "displayName": "string", // 显示名称
+ "href": "string" // 链接
+ },
+ "children": "List<#MenuItemVo>", // 下级菜单项,MenuItemVo 的集合
+ "parentName": "string",
+}
+```
diff --git a/docs/developer-guide/theme/vo/MenuVo.md b/docs/developer-guide/theme/vo/MenuVo.md
new file mode 100644
index 0000000..0d9d8ce
--- /dev/null
+++ b/docs/developer-guide/theme/vo/MenuVo.md
@@ -0,0 +1,21 @@
+```json title="MenuVo"
+{
+ "metadata": {
+ "name": "string", // 唯一标识
+ "labels": {
+ "additionalProp1": "string"
+ },
+ "annotations": {
+ "additionalProp1": "string"
+ },
+ "creationTimestamp": "2022-11-20T14:44:58.984Z", // 创建时间
+ },
+ "spec": {
+ "displayName": "string", // 显示名称
+ "menuItems": [ // 菜单的菜单项名称集合,即 MenuItem 的 metadata.name 的集合
+ "string"
+ ]
+ },
+ "menuItems": "List<#MenuItemVo>" // 菜单项的集合
+}
+```
diff --git a/docs/developer-guide/theme/vo/PostVo.md b/docs/developer-guide/theme/vo/PostVo.md
new file mode 100644
index 0000000..e1f563a
--- /dev/null
+++ b/docs/developer-guide/theme/vo/PostVo.md
@@ -0,0 +1,65 @@
+```json title="PostVo"
+{
+ "metadata": {
+ "name": "string", // 唯一标识
+ "labels": {
+ "additionalProp1": "string"
+ },
+ "annotations": {
+ "additionalProp1": "string"
+ },
+ "creationTimestamp": "2022-11-20T12:45:43.888Z", // 创建时间
+ },
+ "spec": {
+ "title": "string", // 标题
+ "slug": "string", // 别名,通常用于生成 status.permalink
+ "releaseSnapshot": "string",
+ "headSnapshot": "string",
+ "baseSnapshot": "string",
+ "owner": "string", // 创建者名称,即 Contributor 的 metadata.name,非显示名称
+ "template": "string", // 自定义渲染模板
+ "cover": "string", // 封面图
+ "deleted": false,
+ "publish": false,
+ "publishTime": "2022-11-20T13:06:38.505Z", // 发布时间
+ "pinned": false, // 是否置顶
+ "allowComment": true, // 是否允许评论
+ "visible": "PUBLIC",
+ "priority": 0,
+ "excerpt": {
+ "autoGenerate": true, // 是否自动生成摘要
+ "raw": "string" // 摘要内容
+ },
+ "categories": [ // 分类的名称集合,即 Category 的 metadata.name 的集合
+ "string"
+ ],
+ "tags": [ // 标签的名称集合,即 Tag 的 metadata.name 的集合
+ "string"
+ ],
+ "htmlMetas": [
+ {
+ "additionalProp1": "string"
+ }
+ ]
+ },
+ "status": {
+ "permalink": "string", // 固定链接
+ "excerpt": "string", // 最终生成的摘要
+ "inProgress": true,
+ "commentsCount": 0, // 评论数
+ "contributors": [ // 贡献者名称,Contributor 的 metadata.name 的集合
+ "string"
+ ]
+ },
+ "categories": "List<#CategoryVo>", // 分类的集合
+ "tags": "List<#TagVo>", // 标签的集合
+ "contributors": "List<#Contributor>", // 贡献者的集合
+ "owner": "#Contributor", // 创建者
+ "stats": {
+ "visit": 0, // 访问数量
+ "upvote": 0, // 点赞数量
+ "comment": 0 // 评论数量
+ },
+ "content": "#ContentVo" // 内容
+}
+```
diff --git a/docs/developer-guide/theme/vo/ReplyVo.md b/docs/developer-guide/theme/vo/ReplyVo.md
new file mode 100644
index 0000000..3e2640a
--- /dev/null
+++ b/docs/developer-guide/theme/vo/ReplyVo.md
@@ -0,0 +1,42 @@
+```json title="ReplyVo"
+{
+ "metadata": {
+ "name": "string", // 唯一标识
+ "labels": {
+ "additionalProp1": "string"
+ },
+ "annotations": {
+ "additionalProp1": "string"
+ },
+ "creationTimestamp": "2022-11-20T12:25:32.357Z" // 创建时间
+ },
+ "spec": {
+ "raw": "string", // 原始文本,一般用于给编辑器使用
+ "content": "string", // 最终渲染的文本
+ "owner": { // 创建者关联
+ "kind": "string",
+ "name": "string",
+ "displayName": "string",
+ "annotations": {
+ "additionalProp1": "string"
+ }
+ },
+ "userAgent": "string", // 评论者 UserAgent 信息
+ "ipAddress": "string", // 评论者 IP 地址
+ "priority": 0, // 排序字段
+ "top": false, // 是否置顶
+ "allowNotification": true, // 是否允许通知
+ "approved": false,
+ "hidden": false,
+ "commentName": "string", // 被回复的评论名称,即 Comment 的 metadata.name
+ "quoteReply": "string" // 被回复的回复名称,即 Reply 的 metadata.name
+ },
+ "owner": { // 创建者信息
+ "kind": "string",
+ "name": "string",
+ "displayName": "string",
+ "avatar": "string",
+ "email": "string"
+ }
+}
+```
diff --git a/docs/developer-guide/theme/vo/SinglePageVo.md b/docs/developer-guide/theme/vo/SinglePageVo.md
new file mode 100644
index 0000000..3f27a22
--- /dev/null
+++ b/docs/developer-guide/theme/vo/SinglePageVo.md
@@ -0,0 +1,57 @@
+```json title="SinglePageVo"
+{
+ "metadata": {
+ "name": "string", // 唯一标识
+ "labels": {
+ "additionalProp1": "string"
+ },
+ "annotations": {
+ "additionalProp1": "string"
+ },
+ "creationTimestamp": "2022-11-20T14:29:44.601Z", // 创建时间
+ },
+ "spec": {
+ "title": "string", // 标题
+ "slug": "string", // 别名,通常用于生成 status.permalink
+ "releaseSnapshot": "string",
+ "headSnapshot": "string",
+ "baseSnapshot": "string",
+ "owner": "string", // 创建者名称,即 Contributor 的 metadata.name,非显示名称
+ "template": "string", // 自定义渲染模板
+ "cover": "string", // 封面图
+ "deleted": false,
+ "publish": false,
+ "publishTime": "2022-11-20T13:06:38.505Z", // 发布时间
+ "pinned": false, // 是否置顶
+ "allowComment": true, // 是否允许评论
+ "visible": "PUBLIC",
+ "priority": 0,
+ "excerpt": {
+ "autoGenerate": true, // 是否自动生成摘要
+ "raw": "string" // 摘要内容
+ },
+ "htmlMetas": [
+ {
+ "additionalProp1": "string"
+ }
+ ]
+ },
+ "status": {
+ "permalink": "string", // 固定链接
+ "excerpt": "string", // 最终生成的摘要
+ "inProgress": true,
+ "commentsCount": 0, // 评论数
+ "contributors": [ // 贡献者名称,Contributor 的 metadata.name 的集合
+ "string"
+ ]
+ },
+ "stats": {
+ "visit": 0, // 访问数量
+ "upvote": 0, // 点赞数量
+ "comment": 0 // 评论数量
+ },
+ "contributors": "List<#Contributor>", // 贡献者的集合
+ "owner": "#Contributor", // 创建者
+ "content": "#ContentVo" // 内容
+}
+```
diff --git a/docs/developer-guide/theme/vo/TagVo.md b/docs/developer-guide/theme/vo/TagVo.md
new file mode 100644
index 0000000..5bb2ead
--- /dev/null
+++ b/docs/developer-guide/theme/vo/TagVo.md
@@ -0,0 +1,26 @@
+```json title="TagVo"
+{
+ "metadata": {
+ "name": "string", // 唯一标识
+ "labels": {
+ "additionalProp1": "string"
+ },
+ "annotations": {
+ "additionalProp1": "string"
+ },
+ "creationTimestamp": "2022-11-20T13:06:38.512Z", // 创建时间
+ },
+ "spec": {
+ "displayName": "string", // 显示名称
+ "slug": "string", // 别名,通常用于生成 status.permalink
+ "color": "#F9fEB1", // 背景颜色
+ "cover": "string" // 封面图
+ },
+ "status": {
+ "permalink": "string", // 固定链接
+ "visiblePostCount": 0, // 已发布文章数
+ "postCount": 0 // 文章数
+ },
+ "postCount": 0
+}
+```
diff --git a/versioned_docs/version-2.0/developer-guide/theme/finder-apis/category.md b/versioned_docs/version-2.0/developer-guide/theme/finder-apis/category.md
index 1af6cb7..22fa4df 100644
--- a/versioned_docs/version-2.0/developer-guide/theme/finder-apis/category.md
+++ b/versioned_docs/version-2.0/developer-guide/theme/finder-apis/category.md
@@ -3,6 +3,9 @@ title: 文章分类
description: 文章分类 - CategoryFinder
---
+import CategoryVo from "../vo/CategoryVo.md"
+import CategoryTreeVo from "../vo/CategoryTreeVo.md"
+
## getByName(name)
```js
@@ -157,51 +160,21 @@ List<[#CategoryTreeVo](#categorytreevo)>
### CategoryVo
-```json title="CategoryVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.512Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "description": "string",
- "cover": "string",
- "template": "string",
- "priority": 0,
- "children": [
- "string"
- ]
- },
- "status": {
- "permalink": "string",
- "postCount": 0,
- "visiblePostCount": 0
- },
- "postCount": 0
-}
-```
+
### ListResult
```json title="ListResult"
{
- "page": 0,
- "size": 0,
- "total": 0,
- "items": "List<#CategoryVo>",
- "first": true,
- "last": true,
- "hasNext": true,
- "hasPrevious": true,
- "totalPages": 0
+ "page": 0, // 当前页码
+ "size": 0, // 每页条数
+ "total": 0, // 总条数
+ "items": "List<#CategoryVo>", // 分类列表数据
+ "first": true, // 是否为第一页
+ "last": true, // 是否为最后一页
+ "hasNext": true, // 是否有下一页
+ "hasPrevious": true, // 是否有上一页
+ "totalPages": 0 // 总页数
}
```
@@ -209,38 +182,6 @@ List<[#CategoryTreeVo](#categorytreevo)>
### CategoryTreeVo
-```json title="CategoryTreeVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T14:18:49.230Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "description": "string",
- "cover": "string",
- "template": "string",
- "priority": 0,
- "children": [
- "string"
- ]
- },
- "status": {
- "permalink": "string",
- "postCount": 0,
- "visiblePostCount": 0
- },
- "children": "List<#CategoryTreeVo>",
- "parentName": "string",
- "postCount": 0
-}
-```
+
- [#CategoryTreeVo](#categorytreevo)
diff --git a/versioned_docs/version-2.0/developer-guide/theme/finder-apis/comment.md b/versioned_docs/version-2.0/developer-guide/theme/finder-apis/comment.md
index cf15914..f217967 100644
--- a/versioned_docs/version-2.0/developer-guide/theme/finder-apis/comment.md
+++ b/versioned_docs/version-2.0/developer-guide/theme/finder-apis/comment.md
@@ -3,6 +3,9 @@ title: 评论
description: 评论 - CommentFinder
---
+import CommentVo from "../vo/CommentVo.md"
+import ReplyVo from "../vo/ReplyVo.md"
+
## getByName(name)
```js
@@ -98,73 +101,21 @@ commentFinder.listReply(commentName,page,size)
### CommentVo
-```json title="CommentVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T12:16:19.788Z"
- },
- "spec": {
- "raw": "string",
- "content": "string",
- "owner": {
- "kind": "string",
- "name": "string",
- "displayName": "string",
- "annotations": {
- "additionalProp1": "string"
- }
- },
- "userAgent": "string",
- "ipAddress": "string",
- "priority": 0,
- "top": false,
- "allowNotification": true,
- "approved": false,
- "hidden": false,
- "subjectRef": {
- "group": "string",
- "version": "string",
- "kind": "string",
- "name": "string"
- },
- "lastReadTime": "2022-11-20T12:16:19.788Z"
- },
- "status": {
- "lastReplyTime": "2022-11-20T12:16:19.788Z",
- "replyCount": 0,
- "unreadReplyCount": 0,
- "hasNewReply": true
- },
- "owner": {
- "kind": "string",
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "email": "string"
- }
-}
-```
+
### ListResult
```json title="ListResult"
{
- "page": 0,
- "size": 0,
- "total": 0,
- "items": "List<#CommentVo>",
- "first": true,
- "last": true,
- "hasNext": true,
- "hasPrevious": true,
- "totalPages": 0
+ "page": 0, // 当前页码
+ "size": 0, // 每页条数
+ "total": 0, // 总条数
+ "items": "List<#CommentVo>", // 评论列表数据
+ "first": true, // 是否为第一页
+ "last": true, // 是否为最后一页
+ "hasNext": true, // 是否有下一页
+ "hasPrevious": true, // 是否有上一页
+ "totalPages": 0 // 总页数
}
```
@@ -172,62 +123,21 @@ commentFinder.listReply(commentName,page,size)
### ReplyVo
-```json title="ReplyVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T12:25:32.357Z"
- },
- "spec": {
- "raw": "string",
- "content": "string",
- "owner": {
- "kind": "string",
- "name": "string",
- "displayName": "string",
- "annotations": {
- "additionalProp1": "string"
- }
- },
- "userAgent": "string",
- "ipAddress": "string",
- "priority": 0,
- "top": false,
- "allowNotification": true,
- "approved": false,
- "hidden": false,
- "commentName": "string",
- "quoteReply": "string"
- },
- "owner": {
- "kind": "string",
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "email": "string"
- }
-}
-```
+
### ListResult
```json title="ListResult"
{
- "page": 0,
- "size": 0,
- "total": 0,
- "items": "List<#ReplyVo>",
- "first": true,
- "last": true,
- "hasNext": true,
- "hasPrevious": true,
- "totalPages": 0
+ "page": 0, // 当前页码
+ "size": 0, // 每页条数
+ "total": 0, // 总条数
+ "items": "List<#ReplyVo>", // 回复列表数据
+ "first": true, // 是否为第一页
+ "last": true, // 是否为最后一页
+ "hasNext": true, // 是否有下一页
+ "hasPrevious": true, // 是否有上一页
+ "totalPages": 0 // 总页数
}
```
diff --git a/versioned_docs/version-2.0/developer-guide/theme/finder-apis/contributor.md b/versioned_docs/version-2.0/developer-guide/theme/finder-apis/contributor.md
index 517ece6..c272c13 100644
--- a/versioned_docs/version-2.0/developer-guide/theme/finder-apis/contributor.md
+++ b/versioned_docs/version-2.0/developer-guide/theme/finder-apis/contributor.md
@@ -3,6 +3,8 @@ title: 作者
description: 作者 - ContributorFinder
---
+import Contributor from "../vo/Contributor.md"
+
## getContributor(name)
```js
@@ -59,11 +61,4 @@ List<[#Contributor](#contributor)>
### Contributor
-```json title="Contributor"
-{
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
-}
-```
+
diff --git a/versioned_docs/version-2.0/developer-guide/theme/finder-apis/menu.md b/versioned_docs/version-2.0/developer-guide/theme/finder-apis/menu.md
index a77072d..d8e8801 100644
--- a/versioned_docs/version-2.0/developer-guide/theme/finder-apis/menu.md
+++ b/versioned_docs/version-2.0/developer-guide/theme/finder-apis/menu.md
@@ -3,6 +3,9 @@ title: 导航菜单
description: 导航菜单 - MenuFinder
---
+import MenuItemVo from "../vo/MenuItemVo.md"
+import MenuVo from "../vo/MenuVo.md"
+
## getByName(name)
```js
@@ -67,79 +70,8 @@ menuFinder.getPrimary()
### MenuVo
-```json title="MenuVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T14:44:58.984Z",
- },
- "spec": {
- "displayName": "string",
- "menuItems": [
- "string"
- ]
- },
- "menuItems": "List<#MenuItemVo>"
-}
-```
+
### MenuItemVo
-```json title="MenuItemVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T14:44:58.984Z",
- },
- "spec": {
- "displayName": "string",
- "href": "string",
- "priority": 0,
- "children": [
- "string"
- ],
- "categoryRef": {
- "group": "string",
- "version": "string",
- "kind": "string",
- "name": "string"
- },
- "tagRef": {
- "group": "string",
- "version": "string",
- "kind": "string",
- "name": "string"
- },
- "postRef": {
- "group": "string",
- "version": "string",
- "kind": "string",
- "name": "string"
- },
- "singlePageRef": {
- "group": "string",
- "version": "string",
- "kind": "string",
- "name": "string"
- }
- },
- "status": {
- "displayName": "string",
- "href": "string"
- },
- "children": "List<#MenuItemVo>",
- "parentName": "string",
-}
-```
+
diff --git a/versioned_docs/version-2.0/developer-guide/theme/finder-apis/post.md b/versioned_docs/version-2.0/developer-guide/theme/finder-apis/post.md
index 70b91be..2319016 100644
--- a/versioned_docs/version-2.0/developer-guide/theme/finder-apis/post.md
+++ b/versioned_docs/version-2.0/developer-guide/theme/finder-apis/post.md
@@ -3,10 +3,17 @@ title: 文章
description: 文章 - PostFinder
---
+import CategoryVo from "../vo/CategoryVo.md";
+import TagVo from "../vo/TagVo.md";
+import PostVo from "../vo/PostVo.md";
+import ContentVo from "../vo/ContentVo.md"
+import Contributor from "../vo/Contributor.md"
+import ListedPostVo from "../vo/ListedPostVo.md"
+
## getByName(postName)
```js
-postFinder.getByName(postName)
+postFinder.getByName(postName);
```
### 描述
@@ -32,7 +39,7 @@ postFinder.getByName(postName)
## content(postName)
```js
-postFinder.content(postName)
+postFinder.content(postName);
```
### 描述
@@ -58,7 +65,7 @@ postFinder.content(postName)
## cursor(postName)
```js
-postFinder.cursor(postName)
+postFinder.cursor(postName);
```
### 描述
@@ -76,9 +83,7 @@ postFinder.cursor(postName)
### 示例
```html title="/templates/post.html"
-
+
## list(page,size)
```js
-postFinder.list(page,size)
+postFinder.list(page, size);
```
### 描述
@@ -154,7 +159,7 @@ postFinder.list(page,size)
## listByCategory(page,size,categoryName)
```js
-postFinder.listByCategory(page,size,categoryName)
+postFinder.listByCategory(page, size, categoryName);
```
### 描述
@@ -184,7 +189,7 @@ postFinder.listByCategory(page,size,categoryName)
## listByTag(page,size,tag)
```js
-postFinder.listByTag(page,size,tag)
+postFinder.listByTag(page, size, tag);
```
### 描述
@@ -214,7 +219,7 @@ postFinder.listByTag(page,size,tag)
## archives(page,size)
```js
-postFinder.archives(page,size)
+postFinder.archives(page, size);
```
### 描述
@@ -239,9 +244,7 @@ postFinder.archives(page,size)
-
-
+
@@ -253,7 +256,7 @@ postFinder.archives(page,size)
## archives(page,size,year)
```js
-postFinder.archives(page,size,year)
+postFinder.archives(page, size, year);
```
### 描述
@@ -264,7 +267,7 @@ postFinder.archives(page,size,year)
1. `page:int` - 分页页码,从 1 开始
2. `size:int` - 分页条数
-2. `year:string` - 年份
+3. `year:string` - 年份
### 返回值
@@ -279,9 +282,7 @@ postFinder.archives(page,size,year)
-
-
+
@@ -293,7 +294,7 @@ postFinder.archives(page,size,year)
## archives(page,size,year,month)
```js
-postFinder.archives(page,size,year,month)
+postFinder.archives(page, size, year, month);
```
### 描述
@@ -304,8 +305,8 @@ postFinder.archives(page,size,year,month)
1. `page:int` - 分页页码,从 1 开始
2. `size:int` - 分页条数
-2. `year:string` - 年份
-2. `month:string` - 月份
+3. `year:string` - 年份
+4. `month:string` - 月份
### 返回值
@@ -320,9 +321,7 @@ postFinder.archives(page,size,year,month)
-
-
+
@@ -335,168 +334,36 @@ postFinder.archives(page,size,year,month)
### CategoryVo
-```json title="CategoryVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.512Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "description": "string",
- "cover": "string",
- "template": "string",
- "priority": 0,
- "children": [
- "string"
- ]
- },
- "status": {
- "permalink": "string",
- "postCount": 0,
- "visiblePostCount": 0
- },
- "postCount": 0
-}
-```
+
### TagVo
-```json title="TagVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.512Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "color": "#F9fEB1",
- "cover": "string"
- },
- "status": {
- "permalink": "string",
- "visiblePostCount": 0,
- "postCount": 0
- },
- "postCount": 0
-}
-```
+
+
+### Contributor
+
+
### PostVo
-```json title="PostVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T12:45:43.888Z",
- },
- "spec": {
- "title": "string",
- "slug": "string",
- "releaseSnapshot": "string",
- "headSnapshot": "string",
- "baseSnapshot": "string",
- "owner": "string",
- "template": "string",
- "cover": "string",
- "deleted": false,
- "publish": false,
- "publishTime": "2022-11-20T12:45:43.888Z",
- "pinned": false,
- "allowComment": true,
- "visible": "PUBLIC",
- "priority": 0,
- "excerpt": {
- "autoGenerate": true,
- "raw": "string"
- },
- "categories": [
- "string"
- ],
- "tags": [
- "string"
- ],
- "htmlMetas": [
- {
- "additionalProp1": "string"
- }
- ]
- },
- "status": {
- "permalink": "string",
- "excerpt": "string",
- "commentsCount": 0,
- "contributors": [
- "string"
- ]
- },
- "categories": "List<#CategoryVo>",
- "tags": "List<#TagVo>",
- "contributors": [
- {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- }
- ],
- "owner": {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- },
- "stats": {
- "visit": 0,
- "upvote": 0,
- "comment": 0
- },
- "content": {
- "raw": "string",
- "content": "string"
- }
-}
-```
+
- [#CategoryVo](#categoryvo)
- [#TagVo](#tagvo)
+- [#Contributor](#contributor)
+- [#ContentVo](#contentvo)
### ContentVo
-```json title="ContentVo"
-{
- "raw": "string",
- "content": "string"
-}
-```
+
### NavigationPostVo
```json title="NavigationPostVo"
{
- "previous": "#PostVo",
- "current": "#PostVo",
- "next": "#PostVo"
+ "previous": "#PostVo", // 上一篇文章
+ "current": "#PostVo", // 当前文章
+ "next": "#PostVo" // 下一篇文章
}
```
@@ -504,99 +371,25 @@ postFinder.archives(page,size,year,month)
### ListedPostVo
-```json title="ListedPostVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.505Z",
- },
- "spec": {
- "title": "string",
- "slug": "string",
- "releaseSnapshot": "string",
- "headSnapshot": "string",
- "baseSnapshot": "string",
- "owner": "string",
- "template": "string",
- "cover": "string",
- "deleted": false,
- "publish": false,
- "publishTime": "2022-11-20T13:06:38.505Z",
- "pinned": false,
- "allowComment": true,
- "visible": "PUBLIC",
- "priority": 0,
- "excerpt": {
- "autoGenerate": true,
- "raw": "string"
- },
- "categories": [
- "string"
- ],
- "tags": [
- "string"
- ],
- "htmlMetas": [
- {
- "additionalProp1": "string"
- }
- ]
- },
- "status": {
- "permalink": "string",
- "excerpt": "string",
- "inProgress": true,
- "commentsCount": 0,
- "contributors": [
- "string"
- ]
- },
- "categories": "List<#CategoryVo>",
- "tags": "List<#TagVo>",
- "contributors": [
- {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- }
- ],
- "owner": {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- },
- "stats": {
- "visit": 0,
- "upvote": 0,
- "comment": 0
- }
-}
-```
+
- [#CategoryVo](#categoryvo)
- [#TagVo](#tagvo)
+- [#Contributor](#contributor)
### ListResult
```json title="ListResult"
{
- "page": 0,
- "size": 0,
- "total": 0,
- "items": "List<#ListedPostVo>",
- "first": true,
- "last": true,
- "hasNext": true,
- "hasPrevious": true,
- "totalPages": 0
+ "page": 0, // 当前页码
+ "size": 0, // 每页条数
+ "total": 0, // 总条数
+ "items": "List<#ListedPostVo>", // 文章列表数据
+ "first": true, // 是否为第一页
+ "last": true, // 是否为最后一页
+ "hasNext": true, // 是否有下一页
+ "hasPrevious": true, // 是否有上一页
+ "totalPages": 0 // 总页数
}
```
@@ -622,15 +415,15 @@ postFinder.archives(page,size,year,month)
```json title="ListResult"
{
- "page": 0,
- "size": 0,
- "total": 0,
- "items": "List<#PostArchiveVo>",
- "first": true,
- "last": true,
- "hasNext": true,
- "hasPrevious": true,
- "totalPages": 0
+ "page": 0, // 当前页码
+ "size": 0, // 每页条数
+ "total": 0, // 总条数
+ "items": "List<#PostArchiveVo>", // 文章归档数据
+ "first": true, // 是否为第一页
+ "last": true, // 是否为最后一页
+ "hasNext": true, // 是否有下一页
+ "hasPrevious": true, // 是否有上一页
+ "totalPages": 0 // 总页数
}
```
diff --git a/versioned_docs/version-2.0/developer-guide/theme/finder-apis/single-page.md b/versioned_docs/version-2.0/developer-guide/theme/finder-apis/single-page.md
index 0194f97..6f74ba7 100644
--- a/versioned_docs/version-2.0/developer-guide/theme/finder-apis/single-page.md
+++ b/versioned_docs/version-2.0/developer-guide/theme/finder-apis/single-page.md
@@ -3,6 +3,11 @@ title: 独立页面
description: 独立页面 - SinglePageFinder
---
+import SinglePageVo from "../vo/SinglePageVo.md"
+import ListedSinglePageVo from "../vo/ListedSinglePageVo.md"
+import Contributor from "../vo/Contributor.md"
+import ContentVo from "../vo/ContentVo.md"
+
## getByName(pageName)
```js
@@ -88,163 +93,30 @@ singlePageFinder.list(page,size)
### SinglePageVo
-```json title="SinglePageVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T14:29:44.601Z",
- },
- "spec": {
- "title": "string",
- "slug": "string",
- "releaseSnapshot": "string",
- "headSnapshot": "string",
- "baseSnapshot": "string",
- "owner": "string",
- "template": "string",
- "cover": "string",
- "deleted": false,
- "publish": false,
- "publishTime": "2022-11-20T14:29:44.601Z",
- "pinned": false,
- "allowComment": true,
- "visible": "PUBLIC",
- "priority": 0,
- "excerpt": {
- "autoGenerate": true,
- "raw": "string"
- },
- "htmlMetas": [
- {
- "additionalProp1": "string"
- }
- ]
- },
- "status": {
- "permalink": "string",
- "excerpt": "string",
- "inProgress": true,
- "commentsCount": 0,
- "contributors": [
- "string"
- ]
- },
- "stats": {
- "visit": 0,
- "upvote": 0,
- "comment": 0
- },
- "contributors": [
- {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- }
- ],
- "owner": {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- },
- "content": {
- "raw": "string",
- "content": "string"
- }
-}
-```
+
+
+- [#Contributor](#contributor)
+- [#ContentVo](#contentvo)
### ListedSinglePageVo
-```json title="ListedSinglePageVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T14:31:00.876Z"
- },
- "spec": {
- "title": "string",
- "slug": "string",
- "releaseSnapshot": "string",
- "headSnapshot": "string",
- "baseSnapshot": "string",
- "owner": "string",
- "template": "string",
- "cover": "string",
- "deleted": false,
- "publish": false,
- "publishTime": "2022-11-20T14:31:00.876Z",
- "pinned": false,
- "allowComment": true,
- "visible": "PUBLIC",
- "priority": 0,
- "excerpt": {
- "autoGenerate": true,
- "raw": "string"
- },
- "htmlMetas": [
- {
- "additionalProp1": "string"
- }
- ]
- },
- "status": {
- "permalink": "string",
- "excerpt": "string",
- "inProgress": true,
- "commentsCount": 0,
- "contributors": [
- "string"
- ]
- },
- "stats": {
- "visit": 0,
- "upvote": 0,
- "comment": 0
- },
- "contributors": [
- {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- }
- ],
- "owner": {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- }
-}
-```
+- [#Contributor](#contributor)
+
+
### ListResult
```json title="ListResult"
{
- "page": 0,
- "size": 0,
- "total": 0,
- "items": "List<#ListedSinglePageVo>",
- "first": true,
- "last": true,
- "hasNext": true,
- "hasPrevious": true,
- "totalPages": 0
+ "page": 0, // 当前页码
+ "size": 0, // 每页条数
+ "total": 0, // 总条数
+ "items": "List<#ListedSinglePageVo>", // 自定义页面列表数据
+ "first": true, // 是否为第一页
+ "last": true, // 是否为最后一页
+ "hasNext": true, // 是否有下一页
+ "hasPrevious": true, // 是否有上一页
+ "totalPages": 0 // 总页数
}
```
@@ -252,9 +124,8 @@ singlePageFinder.list(page,size)
### ContentVo
-```json title="ContentVo"
-{
- "raw": "string",
- "content": "string"
-}
-```
+
+
+### Contributor
+
+
diff --git a/versioned_docs/version-2.0/developer-guide/theme/finder-apis/site-stats.md b/versioned_docs/version-2.0/developer-guide/theme/finder-apis/site-stats.md
index edb52e5..8ce58a1 100644
--- a/versioned_docs/version-2.0/developer-guide/theme/finder-apis/site-stats.md
+++ b/versioned_docs/version-2.0/developer-guide/theme/finder-apis/site-stats.md
@@ -36,10 +36,10 @@ siteStatsFinder.getStats()
```json title="SiteStatsVo"
{
- "visit": 0,
- "upvote": 0,
- "comment": 0,
- "post": 0,
- "category": 0
+ "visit": 0, // 访问数量
+ "upvote": 0, // 点赞数量
+ "comment": 0, // 评论数量
+ "post": 0, // 文章数量
+ "category": 0 // 分类数量
}
```
diff --git a/versioned_docs/version-2.0/developer-guide/theme/finder-apis/tag.md b/versioned_docs/version-2.0/developer-guide/theme/finder-apis/tag.md
index bfa0559..315168e 100644
--- a/versioned_docs/version-2.0/developer-guide/theme/finder-apis/tag.md
+++ b/versioned_docs/version-2.0/developer-guide/theme/finder-apis/tag.md
@@ -3,6 +3,8 @@ title: 文章标签
description: 文章标签 - TagFinder
---
+import TagVo from "../vo/TagVo.md"
+
## getByName(name)
```js
@@ -116,46 +118,21 @@ List<[#TagVo](#tagvo)>
### TagVo
-```json title="TagVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.512Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "color": "#F9fEB1",
- "cover": "string"
- },
- "status": {
- "permalink": "string",
- "visiblePostCount": 0,
- "postCount": 0
- },
- "postCount": 0
-}
-```
+
### ListResult
```json title="ListResult"
{
- "page": 0,
- "size": 0,
- "total": 0,
- "items": "List<#TagVo>",
- "first": true,
- "last": true,
- "hasNext": true,
- "hasPrevious": true,
- "totalPages": 0
+ "page": 0, // 当前页码
+ "size": 0, // 每页条数
+ "total": 0, // 总条数
+ "items": "List<#TagVo>", // 标签列表数据
+ "first": true, // 是否为第一页
+ "last": true, // 是否为最后一页
+ "hasNext": true, // 是否有下一页
+ "hasPrevious": true, // 是否有上一页
+ "totalPages": 0 // 总页数
}
```
diff --git a/versioned_docs/version-2.0/developer-guide/theme/finder-apis/theme.md b/versioned_docs/version-2.0/developer-guide/theme/finder-apis/theme.md
index 9fbb1a2..172ba3f 100644
--- a/versioned_docs/version-2.0/developer-guide/theme/finder-apis/theme.md
+++ b/versioned_docs/version-2.0/developer-guide/theme/finder-apis/theme.md
@@ -64,29 +64,29 @@ themeFinder.getByName(themeName)
```json title="ThemeVo"
{
"metadata": {
- "name": "string",
+ "name": "string", // 唯一标识
"labels": {
"additionalProp1": "string"
},
"annotations": {
"additionalProp1": "string"
},
- "creationTimestamp": "2022-11-20T15:27:15.036Z",
+ "creationTimestamp": "2022-11-20T15:27:15.036Z", // 创建时间
},
"spec": {
- "displayName": "string",
+ "displayName": "string", // 显示名称
"author": {
- "name": "string",
- "website": "string"
+ "name": "string", // 作者名称
+ "website": "string" // 作者网站
},
- "description": "string",
- "logo": "string",
- "website": "string",
- "repo": "string",
- "version": "string",
- "require": "string",
- "settingName": "string",
- "configMapName": "string",
+ "description": "string", // 描述
+ "logo": "string", // Logo
+ "website": "string", // 网站
+ "repo": "string", // 仓库地址
+ "version": "string", // 版本
+ "require": "string", // 依赖 Halo 的版本
+ "settingName": "string", // 表单定义的名称,即 Setting 资源的 metadata.name
+ "configMapName": "string", // 设置项存储的名称,即 ConfigMap 资源的 metadata.name
"customTemplates": {
"post": [
{
diff --git a/versioned_docs/version-2.0/developer-guide/theme/template-variables/archives.md b/versioned_docs/version-2.0/developer-guide/theme/template-variables/archives.md
index b7b80d1..21f82ab 100644
--- a/versioned_docs/version-2.0/developer-guide/theme/template-variables/archives.md
+++ b/versioned_docs/version-2.0/developer-guide/theme/template-variables/archives.md
@@ -3,6 +3,11 @@ title: 文章归档
description: archives.html - /archives
---
+import CategoryVo from "../vo/CategoryVo.md";
+import TagVo from "../vo/TagVo.md";
+import Contributor from "../vo/Contributor.md";
+import ListedPostVo from "../vo/ListedPostVo.md";
+
## 路由信息
- 模板路径:`/templates/archives.html`
@@ -27,24 +32,18 @@ description: archives.html - /archives
@@ -54,158 +53,33 @@ description: archives.html - /archives
### CategoryVo
-```json title="CategoryVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.512Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "description": "string",
- "cover": "string",
- "template": "string",
- "priority": 0,
- "children": [
- "string"
- ]
- },
- "status": {
- "permalink": "string",
- "postCount": 0,
- "visiblePostCount": 0
- },
- "postCount": 0
-}
-```
+
### TagVo
-```json title="TagVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.512Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "color": "#F9fEB1",
- "cover": "string"
- },
- "status": {
- "permalink": "string",
- "visiblePostCount": 0,
- "postCount": 0
- },
- "postCount": 0
-}
-```
+
+
+### Contributor
+
+
### ListedPostVo
-```json title="ListedPostVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.505Z",
- },
- "spec": {
- "title": "string",
- "slug": "string",
- "releaseSnapshot": "string",
- "headSnapshot": "string",
- "baseSnapshot": "string",
- "owner": "string",
- "template": "string",
- "cover": "string",
- "deleted": false,
- "publish": false,
- "publishTime": "2022-11-20T13:06:38.505Z",
- "pinned": false,
- "allowComment": true,
- "visible": "PUBLIC",
- "priority": 0,
- "excerpt": {
- "autoGenerate": true,
- "raw": "string"
- },
- "categories": [
- "string"
- ],
- "tags": [
- "string"
- ],
- "htmlMetas": [
- {
- "additionalProp1": "string"
- }
- ]
- },
- "status": {
- "permalink": "string",
- "excerpt": "string",
- "inProgress": true,
- "commentsCount": 0,
- "contributors": [
- "string"
- ]
- },
- "categories": "List<#CategoryVo>",
- "tags": "List<#TagVo>",
- "contributors": [
- {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- }
- ],
- "owner": {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- },
- "stats": {
- "visit": 0,
- "upvote": 0,
- "comment": 0
- }
-}
-```
+
- [#CategoryVo](#categoryvo)
- [#TagVo](#tagvo)
+- [#Contributor](#contributor)
### PostArchiveVo
```json title="PostArchiveVo"
{
- "year": "string",
- "months": [
+ "year": "string", // 年份
+ "months": [ // 按月的文章集合
{
- "month": "string",
- "posts": "#ListedPostVo"
+ "month": "string", // 月份
+ "posts": "List<#ListedPostVo>" // 文章列表数据
}
]
}
@@ -217,17 +91,17 @@ description: archives.html - /archives
```json title="UrlContextListResult"
{
- "page": 0,
- "size": 0,
- "total": 0,
- "items": "List<#PostArchiveVo>",
- "first": true,
- "last": true,
- "hasNext": true,
- "hasPrevious": true,
- "totalPages": 0,
- "nextUrl": "string",
- "prevUrl": "string"
+ "page": 0, // 当前页码
+ "size": 0, // 每页条数
+ "total": 0, // 总条数
+ "items": "List<#PostArchiveVo>", // 文章归档数据
+ "first": true, // 是否为第一页
+ "last": true, // 是否为最后一页
+ "hasNext": true, // 是否有下一页
+ "hasPrevious": true, // 是否有上一页
+ "totalPages": 0, // 总页数
+ "nextUrl": "string", // 下一页链接
+ "prevUrl": "string" // 上一页链接
}
```
diff --git a/versioned_docs/version-2.0/developer-guide/theme/template-variables/categories.md b/versioned_docs/version-2.0/developer-guide/theme/template-variables/categories.md
index 18e6bf0..29ed742 100644
--- a/versioned_docs/version-2.0/developer-guide/theme/template-variables/categories.md
+++ b/versioned_docs/version-2.0/developer-guide/theme/template-variables/categories.md
@@ -3,6 +3,8 @@ title: 文章分类集合
description: categories.html - /categories
---
+import CategoryTreeVo from "../vo/CategoryTreeVo.md"
+
## 路由信息
- 模板路径:`/templates/categories.html`
@@ -47,38 +49,6 @@ List<[#CategoryTreeVo](#categorytreevo)>
### CategoryTreeVo
-```json title="CategoryTreeVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T14:18:49.230Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "description": "string",
- "cover": "string",
- "template": "string",
- "priority": 0,
- "children": [
- "string"
- ]
- },
- "status": {
- "permalink": "string",
- "postCount": 0,
- "visiblePostCount": 0
- },
- "children": "List<#CategoryTreeVo>",
- "parentName": "string",
- "postCount": 0
-}
-```
+
- [#CategoryTreeVo](#categorytreevo)
diff --git a/versioned_docs/version-2.0/developer-guide/theme/template-variables/category.md b/versioned_docs/version-2.0/developer-guide/theme/template-variables/category.md
index e5d571a..a77be7d 100644
--- a/versioned_docs/version-2.0/developer-guide/theme/template-variables/category.md
+++ b/versioned_docs/version-2.0/developer-guide/theme/template-variables/category.md
@@ -3,6 +3,11 @@ title: 分类归档
description: category.html - /categories/:slug
---
+import CategoryVo from "../vo/CategoryVo.md"
+import TagVo from "../vo/TagVo.md"
+import Contributor from "../vo/Contributor.md";
+import ListedPostVo from "../vo/ListedPostVo.md"
+
## 路由信息
- 模板路径:`/templates/category.html`
@@ -61,164 +66,39 @@ description: category.html - /categories/:slug
### CategoryVo
-```json title="CategoryVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.512Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "description": "string",
- "cover": "string",
- "template": "string",
- "priority": 0,
- "children": [
- "string"
- ]
- },
- "status": {
- "permalink": "string",
- "postCount": 0,
- "visiblePostCount": 0
- },
- "postCount": 0
-}
-```
+
### TagVo
-```json title="TagVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.512Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "color": "#F9fEB1",
- "cover": "string"
- },
- "status": {
- "permalink": "string",
- "visiblePostCount": 0,
- "postCount": 0
- },
- "postCount": 0
-}
-```
+
+
+### Contributor
+
+
### ListedPostVo
-```json title="ListedPostVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.505Z",
- },
- "spec": {
- "title": "string",
- "slug": "string",
- "releaseSnapshot": "string",
- "headSnapshot": "string",
- "baseSnapshot": "string",
- "owner": "string",
- "template": "string",
- "cover": "string",
- "deleted": false,
- "publish": false,
- "publishTime": "2022-11-20T13:06:38.505Z",
- "pinned": false,
- "allowComment": true,
- "visible": "PUBLIC",
- "priority": 0,
- "excerpt": {
- "autoGenerate": true,
- "raw": "string"
- },
- "categories": [
- "string"
- ],
- "tags": [
- "string"
- ],
- "htmlMetas": [
- {
- "additionalProp1": "string"
- }
- ]
- },
- "status": {
- "permalink": "string",
- "excerpt": "string",
- "inProgress": true,
- "commentsCount": 0,
- "contributors": [
- "string"
- ]
- },
- "categories": "List<#CategoryVo>",
- "tags": "List<#TagVo>",
- "contributors": [
- {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- }
- ],
- "owner": {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- },
- "stats": {
- "visit": 0,
- "upvote": 0,
- "comment": 0
- }
-}
-```
+
- [#CategoryVo](#categoryvo)
- [#TagVo](#tagvo)
+- [#Contributor](#contributor)
### UrlContextListResult
```json title="UrlContextListResult"
{
- "page": 0,
- "size": 0,
- "total": 0,
- "items": "List<#ListedPostVo>",
- "first": true,
- "last": true,
- "hasNext": true,
- "hasPrevious": true,
- "totalPages": 0,
- "nextUrl": "string",
- "prevUrl": "string"
+ "page": 0, // 当前页码
+ "size": 0, // 每页条数
+ "total": 0, // 总条数
+ "items": "List<#ListedPostVo>", // 文章列表数据
+ "first": true, // 是否为第一页
+ "last": true, // 是否为最后一页
+ "hasNext": true, // 是否有下一页
+ "hasPrevious": true, // 是否有上一页
+ "totalPages": 0, // 总页数
+ "nextUrl": "string", // 下一页链接
+ "prevUrl": "string" // 上一页链接
}
```
diff --git a/versioned_docs/version-2.0/developer-guide/theme/template-variables/index_.md b/versioned_docs/version-2.0/developer-guide/theme/template-variables/index_.md
index 9d3f451..97ec004 100644
--- a/versioned_docs/version-2.0/developer-guide/theme/template-variables/index_.md
+++ b/versioned_docs/version-2.0/developer-guide/theme/template-variables/index_.md
@@ -3,6 +3,11 @@ title: 首页
description: index.html - /
---
+import CategoryVo from "../vo/CategoryVo.md"
+import TagVo from "../vo/TagVo.md"
+import Contributor from "../vo/Contributor.md";
+import ListedPostVo from "../vo/ListedPostVo.md"
+
## 路由信息
- 模板路径:`/templates/index.html`
@@ -54,164 +59,39 @@ description: index.html - /
### CategoryVo
-```json title="CategoryVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.512Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "description": "string",
- "cover": "string",
- "template": "string",
- "priority": 0,
- "children": [
- "string"
- ]
- },
- "status": {
- "permalink": "string",
- "postCount": 0,
- "visiblePostCount": 0
- },
- "postCount": 0
-}
-```
+
### TagVo
-```json title="TagVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.512Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "color": "#F9fEB1",
- "cover": "string"
- },
- "status": {
- "permalink": "string",
- "visiblePostCount": 0,
- "postCount": 0
- },
- "postCount": 0
-}
-```
+
+
+### Contributor
+
+
### ListedPostVo
-```json title="ListedPostVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.505Z",
- },
- "spec": {
- "title": "string",
- "slug": "string",
- "releaseSnapshot": "string",
- "headSnapshot": "string",
- "baseSnapshot": "string",
- "owner": "string",
- "template": "string",
- "cover": "string",
- "deleted": false,
- "publish": false,
- "publishTime": "2022-11-20T13:06:38.505Z",
- "pinned": false,
- "allowComment": true,
- "visible": "PUBLIC",
- "priority": 0,
- "excerpt": {
- "autoGenerate": true,
- "raw": "string"
- },
- "categories": [
- "string"
- ],
- "tags": [
- "string"
- ],
- "htmlMetas": [
- {
- "additionalProp1": "string"
- }
- ]
- },
- "status": {
- "permalink": "string",
- "excerpt": "string",
- "inProgress": true,
- "commentsCount": 0,
- "contributors": [
- "string"
- ]
- },
- "categories": "List<#CategoryVo>",
- "tags": "List<#TagVo>",
- "contributors": [
- {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- }
- ],
- "owner": {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- },
- "stats": {
- "visit": 0,
- "upvote": 0,
- "comment": 0
- }
-}
-```
+
- [#CategoryVo](#categoryvo)
- [#TagVo](#tagvo)
+- [#Contributor](#contributor)
### UrlContextListResult
```json title="UrlContextListResult"
{
- "page": 0,
- "size": 0,
- "total": 0,
- "items": "List<#ListedPostVo>",
- "first": true,
- "last": true,
- "hasNext": true,
- "hasPrevious": true,
- "totalPages": 0,
- "nextUrl": "string",
- "prevUrl": "string"
+ "page": 0, // 当前页码
+ "size": 0, // 每页条数
+ "total": 0, // 总条数
+ "items": "List<#ListedPostVo>", // 文章列表数据
+ "first": true, // 是否为第一页
+ "last": true, // 是否为最后一页
+ "hasNext": true, // 是否有下一页
+ "hasPrevious": true, // 是否有上一页
+ "totalPages": 0, // 总页数
+ "nextUrl": "string", // 下一页链接
+ "prevUrl": "string" // 上一页链接
}
```
diff --git a/versioned_docs/version-2.0/developer-guide/theme/template-variables/page.md b/versioned_docs/version-2.0/developer-guide/theme/template-variables/page.md
index 4aa1bb6..376390a 100644
--- a/versioned_docs/version-2.0/developer-guide/theme/template-variables/page.md
+++ b/versioned_docs/version-2.0/developer-guide/theme/template-variables/page.md
@@ -3,6 +3,10 @@ title: 独立页面
description: page.html - /:slug
---
+import SinglePageVo from "../vo/SinglePageVo.md"
+import Contributor from "../vo/Contributor.md"
+import ContentVo from "../vo/ContentVo.md"
+
## 路由信息
- 模板路径:`/templates/page.html`
@@ -35,75 +39,15 @@ description: page.html - /:slug
### SinglePageVo
-```json title="SinglePageVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T14:29:44.601Z",
- },
- "spec": {
- "title": "string",
- "slug": "string",
- "releaseSnapshot": "string",
- "headSnapshot": "string",
- "baseSnapshot": "string",
- "owner": "string",
- "template": "string",
- "cover": "string",
- "deleted": false,
- "publish": false,
- "publishTime": "2022-11-20T14:29:44.601Z",
- "pinned": false,
- "allowComment": true,
- "visible": "PUBLIC",
- "priority": 0,
- "excerpt": {
- "autoGenerate": true,
- "raw": "string"
- },
- "htmlMetas": [
- {
- "additionalProp1": "string"
- }
- ]
- },
- "status": {
- "permalink": "string",
- "excerpt": "string",
- "inProgress": true,
- "commentsCount": 0,
- "contributors": [
- "string"
- ]
- },
- "stats": {
- "visit": 0,
- "upvote": 0,
- "comment": 0
- },
- "contributors": [
- {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- }
- ],
- "owner": {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- },
- "content": {
- "raw": "string",
- "content": "string"
- }
-}
-```
+
+
+- [#ContentVo](#contentvo)
+- [#Contributor](#contributor)
+
+### ContentVo
+
+
+
+### Contributor
+
+
diff --git a/versioned_docs/version-2.0/developer-guide/theme/template-variables/post.md b/versioned_docs/version-2.0/developer-guide/theme/template-variables/post.md
index c554038..53dcccc 100644
--- a/versioned_docs/version-2.0/developer-guide/theme/template-variables/post.md
+++ b/versioned_docs/version-2.0/developer-guide/theme/template-variables/post.md
@@ -3,6 +3,12 @@ title: 文章
description: post.html - /archives/:slug
---
+import CategoryVo from "../vo/CategoryVo.md"
+import TagVo from "../vo/TagVo.md"
+import ContentVo from "../vo/ContentVo.md"
+import Contributor from "../vo/Contributor.md"
+import PostVo from "../vo/PostVo.md"
+
## 路由信息
- 模板路径:`/templates/post.html`
@@ -35,148 +41,25 @@ description: post.html - /archives/:slug
### CategoryVo
-```json title="CategoryVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.512Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "description": "string",
- "cover": "string",
- "template": "string",
- "priority": 0,
- "children": [
- "string"
- ]
- },
- "status": {
- "permalink": "string",
- "postCount": 0,
- "visiblePostCount": 0
- },
- "postCount": 0
-}
-```
+
### TagVo
-```json title="TagVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.512Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "color": "#F9fEB1",
- "cover": "string"
- },
- "status": {
- "permalink": "string",
- "visiblePostCount": 0,
- "postCount": 0
- },
- "postCount": 0
-}
-```
+
+
+### Contributor
+
+
+
+### ContentVo
+
+
### PostVo
-```json title="PostVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T12:45:43.888Z",
- },
- "spec": {
- "title": "string",
- "slug": "string",
- "releaseSnapshot": "string",
- "headSnapshot": "string",
- "baseSnapshot": "string",
- "owner": "string",
- "template": "string",
- "cover": "string",
- "deleted": false,
- "publish": false,
- "publishTime": "2022-11-20T12:45:43.888Z",
- "pinned": false,
- "allowComment": true,
- "visible": "PUBLIC",
- "priority": 0,
- "excerpt": {
- "autoGenerate": true,
- "raw": "string"
- },
- "categories": [
- "string"
- ],
- "tags": [
- "string"
- ],
- "htmlMetas": [
- {
- "additionalProp1": "string"
- }
- ]
- },
- "status": {
- "permalink": "string",
- "excerpt": "string",
- "commentsCount": 0,
- "contributors": [
- "string"
- ]
- },
- "categories": "List<#CategoryVo>",
- "tags": "List<#TagVo>",
- "contributors": [
- {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- }
- ],
- "owner": {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- },
- "stats": {
- "visit": 0,
- "upvote": 0,
- "comment": 0
- },
- "content": {
- "raw": "string",
- "content": "string"
- }
-}
-```
+
- [#CategoryVo](#categoryvo)
- [#TagVo](#tagvo)
+- [#Contributor](#contributor)
+- [#ContentVo](#contentvo)
diff --git a/versioned_docs/version-2.0/developer-guide/theme/template-variables/tag.md b/versioned_docs/version-2.0/developer-guide/theme/template-variables/tag.md
index 8a968e0..ee5d0a8 100644
--- a/versioned_docs/version-2.0/developer-guide/theme/template-variables/tag.md
+++ b/versioned_docs/version-2.0/developer-guide/theme/template-variables/tag.md
@@ -3,6 +3,11 @@ title: 标签归档
description: tag.html - /tags/:slug
---
+import CategoryVo from "../vo/CategoryVo.md"
+import TagVo from "../vo/TagVo.md"
+import Contributor from "../vo/Contributor.md";
+import ListedPostVo from "../vo/ListedPostVo.md"
+
## 路由信息
- 模板路径:`/templates/tag.html`
@@ -61,164 +66,39 @@ description: tag.html - /tags/:slug
### CategoryVo
-```json title="CategoryVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.512Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "description": "string",
- "cover": "string",
- "template": "string",
- "priority": 0,
- "children": [
- "string"
- ]
- },
- "status": {
- "permalink": "string",
- "postCount": 0,
- "visiblePostCount": 0
- },
- "postCount": 0
-}
-```
+
### TagVo
-```json title="TagVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.512Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "color": "#F9fEB1",
- "cover": "string"
- },
- "status": {
- "permalink": "string",
- "visiblePostCount": 0,
- "postCount": 0
- },
- "postCount": 0
-}
-```
+
+
+### Contributor
+
+
### ListedPostVo
-```json title="ListedPostVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.505Z",
- },
- "spec": {
- "title": "string",
- "slug": "string",
- "releaseSnapshot": "string",
- "headSnapshot": "string",
- "baseSnapshot": "string",
- "owner": "string",
- "template": "string",
- "cover": "string",
- "deleted": false,
- "publish": false,
- "publishTime": "2022-11-20T13:06:38.505Z",
- "pinned": false,
- "allowComment": true,
- "visible": "PUBLIC",
- "priority": 0,
- "excerpt": {
- "autoGenerate": true,
- "raw": "string"
- },
- "categories": [
- "string"
- ],
- "tags": [
- "string"
- ],
- "htmlMetas": [
- {
- "additionalProp1": "string"
- }
- ]
- },
- "status": {
- "permalink": "string",
- "excerpt": "string",
- "inProgress": true,
- "commentsCount": 0,
- "contributors": [
- "string"
- ]
- },
- "categories": "List<#CategoryVo>",
- "tags": "List<#TagVo>",
- "contributors": [
- {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- }
- ],
- "owner": {
- "name": "string",
- "displayName": "string",
- "avatar": "string",
- "bio": "string"
- },
- "stats": {
- "visit": 0,
- "upvote": 0,
- "comment": 0
- }
-}
-```
+
- [#CategoryVo](#categoryvo)
- [#TagVo](#tagvo)
+- [#Contributor](#contributor)
### UrlContextListResult
```json title="UrlContextListResult"
{
- "page": 0,
- "size": 0,
- "total": 0,
- "items": "List<#ListedPostVo>",
- "first": true,
- "last": true,
- "hasNext": true,
- "hasPrevious": true,
- "totalPages": 0,
- "nextUrl": "string",
- "prevUrl": "string"
+ "page": 0, // 当前页码
+ "size": 0, // 每页条数
+ "total": 0, // 总条数
+ "items": "List<#ListedPostVo>", // 文章列表数据
+ "first": true, // 是否为第一页
+ "last": true, // 是否为最后一页
+ "hasNext": true, // 是否有下一页
+ "hasPrevious": true, // 是否有上一页
+ "totalPages": 0, // 总页数
+ "nextUrl": "string", // 下一页链接
+ "prevUrl": "string" // 上一页链接
}
```
diff --git a/versioned_docs/version-2.0/developer-guide/theme/template-variables/tags.md b/versioned_docs/version-2.0/developer-guide/theme/template-variables/tags.md
index a1b0920..f7ee0b5 100644
--- a/versioned_docs/version-2.0/developer-guide/theme/template-variables/tags.md
+++ b/versioned_docs/version-2.0/developer-guide/theme/template-variables/tags.md
@@ -2,6 +2,9 @@
title: 文章标签集合
description: tags.html - /tags
---
+
+import TagVo from '../vo/TagVo.md'
+
## 路由信息
- 模板路径:`/templates/tags.html`
@@ -33,29 +36,4 @@ List<[#TagVo](#tagvo)>
### TagVo
-```json title="TagVo"
-{
- "metadata": {
- "name": "string",
- "labels": {
- "additionalProp1": "string"
- },
- "annotations": {
- "additionalProp1": "string"
- },
- "creationTimestamp": "2022-11-20T13:06:38.512Z",
- },
- "spec": {
- "displayName": "string",
- "slug": "string",
- "color": "#F9fEB1",
- "cover": "string"
- },
- "status": {
- "permalink": "string",
- "visiblePostCount": 0,
- "postCount": 0
- },
- "postCount": 0
-}
-```
+
diff --git a/versioned_docs/version-2.0/developer-guide/theme/vo/CategoryTreeVo.md b/versioned_docs/version-2.0/developer-guide/theme/vo/CategoryTreeVo.md
new file mode 100644
index 0000000..89439bd
--- /dev/null
+++ b/versioned_docs/version-2.0/developer-guide/theme/vo/CategoryTreeVo.md
@@ -0,0 +1,33 @@
+```json title="CategoryTreeVo"
+{
+ "metadata": {
+ "name": "string", // 唯一标识
+ "labels": {
+ "additionalProp1": "string"
+ },
+ "annotations": {
+ "additionalProp1": "string"
+ },
+ "creationTimestamp": "2022-11-20T14:18:49.230Z", // 创建时间
+ },
+ "spec": {
+ "displayName": "string", // 显示名称
+ "slug": "string", // 别名,通常用于生成 status.permalink
+ "description": "string", // 描述
+ "cover": "string", // 封面图
+ "template": "string", // 自定义渲染模板名称
+ "priority": 0, // 排序字段
+ "children": [ // 下级分类,分类的 metadata.name 集合
+ "string"
+ ]
+ },
+ "status": {
+ "permalink": "string", // 固定链接
+ "postCount": 0, // 文章数
+ "visiblePostCount": 0 // 已发布文章数
+ },
+ "children": "List<#CategoryTreeVo>", // 下级分类,CategoryTreeVo 的集合
+ "parentName": "string",
+ "postCount": 0
+}
+```
diff --git a/versioned_docs/version-2.0/developer-guide/theme/vo/CategoryVo.md b/versioned_docs/version-2.0/developer-guide/theme/vo/CategoryVo.md
new file mode 100644
index 0000000..325d6d6
--- /dev/null
+++ b/versioned_docs/version-2.0/developer-guide/theme/vo/CategoryVo.md
@@ -0,0 +1,31 @@
+```json title="CategoryVo"
+{
+ "metadata": {
+ "name": "string", // 唯一标识
+ "labels": {
+ "additionalProp1": "string"
+ },
+ "annotations": {
+ "additionalProp1": "string"
+ },
+ "creationTimestamp": "2022-11-20T13:06:38.512Z", // 创建时间
+ },
+ "spec": {
+ "displayName": "string", // 显示名称
+ "slug": "string", // 别名,通常用于生成 status.permalink
+ "description": "string", // 描述
+ "cover": "string", // 封面图
+ "template": "string", // 自定义渲染模板名称
+ "priority": 0, // 排序字段
+ "children": [ // 下级分类,分类的 metadata.name 集合
+ "string"
+ ]
+ },
+ "status": {
+ "permalink": "string", // 固定链接
+ "postCount": 0, // 文章数
+ "visiblePostCount": 0 // 已发布文章数
+ },
+ "postCount": 0
+}
+```
diff --git a/versioned_docs/version-2.0/developer-guide/theme/vo/CommentVo.md b/versioned_docs/version-2.0/developer-guide/theme/vo/CommentVo.md
new file mode 100644
index 0000000..5784206
--- /dev/null
+++ b/versioned_docs/version-2.0/developer-guide/theme/vo/CommentVo.md
@@ -0,0 +1,53 @@
+```json title="CommentVo"
+{
+ "metadata": {
+ "name": "string", // 唯一标识
+ "labels": {
+ "additionalProp1": "string"
+ },
+ "annotations": {
+ "additionalProp1": "string"
+ },
+ "creationTimestamp": "2022-11-20T12:16:19.788Z" // 创建时间
+ },
+ "spec": {
+ "raw": "string", // 原始文本,一般用于给编辑器使用
+ "content": "string", // 最终渲染的文本
+ "owner": { // 创建者关联
+ "kind": "string",
+ "name": "string",
+ "displayName": "string",
+ "annotations": {
+ "additionalProp1": "string"
+ }
+ },
+ "userAgent": "string", // 评论者 UserAgent 信息
+ "ipAddress": "string", // 评论者 IP 地址
+ "priority": 0, // 排序字段
+ "top": false, // 是否置顶
+ "allowNotification": true, // 是否允许通知
+ "approved": false,
+ "hidden": false,
+ "subjectRef": { // 引用关联,比如文章、自定义页面
+ "group": "string",
+ "version": "string",
+ "kind": "string",
+ "name": "string"
+ },
+ "lastReadTime": "2022-11-20T12:16:19.788Z"
+ },
+ "status": {
+ "lastReplyTime": "2022-11-20T12:16:19.788Z",
+ "replyCount": 0, // 回复数量
+ "unreadReplyCount": 0,
+ "hasNewReply": true // 是否有新回复
+ },
+ "owner": { // 创建者信息
+ "kind": "string",
+ "name": "string",
+ "displayName": "string",
+ "avatar": "string",
+ "email": "string"
+ }
+}
+```
diff --git a/versioned_docs/version-2.0/developer-guide/theme/vo/ContentVo.md b/versioned_docs/version-2.0/developer-guide/theme/vo/ContentVo.md
new file mode 100644
index 0000000..c5077ee
--- /dev/null
+++ b/versioned_docs/version-2.0/developer-guide/theme/vo/ContentVo.md
@@ -0,0 +1,6 @@
+```json title="ContentVo"
+{
+ "raw": "string", // 原始文本,一般用于给编辑器使用
+ "content": "string" // 最终渲染的文本
+}
+```
diff --git a/versioned_docs/version-2.0/developer-guide/theme/vo/Contributor.md b/versioned_docs/version-2.0/developer-guide/theme/vo/Contributor.md
new file mode 100644
index 0000000..9bb00d8
--- /dev/null
+++ b/versioned_docs/version-2.0/developer-guide/theme/vo/Contributor.md
@@ -0,0 +1,8 @@
+```json title="Contributor"
+{
+ "name": "string", // 用户名
+ "displayName": "string", // 显示名称
+ "avatar": "string", // 头像
+ "bio": "string" // 描述
+}
+```
diff --git a/versioned_docs/version-2.0/developer-guide/theme/vo/ListedPostVo.md b/versioned_docs/version-2.0/developer-guide/theme/vo/ListedPostVo.md
new file mode 100644
index 0000000..0cc8d92
--- /dev/null
+++ b/versioned_docs/version-2.0/developer-guide/theme/vo/ListedPostVo.md
@@ -0,0 +1,64 @@
+```json title="ListedPostVo"
+{
+ "metadata": {
+ "name": "string", // 唯一标识
+ "labels": {
+ "additionalProp1": "string"
+ },
+ "annotations": {
+ "additionalProp1": "string"
+ },
+ "creationTimestamp": "2022-11-20T13:06:38.505Z", // 创建时间
+ },
+ "spec": {
+ "title": "string", // 标题
+ "slug": "string", // 别名,通常用于生成 status.permalink
+ "releaseSnapshot": "string",
+ "headSnapshot": "string",
+ "baseSnapshot": "string",
+ "owner": "string", // 创建者名称,即 Contributor 的 metadata.name,非显示名称
+ "template": "string", // 自定义渲染模板
+ "cover": "string", // 封面图
+ "deleted": false,
+ "publish": false,
+ "publishTime": "2022-11-20T13:06:38.505Z", // 发布时间
+ "pinned": false, // 是否置顶
+ "allowComment": true, // 是否允许评论
+ "visible": "PUBLIC",
+ "priority": 0,
+ "excerpt": {
+ "autoGenerate": true, // 是否自动生成摘要
+ "raw": "string" // 摘要内容
+ },
+ "categories": [ // 分类的名称集合,即 Category 的 metadata.name 的集合
+ "string"
+ ],
+ "tags": [ // 标签的名称集合,即 Tag 的 metadata.name 的集合
+ "string"
+ ],
+ "htmlMetas": [
+ {
+ "additionalProp1": "string"
+ }
+ ]
+ },
+ "status": {
+ "permalink": "string", // 固定链接
+ "excerpt": "string", // 最终生成的摘要
+ "inProgress": true,
+ "commentsCount": 0, // 评论数
+ "contributors": [ // 贡献者名称,Contributor 的 metadata.name 的集合
+ "string"
+ ]
+ },
+ "categories": "List<#CategoryVo>", // 分类的集合
+ "tags": "List<#TagVo>", // 标签的集合
+ "contributors": "List<#Contributor>", // 贡献者的集合
+ "owner": "#Contributor", // 创建者
+ "stats": {
+ "visit": 0, // 访问数量
+ "upvote": 0, // 点赞数量
+ "comment": 0 // 评论数量
+ }
+}
+```
diff --git a/versioned_docs/version-2.0/developer-guide/theme/vo/ListedSinglePageVo.md b/versioned_docs/version-2.0/developer-guide/theme/vo/ListedSinglePageVo.md
new file mode 100644
index 0000000..6303368
--- /dev/null
+++ b/versioned_docs/version-2.0/developer-guide/theme/vo/ListedSinglePageVo.md
@@ -0,0 +1,56 @@
+```json title="ListedSinglePageVo"
+{
+ "metadata": {
+ "name": "string", // 唯一标识
+ "labels": {
+ "additionalProp1": "string"
+ },
+ "annotations": {
+ "additionalProp1": "string"
+ },
+ "creationTimestamp": "2022-11-20T14:31:00.876Z" // 创建时间
+ },
+ "spec": {
+ "title": "string", // 标题
+ "slug": "string", // 别名,通常用于生成 status.permalink
+ "releaseSnapshot": "string",
+ "headSnapshot": "string",
+ "baseSnapshot": "string",
+ "owner": "string", // 创建者名称,即 Contributor 的 metadata.name,非显示名称
+ "template": "string", // 自定义渲染模板
+ "cover": "string", // 封面图
+ "deleted": false,
+ "publish": false,
+ "publishTime": "2022-11-20T14:31:00.876Z", // 发布时间
+ "pinned": false, // 是否置顶
+ "allowComment": true, // 是否允许评论
+ "visible": "PUBLIC",
+ "priority": 0,
+ "excerpt": {
+ "autoGenerate": true, // 是否自动生成摘要
+ "raw": "string" // 摘要内容
+ },
+ "htmlMetas": [
+ {
+ "additionalProp1": "string"
+ }
+ ]
+ },
+ "status": {
+ "permalink": "string", // 固定链接
+ "excerpt": "string", // 最终生成的摘要
+ "inProgress": true,
+ "commentsCount": 0, // 评论数
+ "contributors": [ // 贡献者名称,Contributor 的 metadata.name 的集合
+ "string"
+ ]
+ },
+ "stats": {
+ "visit": 0, // 访问数量
+ "upvote": 0, // 点赞数量
+ "comment": 0 // 评论数量
+ },
+ "contributors": "List<#Contributor>", // 贡献者的集合
+ "owner": "#Contributor" // 创建者
+}
+```
diff --git a/versioned_docs/version-2.0/developer-guide/theme/vo/MenuItemVo.md b/versioned_docs/version-2.0/developer-guide/theme/vo/MenuItemVo.md
new file mode 100644
index 0000000..21bcfe9
--- /dev/null
+++ b/versioned_docs/version-2.0/developer-guide/theme/vo/MenuItemVo.md
@@ -0,0 +1,34 @@
+```json title="MenuItemVo"
+{
+ "metadata": {
+ "name": "string", // 唯一标识
+ "labels": {
+ "additionalProp1": "string"
+ },
+ "annotations": {
+ "additionalProp1": "string"
+ },
+ "creationTimestamp": "2022-11-20T14:44:58.984Z", // 创建时间
+ },
+ "spec": {
+ "displayName": "string", // 显示名称,但是不要直接使用这个字段进行显示,最终字段为 status.displayName
+ "href": "string", // 链接,同样不要直接使用这个字段,最终字段为 status.href
+ "priority": 0, // 排序字段
+ "children": [ // 下级菜单项,菜单项的 metadata.name 集合
+ "string"
+ ],
+ "targetRef": { // 与其他资源比如文章的关联,一般无需直接使用
+ "group": "string",
+ "version": "string",
+ "kind": "string",
+ "name": "string"
+ }
+ },
+ "status": {
+ "displayName": "string", // 显示名称
+ "href": "string" // 链接
+ },
+ "children": "List<#MenuItemVo>", // 下级菜单项,MenuItemVo 的集合
+ "parentName": "string",
+}
+```
diff --git a/versioned_docs/version-2.0/developer-guide/theme/vo/MenuVo.md b/versioned_docs/version-2.0/developer-guide/theme/vo/MenuVo.md
new file mode 100644
index 0000000..0d9d8ce
--- /dev/null
+++ b/versioned_docs/version-2.0/developer-guide/theme/vo/MenuVo.md
@@ -0,0 +1,21 @@
+```json title="MenuVo"
+{
+ "metadata": {
+ "name": "string", // 唯一标识
+ "labels": {
+ "additionalProp1": "string"
+ },
+ "annotations": {
+ "additionalProp1": "string"
+ },
+ "creationTimestamp": "2022-11-20T14:44:58.984Z", // 创建时间
+ },
+ "spec": {
+ "displayName": "string", // 显示名称
+ "menuItems": [ // 菜单的菜单项名称集合,即 MenuItem 的 metadata.name 的集合
+ "string"
+ ]
+ },
+ "menuItems": "List<#MenuItemVo>" // 菜单项的集合
+}
+```
diff --git a/versioned_docs/version-2.0/developer-guide/theme/vo/PostVo.md b/versioned_docs/version-2.0/developer-guide/theme/vo/PostVo.md
new file mode 100644
index 0000000..e1f563a
--- /dev/null
+++ b/versioned_docs/version-2.0/developer-guide/theme/vo/PostVo.md
@@ -0,0 +1,65 @@
+```json title="PostVo"
+{
+ "metadata": {
+ "name": "string", // 唯一标识
+ "labels": {
+ "additionalProp1": "string"
+ },
+ "annotations": {
+ "additionalProp1": "string"
+ },
+ "creationTimestamp": "2022-11-20T12:45:43.888Z", // 创建时间
+ },
+ "spec": {
+ "title": "string", // 标题
+ "slug": "string", // 别名,通常用于生成 status.permalink
+ "releaseSnapshot": "string",
+ "headSnapshot": "string",
+ "baseSnapshot": "string",
+ "owner": "string", // 创建者名称,即 Contributor 的 metadata.name,非显示名称
+ "template": "string", // 自定义渲染模板
+ "cover": "string", // 封面图
+ "deleted": false,
+ "publish": false,
+ "publishTime": "2022-11-20T13:06:38.505Z", // 发布时间
+ "pinned": false, // 是否置顶
+ "allowComment": true, // 是否允许评论
+ "visible": "PUBLIC",
+ "priority": 0,
+ "excerpt": {
+ "autoGenerate": true, // 是否自动生成摘要
+ "raw": "string" // 摘要内容
+ },
+ "categories": [ // 分类的名称集合,即 Category 的 metadata.name 的集合
+ "string"
+ ],
+ "tags": [ // 标签的名称集合,即 Tag 的 metadata.name 的集合
+ "string"
+ ],
+ "htmlMetas": [
+ {
+ "additionalProp1": "string"
+ }
+ ]
+ },
+ "status": {
+ "permalink": "string", // 固定链接
+ "excerpt": "string", // 最终生成的摘要
+ "inProgress": true,
+ "commentsCount": 0, // 评论数
+ "contributors": [ // 贡献者名称,Contributor 的 metadata.name 的集合
+ "string"
+ ]
+ },
+ "categories": "List<#CategoryVo>", // 分类的集合
+ "tags": "List<#TagVo>", // 标签的集合
+ "contributors": "List<#Contributor>", // 贡献者的集合
+ "owner": "#Contributor", // 创建者
+ "stats": {
+ "visit": 0, // 访问数量
+ "upvote": 0, // 点赞数量
+ "comment": 0 // 评论数量
+ },
+ "content": "#ContentVo" // 内容
+}
+```
diff --git a/versioned_docs/version-2.0/developer-guide/theme/vo/ReplyVo.md b/versioned_docs/version-2.0/developer-guide/theme/vo/ReplyVo.md
new file mode 100644
index 0000000..3e2640a
--- /dev/null
+++ b/versioned_docs/version-2.0/developer-guide/theme/vo/ReplyVo.md
@@ -0,0 +1,42 @@
+```json title="ReplyVo"
+{
+ "metadata": {
+ "name": "string", // 唯一标识
+ "labels": {
+ "additionalProp1": "string"
+ },
+ "annotations": {
+ "additionalProp1": "string"
+ },
+ "creationTimestamp": "2022-11-20T12:25:32.357Z" // 创建时间
+ },
+ "spec": {
+ "raw": "string", // 原始文本,一般用于给编辑器使用
+ "content": "string", // 最终渲染的文本
+ "owner": { // 创建者关联
+ "kind": "string",
+ "name": "string",
+ "displayName": "string",
+ "annotations": {
+ "additionalProp1": "string"
+ }
+ },
+ "userAgent": "string", // 评论者 UserAgent 信息
+ "ipAddress": "string", // 评论者 IP 地址
+ "priority": 0, // 排序字段
+ "top": false, // 是否置顶
+ "allowNotification": true, // 是否允许通知
+ "approved": false,
+ "hidden": false,
+ "commentName": "string", // 被回复的评论名称,即 Comment 的 metadata.name
+ "quoteReply": "string" // 被回复的回复名称,即 Reply 的 metadata.name
+ },
+ "owner": { // 创建者信息
+ "kind": "string",
+ "name": "string",
+ "displayName": "string",
+ "avatar": "string",
+ "email": "string"
+ }
+}
+```
diff --git a/versioned_docs/version-2.0/developer-guide/theme/vo/SinglePageVo.md b/versioned_docs/version-2.0/developer-guide/theme/vo/SinglePageVo.md
new file mode 100644
index 0000000..3f27a22
--- /dev/null
+++ b/versioned_docs/version-2.0/developer-guide/theme/vo/SinglePageVo.md
@@ -0,0 +1,57 @@
+```json title="SinglePageVo"
+{
+ "metadata": {
+ "name": "string", // 唯一标识
+ "labels": {
+ "additionalProp1": "string"
+ },
+ "annotations": {
+ "additionalProp1": "string"
+ },
+ "creationTimestamp": "2022-11-20T14:29:44.601Z", // 创建时间
+ },
+ "spec": {
+ "title": "string", // 标题
+ "slug": "string", // 别名,通常用于生成 status.permalink
+ "releaseSnapshot": "string",
+ "headSnapshot": "string",
+ "baseSnapshot": "string",
+ "owner": "string", // 创建者名称,即 Contributor 的 metadata.name,非显示名称
+ "template": "string", // 自定义渲染模板
+ "cover": "string", // 封面图
+ "deleted": false,
+ "publish": false,
+ "publishTime": "2022-11-20T13:06:38.505Z", // 发布时间
+ "pinned": false, // 是否置顶
+ "allowComment": true, // 是否允许评论
+ "visible": "PUBLIC",
+ "priority": 0,
+ "excerpt": {
+ "autoGenerate": true, // 是否自动生成摘要
+ "raw": "string" // 摘要内容
+ },
+ "htmlMetas": [
+ {
+ "additionalProp1": "string"
+ }
+ ]
+ },
+ "status": {
+ "permalink": "string", // 固定链接
+ "excerpt": "string", // 最终生成的摘要
+ "inProgress": true,
+ "commentsCount": 0, // 评论数
+ "contributors": [ // 贡献者名称,Contributor 的 metadata.name 的集合
+ "string"
+ ]
+ },
+ "stats": {
+ "visit": 0, // 访问数量
+ "upvote": 0, // 点赞数量
+ "comment": 0 // 评论数量
+ },
+ "contributors": "List<#Contributor>", // 贡献者的集合
+ "owner": "#Contributor", // 创建者
+ "content": "#ContentVo" // 内容
+}
+```
diff --git a/versioned_docs/version-2.0/developer-guide/theme/vo/TagVo.md b/versioned_docs/version-2.0/developer-guide/theme/vo/TagVo.md
new file mode 100644
index 0000000..5bb2ead
--- /dev/null
+++ b/versioned_docs/version-2.0/developer-guide/theme/vo/TagVo.md
@@ -0,0 +1,26 @@
+```json title="TagVo"
+{
+ "metadata": {
+ "name": "string", // 唯一标识
+ "labels": {
+ "additionalProp1": "string"
+ },
+ "annotations": {
+ "additionalProp1": "string"
+ },
+ "creationTimestamp": "2022-11-20T13:06:38.512Z", // 创建时间
+ },
+ "spec": {
+ "displayName": "string", // 显示名称
+ "slug": "string", // 别名,通常用于生成 status.permalink
+ "color": "#F9fEB1", // 背景颜色
+ "cover": "string" // 封面图
+ },
+ "status": {
+ "permalink": "string", // 固定链接
+ "visiblePostCount": 0, // 已发布文章数
+ "postCount": 0 // 文章数
+ },
+ "postCount": 0
+}
+```