72 lines
2 KiB
Text
72 lines
2 KiB
Text
// Designs
|
|
{{{ designImports }}}
|
|
// Translations
|
|
import { i18n as translations } from './i18n.mjs'
|
|
// Examples
|
|
import { designExampleIds, designExampleHrefs } from './examples.mjs'
|
|
|
|
/*
|
|
* Export the designs themselves
|
|
*/
|
|
export const designs = {
|
|
{{ designList }}
|
|
}
|
|
|
|
/*
|
|
* Export a list of names that make up the FreeSewing collection
|
|
*/
|
|
export const collection = Object.keys(designs)
|
|
|
|
/*
|
|
* Create various helper exports to get info about the collection
|
|
*/
|
|
export const requiredMeasurements = {}
|
|
export const optionalMeasurements = {}
|
|
export const measurements = {}
|
|
export const about = {}
|
|
|
|
const _tags = new Set()
|
|
const _techniques = new Set()
|
|
const _devs = new Set()
|
|
const _dess = new Set()
|
|
|
|
for (const design in designs) {
|
|
requiredMeasurements[design] = designs[design].patternConfig.measurements
|
|
optionalMeasurements[design] = designs[design].patternConfig.optionalMeasurements
|
|
measurements[design] = [
|
|
...designs[design].patternConfig.measurements,
|
|
...designs[design].patternConfig.optionalMeasurements,
|
|
]
|
|
about[design] = { ...designs[design].designConfig.data }
|
|
if (about[design].tags) _tags.add(...about[design].tags)
|
|
if (about[design].techniques) _techniques.add(...about[design].techniques)
|
|
if (Array.isArray(about[design].code)) _devs.add(...about[design].code)
|
|
else _devs.add(about[design].code)
|
|
if (Array.isArray(about[design].design)) _dess.add(...about[design].design)
|
|
else _dess.add(about[design].design)
|
|
}
|
|
export const tags = Array.from(_tags)
|
|
.filter((t) => (t ? true : false))
|
|
.sort()
|
|
export const techniques = Array.from(_techniques)
|
|
.filter((t) => (t ? true : false))
|
|
.sort()
|
|
export const developers = Array.from(_devs)
|
|
.filter((t) => (t ? true : false))
|
|
.sort()
|
|
export const designers = Array.from(_dess)
|
|
.filter((t) => (t ? true : false))
|
|
.sort()
|
|
|
|
/*
|
|
* Export the translations
|
|
*/
|
|
export const i18n = translations
|
|
|
|
/*
|
|
* These are examples
|
|
*/
|
|
export const examples = {
|
|
id: designExampleIds,
|
|
href: designExampleHrefs,
|
|
}
|