big style update
This commit is contained in:
39
main.ts
39
main.ts
@@ -100,6 +100,45 @@ async function getAPIResponse(apiReq: Request): Promise<Response> {
|
||||
}
|
||||
result.sort((a, b) => a.titleDe.localeCompare(b.titleDe));
|
||||
jsonResponse = result;
|
||||
} else if (apiPath === "/blog-entries") {
|
||||
const paths: string[] = [];
|
||||
const contentDir = './public/blog/content/';
|
||||
for await (const dirEnt of Deno.readDir(contentDir)) {
|
||||
if (dirEnt.isFile && dirEnt.name.endsWith('.html')) {
|
||||
paths.push(`${contentDir}${dirEnt.name}`);
|
||||
}
|
||||
}
|
||||
const result: DjAPIResultMap['/blog-entries'] = [];
|
||||
for (const filePath of paths) {
|
||||
const [ stat, content ] = await Promise.all([Deno.stat(filePath), Deno.readTextFile(filePath)]);
|
||||
const dom = parser.parseFromString(content, 'text/html');
|
||||
const metadata = {
|
||||
slug: '',
|
||||
tags: [] as string[],
|
||||
title: '',
|
||||
createdAt: '',
|
||||
updatedAt: '',
|
||||
};
|
||||
const metaTags = dom.querySelectorAll('meta') as unknown as NodeListOf<HTMLMetaElement>;
|
||||
for (const metaTag of metaTags) {
|
||||
const name = metaTag.attributes.getNamedItem('name')?.value ?? '';
|
||||
const content = metaTag.attributes.getNamedItem('content')?.value ?? '';
|
||||
if (name === 'title') {
|
||||
metadata.title = content;
|
||||
} else if (name === 'tags') {
|
||||
metadata.tags = content ? content.split(",") : [];
|
||||
} else if (name === 'slug') {
|
||||
metadata.slug = content;
|
||||
} else if (name === 'updatedAt') {
|
||||
metadata.createdAt = content;
|
||||
} else if (name === 'createdAt') {
|
||||
metadata.updatedAt = content;
|
||||
}
|
||||
}
|
||||
result.push(metadata);
|
||||
}
|
||||
result.sort((a, b) => new Date(a.createdAt).getTime() - new Date(b.createdAt).getTime());
|
||||
jsonResponse = result;
|
||||
}
|
||||
|
||||
if (!jsonResponse) {
|
||||
|
||||
Reference in New Issue
Block a user