diff --git a/src/routes/+page.server.ts b/src/routes/+page.server.ts index b7a7693..6de9ad8 100644 --- a/src/routes/+page.server.ts +++ b/src/routes/+page.server.ts @@ -40,12 +40,23 @@ export const load: PageServerLoad = async ({ platform }) => { const year = d.getFullYear(); let excerpt = ''; - const contentStr = post.content as string || ''; + let contentStr = post.content as string || ''; + + // Filter out Hugo shortcodes like {{< admonition abstract "标题" >}} + contentStr = contentStr.replace(/\{\{<[\s\S]*?>\}\}/g, ''); + const parts = contentStr.split(''); if (parts.length > 1) { excerpt = parts[0].trim(); } else { - excerpt = contentStr.replace(/[#*\`>~\\[\\]\\(\\)\\-]/g, '').substring(0, 150) + (contentStr.length > 150 ? '...' : ''); + // Strip basic markdown syntax for the automatic excerpt + let plainText = contentStr.replace(/[#*\`>~\\[\\]\\(\\)\\-]/g, '').trim(); + excerpt = plainText.substring(0, 150).trim(); + } + + // Append ... to indicate there is more to read + if (excerpt && !excerpt.endsWith('...')) { + excerpt += '...'; } // Do not send full content to the list view to save bandwidth diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 256e2cb..5c82df6 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -18,7 +18,7 @@

{post.title}

-

{post.excerpt} | 阅读全文

+

{post.excerpt}