feat(theme-classic): extensible code block magic comment system (#7178)

This commit is contained in:
Joshua Chen 2022-05-04 18:31:13 +08:00 committed by GitHub
parent 785fed723f
commit 51815c12c9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 692 additions and 161 deletions

View file

@ -44,6 +44,13 @@ export const DEFAULT_CONFIG = {
prism: {
additionalLanguages: [],
theme: defaultPrismTheme,
magicComments: [
{
className: 'theme-code-block-highlighted-line',
line: 'highlight-next-line',
block: {start: 'highlight-start', end: 'highlight-end'},
},
],
},
navbar: {
hideOnScroll: false,
@ -386,6 +393,18 @@ export const ThemeConfigSchema = Joi.object({
additionalLanguages: Joi.array()
.items(Joi.string())
.default(DEFAULT_CONFIG.prism.additionalLanguages),
magicComments: Joi.array()
.items(
Joi.object({
className: Joi.string().required(),
line: Joi.string(),
block: Joi.object({
start: Joi.string().required(),
end: Joi.string().required(),
}),
}).or('line', 'block'),
)
.default(DEFAULT_CONFIG.prism.magicComments),
})
.default(DEFAULT_CONFIG.prism)
.unknown(),