···
import lume from "lume/mod.ts";
import brotli from "lume/plugins/brotli.ts";
3
+
import date from "lume/plugins/date.ts";
import feed from "lume/plugins/feed.ts";
4
-
import lightningcss from "lume/plugins/lightningcss.ts";
import metas from "lume/plugins/metas.ts";
6
-
import nav from "lume/plugins/nav.ts";
import picture from "lume/plugins/picture.ts";
8
-
import postcss from "lume/plugins/postcss.ts";
9
-
import purgecss from "lume/plugins/purgecss.ts";
import relations from "lume/plugins/relations.ts";
import robots from "lume/plugins/robots.ts";
import sitemap from "lume/plugins/sitemap.ts";
import slugify_urls from "lume/plugins/slugify_urls.ts";
import source_maps from "lume/plugins/source_maps.ts";
import svgo from "lume/plugins/svgo.ts";
16
-
import tailwindcss from "lume/plugins/tailwindcss.ts";
import toml from "lume/plugins/toml.ts";
import transform_images from "lume/plugins/transform_images.ts";
16
+
// Markdown-it plugins
17
+
import md_linenums from "npm:markdown-it-inject-linenumbers@0.3.0";
20
+
// // Base dependencies
21
+
import tailwindcss from "lume/plugins/tailwindcss.ts";
22
+
import postcss from "lume/plugins/postcss.ts";
import catppuccin from "npm:@catppuccin/tailwindcss";
25
+
import googleFonts from "lume/plugins/google_fonts.ts";
27
+
import lightningcss from "lume/plugins/lightningcss.ts";
28
+
import purgecss from "lume/plugins/purgecss.ts";
// import minify_html from "lume/plugins/minify_html.ts";
// import og_images from "lume/plugins/og_images.ts";
// import pagefind from "lume/plugins/pagefind.ts";
// import sri from "lume/plugins/sri.ts";
35
+
// import nav from "lume/plugins/nav.ts";
// https://deno.land/x/lume_markdown_plugins@v0.8.0 (toc and footnotes plugins)
// https://deno.land/x/lume_shiki@0.0.16
34
-
location: new URL("https://blog.pyrox.dev"),
42
+
plugins: [md_linenums],
48
+
location: new URL("https://blog.pyrox.dev"),
site.loadAssets([".css"]);
···
// keep_spaces_between_attributes: true
site.use(transform_images());
···
site.use(slugify_urls());
73
+
SHORT_DATE: "yyyy-MM-dd",
74
+
POST_DATE: "dd MMM, yyyy",
57
-
site.use(tailwindcss({
58
-
extensions: [".html", ".vto"],
60
-
plugins: [catppuccin],
83
+
plugins: [catppuccin],
86
+
sans: ["Inter", "ui-sans-serif", "system-ui", "sans-serif"],
87
+
serif: ["IBM Plex Serif", "ui-serif", "serif"],
93
+
site.use(postcss());
98
+
subsets: ["latin", "latin-ext"],
99
+
folder: "/static/fonts/",
100
+
cssFile: "/static/fonts.css",
102
+
"https://fonts.googleapis.com/css2?family=IBM+Plex+Serif:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900",
// RSS/JSON Feed Generation
68
-
output: ["/blog.rss", "/blog.json"],
73
-
description: "dish's thoughts on many things",
74
-
published: new Date(),
78
-
authorUrl: "https://blog.pyrox.dev",
82
-
description: "=summary",
83
-
published: "=published",
84
-
updated: "=updated || undefined",
85
-
content: "=children",
88
-
authorName: "=author.name",
89
-
authorUrl: "=author.url",
109
+
output: ["/blog.rss", "/blog.json"],
110
+
query: "category=blog",
112
+
title: "dish blog",
113
+
description: "dish's thoughts on many things",
114
+
published: new Date(),
117
+
authorName: "dish",
118
+
authorUrl: "https://blog.pyrox.dev",
122
+
description: "=summary",
123
+
published: "=published",
124
+
updated: "=updated",
125
+
content: "$.e-content",
128
+
authorName: "=author.name",
129
+
authorUrl: "=author.url",
94
-
site.use(purgecss())
95
-
site.use(lightningcss({
135
+
site.use(purgecss());
// Compress everything with Brotli
126
-
"Applebot-Extended",
135
-
"Meta-ExternalAgent",
136
-
"Meta-ExternalFetcher",
146
-
"cohere-training-data-crawler",
172
+
"Applebot-Extended",
181
+
"Meta-ExternalAgent",
182
+
"Meta-ExternalFetcher",
192
+
"cohere-training-data-crawler",
// Copy .well-known to site root
153
-
site.copy("static/.well-known", ".well-known")
200
+
site.copy("static/.well-known", ".well-known");
// Get current commit as a version number
// Taken from https://github.com/pixeldesu/pixelde.su/blob/main/_config.ts