32 lines
825 B
JavaScript
32 lines
825 B
JavaScript
const EleventyVitePlugin = require('@11ty/eleventy-plugin-vite')
|
|
const { useDocument } = require('@terrace/js/document')
|
|
const { createFileReader } = require('@terrace/js/readers/node-readline')
|
|
const parsePage = require('./parser/page.js')
|
|
|
|
module.exports = function (config) {
|
|
config.addPlugin(EleventyVitePlugin)
|
|
|
|
config.addPassthroughCopy('src/public')
|
|
config.addPassthroughCopy('src/styles')
|
|
config.addPassthroughCopy('src/main.js')
|
|
|
|
config.addTemplateFormats('tce')
|
|
config.addExtension('tce', {
|
|
async compile(content) {
|
|
return async () => content
|
|
},
|
|
async getData(inputPath) {
|
|
const doc = useDocument(createFileReader(inputPath))
|
|
return await parsePage(doc)
|
|
}
|
|
})
|
|
|
|
return {
|
|
dir: {
|
|
input: 'src',
|
|
output: '_site'
|
|
},
|
|
passthroughFileCopy: true
|
|
}
|
|
}
|