跳转到内容

渲染器 API

Lunaria 支持将内容插入和覆盖到您生成的仪表板中。本参考文档涵盖了所有可用的渲染器选项。

renderer.config.ts
import { defineRendererConfig } from '@lunariajs/core';
export default defineRendererConfig({
// 您的配置选项放在这里...
});

组件

Lunaria 内置了 html 标签模板字面量,以提供更佳的组件编写体验。

renderer.config.ts
import { defineRendererConfig, html } from '@lunariajs/core';
export default defineRendererConfig({
slots: {
afterTitle: () => html`<p>这是一个示例组件!</p>`,
},
});

通过 lit-html VSCode 插件vim-jsx-pretty 插件,可获得语法高亮和语言支持。

顶级选项

slots

类型:Slots

export default defineRendererConfig({
slots: {
head: (config) => html`<meta name="robots" content="noindex" />`,
beforeTitle: (config) => html`<p>示例组件</p>`,
afterTitle: (config) => html`<p>示例组件</p>`,
afterStatusByLocale: (config) => html`<p>示例组件</p>`,
afterStatusByFile: (config) => html`<p>示例组件</p>`,
},
});

Slots

type Slots = {
head?: (config: LunariaConfig) => string;
beforeTitle?: (config: LunariaConfig) => string;
afterTitle?: (config: LunariaConfig) => string;
afterStatusByLocale?: (config: LunariaConfig) => string;
afterStatusByFile?: (config: LunariaConfig) => string;
};

overrides

类型:Overrides

export default defineRendererConfig({
overrides: {
meta: (config) => html`<meta name="robots" content="noindex" />`,
body: (config, status) => html`<main>示例组件</main>`,
statusByLocale: (config, status) => html`<p>示例组件</p>`,
statusByFile: (config, status) => html`<p>示例组件</p>`,
},
});

Overrides

type Overrides = {
meta?: (config: LunariaConfig) => string;
body?: (config: LunariaConfig, status: LocalizationStatus[]) => string;
statusByLocale?: (config: LunariaConfig, status: LocalizationStatus[]) => string;
statusByFile?: (config: LunariaConfig, status: LocalizationStatus[]) => string;
};