先介绍下 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的更多相关文章

  1. 终于等到你:CYQ.Data V5系列 (ORM数据层)最新版本开源了

    前言: 不要问我框架为什么从收费授权转到免费开源,人生没有那么多为什么,这些年我开源的东西并不少,虽然这个是最核心的,看淡了就也没什么了. 群里的网友:太平说: 记得一年前你开源另一个项目的时候我就说 ...

  2. CYQ.Data V5 分布式缓存Redis应用开发及实现算法原理介绍

    前言: 自从CYQ.Data框架出了数据库读写分离.分布式缓存MemCache.自动缓存等大功能之后,就进入了频繁的细节打磨优化阶段. 从以下的更新列表就可以看出来了,3个月更新了100条次功能: 3 ...

  3. CYQ.Data V5 从入门到放弃ORM系列:教程 - MAction类使用

    背景: 随着V5框架使用者的快速增加,终于促使我开始对整个框架编写完整的Demo. 上周大概花了一星期的时间,每天写到夜里3点半,终完成了框架所有功能的Demo. 同时,按V5框架名称空间的顺序,对每 ...

  4. CYQ.Data V5 分布式自动化缓存设计介绍

    前方: 其实完成这个功能之前,我就在思考:是先把想法写了来,和大伙讨论讨论后再实现,还是实现后再写文论述自己的思维. 忽然脑后传来一个声音说:你发文后会进入发呆阶段. 所以还是静下心,让我轻轻地把代码 ...

  5. Atitit.软件兼容性原理与实践 v5 qa2.docx

    Atitit.软件兼容性原理与实践   v5 qa2.docx 1. Keyword2 2. 提升兼容性的原则2 2.1. What 与how 分离2 2.2. 老人老办法,新人新办法,只新增,少修改 ...

  6. CYQ.Data V5 从入门到放弃ORM系列:框架的优势

    前言: 框架开源后,学习使用的人越来越多了,所以我也更加积极的用代码回应了. 在框架完成了:数据库读写分离功能 和 分布式缓存功能 后: 经过三天三夜的不眠不休,终于完成框架第三个重量级的功能:自动化 ...

  7. CYQ.Data V5 数据库读写分离功能介绍

    前言 好多年没写关于此框架的新功能的介绍了,这些年一直在默默地更新,从Nuget上的记录就可以看出来: 这几天在看Java的一些东西,除了觉的Java和.NET的相似度实在太高之外,就是Java太原始 ...

  8. py-faster-rcnn +cudnn V5

    转载自http://blog.csdn.net/u010733679/article/details/52221404,经过实际操作,采用了第二种手动替换代码文件.修改个别函数名的方式,成功编译. - ...

  9. MSSQL-to-MySQL v5.3, 从MSSQL迁移到mySQL的最佳工具

    将现有的MSSQL数据库迁移到MySQL数据库,尝试了很多种工具 MySQL Workbench / MSSQL to MySQL Export / DB Converter / openDBcopy ...

  10. 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 ...

随机推荐

  1. TypeScript 高级教程 – 把 TypeScript 当强类型语言使用 (第一篇)

    前言 原本是想照着 TypeScript 官网 handbook 写个教程的. 但提不起那个劲... 所以呢, 还是用我自己的方式写个复习和进阶笔记就好了呗. 以前写过的 TypeScript 笔记: ...

  2. JavaScript – 类型转换

    介绍 JS 是弱类型语言, 在编程时, 有许多自动类型转换的技巧, 虽然大家都不太鼓励, 尤其是用了 TypeScript 之后, 但无可否认自动转换很方便, 看上去也很干净. 所以这篇还是要介绍一些 ...

  3. Figma 学习笔记 – Layout Grid

    前言 我原本以为, 在 Figma 只要用 Auto Layout 就可以打天下. 真的是 too young too simple. 要做一个简单的 7:3 比例, 用 Auto Layout 是做 ...

  4. @vue/cli typescript插件使用指南

    步骤 使用 yarn add 安装 @vue/cli-service 对应版本的 @vue/cli-plugin-typescript 例如:"@vue/cli-service": ...

  5. Windows 10 LTSC 2019(1809) WSL 安装 CentOS 7

    1.安装WSL    通过控制面板--程序和功能--启用或关闭WIndows功能,勾选"适用于Linux的Windows子系统".    或者通过管理员权限打开 PowerShel ...

  6. 数据库运维实操优质文章分享(含Oracle、MySQL等) | 2023年3月刊

    本文为大家整理了墨天轮数据社区2023年3月发布的优质技术文章,主题涵盖Oracle.MySQL.PostgreSQL等数据库的基础安装配置操作.故障处理.性能优化等日常实践操作,以及概念梳理.常用脚 ...

  7. 宝塔部署java后端项目

    1. 安装插件 宝塔面板找到软件商店然后搜索 Java java项目管理安装 安装后点击设置准备安装 tomcat 2. 添加项目

  8. vue3+tpyeScript + element plus 三级复选框,全选控制全部,左侧选中控制右侧全选

    .markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...

  9. KubeSphere 宣布开源 Thanos 的企业级发行版 Whizard

    日前,青云科技宣布开源 Thanos 的企业级发行版 Whizard,为企业带来真正高可用.可扩展.可存储与查询海量监控数据.易运维.安全的 Prometheus 长期存储方案. Prometheus ...

  10. ABC370 E - Avoid K Partition

    ABC370 E - Avoid K Partition 求一个序列的合法划分方案数.一种划分合法当且仅当没有一个子串的和是 \(k\). 由于是否存在子串和为 \(k\) 很重要,因此考虑将它加入状 ...