@axerity/cli 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/axerity.js +40 -7
- package/dist/client/_app/immutable/assets/{0.jCJXzoiy.css → 0.Dg-buelk.css} +1 -1
- package/dist/client/_app/immutable/chunks/{m89wIWMZ.js → BwAxNIj-.js} +1 -1
- package/dist/client/_app/immutable/chunks/XWPeu0-3.js +3 -0
- package/dist/client/_app/immutable/entry/{app.BxBJhrll.js → app.CGMB3jFt.js} +2 -2
- package/dist/client/_app/immutable/entry/start.BDNu-EJ9.js +1 -0
- package/dist/client/_app/immutable/nodes/{0.C7MOOY8s.js → 0.BxhbqtaZ.js} +1 -1
- package/dist/client/_app/immutable/nodes/{1.C1SZKZS6.js → 1.B4TewVhv.js} +1 -1
- package/dist/client/_app/immutable/nodes/{2.C9w6NQmI.js → 2.BPCM5dz-.js} +12 -12
- package/dist/client/_app/version.json +1 -1
- package/dist/openapi.js +381 -0
- package/dist/server/chunks/{0-lMxIppsX.js → 0-CDoF42ve.js} +7 -7
- package/dist/server/chunks/{0-lMxIppsX.js.map → 0-CDoF42ve.js.map} +1 -1
- package/dist/server/chunks/1-Cwr6HuHi.js +9 -0
- package/dist/server/chunks/{1-CyLqCHnY.js.map → 1-Cwr6HuHi.js.map} +1 -1
- package/dist/server/chunks/{2-B-CcMKoh.js → 2-Dw7fZUFS.js} +6 -6
- package/dist/server/chunks/{2-B-CcMKoh.js.map → 2-Dw7fZUFS.js.map} +1 -1
- package/dist/server/chunks/{Icon-B5VFrlh0.js → Icon-DWMR8969.js} +3 -3
- package/dist/server/chunks/{Icon-B5VFrlh0.js.map → Icon-DWMR8969.js.map} +1 -1
- package/dist/server/chunks/{_error.svelte-COifK9P1.js → _error.svelte-P4N1kqTl.js} +4 -4
- package/dist/server/chunks/{_error.svelte-COifK9P1.js.map → _error.svelte-P4N1kqTl.js.map} +1 -1
- package/dist/server/chunks/{_layout.svelte-DTQwWfEr.js → _layout.svelte-BTBEwfcw.js} +5 -3
- package/dist/server/chunks/_layout.svelte-BTBEwfcw.js.map +1 -0
- package/dist/server/chunks/{_page.svelte-gMTRy91w.js → _page.svelte-Cptr7ukD.js} +86 -63
- package/dist/server/chunks/_page.svelte-Cptr7ukD.js.map +1 -0
- package/dist/server/chunks/{_server.ts-DlaxEvWB.js → _server.ts-BAJ42WyN.js} +4 -4
- package/dist/server/chunks/{_server.ts-DlaxEvWB.js.map → _server.ts-BAJ42WyN.js.map} +1 -1
- package/dist/server/chunks/{_server.ts-BBt3KS4Z.js → _server.ts-BE-48bA-.js} +4 -4
- package/dist/server/chunks/{_server.ts-BBt3KS4Z.js.map → _server.ts-BE-48bA-.js.map} +1 -1
- package/dist/server/chunks/{_server.ts-BtzVXaCw.js → _server.ts-B_slxyu1.js} +4 -4
- package/dist/server/chunks/{_server.ts-BtzVXaCw.js.map → _server.ts-B_slxyu1.js.map} +1 -1
- package/dist/server/chunks/{_server.ts-BuKSyj8m.js → _server.ts-Cc95JV_B.js} +4 -4
- package/dist/server/chunks/{_server.ts-BuKSyj8m.js.map → _server.ts-Cc95JV_B.js.map} +1 -1
- package/dist/server/chunks/_server.ts-DCmmcmIB.js +247 -0
- package/dist/server/chunks/_server.ts-DCmmcmIB.js.map +1 -0
- package/dist/server/chunks/{_server.ts-Cfw-nQ4-.js → _server.ts-On3guN6K.js} +4 -4
- package/dist/server/chunks/{_server.ts-Cfw-nQ4-.js.map → _server.ts-On3guN6K.js.map} +1 -1
- package/dist/server/chunks/{_server.ts-T58MO2wL.js → _server.ts-bQCAkPKC.js} +3 -3
- package/dist/server/chunks/{_server.ts-T58MO2wL.js.map → _server.ts-bQCAkPKC.js.map} +1 -1
- package/dist/server/chunks/{_server.ts-BaIDzhzq.js → _server.ts-tv3Kikl1.js} +3 -3
- package/dist/server/chunks/{_server.ts-BaIDzhzq.js.map → _server.ts-tv3Kikl1.js.map} +1 -1
- package/dist/server/chunks/{content-store-DPJsj8gD.js → content-store-CAwA7UVl.js} +2 -2
- package/dist/server/chunks/{content-store-DPJsj8gD.js.map → content-store-CAwA7UVl.js.map} +1 -1
- package/dist/server/chunks/{exports-ZnEJ4gG9.js → exports-D-KZn-NB.js} +2 -2
- package/dist/server/chunks/{exports-ZnEJ4gG9.js.map → exports-D-KZn-NB.js.map} +1 -1
- package/dist/server/chunks/{hooks.server-nz527EC9.js → hooks.server-BkPmWByS.js} +3 -3
- package/dist/server/chunks/{hooks.server-nz527EC9.js.map → hooks.server-BkPmWByS.js.map} +1 -1
- package/dist/server/chunks/{internal-CvDbuC7W.js → internal-CJex3uyE.js} +3 -3
- package/dist/server/chunks/{internal-CvDbuC7W.js.map → internal-CJex3uyE.js.map} +1 -1
- package/dist/server/chunks/{site-BfALkgJ-.js → site-NP7fRB5N.js} +14 -8
- package/dist/server/chunks/site-NP7fRB5N.js.map +1 -0
- package/dist/server/index.js +2 -2
- package/dist/server/manifest.js +14 -14
- package/dist/server/manifest.js.map +1 -1
- package/package.json +5 -4
- package/runtime/crawl.js +11 -1
- package/runtime/openapi.js +24 -0
- package/runtime/serve.js +9 -0
- package/runtime/static.js +76 -0
- package/dist/client/_app/immutable/chunks/v97jXyQK.js +0 -3
- package/dist/client/_app/immutable/entry/start.mAPciu1x.js +0 -1
- package/dist/client/og-image.png +0 -0
- package/dist/server/chunks/1-CyLqCHnY.js +0 -9
- package/dist/server/chunks/_layout.svelte-DTQwWfEr.js.map +0 -1
- package/dist/server/chunks/_page.svelte-gMTRy91w.js.map +0 -1
- package/dist/server/chunks/_server.ts-DnjaLdrg.js +0 -195
- package/dist/server/chunks/_server.ts-DnjaLdrg.js.map +0 -1
- package/dist/server/chunks/site-BfALkgJ-.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { g as getSite } from './site-
|
|
2
|
-
import { g as getNav } from './content-store-
|
|
3
|
-
import './internal-
|
|
1
|
+
import { g as getSite } from './site-NP7fRB5N.js';
|
|
2
|
+
import { g as getNav } from './content-store-CAwA7UVl.js';
|
|
3
|
+
import './internal-CJex3uyE.js';
|
|
4
4
|
import '@sveltejs/kit/internal/server';
|
|
5
5
|
import 'node:fs';
|
|
6
6
|
import 'node:path';
|
|
@@ -26,4 +26,4 @@ ${getNav().flatPages.map((page) => `\t<url>\n\t\t<loc>${origin}${page.href}</loc
|
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
export { GET };
|
|
29
|
-
//# sourceMappingURL=_server.ts-
|
|
29
|
+
//# sourceMappingURL=_server.ts-B_slxyu1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-B_slxyu1.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/sitemap.xml/_server.ts.js"],"sourcesContent":["import { t as getSite } from \"../../../chunks/site.js\";\nimport { a as getNav } from \"../../../chunks/content-store.js\";\n//#region src/routes/sitemap.xml/+server.ts\nvar GET = ({ url }) => {\n\tconst origin = getSite().url ?? url.origin;\n\tconst xml = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n${getNav().flatPages.map((page) => `\\t<url>\\n\\t\\t<loc>${origin}${page.href}</loc>\\n\\t</url>`).join(\"\\n\")}\n</urlset>`;\n\treturn new Response(xml, { headers: { \"content-type\": \"application/xml\" } });\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK;AACvB,CAAC,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM;AAC3C,CAAC,MAAM,GAAG,GAAG,CAAC;AACd;AACA,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,kBAAkB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AACxG,SAAS,CAAC;AACV,CAAC,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,iBAAiB,EAAE,EAAE,CAAC;AAC7E;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { g as base } from './internal-
|
|
1
|
+
import { g as base } from './internal-CJex3uyE.js';
|
|
2
2
|
import '@sveltejs/kit/internal/server';
|
|
3
|
-
import { g as getSite } from './site-
|
|
4
|
-
import { c as allSourcePaths, g as getNav, b as allSlugs } from './content-store-
|
|
3
|
+
import { g as getSite } from './site-NP7fRB5N.js';
|
|
4
|
+
import { c as allSourcePaths, g as getNav, b as allSlugs } from './content-store-CAwA7UVl.js';
|
|
5
5
|
import { json } from '@sveltejs/kit';
|
|
6
6
|
import 'node:fs';
|
|
7
7
|
import 'node:path';
|
|
@@ -34,4 +34,4 @@ var GET = () => {
|
|
|
34
34
|
};
|
|
35
35
|
|
|
36
36
|
export { GET };
|
|
37
|
-
//# sourceMappingURL=_server.ts-
|
|
37
|
+
//# sourceMappingURL=_server.ts-Cc95JV_B.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-Cc95JV_B.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/__manifest/_server.ts.js"],"sourcesContent":["import { Tt as base } from \"../../../chunks/environment.js\";\nimport \"../../../chunks/paths.js\";\nimport { t as getSite } from \"../../../chunks/site.js\";\nimport { a as getNav, n as allSlugs, r as allSourcePaths } from \"../../../chunks/content-store.js\";\nimport { json } from \"@sveltejs/kit\";\n//#region src/routes/__manifest/+server.ts\nvar GET = () => {\n\treturn json({\n\t\tbase,\n\t\tpages: allSlugs().map((slug) => slug ? `${base}/${slug}` : `${base}/`),\n\t\tmd: getNav().flatPages.map((page) => `${page.href}.md`),\n\t\tog: getSite().og?.enabled ? allSourcePaths().map((sourcePath) => `${base}/og/${sourcePath.replace(/\\.md$/, \"\")}.png`) : [],\n\t\tfixed: [\n\t\t\t\"/search.json\",\n\t\t\t\"/sitemap.xml\",\n\t\t\t\"/rss.xml\",\n\t\t\t\"/llms.txt\",\n\t\t\t\"/llms-full.txt\"\n\t\t].map((path) => base + path)\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAKA;AACG,IAAC,GAAG,GAAG,MAAM;AAChB,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,IAAI;AACN,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACxE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzD,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,OAAO,GAAG,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE;AAC5H,EAAE,KAAK,EAAE;AACT,GAAG,cAAc;AACjB,GAAG,cAAc;AACjB,GAAG,UAAU;AACb,GAAG,WAAW;AACd,GAAG;AACH,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,GAAG,IAAI;AAC7B,EAAE,CAAC;AACH;;;;"}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
import { g as base } from './internal-CJex3uyE.js';
|
|
2
|
+
import '@sveltejs/kit/internal/server';
|
|
3
|
+
import { g as getSite } from './site-NP7fRB5N.js';
|
|
4
|
+
import { f as frontmatterByPath, g as getNav } from './content-store-CAwA7UVl.js';
|
|
5
|
+
import { error } from '@sveltejs/kit';
|
|
6
|
+
import { readFileSync } from 'node:fs';
|
|
7
|
+
import { join, extname } from 'node:path';
|
|
8
|
+
import satori from 'satori';
|
|
9
|
+
import { Resvg } from '@resvg/resvg-js';
|
|
10
|
+
import 'yaml';
|
|
11
|
+
import 'acorn';
|
|
12
|
+
import 'micromark-extension-mdx-jsx';
|
|
13
|
+
import 'mdast-util-mdx-jsx';
|
|
14
|
+
import 'remark-frontmatter';
|
|
15
|
+
import 'remark-gfm';
|
|
16
|
+
import 'remark-parse';
|
|
17
|
+
import 'unified';
|
|
18
|
+
import 'shiki';
|
|
19
|
+
import '@shikijs/twoslash';
|
|
20
|
+
|
|
21
|
+
//#region src/lib/server/og.ts
|
|
22
|
+
var WIDTH = 1200;
|
|
23
|
+
var HEIGHT = 630;
|
|
24
|
+
function clamp(value, max) {
|
|
25
|
+
const trimmed = value.trim();
|
|
26
|
+
return trimmed.length > max ? `${trimmed.slice(0, max - 1).trimEnd()}…` : trimmed;
|
|
27
|
+
}
|
|
28
|
+
function withAlpha(hex, alpha) {
|
|
29
|
+
const m = hex.replace("#", "");
|
|
30
|
+
return `rgba(${parseInt(m.slice(0, 2), 16)}, ${parseInt(m.slice(2, 4), 16)}, ${parseInt(m.slice(4, 6), 16)}, ${alpha})`;
|
|
31
|
+
}
|
|
32
|
+
async function renderOgImage({ title, description, siteName, eyebrow, og, fonts, logo }) {
|
|
33
|
+
const background = og?.background ?? "#0a0a0a";
|
|
34
|
+
const foreground = og?.foreground ?? "#fafafa";
|
|
35
|
+
const muted = og?.muted ?? "#a1a1a1";
|
|
36
|
+
const accent = og?.accent ?? foreground;
|
|
37
|
+
const glow = withAlpha(accent, .2);
|
|
38
|
+
const headline = clamp(title, 80);
|
|
39
|
+
const subtitle = description ? clamp(description, 140) : "";
|
|
40
|
+
const top = logo ? {
|
|
41
|
+
type: "img",
|
|
42
|
+
props: {
|
|
43
|
+
src: logo.src,
|
|
44
|
+
width: logo.width,
|
|
45
|
+
height: logo.height
|
|
46
|
+
}
|
|
47
|
+
} : {
|
|
48
|
+
type: "div",
|
|
49
|
+
props: {
|
|
50
|
+
style: {
|
|
51
|
+
display: "flex",
|
|
52
|
+
fontSize: "34px",
|
|
53
|
+
fontWeight: 600,
|
|
54
|
+
color: accent
|
|
55
|
+
},
|
|
56
|
+
children: siteName
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
return new Resvg(await satori({
|
|
60
|
+
type: "div",
|
|
61
|
+
props: {
|
|
62
|
+
style: {
|
|
63
|
+
width: "100%",
|
|
64
|
+
height: "100%",
|
|
65
|
+
display: "flex",
|
|
66
|
+
flexDirection: "column",
|
|
67
|
+
justifyContent: "space-between",
|
|
68
|
+
padding: "80px",
|
|
69
|
+
backgroundColor: background,
|
|
70
|
+
backgroundImage: `radial-gradient(95% 125% at 95% 100%, ${glow} 0%, ${background} 65%)`,
|
|
71
|
+
color: foreground,
|
|
72
|
+
fontFamily: "Geist"
|
|
73
|
+
},
|
|
74
|
+
children: [top, {
|
|
75
|
+
type: "div",
|
|
76
|
+
props: {
|
|
77
|
+
style: {
|
|
78
|
+
display: "flex",
|
|
79
|
+
flexDirection: "column"
|
|
80
|
+
},
|
|
81
|
+
children: [
|
|
82
|
+
eyebrow ? {
|
|
83
|
+
type: "div",
|
|
84
|
+
props: {
|
|
85
|
+
style: {
|
|
86
|
+
display: "flex",
|
|
87
|
+
fontSize: "30px",
|
|
88
|
+
fontWeight: 600,
|
|
89
|
+
color: accent,
|
|
90
|
+
marginBottom: "18px"
|
|
91
|
+
},
|
|
92
|
+
children: eyebrow
|
|
93
|
+
}
|
|
94
|
+
} : null,
|
|
95
|
+
{
|
|
96
|
+
type: "div",
|
|
97
|
+
props: {
|
|
98
|
+
style: {
|
|
99
|
+
display: "flex",
|
|
100
|
+
fontSize: "72px",
|
|
101
|
+
fontWeight: 700,
|
|
102
|
+
lineHeight: 1.05,
|
|
103
|
+
letterSpacing: "-0.02em"
|
|
104
|
+
},
|
|
105
|
+
children: headline
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
subtitle ? {
|
|
109
|
+
type: "div",
|
|
110
|
+
props: {
|
|
111
|
+
style: {
|
|
112
|
+
display: "flex",
|
|
113
|
+
marginTop: "28px",
|
|
114
|
+
fontSize: "32px",
|
|
115
|
+
lineHeight: 1.3,
|
|
116
|
+
color: muted
|
|
117
|
+
},
|
|
118
|
+
children: subtitle
|
|
119
|
+
}
|
|
120
|
+
} : null
|
|
121
|
+
]
|
|
122
|
+
}
|
|
123
|
+
}]
|
|
124
|
+
}
|
|
125
|
+
}, {
|
|
126
|
+
width: WIDTH,
|
|
127
|
+
height: HEIGHT,
|
|
128
|
+
fonts: fonts.map((f) => ({
|
|
129
|
+
name: "Geist",
|
|
130
|
+
data: f.data,
|
|
131
|
+
weight: f.weight,
|
|
132
|
+
style: "normal"
|
|
133
|
+
}))
|
|
134
|
+
}), { fitTo: {
|
|
135
|
+
mode: "width",
|
|
136
|
+
value: WIDTH
|
|
137
|
+
} }).render().asPng();
|
|
138
|
+
}
|
|
139
|
+
//#endregion
|
|
140
|
+
//#region src/routes/og/[...slug]/+server.ts
|
|
141
|
+
var LOGO_HEIGHT = 46;
|
|
142
|
+
var ASSETS = process.env.AXERITY_ASSETS ?? "static";
|
|
143
|
+
var STATIC_DIR = process.env.AXERITY_STATIC_DIR;
|
|
144
|
+
var LOGO_MIME = {
|
|
145
|
+
".svg": "image/svg+xml",
|
|
146
|
+
".png": "image/png",
|
|
147
|
+
".jpg": "image/jpeg",
|
|
148
|
+
".jpeg": "image/jpeg",
|
|
149
|
+
".gif": "image/gif",
|
|
150
|
+
".webp": "image/webp"
|
|
151
|
+
};
|
|
152
|
+
var WEIGHTS = [
|
|
153
|
+
400,
|
|
154
|
+
600,
|
|
155
|
+
700
|
|
156
|
+
];
|
|
157
|
+
var fontCache = null;
|
|
158
|
+
function getFonts() {
|
|
159
|
+
if (!fontCache) fontCache = WEIGHTS.map((weight) => {
|
|
160
|
+
const buf = readFileSync(join(ASSETS, "fonts", `geist-${weight}.ttf`));
|
|
161
|
+
return {
|
|
162
|
+
data: buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength),
|
|
163
|
+
weight
|
|
164
|
+
};
|
|
165
|
+
});
|
|
166
|
+
return fontCache;
|
|
167
|
+
}
|
|
168
|
+
function imageDims(buf, mime) {
|
|
169
|
+
if (mime === "image/png") return {
|
|
170
|
+
w: buf.readUInt32BE(16),
|
|
171
|
+
h: buf.readUInt32BE(20)
|
|
172
|
+
};
|
|
173
|
+
if (mime === "image/svg+xml") {
|
|
174
|
+
const text = buf.toString("utf8");
|
|
175
|
+
const vb = text.match(/viewBox\s*=\s*["']\s*[\d.]+[ ,]+[\d.]+[ ,]+([\d.]+)[ ,]+([\d.]+)/);
|
|
176
|
+
if (vb) return {
|
|
177
|
+
w: parseFloat(vb[1]),
|
|
178
|
+
h: parseFloat(vb[2])
|
|
179
|
+
};
|
|
180
|
+
const w = text.match(/\bwidth\s*=\s*["']([\d.]+)/);
|
|
181
|
+
const h = text.match(/\bheight\s*=\s*["']([\d.]+)/);
|
|
182
|
+
if (w && h) return {
|
|
183
|
+
w: parseFloat(w[1]),
|
|
184
|
+
h: parseFloat(h[1])
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
return null;
|
|
188
|
+
}
|
|
189
|
+
var logoCache;
|
|
190
|
+
function getLogo() {
|
|
191
|
+
const site = getSite();
|
|
192
|
+
const logoPath = site.og?.logo ?? site.logo?.dark ?? site.logo?.light;
|
|
193
|
+
if (logoCache === void 0) {
|
|
194
|
+
logoCache = null;
|
|
195
|
+
const mime = logoPath && LOGO_MIME[extname(logoPath).toLowerCase()];
|
|
196
|
+
if (logoPath && mime) {
|
|
197
|
+
const rel = logoPath.replace(base, "").replace(/^\/+/, "");
|
|
198
|
+
for (const root of [STATIC_DIR, ASSETS]) {
|
|
199
|
+
if (!root) continue;
|
|
200
|
+
try {
|
|
201
|
+
const buf = readFileSync(join(root, rel));
|
|
202
|
+
const dims = imageDims(buf, mime);
|
|
203
|
+
const aspect = dims ? dims.w / dims.h : 1;
|
|
204
|
+
logoCache = {
|
|
205
|
+
src: `data:${mime};base64,${buf.toString("base64")}`,
|
|
206
|
+
width: Math.round(LOGO_HEIGHT * aspect),
|
|
207
|
+
height: LOGO_HEIGHT
|
|
208
|
+
};
|
|
209
|
+
break;
|
|
210
|
+
} catch {
|
|
211
|
+
continue;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
return logoCache ?? void 0;
|
|
217
|
+
}
|
|
218
|
+
function eyebrowFor(key) {
|
|
219
|
+
const clean = key.replace(/\/index$/, "");
|
|
220
|
+
const target = clean === "index" || clean === "" ? `${base}/` : `${base}/${clean}`;
|
|
221
|
+
const hrefsOf = (items) => items.flatMap((entry) => "href" in entry ? [entry.href] : hrefsOf(entry.items));
|
|
222
|
+
for (const section of getNav().sidebar) if (hrefsOf(section.items).includes(target)) return section.title;
|
|
223
|
+
}
|
|
224
|
+
var GET = async ({ params }) => {
|
|
225
|
+
const key = params.slug.replace(/\.png$/, "");
|
|
226
|
+
const fm = frontmatterByPath(key);
|
|
227
|
+
if (!fm) error(404, "Not found");
|
|
228
|
+
const fonts = getFonts();
|
|
229
|
+
const logo = getLogo();
|
|
230
|
+
const site = getSite();
|
|
231
|
+
const png = await renderOgImage({
|
|
232
|
+
title: fm.title ?? site.name,
|
|
233
|
+
description: fm.description ?? site.description,
|
|
234
|
+
siteName: site.name,
|
|
235
|
+
eyebrow: eyebrowFor(key),
|
|
236
|
+
og: site.og,
|
|
237
|
+
fonts,
|
|
238
|
+
logo
|
|
239
|
+
});
|
|
240
|
+
return new Response(new Uint8Array(png), { headers: {
|
|
241
|
+
"content-type": "image/png",
|
|
242
|
+
"cache-control": "public, max-age=31536000, immutable"
|
|
243
|
+
} });
|
|
244
|
+
};
|
|
245
|
+
|
|
246
|
+
export { GET };
|
|
247
|
+
//# sourceMappingURL=_server.ts-DCmmcmIB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-DCmmcmIB.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/og/_...slug_/_server.ts.js"],"sourcesContent":["import { Tt as base } from \"../../../../chunks/environment.js\";\nimport \"../../../../chunks/paths.js\";\nimport { t as getSite } from \"../../../../chunks/site.js\";\nimport { a as getNav, i as frontmatterByPath } from \"../../../../chunks/content-store.js\";\nimport { error } from \"@sveltejs/kit\";\nimport { readFileSync } from \"node:fs\";\nimport { extname, join } from \"node:path\";\nimport satori from \"satori\";\nimport { Resvg } from \"@resvg/resvg-js\";\n//#region src/lib/server/og.ts\nvar WIDTH = 1200;\nvar HEIGHT = 630;\nfunction clamp(value, max) {\n\tconst trimmed = value.trim();\n\treturn trimmed.length > max ? `${trimmed.slice(0, max - 1).trimEnd()}…` : trimmed;\n}\nfunction withAlpha(hex, alpha) {\n\tconst m = hex.replace(\"#\", \"\");\n\treturn `rgba(${parseInt(m.slice(0, 2), 16)}, ${parseInt(m.slice(2, 4), 16)}, ${parseInt(m.slice(4, 6), 16)}, ${alpha})`;\n}\nasync function renderOgImage({ title, description, siteName, eyebrow, og, fonts, logo }) {\n\tconst background = og?.background ?? \"#0a0a0a\";\n\tconst foreground = og?.foreground ?? \"#fafafa\";\n\tconst muted = og?.muted ?? \"#a1a1a1\";\n\tconst accent = og?.accent ?? foreground;\n\tconst glow = withAlpha(accent, .2);\n\tconst headline = clamp(title, 80);\n\tconst subtitle = description ? clamp(description, 140) : \"\";\n\tconst top = logo ? {\n\t\ttype: \"img\",\n\t\tprops: {\n\t\t\tsrc: logo.src,\n\t\t\twidth: logo.width,\n\t\t\theight: logo.height\n\t\t}\n\t} : {\n\t\ttype: \"div\",\n\t\tprops: {\n\t\t\tstyle: {\n\t\t\t\tdisplay: \"flex\",\n\t\t\t\tfontSize: \"34px\",\n\t\t\t\tfontWeight: 600,\n\t\t\t\tcolor: accent\n\t\t\t},\n\t\t\tchildren: siteName\n\t\t}\n\t};\n\treturn new Resvg(await satori({\n\t\ttype: \"div\",\n\t\tprops: {\n\t\t\tstyle: {\n\t\t\t\twidth: \"100%\",\n\t\t\t\theight: \"100%\",\n\t\t\t\tdisplay: \"flex\",\n\t\t\t\tflexDirection: \"column\",\n\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\tpadding: \"80px\",\n\t\t\t\tbackgroundColor: background,\n\t\t\t\tbackgroundImage: `radial-gradient(95% 125% at 95% 100%, ${glow} 0%, ${background} 65%)`,\n\t\t\t\tcolor: foreground,\n\t\t\t\tfontFamily: \"Geist\"\n\t\t\t},\n\t\t\tchildren: [top, {\n\t\t\t\ttype: \"div\",\n\t\t\t\tprops: {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\tflexDirection: \"column\"\n\t\t\t\t\t},\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\teyebrow ? {\n\t\t\t\t\t\t\ttype: \"div\",\n\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\t\tfontSize: \"30px\",\n\t\t\t\t\t\t\t\t\tfontWeight: 600,\n\t\t\t\t\t\t\t\t\tcolor: accent,\n\t\t\t\t\t\t\t\t\tmarginBottom: \"18px\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tchildren: eyebrow\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} : null,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"div\",\n\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\t\tfontSize: \"72px\",\n\t\t\t\t\t\t\t\t\tfontWeight: 700,\n\t\t\t\t\t\t\t\t\tlineHeight: 1.05,\n\t\t\t\t\t\t\t\t\tletterSpacing: \"-0.02em\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tchildren: headline\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsubtitle ? {\n\t\t\t\t\t\t\ttype: \"div\",\n\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\t\tmarginTop: \"28px\",\n\t\t\t\t\t\t\t\t\tfontSize: \"32px\",\n\t\t\t\t\t\t\t\t\tlineHeight: 1.3,\n\t\t\t\t\t\t\t\t\tcolor: muted\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tchildren: subtitle\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} : null\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t}]\n\t\t}\n\t}, {\n\t\twidth: WIDTH,\n\t\theight: HEIGHT,\n\t\tfonts: fonts.map((f) => ({\n\t\t\tname: \"Geist\",\n\t\t\tdata: f.data,\n\t\t\tweight: f.weight,\n\t\t\tstyle: \"normal\"\n\t\t}))\n\t}), { fitTo: {\n\t\tmode: \"width\",\n\t\tvalue: WIDTH\n\t} }).render().asPng();\n}\n//#endregion\n//#region src/routes/og/[...slug]/+server.ts\nvar LOGO_HEIGHT = 46;\nvar ASSETS = process.env.AXERITY_ASSETS ?? \"static\";\nvar STATIC_DIR = process.env.AXERITY_STATIC_DIR;\nvar LOGO_MIME = {\n\t\".svg\": \"image/svg+xml\",\n\t\".png\": \"image/png\",\n\t\".jpg\": \"image/jpeg\",\n\t\".jpeg\": \"image/jpeg\",\n\t\".gif\": \"image/gif\",\n\t\".webp\": \"image/webp\"\n};\nvar WEIGHTS = [\n\t400,\n\t600,\n\t700\n];\nvar fontCache = null;\nfunction getFonts() {\n\tif (!fontCache) fontCache = WEIGHTS.map((weight) => {\n\t\tconst buf = readFileSync(join(ASSETS, \"fonts\", `geist-${weight}.ttf`));\n\t\treturn {\n\t\t\tdata: buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength),\n\t\t\tweight\n\t\t};\n\t});\n\treturn fontCache;\n}\nfunction imageDims(buf, mime) {\n\tif (mime === \"image/png\") return {\n\t\tw: buf.readUInt32BE(16),\n\t\th: buf.readUInt32BE(20)\n\t};\n\tif (mime === \"image/svg+xml\") {\n\t\tconst text = buf.toString(\"utf8\");\n\t\tconst vb = text.match(/viewBox\\s*=\\s*[\"']\\s*[\\d.]+[ ,]+[\\d.]+[ ,]+([\\d.]+)[ ,]+([\\d.]+)/);\n\t\tif (vb) return {\n\t\t\tw: parseFloat(vb[1]),\n\t\t\th: parseFloat(vb[2])\n\t\t};\n\t\tconst w = text.match(/\\bwidth\\s*=\\s*[\"']([\\d.]+)/);\n\t\tconst h = text.match(/\\bheight\\s*=\\s*[\"']([\\d.]+)/);\n\t\tif (w && h) return {\n\t\t\tw: parseFloat(w[1]),\n\t\t\th: parseFloat(h[1])\n\t\t};\n\t}\n\treturn null;\n}\nvar logoCache;\nfunction getLogo() {\n\tconst site = getSite();\n\tconst logoPath = site.og?.logo ?? site.logo?.dark ?? site.logo?.light;\n\tif (logoCache === void 0) {\n\t\tlogoCache = null;\n\t\tconst mime = logoPath && LOGO_MIME[extname(logoPath).toLowerCase()];\n\t\tif (logoPath && mime) {\n\t\t\tconst rel = logoPath.replace(base, \"\").replace(/^\\/+/, \"\");\n\t\t\tfor (const root of [STATIC_DIR, ASSETS]) {\n\t\t\t\tif (!root) continue;\n\t\t\t\ttry {\n\t\t\t\t\tconst buf = readFileSync(join(root, rel));\n\t\t\t\t\tconst dims = imageDims(buf, mime);\n\t\t\t\t\tconst aspect = dims ? dims.w / dims.h : 1;\n\t\t\t\t\tlogoCache = {\n\t\t\t\t\t\tsrc: `data:${mime};base64,${buf.toString(\"base64\")}`,\n\t\t\t\t\t\twidth: Math.round(LOGO_HEIGHT * aspect),\n\t\t\t\t\t\theight: LOGO_HEIGHT\n\t\t\t\t\t};\n\t\t\t\t\tbreak;\n\t\t\t\t} catch {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn logoCache ?? void 0;\n}\nfunction eyebrowFor(key) {\n\tconst clean = key.replace(/\\/index$/, \"\");\n\tconst target = clean === \"index\" || clean === \"\" ? `${base}/` : `${base}/${clean}`;\n\tconst hrefsOf = (items) => items.flatMap((entry) => \"href\" in entry ? [entry.href] : hrefsOf(entry.items));\n\tfor (const section of getNav().sidebar) if (hrefsOf(section.items).includes(target)) return section.title;\n}\nvar GET = async ({ params }) => {\n\tconst key = params.slug.replace(/\\.png$/, \"\");\n\tconst fm = frontmatterByPath(key);\n\tif (!fm) error(404, \"Not found\");\n\tconst fonts = getFonts();\n\tconst logo = getLogo();\n\tconst site = getSite();\n\tconst png = await renderOgImage({\n\t\ttitle: fm.title ?? site.name,\n\t\tdescription: fm.description ?? site.description,\n\t\tsiteName: site.name,\n\t\teyebrow: eyebrowFor(key),\n\t\tog: site.og,\n\t\tfonts,\n\t\tlogo\n\t});\n\treturn new Response(new Uint8Array(png), { headers: {\n\t\t\"content-type\": \"image/png\",\n\t\t\"cache-control\": \"public, max-age=31536000, immutable\"\n\t} });\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { g as base } from './internal-
|
|
1
|
+
import { g as base } from './internal-CJex3uyE.js';
|
|
2
2
|
import '@sveltejs/kit/internal/server';
|
|
3
|
-
import { g as getSite } from './site-
|
|
4
|
-
import { g as getNav, r as raw } from './content-store-
|
|
3
|
+
import { g as getSite } from './site-NP7fRB5N.js';
|
|
4
|
+
import { g as getNav, r as raw } from './content-store-CAwA7UVl.js';
|
|
5
5
|
import 'node:fs';
|
|
6
6
|
import 'node:path';
|
|
7
7
|
import 'yaml';
|
|
@@ -28,4 +28,4 @@ var GET = async () => {
|
|
|
28
28
|
};
|
|
29
29
|
|
|
30
30
|
export { GET };
|
|
31
|
-
//# sourceMappingURL=_server.ts-
|
|
31
|
+
//# sourceMappingURL=_server.ts-On3guN6K.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-On3guN6K.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/llms-full.txt/_server.ts.js"],"sourcesContent":["import { Tt as base } from \"../../../chunks/environment.js\";\nimport \"../../../chunks/paths.js\";\nimport { t as getSite } from \"../../../chunks/site.js\";\nimport { a as getNav, o as raw } from \"../../../chunks/content-store.js\";\n//#region src/routes/llms-full.txt/+server.ts\nvar GET = async () => {\n\tconst site = getSite();\n\tconst parts = [`# ${site.name}`];\n\tif (site.description) parts.push(\"\", `> ${site.description}`);\n\tfor (const page of getNav().flatPages) {\n\t\tconst markdown = await raw(page.href.slice(base.length).replace(/^\\//, \"\"));\n\t\tif (markdown) parts.push(\"\", \"---\", \"\", markdown);\n\t}\n\treturn new Response(parts.join(\"\\n\") + \"\\n\", { headers: { \"content-type\": \"text/plain; charset=utf-8\" } });\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIA;AACG,IAAC,GAAG,GAAG,YAAY;AACtB,CAAC,MAAM,IAAI,GAAG,OAAO,EAAE;AACvB,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACjC,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AAC9D,CAAC,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC,SAAS,EAAE;AACxC,EAAE,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC7E,EAAE,IAAI,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,CAAC;AACnD,CAAC;AACD,CAAC,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,2BAA2B,EAAE,EAAE,CAAC;AAC3G;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { g as base } from './internal-
|
|
1
|
+
import { g as base } from './internal-CJex3uyE.js';
|
|
2
2
|
import '@sveltejs/kit/internal/server';
|
|
3
|
-
import { g as getNav, r as raw } from './content-store-
|
|
3
|
+
import { g as getNav, r as raw } from './content-store-CAwA7UVl.js';
|
|
4
4
|
import 'node:fs';
|
|
5
5
|
import 'node:path';
|
|
6
6
|
import 'yaml';
|
|
@@ -38,4 +38,4 @@ var GET = async () => {
|
|
|
38
38
|
};
|
|
39
39
|
|
|
40
40
|
export { GET };
|
|
41
|
-
//# sourceMappingURL=_server.ts-
|
|
41
|
+
//# sourceMappingURL=_server.ts-bQCAkPKC.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-bQCAkPKC.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/search.json/_server.ts.js"],"sourcesContent":["import { Tt as base } from \"../../../chunks/environment.js\";\nimport \"../../../chunks/paths.js\";\nimport { a as getNav, o as raw } from \"../../../chunks/content-store.js\";\n//#region src/routes/search.json/+server.ts\nfunction plainText(markdown) {\n\treturn markdown.replace(/```[\\s\\S]*?```/g, \" \").replace(/<[^>]+>/g, \" \").replace(/!?\\[([^\\]]*)\\]\\([^)]*\\)/g, \"$1\").replace(/[#>*_`|]/g, \" \").replace(/\\s+/g, \" \").trim().slice(0, 3e3);\n}\nvar GET = async () => {\n\tconst docs = [];\n\tasync function walk(entries, section) {\n\t\tfor (const entry of entries) if (\"href\" in entry) {\n\t\t\tconst raw$1 = await raw(entry.href.slice(base.length).replace(/^\\//, \"\"));\n\t\t\tdocs.push({\n\t\t\t\tid: entry.href,\n\t\t\t\ttitle: entry.title,\n\t\t\t\tsection,\n\t\t\t\tdescription: entry.description ?? \"\",\n\t\t\t\tcontent: raw$1 ? plainText(raw$1) : \"\",\n\t\t\t\thref: entry.href\n\t\t\t});\n\t\t} else await walk(entry.items, section);\n\t}\n\tfor (const group of getNav().sidebar) await walk(group.items, group.title);\n\treturn new Response(JSON.stringify(docs), { headers: { \"content-type\": \"application/json\" } });\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA;AACA,SAAS,SAAS,CAAC,QAAQ,EAAE;AAC7B,CAAC,OAAO,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;AACvL;AACG,IAAC,GAAG,GAAG,YAAY;AACtB,CAAC,MAAM,IAAI,GAAG,EAAE;AAChB,CAAC,eAAe,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE;AACvC,EAAE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,IAAI,MAAM,IAAI,KAAK,EAAE;AACpD,GAAG,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC5E,GAAG,IAAI,CAAC,IAAI,CAAC;AACb,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI;AAClB,IAAI,KAAK,EAAE,KAAK,CAAC,KAAK;AACtB,IAAI,OAAO;AACX,IAAI,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;AACxC,IAAI,OAAO,EAAE,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE;AAC1C,IAAI,IAAI,EAAE,KAAK,CAAC;AAChB,IAAI,CAAC;AACL,EAAE,CAAC,MAAM,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC;AACzC,CAAC;AACD,CAAC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;AAC3E,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,CAAC;AAC/F;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { r as raw } from './content-store-
|
|
1
|
+
import { r as raw } from './content-store-CAwA7UVl.js';
|
|
2
2
|
import { error } from '@sveltejs/kit';
|
|
3
|
-
import './internal-
|
|
3
|
+
import './internal-CJex3uyE.js';
|
|
4
4
|
import '@sveltejs/kit/internal/server';
|
|
5
5
|
import 'node:fs';
|
|
6
6
|
import 'node:path';
|
|
@@ -23,4 +23,4 @@ var GET = async ({ params }) => {
|
|
|
23
23
|
};
|
|
24
24
|
|
|
25
25
|
export { GET };
|
|
26
|
-
//# sourceMappingURL=_server.ts-
|
|
26
|
+
//# sourceMappingURL=_server.ts-tv3Kikl1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-tv3Kikl1.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/_...path_mdfile_/_server.ts.js"],"sourcesContent":["import { o as raw } from \"../../../chunks/content-store.js\";\nimport { error } from \"@sveltejs/kit\";\n//#region src/routes/[...path=mdfile]/+server.ts\nvar GET = async ({ params }) => {\n\tconst markdown = await raw(params.path.replace(/\\.md$/, \"\"));\n\tif (markdown == null) error(404, \"Not found\");\n\treturn new Response(markdown, { headers: { \"content-type\": \"text/plain; charset=utf-8\" } });\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AAChC,CAAC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC7D,CAAC,IAAI,QAAQ,IAAI,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC;AAC9C,CAAC,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,2BAA2B,EAAE,EAAE,CAAC;AAC5F;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { g as base } from './internal-
|
|
1
|
+
import { g as base } from './internal-CJex3uyE.js';
|
|
2
2
|
import '@sveltejs/kit/internal/server';
|
|
3
3
|
import { readFileSync, existsSync, readdirSync, statSync } from 'node:fs';
|
|
4
4
|
import { join, resolve, relative } from 'node:path';
|
|
@@ -5249,4 +5249,4 @@ async function raw(slug) {
|
|
|
5249
5249
|
}
|
|
5250
5250
|
|
|
5251
5251
|
export { allPages as a, allSlugs as b, allSourcePaths as c, render as d, frontmatterByPath as f, getNav as g, raw as r };
|
|
5252
|
-
//# sourceMappingURL=content-store-
|
|
5252
|
+
//# sourceMappingURL=content-store-CAwA7UVl.js.map
|