// 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: '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' } } }, { 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' // } ] ] } } }