AbdulElahGwaith's picture
Upload folder using huggingface_hub
88df9e4 verified
import { schema } from '@/frame/lib/frontmatter'
// Some learning tracks have `versions` blocks that match `versions` frontmatter,
// so we can import that part of the FM schema.
const versionsProps = Object.assign({}, (schema.properties as any).versions)
// `versions` are not required in learning tracks the way they are in FM.
delete versionsProps.required
export default {
type: 'object',
additionalProperties: false,
patternProperties: {
'^[a-zA-Z-_]+$': {
type: 'object',
required: ['title', 'description', 'guides'],
additionalProperties: false,
properties: {
title: {
type: 'string',
lintable: true,
},
description: {
type: 'string',
lintable: true,
},
guides: {
type: 'array',
items: {
type: 'string',
// matches Liquid tags and URLs with trailing backslash
// if this regex becomes problematic, we can remove it
pattern: '^(\\{%.*%\\})?\\s*(\\/((\\w|-|\\.))+)+\\s*(\\{%.*%\\})?$',
},
},
versions: versionsProps,
},
},
},
}