Gridsome source-filesystem 添加标签说明
Gridsome source-filesystem add tag description
我正在使用 @gridsome/source-filesystem
这个配置:
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Post',
path: 'content/posts/**/*.md',
refs: {
tags: {
typeName: 'Tag',
create: true
},
author: {
typeName: 'Author',
create: true
}
}
},
}
现在我只想为一个标签添加 description
,所以我在 content/posts/my-tag.md
:
中创建了一个新文档
---
title: Tag-Title
description:tag description
---
如何将此文档连接到 allTags
集合?
或任何其他方式(例如 Tags
没有 @gridsome/source-filesystem
),将 description
添加到 collection
中存在的 node
?
如果您只想添加 allTags
,您可以为其创建 markdown。
在gridsome.config.js
...
{
use: '@gridsome/source-filesystem',
options: {
path: 'content/tags/**/*.md',
typeName: 'Tag'
},
}
...
添加文件content/tags/my-tag.md
---
title: Tag-Title
description: tag description
---
你可以探索
{
allTag {
edges {
node {
id
title
description
}
}
}
}
{
"data": {
"allTag": {
"edges": [
{
"node": {
"id": "******", // random hash
"title": "Tag-Title",
"description": "tag description"
}
},
{
"node": {
"id": "foo",
"title": "foo",
"description": ""
}
},
...
但是,这无法连接到您的 Post
。
或者只是在Tag
中添加了说明,可以使用addSchemaResolvers
。
在 gridsome.server.js
module.exports = function(api) {
api.loadSource(async ({ addSchemaResolvers }) => {
addSchemaResolvers({
Tag: {
description: {
type: "String",
resolve(obj) {
if (!obj.description) {
// coding your logic
return "set description";
} else {
return obj.description;
}
}
}
}
});
});
};
我正在使用 @gridsome/source-filesystem
这个配置:
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Post',
path: 'content/posts/**/*.md',
refs: {
tags: {
typeName: 'Tag',
create: true
},
author: {
typeName: 'Author',
create: true
}
}
},
}
现在我只想为一个标签添加 description
,所以我在 content/posts/my-tag.md
:
---
title: Tag-Title
description:tag description
---
如何将此文档连接到 allTags
集合?
或任何其他方式(例如 Tags
没有 @gridsome/source-filesystem
),将 description
添加到 collection
中存在的 node
?
如果您只想添加 allTags
,您可以为其创建 markdown。
在gridsome.config.js
...
{
use: '@gridsome/source-filesystem',
options: {
path: 'content/tags/**/*.md',
typeName: 'Tag'
},
}
...
添加文件content/tags/my-tag.md
---
title: Tag-Title
description: tag description
---
你可以探索
{
allTag {
edges {
node {
id
title
description
}
}
}
}
{
"data": {
"allTag": {
"edges": [
{
"node": {
"id": "******", // random hash
"title": "Tag-Title",
"description": "tag description"
}
},
{
"node": {
"id": "foo",
"title": "foo",
"description": ""
}
},
...
但是,这无法连接到您的 Post
。
或者只是在Tag
中添加了说明,可以使用addSchemaResolvers
。
在 gridsome.server.js
module.exports = function(api) {
api.loadSource(async ({ addSchemaResolvers }) => {
addSchemaResolvers({
Tag: {
description: {
type: "String",
resolve(obj) {
if (!obj.description) {
// coding your logic
return "set description";
} else {
return obj.description;
}
}
}
}
});
});
};