Files
www_threefold_io/gridsome.config.js
2022-01-20 17:11:45 +02:00

806 lines
22 KiB
JavaScript

// This is where project configuration and plugin options are located.
// Learn more: https://gridsome.org/docs/config
// Changes here require a server restart.
// To restart press CTRL + C in terminal and run `gridsome develop`
module.exports = {
siteName: 'ThreeFold',
siteUrl: 'https://threefold.io',
pathPrefix: "threefold",
plugins: [
// Local models
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Contact',
path: './content/page/**/contactData/**/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Header',
path: './content/page/**/header/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Header2',
path: './content/page/**/header2/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Header3',
path: './content/page/**/header3/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Header4',
path: './content/page/**/header4/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Product',
path: './content/page/**/productData/**/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'ProductMain',
path: './content/page/**/productData/main/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'FeaturesMain2',
path: './content/page/**/features2/main/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Features2',
path: './content/page/**/features2/**/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'LogosMain',
path: './content/page/**/logos/main/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Logo',
path: './content/page/**/logos/**/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Cta',
path: './content/page/**/cta/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Cta2',
path: './content/page/**/cta2/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Cta3',
path: './content/page/**/cta3/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Cta4',
path: './content/page/**/cta4/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Cta5',
path: './content/page/**/cta5/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'ComparisonMain',
path: './content/page/**/comparison/main/main.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Comparison',
path: './content/page/**/comparison/**/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'BrandPanel',
path: './content/page/**/brandPanel/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'footersMain',
path: './content/page/**/footers/main/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'footers',
path: './content/page/**/footers/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'BrandPanel2',
path: './content/page/**/brandPanel2/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'BrandPanel3',
path: './content/page/**/brandPanel3/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'BrandPanel4',
path: './content/page/**/brandPanel4/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'InTheNews',
path: './content/page/**/InTheNews/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'PartenershipsMain',
path: './content/page/**/partenerships/main/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Partenerships',
path: './content/page/**/partenerships/**/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'VideoPanel',
path: './content/page/**/videoPanel/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Stats',
path: './content/page/**/stats/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Blogs',
path: './content/page/**/blogs/**/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'BlogsMain',
path: './content/page/**/blogs/main/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'FAQMain',
path: './content/page/**/faq/main/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'FAQContent',
path: './content/page/**/faq/**/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Jobs',
path: './content/page/careers/jobs/**/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Info',
path: './content/page/tech/info/**/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Dev',
path: './content/page/developer/dev/**/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'JobsMain',
path: './content/page/**/jobs/main/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'CustomCTA',
path: './content/page/**/customCTA/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'PageHeader',
path: './content/page/**/pageHeader/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Card',
path: './content/page/**/card/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Carousel',
path: './content/page/**/carousel/**/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'CarouselMain',
path: './content/page/**/carousel/main/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'TftUsesMain',
path: './content/page/**/tftUses/main/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'TftUses',
path: './content/page/**/tftUses/**/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'FarmingProcessMain',
path: './content/page/**/farmingProcess/main/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'FarmingProcess',
path: './content/page/**/farmingProcess/**/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'CultivationProcessMain',
path: './content/page/**/cultivationProcess/main/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'CultivationProcess',
path: './content/page/**/cultivationProcess/**/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Map',
path: './content/page/**/map/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Roadmap',
path: './content/page/**/roadmap/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'MarketInfoMain',
path: './content/page/**/marketInfo/main/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'MarketInfo',
path: './content/page/**/marketInfo/**/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'MainItem',
path: './content/page/**/marketInfo/mainItem/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'AboutTft',
path: './content/page/**/aboutTft/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'NetworkMain',
path: './content/page/**/openNetwork/main/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Network',
path: './content/page/**/openNetwork/**/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Subscribe',
path: './content/page/**/subscribe/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Team',
path: './content/page/**/team/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'ConversationsMain',
path: './content/page/**/upTalks/main/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Conversations',
path: './content/page/**/upTalks/**/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'WorkloadsMain',
path: './content/page/**/workloads/main/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Workloads',
path: './content/page/**/workloads/**/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'MarkdownPage',
path: './content/page/*/*.md',
refs: {
contactData: 'Contact',
header: 'Header',
header2: 'Header2',
header3: 'Header3',
header4: 'Header4',
productsMain: 'ProductMain',
productData: 'Product',
featuresMain2: 'FeaturesMain2',
features2: 'Features2',
logos: 'Logo',
logosMain: 'LogosMain',
cta: 'Cta',
cta2: 'Cta2',
cta3: 'Cta3',
cta4: 'Cta4',
cta5: 'Cta5',
footers: 'footers',
footersMain: 'footersMain',
comparisonMain: 'ComparisonMain',
comparisonSecs: 'Comparison',
jobsMain: 'JobsMain',
inTheNews: 'InTheNews',
brandPanel: 'BrandPanel',
brandPanel2: 'BrandPanel2',
brandPanel3: 'BrandPanel3',
brandPanel4: 'BrandPanel4',
partenershipsMain: 'PartenershipsMain',
partnerships: 'Partenerships',
stats: 'Stats',
videoPanel: 'VideoPanel',
blogs: 'Blogs',
BlogsMain: "BlogsMain",
faqMain: 'FAQMain',
faqContent: 'FAQContent',
jobs: 'Jobs',
customCTA: 'CustomCTA',
pageHeader: 'PageHeader',
card: 'Card',
carousel: 'Carousel',
sliderMain: 'CarouselMain',
useTftMain: 'TftUsesMain',
tftUses: 'TftUses',
farmingMain: 'FarmingProcessMain',
farmingProcess: 'FarmingProcess',
cultivationMain: 'CultivationProcessMain',
cultivationProcess: 'CultivationProcess',
map: 'Map',
roadmap: 'Roadmap',
marketInfoMain: 'MarketInfoMain',
marketInfo: 'MarketInfo',
mainItem: 'MainItem',
tft: 'AboutTft',
networkMain: 'NetworkMain',
network: 'Network',
subscribe: 'Subscribe',
team: 'Team',
info: 'Info',
dev: 'Dev',
conversationsMain: 'ConversationsMain',
conversations: 'Conversations',
workloadsMain: 'WorkloadsMain',
workloads: 'Workloads',
}
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Navigation',
path: './content/navigation/navigation.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Footer',
path: './content/footer/footer.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Person',
path: './content/person/**/*.md',
refs: {
tags: {
typeName: 'PersonTag',
create: true
},
memberships: {
typeName: 'Membership',
create: true
},
projects: 'Project'
},
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Job',
path: './content/page/careers/job/**/*.md',
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Blog',
path: './content/blog/**/*.md',
templates: {
BlogPost: '/blog/post/:id'
},
refs: {
authors: 'Person',
tags: {
typeName: 'BlogTag',
create: true
},
category: {
typeName: 'BlogCategory',
create: true
}
}
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'News',
path: './content/news/**/*.md',
refs: {
authors: 'Person',
tags: {
typeName: 'NewsTag',
create: true
},
category: {
typeName: 'NewsCategory',
create: true
}
}
}
},
{
use: '@gridsome/source-filesystem',
options: {
typeName: 'Project',
path: './content/project/**/*.md',
refs: {
authors: 'Person',
members: 'Person',
tags: {
typeName: 'ProjectTag',
create: true
}
}
}
},
// Tailwind
{
use: 'gridsome-plugin-tailwindcss',
options: {
tailwindConfig: './tailwind.config.js',
purgeConfig: {
whitelist: ['svg-inline--fa', 'table', 'table-striped', 'table-bordered', 'table-hover', 'table-sm'],
whitelistPatterns: [/fa-$/, /blockquote$/, /code$/, /pre$/, /table$/, /table-$/]
},
presetEnvConfig: {},
shouldPurge: false,
shouldImport: true,
shouldTimeTravel: true,
shouldPurgeUnusedKeyframes: true,
}
},
{
use: 'gridsome-plugin-matomo',
options: {
host: 'https://analytics.threefold.io',
siteId: 5
}
}
],
chainWebpack: config => {
config.resolve.alias.set('@images', '@/assets/images')
},
templates: {
MarkdownPage: [{
path: '/:id',
component: '~/templates/MarkdownPage.vue',
}],
BlogTag: [{
path: '/blog/tags/:id',
component: '~/templates/Tag.vue'
}],
NewsTag: [{
path: '/news/tags/:id',
component: '~/templates/Tag.vue'
}],
ProjectTag: [{
path: '/partners/tags/:id',
component: '~/templates/Tag.vue'
}],
Membership: [{
path: '/people/memberships/:id',
component: '~/templates/Membership.vue'
}],
Blog: [{
path: '/blog/post/:id',
component: '~/templates/BlogPost.vue'
}],
News: [{
path: '/news/post/:id',
component: '~/templates/NewsPost.vue'
}],
Person: [{
path: '/people/:id',
component: '~/templates/Person.vue'
}],
PersonTag: [{
path: '/people/tags/:id',
component: '~/templates/Tag.vue'
}],
Project: [{
path: '/partners/:id',
component: '~/templates/Project.vue'
}],
Job: [{
path: '/careers/:id',
component: '~/templates/Job.vue'
}],
Info: [{
path: '/tech/:id',
component: '~/templates/Info.vue'
}],
Dev: [{
path: '/developer/:id',
component: '~/templates/Dev.vue'
}],
},
transformers: {
//Add markdown support to all file-system sources
remark: {
externalLinksTarget: '_blank',
externalLinksRel: ['nofollow', 'noopener', 'noreferrer'],
anchorClassName: 'icon icon-link',
pathPrefix: "threefold",
plugins: [
['gridsome-plugin-remark-prismjs-all', {
highlightClassName: "gridsome-highlight",
codeTitleClassName: "gridsome-code-title",
classPrefix: 'language-',
aliases: {},
noInlineHighlight: false,
showLineNumbers: false, // `require("prismjs/plugins/line-numbers/prism-line-numbers.css");`
languageExtensions: [],
prompt: { // `require("prismjs/plugins/command-line/prism-command-line.css");`
user: `root`,
host: `localhost`,
global: false,
}
},
// '@noxify/gridsome-remark-table-align', ['@noxify/gridsome-remark-classes', {
// 'table': 'table table-striped',
// 'tableCell[align=center]': 'text-center',
// 'tableCell[align=right]': 'text-right'
// }
]
]
}
}
}