diff --git a/src/index.ts b/src/index.ts index 7a7eb96..85e57db 100644 --- a/src/index.ts +++ b/src/index.ts @@ -52,23 +52,35 @@ export default function gemtext(config: GemtextConfig = {}): AstroIntegration { const body = lines.slice(bodyStartLineIndex).join("\n") - const filepath = fileURLToPath(fileUrl); - const filename = filepath.slice(filepath.lastIndexOf("/") + 1); - const slug = - typeof data["slug"] === "string" ? - data["slug"] - : filename; + const filepath = fileURLToPath(fileUrl) + const filename = filepath.slice(filepath.lastIndexOf("/") + 1) + const slug = + typeof data["slug"] === "string" ? data["slug"] : filename - data['title'] = data['title'] - ?? lines.slice(bodyStartLineIndex).find(line => line.startsWith('# '))?.slice(2); - data['pubDate'] = data['pubDate'] - ?? validDateOrUndefined(lines.slice(bodyStartLineIndex).find(line => line.startsWith('Published on: '))?.slice(14)) - ?? validDateOrUndefined(filename.replace(/\.[^.]\+$/, '')) - ?? validDateOrUndefined(slug.replace(/\.[^.]\+$/, '')); - data['updatedDate'] = data['updatedDate'] - ?? validDateOrUndefined(lines.slice(bodyStartLineIndex).find(line => line.startsWith('Updated on: '))?.slice(14)) - ?? validDateOrUndefined(filename.replace(/\.[^.]\+$/, '')) - ?? validDateOrUndefined(slug.replace(/\.[^.]\+$/, '')); + data["title"] = + data["title"] ?? + lines + .slice(bodyStartLineIndex) + .find((line) => line.startsWith("# ")) + ?.slice(2) + data["pubDate"] = + data["pubDate"] ?? + validDateOrUndefined( + lines + .slice(bodyStartLineIndex) + .find((line) => line.startsWith("Published on: ")) + ?.slice(14), + ) ?? + validDateOrUndefined(filename.replace(/\.[^.]\+$/, "")) ?? + validDateOrUndefined(slug.replace(/\.[^.]\+$/, "")) + data["updatedDate"] = + data["updatedDate"] ?? + validDateOrUndefined( + lines + .slice(bodyStartLineIndex) + .find((line) => line.startsWith("Updated on: ")) + ?.slice(14), + ) return { data, @@ -84,9 +96,9 @@ export default function gemtext(config: GemtextConfig = {}): AstroIntegration { } const validDateOrUndefined = (x: unknown) => { - const d = new Date(x as string); - if (isNaN(d.valueOf())) { - return undefined; - } - return d; -}; + const d = new Date(x as string) + if (isNaN(d.valueOf())) { + return undefined + } + return d +}