Confluence source for Gridsome
npm install gridsome-source-confluence> Confluence source for Gridsome.
- gridsome-source-confluence
- Install
- Usage
- Options
- Creating pages
bash
yarn add gridsome-source-confluence
`
npm:
`bash
npm install gridsome-source-confluence
`Usage
gridsome.config.js
`js
module.exports = {
plugins: [
{
use: 'gridsome-source-confluence',
options: {
base_url: "https://example.atlassian.net",
space_key: "AS",
debug: true,
public_only: true,
retry_request: true
download_images: true
}
}
],
}
`Options
| Option | Explanation | Default | Example | Required |
|-|-|-|-|-|
|
base_url | The base URL of your Confluence instance | - | https://example.atlassian.net | |
| space_key | Force spaceKey(s) comma separated | - | "AX,BG" | |
| public_only | Only retrieve public confluence pages | false | false | |
| prefix | Prefix of all types | Confluence | false | |
| download_images | Download images and replace img url | false | true | |
| username | Username for the private confluence page | - | johndoe@atlassian.net | required if public_only is false|
| password | Password for the private confluence page | - | supersecretpassword | required if public_only is false|
| retry_request | Retry failed request | false | true | |
| debug | Show debug information | false | true | |
Creating pages
You can automaticly create pages based on the Confluence data.
gridsome.server.js
`js
module.exports = function (api) {
api.createPages(async ({ graphql, createPage }) => {
const { data } = await graphql({) data.allConfluenceParent.edges.forEach(({ node }) => {
createPage({
path:
${node.slug},
component: './src/templates/ConfluenceBody.vue',
context: {
body: node.body,
title: node.title
}
})
}) data.allConfluenceChild.edges.forEach(({ node }) => {
createPage({
path:
${node.slug},
component: './src/templates/ConfluenceBody.vue',
context: {
body: node.body,
title: node.title
}
})
})
})
}
`src/templates/ConfluenceBody.vue
`html
{{ $context.title }}
``