mirror of
https://github.com/KazooTTT/kazoottt-blog-v2.git
synced 2025-06-22 02:01:31 +08:00
Update docs and sort content
This commit is contained in:
@ -24,7 +24,7 @@ date_modified: 2025-02-07T03:25:34.000Z
|
||||
|
||||
1. 当前的账号没有发包权限。(比如没有某个包或者某个 scope 的权限)
|
||||
2. 当前的包名不符合规范。(需要 URL-safe characters)
|
||||
3. 当前的包名是屏蔽词。(例如 download [npm发包失败的原因#npm包名屏蔽词](/notes/reasons-why-npm-fails-to-send-packages))
|
||||
3. 当前的包名是屏蔽词。(例如 download [npm发包失败的原因#npm包名屏蔽词](/notes/reasons-why-npm-fails-to-send-packages#npm包名屏蔽词))
|
||||
4. 可能是当前的 npm 设置了镜像地址,而不是原始的 npm 地址,导致 login 的时候无法登录从而无法发布。解决方法就是在发布的时候先切换为原始的 npm 地址,再发布。
|
||||
5. 其他(后续遇到了再补充)
|
||||
|
||||
|
@ -193,7 +193,7 @@ wakatime 的数据查看:[Code stats for all users in 2023 - WakaTime](https:/
|
||||
|
||||
## 去年目标完成情况
|
||||
|
||||
[Y3-2022年度总结#5. 今年计划](/posts/y3-2022-annual-summary)
|
||||
[Y3-2022年度总结#5. 今年计划](/posts/y3-2022-annual-summary#5. 今年计划)
|
||||
|
||||
1. [ ] 【工作】拿一个 base 地是成都的 offer
|
||||
2. [ ] 【开源】把主站重构项目写完并上线
|
||||
|
@ -34,7 +34,7 @@ banner: >-
|
||||
3. [ ] 【学习】每周至少有一个技术向博客/视频的产出
|
||||
4. [ ] 【学习】学习 vue3,了解更多的前端框架
|
||||
|
||||
这是在 [Y4-2023年度总结#今年的计划](/posts/summary-of-fy2023) 中定下的 2024 年的目标,完成情况如上。
|
||||
这是在 [Y4-2023年度总结#今年的计划](/posts/summary-of-fy2023#今年的计划) 中定下的 2024 年的目标,完成情况如上。
|
||||
|
||||
在 9 月我回到了成都,开始了新的工作,新的生活。
|
||||
|
||||
|
56
src/content/post/不引入astro wiki plugin实现链接跳转的思路.md
Normal file
56
src/content/post/不引入astro wiki plugin实现链接跳转的思路.md
Normal file
@ -0,0 +1,56 @@
|
||||
---
|
||||
date_created: 2025-02-09T08:34:48.000Z
|
||||
date_modified: 2025-02-09T10:00:44.000Z
|
||||
title: 不引入astro wiki plugin实现链接跳转的思路
|
||||
date: 2025-02-09T00:00:00.000Z
|
||||
author: KazooTTT
|
||||
type: Post
|
||||
status: Published
|
||||
tags:
|
||||
- obsidian
|
||||
- astro
|
||||
- wiki-link
|
||||
- remark
|
||||
finished: true
|
||||
published: true
|
||||
category: qianduan
|
||||
slug: redirect-links-without-astro-wiki-plugin
|
||||
description: null
|
||||
toAstro: true
|
||||
astroType: post
|
||||
---
|
||||
|
||||
## 背景
|
||||
|
||||
obsidian 是我的进行笔记编辑的主力软件,并且通过 wiki 语法,也就是 `[[某个笔记]]` 的语法使用的频率很高。
|
||||
|
||||
与此同时,我还需要将笔记发布使用基于 astro 框架的博客上, 由于以下原因,实现起来比较困难。
|
||||
|
||||
1. astro 本身不支持 wiki 语法,wiki 语法需要引入 remark 插件,对 wiki 语法进行解析。
|
||||
2. 在 astro 中,我使用 slug 字段作为笔记的唯一标识,而 wiki 语法中,`[[某个笔记]]` 的语法,实际上是使用笔记的 title 作为唯一标识的。如果使用插件,它的处理方式是把名称中的空格转化为下划线,并且将 title 转换为小写。
|
||||
|
||||

|
||||
|
||||
所以这与我的需求不符合,我需要的是使用 slug 字段作为笔记的唯一标识,并且使用 wiki 语法进行链接跳转。
|
||||
|
||||
于是目前开源的插件不满足我的要求,我需要自己实现 wiki 语法的转化或者解析。
|
||||
|
||||
## 实现
|
||||
|
||||
这是我之前的输出和部署工作流,首先在 obsidian 中编辑,笔记有一个属性叫做 toAstro,值为 true 的时候表示需要输出到 astro 中。
|
||||
|
||||

|
||||
|
||||
那么实现的方式有两种,一种是从 obsidian 中输出到 astro 的时候,对于要输出到 astro 的笔记中的 wiki 做预处理 (即转化为普通的 md 语法),另一种是使用 remark 插件,在 astro 中解析 wiki 语法。
|
||||
|
||||
由于比较赶时间,我首先选择了第一种方式,后续再考虑引入 remark 插件。
|
||||
|
||||
于是流程就变成了下图。
|
||||
|
||||

|
||||
|
||||
对于预处理 link,具体操作是:
|
||||
|
||||

|
||||
|
||||
这样在输出的到 astro 的笔记中,wiki 语法就变成了普通的 md 语法,同时也保留了 title。
|
Reference in New Issue
Block a user