先介绍下 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. Python网页应用开发神器Dash 2.18.1稳定版本来啦

    本文示例代码已上传至我的Github仓库:https://github.com/CNFeffery/dash-master Gitee同步仓库地址:https://gitee.com/cnfeffer ...

  2. ASP.NET Core – Program.cs and Startup.cs 小笔记

    前言 ASP.NET Core 6.0 以后, 默认模板去掉了 Program.cs 的 namespace, class 和 Startup.cs, 一开始看会有点懵. 这篇大概记入一下, prog ...

  3. Figma 学习笔记 – Component

    参考 Guide to Components in Figma Figma Tutorial: Components - The Basics (Youtube) 定义与用途 Figma 的 Comp ...

  4. [TK] 理想的正方形

    题目描述 有一个整数组成的矩阵,现请你从中找出一个指定边长的正方形区域,使得该区域所有数中的最大值和最小值的差最小. 题目分析 其实这道题和滑动窗口很像,而滑动窗口使用优先队列解决. 我们都知道优先队 ...

  5. JS时间对象与字符串相互转换

    1.Date => String 代码 /** * 函数描述:时间格式化工具 * @param format {String} 格式(y-年,M-月,d-日,H-时[24],h-时[12],m- ...

  6. ASP.NET Core OData 9的发布,放弃 .NET Framework

    Microsoft 于 2024 年 8 月 30 日宣布推出 ASP.NET Core OData 9 包. 这个新包将ASP.NET Core与.NET 8 OData库保持一致,改变了OData ...

  7. Android Qcom USB Driver学习(零)

    该系列文章总目录链接与各部分简介: Android Qcom USB Driver学习(零) 文章标题 文章链接 文章简介 Android Qcom USB Driver学习(零) https://b ...

  8. CNN归纳偏好

    出处:Transformer为何能闯入CV界秒杀CNN? CNN 中的卷积运算由于使用了两个重要的空间约束,从而有助于视觉特征的学习和提取: 由于 CNN 权重共享机制,卷积层所提取的特征便具有平移不 ...

  9. 删除 设置 获取 cookies 的第三方包 js-cookies

    // 第三方包 js-cookies 是一个操作cookies的包 import Cookies from 'js-cookie' // Cookies.set(key,value) 存值 // Co ...

  10. Python之py9-微信监控获取mp3_url

    #!/usr/bin/env python # -*- coding:utf-8 -*- import re import requests import wxpy name_url_list = [ ...