[{"content":"这两天一直在折腾neovim，在搞treesitter的语法高亮时碰到一个很奇怪的问题，在配置好插件后一直报错，显示windows自带的tar无法解压解析器。\n于是乎我寻找了一下压缩包所在的位置，但是却都是空的。经历了一翻折腾之后找到了解决方案。\n第一步：获取curl 我重新获取了最新版的curl，或许不是版本的问题，不过我懒得试了。从 这里 下载curl。加入到系统的PATH中。注意，是系统PATH，不是用户的PATH。并把顺序提高的最前面，如图所示。 系统的PATH 然后重启电脑应用新的环境变量。\n第二步：配置curl暂时忽略ssl证书 在我替换了系统的curl之后，neovim就不再报无法解压，而是报证书不正确。所以我尝试了暂时禁用SSL验证。但是请注意，这不建议用在任何生产环境，只是我个人的临时解决方案。\n打开资源管理器，在地址栏输入%APPDATA%回车，如图所示。 APPDATA 打开里面的Romaing文件夹，创建一个新的文本文件.curlrc。在里面加入下面的配置。\ninsecure 然后保存。重新打开neovim，curl就可以正常下载解析器了。记得下完之后删除这个配置文件。 附上安装完成的nvim-treesitter。 image.png ","permalink":"https://jaffrez.io/posts/d86f51b1/","summary":"\u003cp\u003e这两天一直在折腾neovim，在搞treesitter的语法高亮时碰到一个很奇怪的问题，在配置好插件后一直报错，显示windows自带的tar无法解压解析器。\u003c/p\u003e","title":"解决windows下nvim-treesitter无法正常下载解析器"},{"content":"看看网上搭建Rust环境的教程，一般都是使用MSVC作为后端。这里介绍一下如何使用gnu后端搭建。 当然，使用gnu后端也有好几种，比如使用cygwin或者msys2，就我个人而言，我不太喜欢装额外的环境，所以最终选择了winlibs，它是一个打包好的编译器和工具包。\n第一步：下载winlibs 在这个网址下载 winlibs ,大部分时候选择最新版本就好。这里我选择了图中的版本。 winlibs.com 然后解压并移动到合适的位置。例如E:/mingw/。 接下来需要把gcc所在的位置加入PATH，以便于rust编译器能找到gcc。 打开系统的环境变量设置，将解压后的文件夹中的bin文件夹加入到PATH。 用户的PATH变量 完成这一切后就可以重启电脑，使环境变量生效。\n第二步：开始安装Rust 首先打开终端，输入$ gcc[enter]。如果看到和图片中类似的输出，就说明gcc已经成功的加入到PATH中。\nOutput 接下来获取Rust的安装包。可以直接点击这个 链接 下载，或者自行到官网获取。 下载完安装包后，可以配置一个镜像来加快稍后的安装速度。我建议使用字节的 RsProxy 。毕竟不限速（doge）。\nexport RUSTUP_DIST_SERVER=\u0026#34;https://rsproxy.cn\u0026#34; export RUSTUP_UPDATE_ROOT=\u0026#34;https://rsproxy.cn/rustup\u0026#34; 需要把这两行环境变量加入到shell中。因为我使用的是 Nushell 。所以我改成了对应的\n1 2 $env.RUSTUP_DIST_SERVER = \u0026#34;https://rsproxy.cn\u0026#34; $env.RUSTUP_UPDATE_ROOT = \u0026#34;https://rsproxy.cn/rustup\u0026#34; 只需要按照具体的shell修改即可。接下来就是正式安装。回到下载的Rust安装包所在的文件夹。打开终端，使用$ ./rustup-init.exe启动安装。 rust-init.exe 可以看到3个选项。因为要使用GNU target，所以这里输入$ 3[enter]。\n然后再输入$ 2[enter]进入自定义安装。\n终端中会出现类似于Default host triple? [x86_64-pc-windows-msvc]的提示。中括号中的是默认选项。如果回车就会自动使用这个。\n我们输入x86_64-pc-windows-gnu[enter],接下来的几项就是工具链的选择。通常都直接使用默认选项，回车就好。\n等再次出现3个选项时。我们就已经完成了所有的设定，让我们直接输入[enter]开始安装。 经过一段时间的等待之后，安装完成了，由于配置了镜像，所以安装会比较快速。 安装完成 出现类似的输出就是安装成功。然后需要重启shell或电脑来应用修改的PATH。整个安装过程就完成了。打开终端输入$ rustc[enter]显示出一长串文档就是安装成功了。\n第三步：额外配置 上面为Rust的安装和更新配置了镜像，但是Rust在开发时需要从crates.io下载大量的库，有时候也会很慢，幸运的是，RsProxy也提供了镜像。 在cargo目录下新建一个文件Config.toml。通常这个目录位于C:/Users/用户名/.cargo。 我们需要把配置文件放在C:/Users/用户名/.cargo/Config.toml。在文件中添加如下内容。\n1 2 3 4 5 6 7 8 9 10 [source.crates-io] replace-with = \u0026#39;rsproxy-sparse\u0026#39; [source.rsproxy] registry = \u0026#34;https://rsproxy.cn/crates.io-index\u0026#34; [source.rsproxy-sparse] registry = \u0026#34;sparse+https://rsproxy.cn/index/\u0026#34; [registries.rsproxy] index = \u0026#34;https://rsproxy.cn/crates.io-index\u0026#34; [net] git-fetch-with-cli = true 这样就可以使用RsProxy下载crates了。\n","permalink":"https://jaffrez.io/posts/e0726e2a/","summary":"\u003cp\u003e看看网上搭建Rust环境的教程，一般都是使用MSVC作为后端。这里介绍一下如何使用gnu后端搭建。\n当然，使用gnu后端也有好几种，比如使用cygwin或者msys2，就我个人而言，我不太喜欢装额外的环境，所以最终选择了winlibs，它是一个打包好的编译器和工具包。\u003c/p\u003e","title":"安装使用GNU target的Rust"},{"content":"从2026/2/14开始，这个博客就开始使用 jaffrez.io 域名啦!\n","permalink":"https://jaffrez.io/posts/cb3c0067/","summary":"\u003cp\u003e从2026/2/14开始，这个博客就开始使用\u003ca href=\"https://jaffrez.io\"\n   \n   target=\"_blank\"\n   rel=\"noopener noreferrer\"\u003e\n  jaffrez.io\n\u003c/a\u003e\n\n域名啦!\u003c/p\u003e","title":"纪念更换域名"},{"content":"今天突然想搞一搞个人博客，于是上网查了查资料，最终参考这篇 博客 开始折腾。在这里记录一下碰到的一些问题。以后再碰到了也方便找。\n1. 使用Obisidian默认时间模板生成的文章无法正常显示 弄好主题和别的一堆东西之后，我发现无论怎么尝试都无法让文章正常显示，最后对比了一些上面那篇博客中可以正常显示的文章，最终确定问题出在文章头的date属性上。 必须要把obisidian设置中模板\u0026gt;日期格式改为“YYYY-MM-DDTHH:mm:ssZ”，使生成出的时间戳类似于\u0026quot;2026-02-14T02:08:19+08:00\u0026quot;，才能正常被hugo识别并显示。\n2. github市场中的action自带的hugo版本过老，无法正常生成网站 如果你和我一样把博客放在github pages上，使用市场中的hugo action，可能会出现无法编译的问题。这时候只需要把配置文件中的hugo版本改为最新版就好了。在我写出这一条时，Hugo的最新版本是0.155.3。\n3. 如何使用文章标题和时间戳生成slug 我在obisidian中添加了Templater来使用模板生成文章。在模板中添加如下内容再插入就可以自动生成slug。为了避免获取到的文件名称都是Untitled，在生成前会自动询问文章名称。\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 \u0026lt;%* let title = await tp.system.prompt(\u0026#34;请输入文章标题\u0026#34;); if (title == null || title == \u0026#34;\u0026#34;) { title = \u0026#34;Untitled\u0026#34;; } await tp.file.rename(title); const timestamp = tp.date.now(\u0026#34;YYYY-MM-DDTHH:mm:ssZ\u0026#34;); const inputString = title + timestamp; let hash = 5381; for (let i = 0; i \u0026lt; inputString.length; i++) { hash = ((hash \u0026lt;\u0026lt; 5) + hash) + inputString.charCodeAt(i); } let hexSlug = (hash \u0026gt;\u0026gt;\u0026gt; 0).toString(16); while (hexSlug.length \u0026lt; 8) { hexSlug = \u0026#34;0\u0026#34; + hexSlug; } -%\u0026gt; --- title: \u0026#34;\u0026lt;% title %\u0026gt;\u0026#34; date: \u0026lt;% tp.file.creation_date(\u0026#34;YYYY-MM-DDTHH:mm:ss+08:00\u0026#34;) %\u0026gt; tags: [] slug: \u0026#34;\u0026lt;% hexSlug %\u0026gt;\u0026#34; share: false description: \u0026#34;\u0026#34; author: Jaffrez dir: posts comments: true disableCopyright: false --- \u0026lt;% tp.file.cursor() %\u0026gt; 4. 修复添加medium-zoom后，鼠标在目录栏上也显示放大镜 在我给博客添加了一些功能后，我发现了如题的情况，经过一段时间的研究。最终我使用css覆盖的方式修复了这个问题。只需要把下面这段代码加到layouts/partials/extend_footer.html的末尾就行。\n1 2 3 4 5 6 7 8 9 10 11 \u0026lt;style\u0026gt; summary .details, summary span.details { cursor: pointer !important; pointer-events: auto !important; } .toc summary, .toc .details { cursor: pointer !important; } \u0026lt;/style\u0026gt; ","permalink":"https://jaffrez.io/posts/77605e59/","summary":"\u003cp\u003e今天突然想搞一搞个人博客，于是上网查了查资料，最终参考这篇\u003ca href=\"https://www.printlove.cn/obsidian-blog/\"\n   \n   target=\"_blank\"\n   rel=\"noopener noreferrer\"\u003e\n  博客\n\u003c/a\u003e\n\n开始折腾。在这里记录一下碰到的一些问题。以后再碰到了也方便找。\u003c/p\u003e\n\u003ch2 id=\"1-使用obisidian默认时间模板生成的文章无法正常显示\"\u003e1. 使用Obisidian默认时间模板生成的文章无法正常显示\u003c/h2\u003e\n\u003cp\u003e弄好主题和别的一堆东西之后，我发现无论怎么尝试都无法让文章正常显示，最后对比了一些上面那篇博客中可以正常显示的文章，最终确定问题出在文章头的date属性上。\n必须要把obisidian设置中模板\u0026gt;日期格式改为“YYYY-MM-DDTHH:mm:ssZ”，使生成出的时间戳类似于\u0026quot;2026-02-14T02:08:19+08:00\u0026quot;，才能正常被hugo识别并显示。\u003c/p\u003e","title":"Obsidian+Hugo踩坑记录"},{"content":"最喜欢的游戏：minecraft，factorio，Apex Legends。\n","permalink":"https://jaffrez.io/about/","summary":"\u003cp\u003e最喜欢的游戏：minecraft，factorio，Apex Legends。\u003c/p\u003e","title":"关于我"}]