feat(docs): support to read excerpt from frontmatter (#345)

This commit is contained in:
Neko
2025-08-04 21:55:15 +08:00
committed by GitHub
parent bad616e8e7
commit 1f23218d79
9 changed files with 17 additions and 10 deletions
+5 -2
View File
@@ -18,6 +18,7 @@ interface Post {
}
excerpt: string | undefined
frontmatter?: {
'excerpt'?: string
'category'?: string
'author'?: string
'preview-cover'?: {
@@ -66,7 +67,9 @@ const posts = computed(() => {
return [
...currentLanguagePostsData,
...diffFallbackLanguagePostsData,
]
].sort((a, b) => {
return b.date.time - a.date.time
})
})
async function stringToSeed(str: string) {
@@ -238,7 +241,7 @@ const svgArts = computedAsync(async () => {
<span class="font-medium">{{ post.frontmatter.category }}</span>
</div>
</div>
<p v-if="post.excerpt" class="text-muted-foreground fade-out-text mt-3 leading-relaxed" v-html="post.excerpt" />
<p v-if="post.excerpt || post?.frontmatter?.excerpt" class="text-muted-foreground fade-out-text mt-3 h-[calc(75%-48px)] leading-relaxed" v-html="post.excerpt || post?.frontmatter?.excerpt" />
</div>
<div class="mt-auto p-6 pt-0">
<a :href="post.url" class="inline-flex items-center text-primary font-semibold hover:underline">
@@ -2,6 +2,8 @@
title: DevLog @ 2025.06.08
category: DevLog
date: 2025-06-08
excerpt: |
How we make Live2D models follow the cursor position, and the how it's challenging to calculate across multiple displays.
preview-cover:
light: "@assets('./assets/250608-light.avif')"
dark: "@assets('./assets/250608-dark.avif')"
@@ -2,6 +2,8 @@
title: DevLog @ 2025.07.18
category: DevLog
date: 2025-07-18
excerpt: |
We would love to share how we plan to improve our Factorio AI agent project, `airi-factorio`, based on the Factorio Learning Environment paper.
preview-cover:
light: "@assets('./assets/factorio-belt.gif')"
dark: "@assets('./assets/factorio-belt.gif')"
@@ -2,6 +2,8 @@
title: DevLog @ 2025.08.01
category: DevLog
date: 2025-08-01
excerpt: |
Makito will share her journey from implementing text animations in AIRI to building a library to handle grapheme clusters as they arrive in a stream of UTF-8 bytes.<br /> We hope you find it informative and inspiring!
preview-cover:
light: "@assets('./assets/cover-light.avif')"
dark: "@assets('./assets/cover-dark.avif')"
@@ -22,10 +22,6 @@ import projectAIRIBannerDark from './assets/banner-dark-1280x640.avif';
import ReLUStickerWow from './assets/relu-sticker-wow.avif'
</script>
The backstory of Project AIRI!
---
Hello, it's me, Neko again!
First of all, good summer for you folks living in north hemisphere!
@@ -2,6 +2,8 @@
title: DevLog @ 2025.07.18
category: DevLog
date: 2025-07-18
excerpt: |
在阅读完有关 Factorio 强化学习环境的论文后,我们想和大家分享我们如何计划改进 Factorio agent 项目 `airi-factorio`
preview-cover:
light: "@assets('../../../en/blog/DevLog-2025.07.18/assets/factorio-belt.gif')"
dark: "@assets('../../../en/blog/DevLog-2025.07.18/assets/factorio-belt.gif')"
@@ -2,6 +2,8 @@
title: DevLog @ 2025.08.01
category: DevLog
date: 2025-08-01
excerpt: |
Makito 会分享她在 AIRI 中实现文本动画的过程,以及如何构建一个从 UTF-8 字节流中边接收边读出「字素簇」(grapheme cluster)的库。希望对你有所启发!
preview-cover:
light: "@assets('../../../en/blog/DevLog-2025.08.01/assets/cover-light.avif')"
dark: "@assets('../../../en/blog/DevLog-2025.08.01/assets/cover-dark.avif')"
@@ -2,6 +2,7 @@
title: 'DreamLog 0x1'
description: 'Project AIRI 的幕后故事!'
date: '2025-06-16'
excerpt: 'Project AIRI 的幕后故事!以及为什么我们会想要制作如此一个项目?'
preview-cover:
light: '../../../en/blog/DreamLog-0x1/assets/dreamlog1-light.png'
dark: '../../../en/blog/DreamLog-0x1/assets/dreamlog1-dark.png'
@@ -23,10 +24,6 @@ import '../../../en/blog/DreamLog-0x1/assets/dreamlog1-light.png'
import '../../../en/blog/DreamLog-0x1/assets/dreamlog1-dark.png'
</script>
Project AIRI 的幕后故事!
---
哈啰,又是我,Neko
首先,祝居住在北半球的朋友们暑假/夏日愉快!