<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>WanY 的博客</title><description>记录技术、阅读与生活</description><link>https://wang-blog.pages.dev/</link><language>zh-CN</language><item><title>周末骑行：把城市骑成一条河</title><link>https://wang-blog.pages.dev/posts/weekend-cycling/</link><guid isPermaLink="true">https://wang-blog.pages.dev/posts/weekend-cycling/</guid><description>从家到江边，再沿着河骑四十公里。城市在车轮下慢慢变成一条流动的河。</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;周六早上六点，闹钟响的时候天刚亮。我套上骑行服，检查了一遍胎压、刹车和电量，把水壶灌满，推车出门。这个时间点的城市很安静，路边只有早餐店冒着白气，环卫工人扫着落叶，空气里有一点凉意。&lt;/p&gt;
&lt;h2&gt;出发&lt;/h2&gt;
&lt;p&gt;我的路线很简单：从家往东，穿过两个老小区，上沿江绿道，一路骑到郊外的桥，再原路折返，大约四十公里。第一次骑的时候觉得四十公里是件大事，骑到第三次就知道，只要不硬撑、按时补水，这个距离是能稳稳吃下来的。&lt;/p&gt;
&lt;p&gt;装备也很简单：头盔、骑行裤、手套、两瓶水，手机放在车架包里，导航开成静音。我不太喜欢边骑边看手机，所以路线会提前记住几个关键路口，剩下就靠路牌。&lt;/p&gt;
&lt;p&gt;前五公里最难受。身体还没热开，腿发沉，心里有个声音说“要不今天算了”。但我知道它会在十分钟后消失，所以不看码表，只盯着前面的路面，一下一下蹬。等呼吸顺了，景色才慢慢进来。&lt;/p&gt;
&lt;h2&gt;沿江这一段&lt;/h2&gt;
&lt;p&gt;绿道沿江铺开，一边是芦苇和江水，一边是树。春天骑的时候，江面上经常起雾，对岸的楼只看得到模糊的轮廓；到了夏天，太阳一出来就很晒，我会尽量在七点前把这段骑完。&lt;/p&gt;
&lt;p&gt;骑到十五公里左右有一座旧桥，桥墩上有人钓鱼，一坐就是大半天。我从他们身边经过，偶尔听到一句“又空军了”，忍不住笑。城市里大部分人都走得很快，只有这些人看起来一点都不着急。&lt;/p&gt;
&lt;p&gt;骑这段的时候我常常会想起小时候，家附近也有一条河，夏天放学后会去河边踩水。后来河道被修成了整齐的栏杆和步道，踩水的地方没有了，但走过去还是能闻到那股湿润的味道。&lt;/p&gt;
&lt;h2&gt;城市变成一条河&lt;/h2&gt;
&lt;p&gt;骑到后面，身体进了一种固定的节奏，脑子反而空下来了。平时想不通的事，在车上很少想，耳边只有风声和链条转动的声音。路边的早餐摊、菜市场、修车铺、跳广场舞的空地，一个接一个从身边滑过去，它们拼在一起，成了这座城市本来的样子。&lt;/p&gt;
&lt;p&gt;偶尔会遇到同样在骑的人，互相点个头，不用说话，各自保持自己的节奏。有一段路逆风很大，大家都不说话，低着头踩，过了那段才有人笑着说“今天风真大”。这种短暂的默契，是坐地铁时不会有的。&lt;/p&gt;
&lt;p&gt;开车太快，走过的地方都成了路名；走路太慢，四十公里要花一整天。骑行刚刚好，既能把城市的距离拉近，又能让每一段路都留下印象。有时候我会觉得自己不是在骑车，而是在一条由街道、树影和人组成的河里漂着。&lt;/p&gt;
&lt;h2&gt;回到家&lt;/h2&gt;
&lt;p&gt;九点多到家，卸车、洗澡、吃一碗热乎的面条，然后瘫在沙发上。下午通常会累得什么都不想干，但那种累是舒服的，像把一周积攒的闷气都蹬掉了。&lt;/p&gt;
&lt;p&gt;洗澡的时候热水冲下来，才发现背上已经被晒出了一层薄汗。晚上睡得特别沉，第二天起床腿有点酸，但精神很好。&lt;/p&gt;
&lt;p&gt;下周六我打算换条路线，往北边水库走，听说那边有一段连续上坡。坡有点长，但风景应该不错。&lt;/p&gt;
</content:encoded></item><item><title>我的效率工具清单（2026 版）</title><link>https://wang-blog.pages.dev/posts/dev-tools/</link><guid isPermaLink="true">https://wang-blog.pages.dev/posts/dev-tools/</guid><description>一份用了几年还在用的工具清单：编辑器、终端、笔记和那些让日常工作顺手一点的小软件。</description><pubDate>Sat, 18 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;每年都会看到各种“效率神器”推荐，我也跟风装过不少，最后发现真正留下来的就那么几个。这份清单里的工具，最短的用了两年，最长的用了五六年。它们不一定流行，但确实融进了我的日常。&lt;/p&gt;
&lt;h2&gt;编辑器与终端&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;VS Code&lt;/strong&gt;：前端开发的主力，插件只留了 ESLint、Prettier、GitLens、Error Lens 和一个用来练 Vim 键位的插件。插件装多了会卡，我把“看起来有用”的都卸了，每隔半年再清一次，三个月没用到的直接删。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Windows Terminal + PowerShell 7&lt;/strong&gt;：Windows 下最舒服的组合，分屏、标签页、自定义配色都够用。配合 oh-my-posh，命令行看起来顺眼很多。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;WSL2&lt;/strong&gt;：跑构建、装一些 Linux 工具链，比在 Windows 里折腾环境省心。代价是文件系统性能，所以项目目录我会放在 WSL 内部，而不是 &lt;code&gt;/mnt/f&lt;/code&gt; 下面。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;效率小工具&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;PowerToys&lt;/strong&gt;：微软官方的工具箱，我最常用的是 PowerToys Run（快速启动）和 FancyZones（窗口分屏布局）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Everything&lt;/strong&gt;：按文件名搜索快得离谱，装完之后基本没再打开过资源管理器自带的搜索。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Snipaste&lt;/strong&gt;：截图加贴图，写 bug 描述和文档时非常方便。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Obsidian&lt;/strong&gt;：本地 Markdown 笔记，双链和标签都很轻量，我的读书笔记和书单都放在里面。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Flow Launcher&lt;/strong&gt;：Windows 上的启动器，替代开始菜单；Mac 用户可以用 Raycast，挑一个顺手的就行，别两个都装。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;浏览器与阅读&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Edge + Vimium&lt;/strong&gt;：日常浏览用 Edge，主要是省内存，配上 Vimium 之后键盘翻页、开标签，几乎不用碰鼠标。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Feedly&lt;/strong&gt;：订阅了十几个技术博客和几个设计站，每天固定看二十分钟，比刷信息流安静得多。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;网页剪藏&lt;/strong&gt;：看到好文章先用 Obsidian 的插件存下来，周末统一读，避免工作时被一篇长文带着跑。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;命令行里的固定搭配&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ripgrep&lt;/code&gt;：搜代码，比 grep 快一个量级，&lt;code&gt;rg &quot;关键词&quot;&lt;/code&gt; 已经成了肌肉记忆。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;fd&lt;/code&gt;：找文件，语法比 find 友好太多。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;zoxide&lt;/code&gt;：&lt;code&gt;z 项目名&lt;/code&gt; 直接跳目录，省掉一长串 cd。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;fzf&lt;/code&gt;：模糊查找，配合命令历史和文件搜索一起用。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;::tip
工具装得越多不等于效率越高。我的建议是：先记下自己每天重复三次以上的动作，再去找对应工具。反过来“先装后找用途”，最后只会收获一个塞满图标的开始菜单。
:::&lt;/p&gt;
&lt;h2&gt;写在最后&lt;/h2&gt;
&lt;p&gt;整理这份清单时，我发现自己留下的都是“不用想就会打开”的工具。那些需要先学半小时配置、再花时间维护的，无论评测多好，最后都逃不过被卸载的命运。所以选择工具的标准其实很朴素：它得比我原本的做法更省事，否则就不值得。&lt;/p&gt;
&lt;p&gt;这两年我最大的变化，是开始主动做减法。桌面上只留必要的东西，浏览器标签超过十个就关掉，通知一律默认静音。工具终究是工具，它应该帮我把事情做完，然后尽快从视线里消失。&lt;/p&gt;
</content:encoded></item><item><title>2026 读书小记：三本让我慢下来的书</title><link>https://wang-blog.pages.dev/posts/reading-notes-2026/</link><guid isPermaLink="true">https://wang-blog.pages.dev/posts/reading-notes-2026/</guid><description>今年读得不多，但有三本书让我把速度放慢了。记一点读后感，也记一点自己的变化。</description><pubDate>Sat, 21 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;今年给自己定的读书目标是“少读一点，读慢一点”。前几年总追求数量，一年读几十本，年末翻笔记却什么都想不起来。今年刻意放慢，一本读完停几天，想想书里哪些地方真正打动了我。到目前为止，有三本做到了这件事。&lt;/p&gt;
&lt;h2&gt;《夜晚的潜水艇》：想象力是可以被珍藏的&lt;/h2&gt;
&lt;p&gt;陈春成的这本短篇集，我是在通勤地铁上读完的。第一篇讲一个孩子用想象力造潜艇，后来为了考试把想象力“封存”起来，那种感觉太熟悉了。我自己也是这样，小时候能对着一堆乐高拼一下午，现在面对一个需求，第一反应是“排期多久”。&lt;/p&gt;
&lt;p&gt;这本书没教我任何道理，但它让我想起来，想象力不是没用的东西，只是被我们收在某个抽屉里了。读完那周，我破天荒没有在周末打开电脑，去公园坐了一下午，什么也没干。&lt;/p&gt;
&lt;p&gt;陈春成的文字有一种很克制的漂亮，不炫技，但每一句都像琢磨过。我读的时候经常停下来，不是被情节吸引，而是被一个比喻绊住，想半天它到底好在哪里。这种阅读体验很久没有过了。&lt;/p&gt;
&lt;h2&gt;《禅与摩托车维修艺术》：一次很慢的旅行&lt;/h2&gt;
&lt;p&gt;这本书我读了将近两个月，中间断过三次。它表面上是一次父子骑行穿越美国的游记，实际上在讨论“良质”这种说不清的东西。作者对“把手上的事做好”的执念，和我平时赶工期的心态形成了强烈对比。&lt;/p&gt;
&lt;p&gt;印象最深的是他修摩托车时的那段描述：不是把问题糊弄过去，而是认真找到根源。写代码其实也一样，一个临时补丁能撑一周，但欠下的债迟早要还。读完这本书之后，我改代码前会多问自己一句：我是在解决问题，还是在让它暂时看起来没问题？&lt;/p&gt;
&lt;h2&gt;《瓦尔登湖》：生活可以更简单一点&lt;/h2&gt;
&lt;p&gt;梭罗在湖边住了两年多，种豆子、看蚂蚁打架、记录结冰的湖面。这本书有些地方确实沉闷，但我喜欢它的节奏——慢，但不是无所事事。&lt;/p&gt;
&lt;p&gt;我读完最大的收获不是想去隐居，而是意识到自己平时有多依赖“热闹”。手机里的消息、群聊、短视频，把时间切得太碎了。后来我把手机调成了灰度模式，每天给自己留一段不看屏幕的时间，感觉脑子清醒了不少。&lt;/p&gt;
&lt;h2&gt;一点小结&lt;/h2&gt;
&lt;p&gt;三本书主题各不相同，但有一个共同点：它们都不急着告诉我答案，而是让我自己慢慢想。今年剩下的时间，我打算重读《百年孤独》，这次不赶进度，一页一页读。&lt;/p&gt;
&lt;p&gt;读完后我给自己定了个小规矩：读一本书的期间，至少写一页笔记，哪怕只有几句话。不为输出，只为留下一点抓手，等以后想起这本书时，不至于只剩下“我读过”三个字。&lt;/p&gt;
&lt;p&gt;如果你也有那种“读完以后整个人安静下来”的书，欢迎推荐给我。&lt;/p&gt;
</content:encoded></item><item><title>用 Astro + Fuwari 搭一个自己的博客</title><link>https://wang-blog.pages.dev/posts/astro-fuwari-setup/</link><guid isPermaLink="true">https://wang-blog.pages.dev/posts/astro-fuwari-setup/</guid><description>从模板到自己的站点：记录我用 Astro 和 Fuwari 搭博客的完整过程，以及踩过的几个小坑。</description><pubDate>Sat, 14 Feb 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;做前端久了，总想有个地方放自己写的东西。前几年试过 Hexo，也用过 Notion 导出站点，最后都因为“折腾不动了”而放弃。今年想认真做一次，要求其实不高：加载要快、样式耐看、我只要写 Markdown 就行。挑了一圈，最后落在 Astro 上，模板用的是 Fuwari。&lt;/p&gt;
&lt;h2&gt;为什么是 Astro&lt;/h2&gt;
&lt;p&gt;Astro 默认输出静态 HTML，首页几乎没有 JavaScript 负担，这对一个内容为主的博客很重要。它的内容集合（Content Collections）用 Zod 校验 frontmatter，标题、日期、标签这些字段写错了会直接报错，对写文章的人来说是一种很实在的兜底。&lt;/p&gt;
&lt;p&gt;Fuwari 则是 Astro 生态里完成度很高的博客主题：明暗色切换、主题色、搜索、文章目录、代码高亮都有，交互做得也舒服，不用我再花一个周末调样式。&lt;/p&gt;
&lt;h2&gt;开始搭&lt;/h2&gt;
&lt;p&gt;先确认本地环境。Fuwari 文档要求 Node.js 20 以上、pnpm 9 以上，我这边是 Node 20 加 pnpm 9，正好符合。拉代码、装依赖：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 克隆模板并进入目录
git clone https://github.com/saicaca/fuwari.git my-blog
cd my-blog

# 安装依赖，sharp 用于图片处理
pnpm install
pnpm add sharp
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;装完依赖先跑一次 &lt;code&gt;pnpm dev&lt;/code&gt;，确认模板能正常启动，再去动配置。这个顺序能帮我快速判断问题出在环境还是配置上。&lt;/p&gt;
&lt;p&gt;然后改 &lt;code&gt;src/config.ts&lt;/code&gt;：站点标题、副标题、语言（我改成 &lt;code&gt;zh_CN&lt;/code&gt;）、个人资料卡片和导航栏链接。这一步几乎全是填字工作，但改完站点立刻就有了“自己的”感觉。&lt;/p&gt;
&lt;p&gt;:::tip
Windows 下尽量用 PowerShell 7 而不是系统自带的 5.1，执行 pnpm 脚本时少遇到一些编码和路径问题。另外 &lt;code&gt;node_modules&lt;/code&gt; 别提交进仓库。
:::&lt;/p&gt;
&lt;h2&gt;写第一篇文章&lt;/h2&gt;
&lt;p&gt;Fuwari 提供了新建文章的命令，也可以自己在 &lt;code&gt;src/content/posts/&lt;/code&gt; 下建 Markdown 文件。每篇文章的 frontmatter 大致长这样：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;---
title: 你好，世界
published: 2026-01-10
description: 开工第一篇。
image: /covers/hello-world.png
tags: [随笔, 博客]
category: 生活随笔
draft: false
---
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;字段不多，但有两个地方容易翻车：&lt;code&gt;published&lt;/code&gt; 要写 &lt;code&gt;YYYY-MM-DD&lt;/code&gt;，&lt;code&gt;image&lt;/code&gt; 如果以 &lt;code&gt;/&lt;/code&gt; 开头，表示相对 &lt;code&gt;public&lt;/code&gt; 目录的路径。封面图我统一放在 &lt;code&gt;public/covers/&lt;/code&gt; 下，文件名和文章文件名保持一致，这样以后批量换图也不会乱。&lt;/p&gt;
&lt;p&gt;站点配置本身也不复杂，几个常量就能把“Demo 站”换成自己：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;// src/config.ts
export const siteConfig: SiteConfig = {
  title: &quot;WanY 的博客&quot;,
  subtitle: &quot;写代码，也写点别的&quot;,
  lang: &quot;zh_CN&quot;,
  themeColor: { hue: 250, fixed: false },
};
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;本地跑起来&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;pnpm dev&lt;/code&gt; 启动开发服务器，默认在 4321 端口。写文章的时候页面会热更新，边写边看排版，比改完再构建舒服得多。模板自带 Pagefind 搜索，构建时会自动生成索引，不用额外配置。确认没问题后再 &lt;code&gt;pnpm build&lt;/code&gt; 生成静态文件；也可以先用 &lt;code&gt;pnpm preview&lt;/code&gt; 在本地预览生产构建，页面跳转和封面图这类静态资源，预览一遍心里更踏实。&lt;/p&gt;
&lt;h2&gt;部署还没想好&lt;/h2&gt;
&lt;p&gt;部署这件事我还没定。最省事的是推到 GitHub，用 Vercel 一键导入，每次 push 自动构建，几分钟就能上线；缺点是国内访问速度一般。另一条路是买台小服务器，Nginx 配一个静态目录也能跑，顺便还能练练手。我打算先把内容写起来，等文章攒到十篇再决定。&lt;/p&gt;
&lt;p&gt;整个搭建过程花了一个下午，比我想象中顺利。真正花时间的其实不是配置，而是想清楚要写什么——这件事，得靠一篇一篇文章慢慢回答。&lt;/p&gt;
</content:encoded></item><item><title>你好，世界：我为什么开始写博客</title><link>https://wang-blog.pages.dev/posts/hello-world/</link><guid isPermaLink="true">https://wang-blog.pages.dev/posts/hello-world/</guid><description>一次很普通的开始——聊聊我为什么在 2026 年重新拾起写博客这件事。</description><pubDate>Sat, 10 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;写这篇的时候，我在深夜的出租屋里，电脑旁边放着一杯快要凉掉的茶。窗外是城市凌晨的那种安静，偶尔有一辆车经过。这个画面大概和“写作”没什么关系，但我想把它记下来——因为决定开始写博客的那一刻，我脑子里想的就是这样的画面：一个人，一盏灯，写点自己的东西。&lt;/p&gt;
&lt;p&gt;我不是什么厉害的人，码字的速度也慢。平时上班已经够累了，晚上能留给自己的时间就那么两三个小时。所以这件事大概率会更新得很慢，可能一周一篇，也可能一个月才憋出一点东西。但我想试试，看看能不能坚持得久一点。&lt;/p&gt;
&lt;h2&gt;为什么是现在&lt;/h2&gt;
&lt;p&gt;我做了五年多前端。工作里写过的代码、修过的 bug、熬夜上线过的项目，真要算起来不算少，可是能留下来的东西几乎没有。技术笔记散在 Notion 里，一半是没写完的草稿；浏览器收藏夹攒了两百多个标签，大多数我再也想不起来为什么要收藏。有一次面试，对方问我最近在学什么，我愣了十几秒才开口——不是没学，是学的东西像水一样从指缝漏走了。&lt;/p&gt;
&lt;p&gt;写博客大概是我能想到的、最笨也最有效的办法：把学过的东西写清楚，才知道自己到底有没有学会。&lt;/p&gt;
&lt;h2&gt;怕写得不好&lt;/h2&gt;
&lt;p&gt;这个念头卡了我很久。我总觉得，写出来的东西得足够正确、足够深刻，才配放到互联网上。可后来我想通了：我又不是给教科书供稿，写错了就改，写浅了就再写一篇。先写起来，比写得漂亮重要。&lt;/p&gt;
&lt;p&gt;所以这里会是一个很普通的个人博客。技术上有踩坑记录和工具折腾，生活里有骑行、读书和一些没什么用的胡思乱想。它们不一定有用，但都是我真实经历过的东西。&lt;/p&gt;
&lt;h2&gt;写在博客里，而不是朋友圈&lt;/h2&gt;
&lt;p&gt;朋友圈发出去，等的是点赞；博客写下来，等的是自己的回看。这个区别挺重要的。社交平台上的文字有它的寿命，几天就沉下去了，而一篇写清楚的文章，一年后我自己还能翻出来用。而且写博客没有字数限制，也不用琢磨哪句话会不会得罪谁，反而能说得更完整一点。&lt;/p&gt;
&lt;h2&gt;写给未来的自己&lt;/h2&gt;
&lt;p&gt;我希望以后回头看这些文章，能想起当时为什么这么想、为什么这么做。如果恰好也有别人路过，看到某段文字觉得“原来也有人这样”，那就更好了。&lt;/p&gt;
&lt;p&gt;我不知道这个博客最后会变成什么样子，也许写满二十篇就断了，也许能陪我很多年。不管怎样，先给它取个名字：WanY 的博客。&lt;/p&gt;
&lt;p&gt;你好，世界。我来了。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;种一棵树最好的时间是十年前，其次是现在。&lt;/p&gt;
&lt;/blockquote&gt;
</content:encoded></item></channel></rss>