diff --git a/src/pages/blog/[...slug].astro b/src/pages/blog/[...slug].astro index 5396a57..33b9d6e 100644 --- a/src/pages/blog/[...slug].astro +++ b/src/pages/blog/[...slug].astro @@ -19,12 +19,16 @@ export async function getStaticPaths() { } const { entry } = Astro.props; -const { Content, headings } = await entry.render(); +const { Content, headings, remarkPluginFrontmatter } = await entry.render(); const noscript = siteConfig.noClientJavaScript const slug = Astro.params.slug; const author = Array.isArray(entry.data.author) ? entry.data.author : (entry.data.author !== undefined ? [entry.data.author] : [{collection: 'authors', id: siteConfig.defaultAuthor.id}]); +// Get Wordcount and Last Updated Date +const wordcount = remarkPluginFrontmatter.wordcount; +const lastUpdated = remarkPluginFrontmatter.lastModified; + // Get author data const authorData = await Promise.all((author).map((singleAuthor) => getEntry(singleAuthor).then(authorEntry => authorEntry?.data))) const authorInfo = authorData.includes(undefined) ? [{data: siteConfig.defaultAuthor}] : authorData; @@ -53,6 +57,9 @@ const cover = customFeaturedImage || matchedImage_src?.src || firstImageURL || `

{entry.data.title}

{authorInfo.map((a: any) => )} {new Date(entry.data.pubDate).toISOString().split('T')[0]} + (Updated on {new Date(lastUpdated).toISOString().split('T')[0]}) + | + {wordcount.words} words {headings.length !== 0 && } {entry.data.summary &&

{entry.data.summary}

}
diff --git a/src/plugins/remark/modified-time.mjs b/src/plugins/remark/modified-time.mjs index 6772830..99c5dfd 100644 --- a/src/plugins/remark/modified-time.mjs +++ b/src/plugins/remark/modified-time.mjs @@ -1,10 +1,9 @@ -import { execSync } from "child_process"; -import { statSync } from "node:fs"; +import {execSync} from "child_process"; +import {statSync} from "node:fs"; export function remarkModifiedTime() { return function (tree, file) { const filepath = file.history[0]; - const result = execSync(`git log -1 --pretty="format:%cI" "${filepath}"`).toString() || statSync(filepath).mtime.toISOString(); - file.data.astro.frontmatter.lastModified = result.toString(); + file.data.astro.frontmatter.lastModified = execSync(`git log -1 --pretty="format:%cI" "${filepath}"`).toString() || statSync(filepath).mtime.toISOString(); }; } \ No newline at end of file