chore: change print option, all defaults to true

userquin/feat-add-print-options
userquin 2 years ago
parent 420aabc237
commit 0519e94878

@ -6,12 +6,13 @@ export function useScreenOnly(entry: keyof DefaultTheme.PrintOptions) {
const { theme, frontmatter } = useData() const { theme, frontmatter } = useData()
// we have aside and outline in frontmatter, we will check for both for outline // we have aside and outline in frontmatter, we will check for both for outline
return computed(() => return computed(
entry === 'outline' () =>
? frontmatter.value.aside === false || frontmatter.value.outline === false (entry === 'outline'
: frontmatter.value[entry] === false || ? frontmatter.value.aside === false ||
theme.value.print === false || frontmatter.value.outline === false
(typeof theme.value.print === 'object' && : frontmatter.value[entry] === false) ||
theme.value.print[entry] === false) theme.value.print === false ||
theme.value.print![entry] === false
) )
} }

@ -225,18 +225,11 @@ export async function resolveSiteData(
const themeConfig = userConfig.themeConfig || {} const themeConfig = userConfig.themeConfig || {}
if (typeof themeConfig.print === 'boolean') { if (typeof themeConfig.print !== 'boolean') {
themeConfig.print = {
outline: themeConfig.print,
navbar: themeConfig.print,
sidebar: themeConfig.print,
footer: themeConfig.print
}
} else {
themeConfig.print ??= {} themeConfig.print ??= {}
themeConfig.print.outline ??= false themeConfig.print.outline ??= true
themeConfig.print.navbar ??= false themeConfig.print.navbar ??= true
themeConfig.print.sidebar ??= false themeConfig.print.sidebar ??= true
themeConfig.print.footer ??= true themeConfig.print.footer ??= true
} }

@ -151,13 +151,11 @@ export namespace DefaultTheme {
* *
* To exclude `outline`, `navbar`, `sidebar` and `footer` from being printed, configure `print: false`. * To exclude `outline`, `navbar`, `sidebar` and `footer` from being printed, configure `print: false`.
* *
* To print all of them, configure `print: true`.
*
* Frontmatter configuration will override the global configuration, for example, a page containing `navbar: false`, the navbar will not be printed. * Frontmatter configuration will override the global configuration, for example, a page containing `navbar: false`, the navbar will not be printed.
* *
* @default { outline: false, navbar: false, sidebar: false, footer: true } * @default { outline: true, navbar: true, sidebar: true, footer: true }
*/ */
print?: boolean | PrintOptions print?: false | PrintOptions
} }
// nav ----------------------------------------------------------------------- // nav -----------------------------------------------------------------------
@ -494,19 +492,19 @@ export namespace DefaultTheme {
/** /**
* Should the outline be printed? * Should the outline be printed?
* *
* @default false * @default true
*/ */
outline?: boolean outline?: boolean
/** /**
* Should the navbar be printed? * Should the navbar be printed?
* *
* @default false * @default true
*/ */
navbar?: boolean navbar?: boolean
/** /**
* Should the sidebar be printed? * Should the sidebar be printed?
* *
* @default false * @default true
*/ */
sidebar?: boolean sidebar?: boolean
/** /**

Loading…
Cancel
Save