chore: Remove old patternDocs script. Closes #3962
This commit is contained in:
parent
38f6487a8d
commit
48a11227fe
1 changed files with 0 additions and 138 deletions
|
@ -1,138 +0,0 @@
|
||||||
const fs = require('fs')
|
|
||||||
const path = require('path')
|
|
||||||
const core = require('../packages/core/dist')
|
|
||||||
const theme = require('../plugins/plugin-theme/dist')
|
|
||||||
const pi = require('../packages/pattern-info/dist')
|
|
||||||
const models = require('../packages/models/dist')
|
|
||||||
const wb32 = models.withBreasts.size32
|
|
||||||
const i18n = require('../packages/i18n/dist')
|
|
||||||
let { capitalize } = require('../packages/core/src/utils.mjs')
|
|
||||||
|
|
||||||
const missing = []
|
|
||||||
const lacking = []
|
|
||||||
const extra = []
|
|
||||||
const file = 'en.md'
|
|
||||||
const subpages = ['cutting', 'fabric', 'instructions', 'options', 'measurements', 'needs']
|
|
||||||
|
|
||||||
const patternDocsPage = (pattern) => `---
|
|
||||||
title: "Fixme"
|
|
||||||
---
|
|
||||||
|
|
||||||
<PatternDocs pattern='${pattern}' />
|
|
||||||
|
|
||||||
`
|
|
||||||
const fixme = `---
|
|
||||||
title: "Fixme"
|
|
||||||
---
|
|
||||||
|
|
||||||
<Fixme>
|
|
||||||
|
|
||||||
This documentation page is yet to be written.
|
|
||||||
|
|
||||||
Sorry for the inconvenience.
|
|
||||||
|
|
||||||
</Fixme>
|
|
||||||
`
|
|
||||||
|
|
||||||
const component = (comp, pattern) => `---
|
|
||||||
title: "Fixme"
|
|
||||||
---
|
|
||||||
|
|
||||||
<Pattern${capitalize(comp)} pattern='${pattern}' />
|
|
||||||
|
|
||||||
`
|
|
||||||
|
|
||||||
const patternDocsSubPage = (pattern, sub) => {
|
|
||||||
switch (sub) {
|
|
||||||
case 'measurements':
|
|
||||||
case 'options':
|
|
||||||
return component(sub, pattern)
|
|
||||||
break
|
|
||||||
default:
|
|
||||||
return fixme
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const optionDocsPage = (pattern, option) =>
|
|
||||||
`---
|
|
||||||
title: ` +
|
|
||||||
i18n.strings.en[`options.${pattern}.${option}.title`] +
|
|
||||||
'\n---\n\n' +
|
|
||||||
i18n.strings.en[`options.${pattern}.${option}.description`] +
|
|
||||||
'\n'
|
|
||||||
|
|
||||||
const present = (folder) => {
|
|
||||||
try {
|
|
||||||
if (fs.readFileSync(path.join(folder, file))) return true
|
|
||||||
} catch (err) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
const getSubFolders = (folder) =>
|
|
||||||
fs
|
|
||||||
.readdirSync(folder, { withFileTypes: true })
|
|
||||||
.filter((dirent) => dirent.isDirectory())
|
|
||||||
.map((dirent) => dirent.name)
|
|
||||||
|
|
||||||
const checkOptionDocs = () => {
|
|
||||||
const steps = ['markdown', 'org', 'docs', 'patterns']
|
|
||||||
for (const pattern of pi.list) {
|
|
||||||
// Index page
|
|
||||||
const folder = path.join(...steps, pattern)
|
|
||||||
const subFolders = getSubFolders(folder)
|
|
||||||
for (const page of subpages) {
|
|
||||||
if (subFolders.indexOf(page) === -1) lacking.push(path.join(folder, page))
|
|
||||||
}
|
|
||||||
for (const sub of subFolders) {
|
|
||||||
if (subpages.indexOf(sub) === -1) extra.push(path.join(folder, sub))
|
|
||||||
}
|
|
||||||
if (!present(folder)) {
|
|
||||||
fs.mkdirSync(folder, { recursive: true })
|
|
||||||
fs.writeFileSync(path.join(folder, file), patternDocsPage(pattern))
|
|
||||||
}
|
|
||||||
// Sub pages
|
|
||||||
for (const sub of subpages) {
|
|
||||||
const folder = path.join(...steps, pattern, sub)
|
|
||||||
if (!present(folder)) {
|
|
||||||
fs.mkdirSync(folder, { recursive: true })
|
|
||||||
fs.writeFileSync(path.join(folder, file), patternDocsSubPage(pattern, sub))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Options
|
|
||||||
let optionFolders = getSubFolders(path.join(...steps, pattern, 'options'))
|
|
||||||
for (const option of pi.options[pattern]) {
|
|
||||||
// Remove this from the folder list
|
|
||||||
const i = optionFolders.indexOf(option.toLowerCase())
|
|
||||||
optionFolders.splice(i, 1)
|
|
||||||
const folder = path.join(...steps, pattern, 'options', option.toLowerCase())
|
|
||||||
if (!present(folder)) {
|
|
||||||
missing.push(path.join(folder, file))
|
|
||||||
fs.mkdirSync(folder, { recursive: true })
|
|
||||||
fs.writeFileSync(path.join(folder, file), optionDocsPage(pattern, option))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Now check for extra folders
|
|
||||||
for (const subfolder of optionFolders) {
|
|
||||||
extra.push(path.join(...steps, pattern, 'options', subfolder))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (missing.length < 1 && extra.length < 1 && lacking.length < 1) {
|
|
||||||
console.log('\n 🎉 Everything looks fine 😀\n')
|
|
||||||
} else {
|
|
||||||
if (missing.length > 0) {
|
|
||||||
console.log('\n', 'Added documenation pages for the following options:', '\n\n')
|
|
||||||
for (const line of missing) console.log(line)
|
|
||||||
}
|
|
||||||
if (extra.length > 0) {
|
|
||||||
console.log('\n', 'Found extra folders that should not be there:', '\n\n')
|
|
||||||
for (const line of extra) console.log(line)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
checkOptionDocs()
|
|
Loading…
Add table
Add a link
Reference in a new issue