generated from lumeland/theme-boilerplate
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathplugins.ts
More file actions
41 lines (36 loc) · 1.01 KB
/
plugins.ts
File metadata and controls
41 lines (36 loc) · 1.01 KB
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
import lightningcss from "lume/plugins/lightningcss.ts";
import { merge } from "lume/core/utils/object.ts";
import epub, { type Options as EpubOptions } from "lume/plugins/epub.ts";
import nav from "lume/plugins/nav.ts";
import extractOrder from "lume/plugins/extract_order.ts";
import footnotes from "https://cdn.jsdelivr.net/gh/lumeland/[email protected]/footnotes.ts";
import "lume/types.ts";
export interface Options {
epub?: Partial<EpubOptions>;
}
export const defaults: Options = {
epub: {
outputUncompressed: true,
metadata: {
title: "Title of the book",
cover: "/img/cover.jpg",
},
},
};
/** Configure the site */
export default function (userOptions?: Options) {
const options = merge(defaults, userOptions);
return (site: Lume.Site) => {
site
.use(lightningcss())
.use(nav())
.use(extractOrder())
.use(footnotes({
referenceAttrs: {
"epub:type": "noteref",
},
}))
.use(epub(options.epub))
.add("/");
};
}