Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x | import type { Template } from 'nunjucks';
import type { SiteLinkManager } from '../html/SiteLinkManager.js';
import type { PluginManager } from '../plugins/PluginManager.js';
import { VariableProcessor } from '../variables/VariableProcessor.js';
import { LayoutManager } from '../Layout/index.js';
export interface PageAssets {
bootstrap: string;
externalScripts: string[];
fontAwesome?: string;
glyphicons?: string;
octicons?: string;
materialIcons?: string;
bootstrapIcons?: string;
highlightLight: string;
highlightDark: string;
markBindCss: string;
markBindJs: string;
pageNavCss: string;
siteNavCss: string;
bootstrapUtilityJs: string;
themeManagerJs: string;
codeThemeJs: string;
polyfillJs: string;
vue: string;
pageVueRenderJs?: string;
layoutUserScriptsAndStyles: string[];
pluginScripts?: string[];
pluginLinks?: string[];
pagefindCss?: string;
pagefindJs?: string;
pagefindLazyLoaderJs?: string;
}
/**
* A page configuration object used to construct a {@link Page}.
* Its properties will never be modified by {@link Page} itself.
*/
export class PageConfig {
/**
* Object of asset names as keys to their corresponding destination file paths / links.
*/
asset: PageAssets;
/**
* Set of urls of the root site and subsites' root directories.
*/
baseUrlMap: Set<string>;
dev: boolean;
faviconUrl?: string;
frontmatterOverride: { [frontmatterName: string]: string };
layout?: string;
layoutsAssetPath: string;
pluginManager: PluginManager;
/**
* The output path of this page
*/
resultPath: string;
rootPath: string;
searchable: boolean;
siteLinkManager: SiteLinkManager;
siteOutputPath: string;
/**
* The source file's (.md) file path for rendering this page
*/
sourcePath: string;
/**
* The source file's (.md) posix relative file path for rendering this page
*/
src: string;
title?: string;
/**
* The compiled Nunjucks template for the page wrapper (page.njk).
* This is used to generate the HTML version of the page, handling the global structure
* (html, head, body, scripts) wrapping the processed content.
*/
template: Template;
variableProcessor: VariableProcessor;
addressablePagesSource: string[];
layoutManager: LayoutManager;
constructor(args: {
asset: PageAssets;
baseUrlMap: Set<string>;
dev: boolean;
faviconUrl?: string;
frontmatterOverride?: { [frontmatterName: string]: string },
layout?: string,
layoutsAssetPath: string;
pluginManager: PluginManager,
resultPath: string;
rootPath: string;
searchable: boolean;
siteLinkManager: SiteLinkManager;
siteOutputPath: string;
sourcePath: string;
src: string;
title?: string;
template: Template;
variableProcessor: VariableProcessor;
addressablePagesSource: string[];
layoutManager: any;
}) {
this.asset = args.asset;
this.baseUrlMap = args.baseUrlMap;
this.dev = args.dev;
this.faviconUrl = args.faviconUrl;
this.frontmatterOverride = args.frontmatterOverride || {};
this.layout = args.layout;
this.layoutsAssetPath = args.layoutsAssetPath;
this.pluginManager = args.pluginManager;
this.resultPath = args.resultPath;
this.rootPath = args.rootPath;
this.searchable = args.searchable;
this.siteLinkManager = args.siteLinkManager;
this.siteOutputPath = args.siteOutputPath;
this.sourcePath = args.sourcePath;
this.src = args.src;
this.title = args.title;
this.template = args.template;
this.variableProcessor = args.variableProcessor;
this.addressablePagesSource = args.addressablePagesSource;
this.layoutManager = args.layoutManager;
}
}
|