更新主题
将 astro theme pure 更新到最新版本
破坏性变更#
v4.1.2#
- 将
src/pages/terms/list.astro移动到src/pages/terms/index.astro。
v4.1.1#
- 将 shiki 自定义转换器移动到
src/plugins/shiki-custom-transformers.ts。 - 将 shiki 官方转换器移动到
src/plugins/shiki-official/transformers.ts。 - 改进了配置文件,调整了顺序并添加了注释。这将同时影响
src/site.config.ts和astro.config.ts(09dc44d ↗)。 - 默认添加了代码折叠功能 (7281077 ↗, 22b8847 ↗)
- 重构了调色板和边框半径样式。如果你使用了类似
--primary-foreground的颜色,请将其更新为--card。
v4.1.0#
- 将自定义 css 文件
global.css移动到了src/assets/styles/global.css。 - 将字体加载器更改为 Astro 内置字体加载器 ↗。
v4.0.9#
- 支持缓存链接头像 (Arthals)
v4.0.8#
无破坏性变更。
v4.0.7#
- 将
Button组件改为使用variant属性替代style属性。这可以帮助你在不冲突的情况下添加自定义样式。你需要像这样修改代码:
<Button title='我的按钮' style='primary' />
<Button title='我的按钮' variant='primary' /> jsx- 更改了
src/site.config.ts中的ExternalLinks配置。你需要像这样修改配置:
src/site.config.ts
export const theme: ThemeUserConfig = {
content: {
externalLinksContent: ' ↗',
/** 外部链接配置 */
externalLinks: {
content: ' ↗',
/** 外部链接元素的属性 */
properties: {
style: 'user-select:none'
}
},
/** 博客分页大小(可选) */
blogPageSize: 8,
externalLinkArrow: true // 显示外部链接箭头
}
}ts- 将 Waline 文件移出了包!查看 Commit 5119694 ↗ 了解如何修改你现有的页面和布局。不要忘记将
src/components/waline下的文件复制到你的项目中。
v4.0.6#
- 将项目卡片变量名从
project改为projects。
v4.0.5#
- 将 UnoCSS 预设从
Wind3改为Mini。一些功能被移除了,比如gradient、animation、container等。
v4.0.3#
- 将底部注册配置改为
links。这将为你提供更大的灵活性来添加更多链接或其他信息:
src/site.config.ts
export const theme: ThemeUserConfig = {
footer: {
links: [
{
title: '萌ICP 114514',
link: 'https://icp.gov.moe/?keyword=114514',
style: 'text-sm' // Uno/TW CSS 类
},
{
title: '站点政策',
link: '/terms/list',
pos: 2 // 设置为 2 将附加到版权行
}
]
}
}tsv4.0.2-beta#
- 考虑将工具图标移动到新路径,例如
src/assets/tools/;这可能有助于用户知道哪些图标与工具有关。 - 将链接
applyTip改为自定义数组样式:
src/site.config.ts
export const integ: IntegrationUserConfig = {
links: {
applyTip: [
{ name: '名称', val: theme.title },
{ name: '描述', val: theme.description || '空' },
{ name: '链接', val: 'https://astro-pure.js.org/' },
{ name: '头像', val: 'https://astro-pure.js.org/favicon/favicon.ico' }
// 你也可以添加更多字段
]
}
}ts- 添加环境变量
BUN_LINK_PKG。将其设置为true以自动引用路径packages/pure中的astro-pure包,而不是node_modules/astro-pure。这可能有助于用户开发主题或为自己修改代码(不建议用于生产环境)。 - 将 CSS 框架更改为 UnoCSS。这将影响
unocss.config.ts和排版类名的设置。
v4.0.1-beta#
- 将 svg 传递导入更改为自定义导入 svg 元素。这将影响使用
ToolSelection组件。你需要修改:
(可选)将图标移动到新路径,例如 src/assets/icons/
然后修改使用代码(默认在 src/pages/about/index.astro)
src/pages/about/index.astro
<ToolSection
tools={[
{
name: 'Arch Linux',
description: 'Linux 发行版',
href: 'https://archlinux.org/',
iconPath: 'archlinux'
icon: import('@/assets/icons/archlinux.svg?raw')
}
]},
/>ts- 此次更改引入了一个新组件
Svg。使用方法请参见 用户组件 #Svg 加载器。
v4.0.0-alpha#
- 将所有复用的组件、类型和工具函数移至新的 npm 包
astro-pure。受影响的组件包含在 . 中。导入方式也发生了变化:
import { Button } from '@/components/user'
import { Button } from 'astro-pure/user'ts- 新的配置文件格式
src/site.config.ts。将使用 zod 模式来验证配置文件,并且配置的使用方式将更改为:
import { siteConfig } from '@/site-config'
import config from '@/site-config'
// 或者如果你想使用处理或转换后的配置
import config from 'virtual:config'ts- 支持内置的 astro 配置。
astro-pure包将自动配置一些集成,如unocss/astro、@astrojs/mdx、@astrojs/sitemap,以及一些 rehypePlugins 和 remarkPlugins。 - 将搜索引擎更改为 pagefind ↗,主要是因为 Astro v5 不允许直接从客户端获取集合数据(这是 Fuse.js 搜索引擎的核心工作模式)。
- 将一些
BaseHead标签配置移至src/site.config.ts。
v3.1.4#
- 将配置
siteConfig.content.typographyProse移至integrationConfig.typography.class,位于src/site.config.ts。 - 将高级组件移至
src/components/advanced。受影响的组件包含在 高级组件 中。导入方式也发生了变化:
import LinkPreview from '@/components/LinkPreview.astro'
import { LinkPreview } from 'astro-pure/advanced'
<LinkPreview href='https://www.cloudflare.com/' />ts- 将
Substats配置移至相关页面src/pages/about/index.astro。 - 将 Github Card 组件更改为
GithubCard,位于src/components/advanced。使用方法请参见 高级组件 #Github Card。 - 将链接日志簿移至
src/site.config.ts。请参见 友情链接 #基本配置。
v3.1.3#
- 将用户组件移至
src/components/user。受影响的组件包含在 用户组件 中。导入方式也发生了变化:
import Button from '@/components/Button'
import { Button } from 'astro-pure/user'ts- 将
remark-github-blockquote-alert插件替换为组件Aside。查看 用户组件 #Aside 了解如何迁移。
v3.1.2 (预发布)#
- 将一些配置项(如
telegram、walineServerURL)移至src/site.config.ts的新结构中。
v3.1.1#
- 将
src/utils中的内部部分移至src/plugins。 - 将配置文件
astro.config.ts修改为astro.config.mjs。 - 将 ESLint 更新到最新版本,并将配置文件
.eslintrc.js迁移到eslint.config.mjs。 - 将
prettier.config.js修改为prettier.config.mjs。
v3.1.0 (预发布)#
- 将常见内容 markdown 格式化器
coverImage更改为heroImage。你需要修改所有的 markdown 文件,将coverImage替换为heroImage。
v3.0.9#
一个稳定版本。
待更新…
更新方法#
Rebase#
如果你是通过 fork 创建的新项目,可以直接将主题仓库变基到最新版本。
手动合并#
由于 Git 历史不同,你可能需要手动将主题仓库合并到你的项目中。
对于 Windows 用户,一个实用的工具是 WinMerge ↗。
以下过滤列表可能对你有帮助:
## 这是 WinMerge 的目录/文件过滤模板
name: Astro Theme Pure
desc: 博客与 Astro Theme Pure 的差异对比
## 选择过滤类型是包含还是排除
## 包含(宽松)过滤允许所有不匹配规则的项目通过
## 排除过滤只允许匹配规则的项目通过
## include 或 exclude
def: include
## 文件名过滤以 f: 开头
## 目录过滤以 d: 开头
## 要排除某些匹配 f: 模式的文件,请指定 f!
## 要排除某些匹配 d: 模式的文件夹,请指定 d!
## (行内注释以 " ##" 开头,一直延伸到行尾)
### 前端文件 ###
d: \\\.git$
d: \\node_modules$
# Astro 缓存
d: \\\.vercel
d: \\\.astro
### 主题开发 ###
d: ^\\packages$
d: ^\\preset$
d: ^\\test$
f: ^LICENSE$
f: ^README\.md$
f: ^README-zh-CN\.md$
f: ^CODE_OF_CONDUCT\.md$
# 项目
f: ^bun\.lockb$
f: \.code-workspace$
f: ^ignore\.md$
### Astro theme pure ###
# 静态资源
d: ^\\public\\favicon$
f: ^public\\links\.json$
f: ^public\\images\\social-card\.png$
# 资源
f: ^src\\assets\\avatar\.png$
d: ^\\src\\assets\\projects$
d: ^\\src\\assets\\tools$
# 内容
d: ^\\src\\content\\blog$
d: ^\\src\\content\\docs$
d: ^\\src\\pages\\docs$
f: ^src\\pages\\terms\\.*\.md$
### 博客 ###
# 你自己的文件diff