Astro v5 x DevNow
先介绍下 DevNow
DevNow 是一个精简的开源技术博客项目模版,支持 Vercel 一键部署,支持评论、搜索等功能,欢迎大家体验。同时也支持 Follow、 RSS 订阅,欢迎大家订阅。
目前承载着:
- 我的Blog:一些相关的技术文章和个人生活记录。
- Weekly: 每周发布一些技术圈中热度比较高的内容,主要是技术相关的。
- Ph-Daily: 热榜可能会穿插一些其他的话题和一些开源项目介绍等。
- DevNow:开源项目的一些迭代信息和介绍。

背景
很早之前就看到 Astro 5.0 beta 版本,但是没有跟进,想着等稳定版本发布在更新。随着 Astro 5.0 在 12月4号 正式发布,今天正好不忙就把 DevNow 项目更新到了 Astro v5.0 ,不过这个版本的更新不是很大,但是有很多很多的新特性,包括 Content Layer、Server Islands、Prerendering、Vite 6 等等,这些都是很值得大家关注的。具体的更新可以看以下文章:
下边主要记录下升级过程中遇到的问题,以及解决的办法。
升级内容
Content Layer
主要是通过新的 Content Layer loader 来实现加载本地资源文件,具体如下图:

文章结构
- 用 id 替换掉 slug
- render 引入替换

Issues
loader 加载本地文件
通过 loader glob 加载本地文件的时候,默认是通过 entry id 来生成文章的索引, id 和原先的 slug 的区别是 id 会带上文件名后缀,如:
// id: 2022-05-22.md
// slug: devnow
会导致原先的文章无法加载,搜索引擎已经收录的都是 slug 这种路由,这样替换成 id 会导致路由的变更,这里还是期望生成 slug 这样的路由。
Astro 中提供了两种方式:
- legacy-flags : 通过
legacy-flags来兼容原先的数据加载方案。 - 继续使用
Content Layer loader,然后在loader中进行处理: 通过自定义generateId来实现自定义 id。解决方案是在社区找到的 feat: add glob loader

其他的设计一些小改动,具体的改动可以看 DevNow 的升级 Commit 中的详细信息。
剩下的后边在继续跟进,还有些新的 Feature 也会在后续迭代上。
Astro v5 x DevNow的更多相关文章
- 终于等到你:CYQ.Data V5系列 (ORM数据层)最新版本开源了
前言: 不要问我框架为什么从收费授权转到免费开源,人生没有那么多为什么,这些年我开源的东西并不少,虽然这个是最核心的,看淡了就也没什么了. 群里的网友:太平说: 记得一年前你开源另一个项目的时候我就说 ...
- CYQ.Data V5 分布式缓存Redis应用开发及实现算法原理介绍
前言: 自从CYQ.Data框架出了数据库读写分离.分布式缓存MemCache.自动缓存等大功能之后,就进入了频繁的细节打磨优化阶段. 从以下的更新列表就可以看出来了,3个月更新了100条次功能: 3 ...
- CYQ.Data V5 从入门到放弃ORM系列:教程 - MAction类使用
背景: 随着V5框架使用者的快速增加,终于促使我开始对整个框架编写完整的Demo. 上周大概花了一星期的时间,每天写到夜里3点半,终完成了框架所有功能的Demo. 同时,按V5框架名称空间的顺序,对每 ...
- CYQ.Data V5 分布式自动化缓存设计介绍
前方: 其实完成这个功能之前,我就在思考:是先把想法写了来,和大伙讨论讨论后再实现,还是实现后再写文论述自己的思维. 忽然脑后传来一个声音说:你发文后会进入发呆阶段. 所以还是静下心,让我轻轻地把代码 ...
- Atitit.软件兼容性原理与实践 v5 qa2.docx
Atitit.软件兼容性原理与实践 v5 qa2.docx 1. Keyword2 2. 提升兼容性的原则2 2.1. What 与how 分离2 2.2. 老人老办法,新人新办法,只新增,少修改 ...
- CYQ.Data V5 从入门到放弃ORM系列:框架的优势
前言: 框架开源后,学习使用的人越来越多了,所以我也更加积极的用代码回应了. 在框架完成了:数据库读写分离功能 和 分布式缓存功能 后: 经过三天三夜的不眠不休,终于完成框架第三个重量级的功能:自动化 ...
- CYQ.Data V5 数据库读写分离功能介绍
前言 好多年没写关于此框架的新功能的介绍了,这些年一直在默默地更新,从Nuget上的记录就可以看出来: 这几天在看Java的一些东西,除了觉的Java和.NET的相似度实在太高之外,就是Java太原始 ...
- py-faster-rcnn +cudnn V5
转载自http://blog.csdn.net/u010733679/article/details/52221404,经过实际操作,采用了第二种手动替换代码文件.修改个别函数名的方式,成功编译. - ...
- MSSQL-to-MySQL v5.3, 从MSSQL迁移到mySQL的最佳工具
将现有的MSSQL数据库迁移到MySQL数据库,尝试了很多种工具 MySQL Workbench / MSSQL to MySQL Export / DB Converter / openDBcopy ...
- win10 用cmake 3.5.2 和 vs 2015 update1 编译 GPU版本(cuda 8.0, cudnn v5 for cuda 8.0)
win10 用cmake 3.5.2 和 vs 2015 update1 编译 GPU版本(cuda 8.0, cudnn v5 for cuda 8.0) 用vs 2015打开 编译Release ...
随机推荐
- TimesURL: 用于通用时间序列表征学习的自监督对比学习《TimesURL: Self-supervised Contrastive Learning for Universal Time Series Representation Learning》模型代码运行解析
现在是2024年3月25日16:17,打算好好的跑一个模型的代码,之前都没有系统性的过一遍,打算拿这个模型的代码开刀,Go,环境和乱七八糟的已经配好了. 关于这篇论文,之前写了博客,里面也有Githu ...
- Identity – Permission Claims & UserClaimsPrincipalFactory
前言 在 Identity – Authorize 有介绍过, Identity 的验证核心是 Claims. 在 Identity – Without Identity Framework 也看到了 ...
- 项目发布后项目时间和linux时间不一致
查阅了很多资料,本来总以为是项目的问题,启动前端,连接不同的后台,本地项目时间是正确的,部署到linux Docker容器就不行.很纳闷...... 基于以上,还是决定记下来,以便后来的人查阅,解决问 ...
- Spring —— 注解开发(bean管理)
注解定义bean 纯注解开发(无需配置文件) bean作用范围 bean生命周期
- 系统编程-操作系统概论PART2
<1> 操作系统提供的服务 <2> 现代操作系统的特征 2.1 微内核(英文中常译作µ-kernel或者micro kernel) 这是一种能够提供必要服务的操作系统内核: ...
- 禁用QQ自动升级(实测可用)
事件起因: 某客户电脑QQ从怀旧版(9.7)自动升级到NT版本(9.9)版本,新版本由于消息通知功能不能直接查看,老版本右下角消息闪烁,鼠标放上去便可以看到有几个联系人的消息,因此客户强烈要求版本回退 ...
- Vue 文件流预览 PDF
Vue js // pdf 预览 export function download(id) { return request({ url: '/bbs/regtech/law/download?id= ...
- 百度ai只能回答怎么关闭
百度ai只能回答怎么关闭 要关闭百度的AI智能回答功能,可以通过以下几种方法实现: 使用广告拦截插件 安装广告拦截插件:如AdGuard.uBlock Origin等,这些插件可以帮助你 ...
- 云原生的 WebAssembly 能取代 Docker 吗?
WebAssembly 是一个可移植.体积小.加载快并且兼容 Web 的全新格式.由于 WebAssembly 具有很高的安全性,可移植性,效率和轻量级功能,因此它是应用程序安全沙箱方案的理想选择.现 ...
- 使用 KubeSphere 部署高可用 RocketMQ 集群
作者:老Z,云原生爱好者,目前专注于云原生运维,KubeSphere Ambassador. Spring Cloud Alibaba 全家桶之 RocketMQ 是一款典型的分布式架构下的消息中间件 ...