Files
Wiki/build.js
T

410 lines
11 KiB
JavaScript

an class="o">=/\[\[([^\]]+\.canvas.+)\]\]/g
const fs = require('fs')
const path = require('path')
const matter = require('gray-matter')
const { convertCanvasToSVG, sanitizeName, sanitizeAssetname } = require('./convert-canvas-to-svg.js')
/* arguments:
all
vuepress
index
canvas
convert
attachments
sitemap
*/
// settings
const debug = process.env.DEBUG == 'true'
const ignoreFiles = ['_navbar.md', '_sidbar.md']
const scheme = 'https://'
const hostname = 'wiki.mint-system.ch'
const basePath = '/'
const embededContent = /!\[\[([^\]]*)\]\]/g
const wikiLink = /\[\[([^\]]*)\]\]/g
const obsidianBases = /\[\[([^\]]+)\.base\]\]/g
function loopMdFiles() {
return fs
.readdirSync(__dirname)
.filter(
(file) => path.extname(file) === '.md' && ignoreFiles.indexOf(file) != 0
)
}
const groupBy =
(key, sort = false) =>
(array) => {
const grouped = array.reduce((objectsByKeyValue, obj) => {
const value = obj[key]
objectsByKeyValue[value] = (objectsByKeyValue[value] || []).concat(obj)
return objectsByKeyValue
}, {})
if (sort) {
return Object.keys(