Skip to content
Donghai's Blog
Go back

AstroPaper 4.0(译)

大家好!祝大家新年快乐 🎉,愿 2024 一切顺利!我们很高兴地宣布 AstroPaper v4 正式发布。这是一次重要更新,带来了多项新功能、优化改进以及问题修复,全面提升你的博客使用体验。特别感谢所有贡献者的宝贵意见与努力,让 v4 成为可能!

AstroPaper v4

Table of contents

Open Table of contents

重大变更

升级至 Astro v4 #202

AstroPaper 现已基于 Astro v4 构建,充分利用其强大能力。不过这是一次相对平滑的升级,大多数 Astro 用户不会受到破坏性影响。

Astro v4

使用 Astro Content slug 替代 postSlug #197

在 AstroPaper v4 中,博客内容 schema 里的 postSlug 已被移除。

在早期版本中,由于 Astro 本身没有内置 slug 机制,我们只能自行实现。自 Astro v3 起,Astro 提供了内容集合(Content Collection)和 slug 功能。因此现在正式采用 Astro 官方内置的 slug 特性。

file: src/content/blog/astro-paper-4.md

---
author: Sat Naing
pubDatetime: 2024-01-01T04:35:33.428Z
title: AstroPaper 4.0
slug: "astro-paper-v4" # if slug is not specified, it will be 'astro-paper-4' (file name).
# slug: "" ❌ cannot be an empty string
---

slug 的行为现在略有不同:

在旧版本中,如果未指定 postSlug,系统会将文章标题自动转换为 slug 并使用。

而在 AstroPaper v4 中,如果未指定 slug,则会使用 Markdown 文件名作为 slug。注意:slug 字段可以省略,但不能是空字符串(slug: "" ❌)。

如果你是从 v3 升级到 v4,请务必将 src/content/blog/*.md 文件中的 postSlug 替换为 slug

新功能

为内容创建新增代码片段(Snippets)#206

AstroPaper 现已内置 VSCode 代码片段,用于创建新的博客文章,无需再手动复制粘贴 frontmatter 和内容结构(目录、标题、摘要等)。

有关 VSCode Snippets 的更多信息,请参考官方文档

博客文章新增修改时间显示 #195

现在可以在博客文章中显示修改时间,让读者了解文章的最新更新状态。这不仅提升用户对内容时效性的信任,也有助于博客 SEO 表现。

Last Modified Date feature in AstroPaper

You can add a modDatetime to your blog post if you’ve made modifications. Now, the sorting behavior of the posts is slightly different. All posts are sorted by both pubDatetime and modDatetime. If a post has both a pubDatetime and modDatetime, its sorting position will be determined by the modDatetime. If not, only pubDatetime will be considered to determine the post’s sorting order.

新增返回顶部按钮 #188

在文章详情页中新增返回顶部按钮,优化阅读导航体验

Back to top button in AstroPaper

标签页新增分页功能 #201

为标签页添加分页功能,提升内容组织与浏览体验。当某个标签下文章较多时,读者不会一次性被大量内容淹没。

动态生成 robots.txt #130

AstroPaper v4 现在会动态生成 robots.txt 文件,让你更灵活地控制搜索引擎抓取行为。

同时,sitemap URL 也会自动添加到 robots.txt 文件中。

新增 Docker-Compose 文件 #174

现在提供 Docker-Compose 文件,使部署与环境管理更加简单高效。

重构与问题修复

标签页标题不再使用 Slug 格式 #198

为提升可读性、用户体验与 SEO,标签页标题不再显示为 slug 形式(如 Tag: some-tag),而是显示为正常格式(如 Tag: Some Tag)。

Unslugified Tag Names

使用 100svh 作为最小高度 (79d569d)

将 body 的最小高度更新为 100svh,为移动端用户带来更好的体验。

统一站点 URL 为单一数据源 #143

网站网址现在成为唯一的真实来源,简化了配置并避免了不一致。更多内容请参见本 PR 及其相关问题。

修复浅色模式下代码块文字不可见问题 #163

修复了浅色模式下代码块文本不可见的问题。

面包屑中标签 Unicode 解码优化 #175

面包屑导航中标签的最后一部分现在会进行解码,使非英文 Unicode 字符显示更友好。

更新 LOCALE 配置以支持更多语言 (cd02b04)

LOCALE 配置已更新,支持更广泛的语言环境,满足更多用户需求。

结语

我们相信这些更新将显著提升你的 AstroPaper 使用体验。感谢所有贡献代码、解决问题以及为项目点赞的朋友们。期待看到你使用 AstroPaper v4 创作出更多精彩内容!

Happy Blogging!

Sat Naing
AstroPaper 创建者


Share this post on:

Previous Post
2024年长沙三日游:臭豆腐、洗脚、橘子洲头等
Next Post
如何使用Git Hooks设置创建和修改日期(译)
BlogsClub Meo Forever Blog