i feel insane. what have i done.
This commit is contained in:
parent
a4d7294da2
commit
f30a89cda0
@ -74,8 +74,17 @@ const fics = defineCollection({
|
||||
}),
|
||||
});
|
||||
|
||||
// const fics = defineCollection({
|
||||
// loader: ficsLoader(glob({ pattern: "**/*.{yml,yaml}", base: source })),
|
||||
// });
|
||||
const test = defineCollection({
|
||||
loader: ficsLoader(
|
||||
glob({
|
||||
pattern: "**/*.{yml,yaml}",
|
||||
base: source,
|
||||
generateId: ({ entry, data }) => {
|
||||
if (data.slug) return data.slug as string;
|
||||
return slugify(entry.split("/")[0]);
|
||||
}
|
||||
})
|
||||
),
|
||||
});
|
||||
|
||||
export const collections = { blog, fics, chapters };
|
||||
export const collections = { blog, fics, chapters, test };
|
@ -1,3 +1,4 @@
|
||||
import type { MarkdownInstance } from "astro";
|
||||
import { glob as astroGlob, type Loader, type LoaderContext } from "astro/loaders";
|
||||
import path from "path";
|
||||
import { glob } from "fs/promises";
|
||||
@ -33,11 +34,35 @@ export function ficsLoader(loader: Loader) {
|
||||
...chapters.length > 1 && { chapters: chapters },
|
||||
},
|
||||
});
|
||||
context.store.set({
|
||||
...valueWithoutDigest,
|
||||
data: newData,
|
||||
digest: context.generateDigest(newData),
|
||||
});
|
||||
if (chapters.length === 1) {
|
||||
// i've committed unspeakable atrocities here
|
||||
const search = import.meta.glob(`../content/fics/**/*.md`, { eager: true });
|
||||
let body;
|
||||
for (const path in search) {
|
||||
if (path.includes(chapters[0].relativePath)) {
|
||||
body = search[path] as MarkdownInstance<any>;
|
||||
context.store.set({
|
||||
...valueWithoutDigest,
|
||||
data: newData,
|
||||
body: body.rawContent(),
|
||||
rendered: {
|
||||
html: await body.compiledContent(),
|
||||
metadata: {
|
||||
headings: body.getHeadings(),
|
||||
frontmatter: body.frontmatter,
|
||||
},
|
||||
},
|
||||
digest: context.generateDigest(newData),
|
||||
});
|
||||
};
|
||||
}
|
||||
} else {
|
||||
context.store.set({
|
||||
...valueWithoutDigest,
|
||||
data: newData,
|
||||
digest: context.generateDigest(newData),
|
||||
});
|
||||
}
|
||||
loadedPromise.resolve(chapters);
|
||||
}
|
||||
);
|
||||
|
Loading…
x
Reference in New Issue
Block a user