@techberg/gatsby-source-yuque
v0.3.3
Published
Gatsby source plugin for pulling docs from Yuque
Maintainers
Readme
Gatsby source yuque
This plugins is used to fetch yuque documents into gatsby.
Installation
Install the repo
yarn add @techberg/gatsby-source-yuque
Look for the namespace you want to pull. Read this to find out how to get your namespace
plugins: [
{
resolve: 'gatsby-source-yuque',
options: {
token: '<YOUR TOKEN>',
namespace: '<YOUR NAMESPACE>',
timeout: 20000 // Optional: default for request timeout is 20000
}
}
]How to query
Yuque Documents
{
allYuqueDoc {
edges {
node {
id
last_editor {
id
}
custom_description
yuqueId
book {
id
}
}
}
}
}Yuque Documents Detail
{
allYuqueDocDetail {
edges {
node {
id
_serializer
body
...
creator {
id
avatar_url
name
...
}
book {
id
name
...
}
}
}
}
}Support remark
The plugin is work compatible with gatsby-transformer-remark. By adding it into you project, a MarkdownRemark node will be automatically created under each of the yuqueDocDetail node.
Example
// gatsby-config.js
plugins: [
{
resolve: 'gatsby-source-yuque',
options: {
token: '<YOUR TOKEN>',
namespace: '<YOUR NAMESPACE>',
timeout: 20000 // Optional: default for request timeout is 20000
}
},
{
resolve: `gatsby-transformer-remark`,
options: {
// Footnotes mode (default: true)
footnotes: true,
// GitHub Flavored Markdown mode (default: true)
gfm: true,
// Plugins configs
plugins: [`gatsby-remark-images`] // Add this plugin if want to lazy load the image
}
]Then you can get the markdown
query MyQuery {
allYuqueDocDetail {
edges {
node {
childMarkdownRemark {
html
id
timeToRead
}
}
}
}
}
Package tested
The plugin is not guaranteed to work in the future if gatsby-transformer-remark introduce breaking changes. Revert to the version shown below in case the latest is not working.
| Packages | Version | | ------------------------- | ------- | | gatsby-remark-images | ^5.2.1 | | gatsby-transformer-remark | ^4.2.0 | | gatsby-remark-copy-linked-files | ^4.2.1 |
FAQ
Connection Timeout
If you face ConnectionTimeoutError: Connect timeout for 1000ms... problem,
try to extend the timeout.
