Skip to content

Commit 2ad08e7

Browse files
committed
feat: upgrade to Lume v3.3.0
Signed-off-by: Xe Iaso <me@xeiaso.net>
1 parent 51dfbc3 commit 2ad08e7

9 files changed

Lines changed: 451 additions & 295 deletions

File tree

deno.lock

Lines changed: 44 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lume/_config.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import lume from "lume/mod.ts";
2-
import jsx_preact from "lume/plugins/jsx_preact.ts";
2+
import jsx from "lume/plugins/jsx.ts";
33
import attributes from "lume/plugins/attributes.ts";
44
import nunjucks from "lume/plugins/nunjucks.ts";
55
import date from "lume/plugins/date.ts";
@@ -17,8 +17,6 @@ import podcast_feed from "./plugins/podcast_feed.ts";
1717
//import pagefind from "lume/plugins/pagefind.ts";
1818
//import _ from "npm:@pagefind/linux-x64";
1919

20-
import tailwindOptions from "./tailwind.config.js";
21-
2220
import BlockQuote from "./src/_components/BlockQuote.jsx";
2321
import ChatFrame from "./src/_components/ChatFrame.jsx";
2422
import ChatBubble from "./src/_components/ChatBubble.jsx";
@@ -37,7 +35,7 @@ import XeblogSticker from "./src/_components/XeblogSticker.tsx";
3735
import XeblogToot from "./src/_components/XeblogToot.tsx";
3836
import XeblogVideo from "./src/_components/XeblogVideo.tsx";
3937

40-
import rehypePrism from "npm:rehype-prism-plus/all";
38+
import rehypePrism from "npm:rehype-prism-plus@2.0.2/all";
4139

4240
const site = lume({
4341
src: "./src",
@@ -46,17 +44,22 @@ const site = lume({
4644

4745
site.copy("static");
4846
site.copy("favicon.ico");
49-
site.copy("static/font/inter/inter.css");
50-
site.copy("static/img");
51-
site.copy("src/static", "static");
47+
site.copy("robots.txt");
48+
49+
// Assets that need processing (Lume 3 no longer picks these up implicitly).
50+
site.add("styles.css");
51+
site.add("sw.js");
52+
site.add("js");
5253

5354
site.data("getYear", () => {
5455
return new Date().getFullYear();
5556
});
5657

5758

5859
site.use(nunjucks());
59-
site.use(jsx_preact());
60+
// Lume 3 defaults JSX pages to a ".page.jsx" sub-extension. This site names
61+
// its pages "foo.jsx", so turn the sub-extension off.
62+
site.use(jsx({ pageSubExtension: "" }));
6063
site.use(attributes());
6164
site.use(date({
6265
formats: {
@@ -151,10 +154,7 @@ site.use(mdx({
151154
rehypePrism,
152155
],
153156
}));
154-
site.use(tailwindcss({
155-
extensions: [".mdx", ".jsx", ".tsx", ".md", ".html", ".njx"],
156-
options: tailwindOptions,
157-
}));
157+
site.use(tailwindcss());
158158
site.use(postcss());
159159
site.use(sitemap({
160160
query: "index=true",

lume/deno.json

Lines changed: 57 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,65 @@
11
{
2+
"imports": {
3+
"lume/": "https://cdn.jsdelivr.net/gh/lumeland/lume@3.3.0/",
4+
"lume/jsx-runtime": "https://cdn.jsdelivr.net/gh/oscarotero/ssx@0.1.15/jsx-runtime.ts"
5+
},
6+
"lock": false,
27
"compilerOptions": {
38
"jsx": "react-jsx",
4-
"jsxImportSource": "npm:preact"
9+
"jsxImportSource": "lume",
10+
"types": [
11+
"lume/types.ts"
12+
]
513
},
614
"tasks": {
7-
"lume": "echo \"import 'lume/cli.ts'\" | deno run --unstable -A -",
8-
"build": "deno task lume",
9-
"serve": "deno task lume -s"
15+
"build": {
16+
"description": "Build the site for production",
17+
"command": "deno task lume"
18+
},
19+
"serve": {
20+
"description": "Run and serve the site for development",
21+
"command": "deno task lume -s"
22+
},
23+
"lume": {
24+
"description": "Run Lume command",
25+
"command": "deno run -P=lume lume/cli.ts"
26+
}
1027
},
11-
"imports": {
12-
"lume/": "https://deno.land/x/lume@v2.2.0/"
28+
"lint": {
29+
"rules": {
30+
"exclude": [
31+
"no-import-prefix"
32+
]
33+
},
34+
"plugins": [
35+
"https://cdn.jsdelivr.net/gh/lumeland/lume@3.3.0/lint.ts"
36+
]
37+
},
38+
"unstable": [
39+
"temporal",
40+
"fmt-component"
41+
],
42+
"permissions": {
43+
"lume": {
44+
"read": true,
45+
"write": true,
46+
"import": [
47+
"cdn.jsdelivr.net:443",
48+
"jsr.io:443",
49+
"deno.land:443",
50+
"esm.sh:443"
51+
],
52+
"net": [
53+
"0.0.0.0",
54+
"jsr.io:443",
55+
"cdn.jsdelivr.net:443",
56+
"data.jsdelivr.com:443",
57+
"registry.npmjs.org:443"
58+
],
59+
"env": true,
60+
"run": true,
61+
"ffi": true,
62+
"sys": true
63+
}
1364
}
1465
}

0 commit comments

Comments
 (0)