笔记
0工具
0此页用于记录用户反馈问题后的每一次改进
关于
“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。
md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。
要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。
在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。
要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。
工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。
写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。
适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。
不想公开、只想临时给人看:点“分享”生成一条带密码和有效期的链接,到期自动失效,你也能随时撤销。
你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。
全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。
这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。
不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。
产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。
如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。
趋势
Astro 7.0:全面提速,Rust 重写核心管线,构建性能提升 15-61%
Astro 7.0 通过 Rust 重写编译器、Markdown 处理及渲染引擎,结合 Vite 8 与 Rolldown,实现构建速度大幅提升,并引入高级路由、CDN 缓存和 AI 辅助开发功能。
概述
Astro 7.0 正式发布,本次更新的核心主题是 速度。团队对 .astro 编译器、Markdown/MDX 处理管线、渲染引擎进行了全面重写,并升级到 Vite 8(内置 Rust 打包器 Rolldown)。基准测试显示,构建速度提升 15-61%,部分站点甚至快了两倍以上。此外,Astro 7 稳定了路由缓存机制,新增对 Netlify、Vercel、Cloudflare 的实验性 CDN 缓存支持,并引入了高级路由(src/fetch.ts 入口点)以及面向 AI 辅助开发的背景开发服务器与结构化 JSON 日志输出。
核心性能提升
Astro 的构建过程分为两步:
- 打包阶段:将页面、内容和客户端组件打包为 JavaScript。
- 渲染阶段:像小型服务器一样运行打包后的代码,为每个预渲染页面发起请求并保存生成的 HTML。
Astro 7 对两个阶段均有优化,但重点在第一步——打包。最大的性能提升来自将构建中最慢的部分用 Rust 原生代码重写。渲染阶段也因新的队列化渲染策略而更快。
基准测试结果(MacBook Pro Apple M4 Pro / 48GB 内存)
| 网站 | 页面数 | 旧版本耗时 | Astro 7 耗时 | 提升幅度 |
|---|---|---|---|---|
| docs.astro.build | ~6,313 | 114.54s | 73.53s | 35.8% |
| astro.build | ~308 | 62.70s | 24.24s | 61.3% |
| biomejs.dev | ~6,488 | 176.39s | 149.90s | 15.0% |
| developers.cloudflare.com | 8,431 | 386.89s | 261.94s | 32.3% |
| tauri.app | 7,117 | 86.12s | 55.33s | 35.8% |
| aspire.dev | 13,275 | 385.84s | 326.11s | 15.5% |
关键发现:.astro 编译和 Markdown 处理占构建时间比例越大的站点,收益越明显,因为这些部分正是迁移到 Rust 的核心。
Vite 8 与 Rolldown
Astro 7 升级到 Vite 8,这是 Vite 近年来最重要的版本。最大变化是 Vite 现在使用 Rolldown——一个基于 Rust 的打包器,取代了之前的 esbuild 和 Rollup。Rolldown 在基准测试中比 Rollup 快 10-30 倍,同时支持相同的 Rollup 和 Vite 插件 API。对于大多数 Astro 项目,无需任何配置更改即可享受更快的构建。Vite 8 还包含兼容层,可自动将现有的 esbuild 和 rollupOptions 配置转换为 Rolldown 等效配置。
Rust 编译器
Astro 7 的 .astro 组件编译器完全用 Rust 重写(替代了之前基于 Go 的编译器),主要变化包括:
1. 不再自动修正 HTML
旧版 Go 编译器会静默地将标记重排、自动闭合标签、移动节点以生成“有效 HTML”,这经常让用户意外并导致难以调试的问题。新编译器按原样处理你的标记。
2. JSX 风格的严格性
未闭合标签(如 <div>Hello)和未终止属性(如 <div class="Hello >)现在会直接报错,而不是被静默修正。这些实际上是模板中的真实 bug,旧编译器为了像浏览器一样工作而忽略了它们。
3. JSX 空白处理
元素之间的空白现在遵循 JSX 约定被折叠,匹配 React 等框架的行为。例如,内联元素之间的换行不再产生可见空格:
html
Hello
World
Hello{' '}World
编译器底层使用 oxc 进行解析,Lightning CSS 进行 CSS 作用域处理。在 docs.astro.build 上,单独的编译器优化带来约 6% 的构建时间提升——虽然 .astro 编译通常不是瓶颈(Markdown 处理和打包才是),但在拥有数千页的大型站点上,每一点优化都会累积。
Markdown & MDX 管线:Sätteri
Astro 7 将默认的 Markdown/MDX 处理管线替换为 Sätteri——由 Astro 核心团队成员 Erika 创建的 Rust 原生处理器。切换到 Sätteri 后,Astro 文档和 Cloudflare 文档的构建时间各减少了一分钟以上,使 Markdown 密集型站点成为本次更新的最大受益者。
此前,Astro 的 Markdown 管线运行在 unified(remark、rehype 及大量 JavaScript 依赖)之上。在大规模站点上,该管线往往是构建中最慢的阶段:每个文件都要经过 JavaScript 解析、插件遍历整个 AST、再序列化为 HTML。
Sätteri 原生支持的特性
| 特性 | unified 所需插件 | Sätteri 支持 |
|---|---|---|
| GFM(表格、脚注、删除线、任务列表) | remark-gfm | 内置,默认开启 |
| 智能标点(弯引号、破折号) | remark-smartypants | 内置 |
| 标题 ID | remark-heading-id | 内置 |
| 容器指令 | remark-directive | 内置 |
| 数学公式 | remark-math | 内置 |
| Frontmatter(YAML、TOML) | remark-frontmatter | 内置 |
| 上标/下标 | remark-supersub | 内置 |
| Wiki 链接 | remark-wiki-link | 内置 |
非默认功能通过 features 选项开启:
javascript
// astro.config.mjs
import { defineConfig } from 'astro/config';
import { satteri } from '@astrojs/markdown-satteri';
export default defineConfig({
markdown: {
processor: satteri({
features: {
directive: true,
math: true,
headingAttributes: true,
},
}),
},
});
Sätteri 还拥有自己的插件 API。插件只需声明它们关心的节点类型,跳过其余节点,而不是像 unified 那样每次遍历整个树。这使得添加插件的成本大幅降低。如果依赖 remark/rehype 插件,仍可通过 @astrojs/markdown-remark 使用基于 unified 的管线。
队列化渲染引擎
Astro 7 用新的基于队列的渲染引擎取代了旧的渲染引擎。该引擎更有效地对要渲染的部分进行排队,减少了空闲等待时间,从而加速了构建的第二步(生成 HTML)。
高级路由(Advanced Routing)
Astro 7 引入了 src/fetch.ts 入口点,让开发者对 Astro 的请求管线拥有完全控制权。这允许更灵活的路由逻辑,例如自定义中间件、请求拦截、响应修改等高级场景。
路由缓存与 CDN 缓存
- 路由缓存:Astro 7 稳定了路由缓存功能,避免重复构建未变更的页面,遵循“最快的构建就是不需要发生的构建”这一理念。
- CDN 缓存提供者:新增对 Netlify、Vercel、Cloudflare 的实验性 CDN 缓存支持,允许在边缘层缓存渲染结果,进一步加速全球访问。
AI 辅助开发增强
Astro 7 为 AI 辅助开发(如 Copilot、Cursor 等编码代理)提供了专门支持:
- 检测编码代理:自动识别开发环境中运行的 AI 代理。
- 后台开发服务器:允许开发服务器在后台持续运行,无需手动重启。
- 结构化 JSON 日志:当代理需要机器可读的反馈时,输出结构化的 JSON 日志,便于解析和自动化处理。
升级指南
现有项目升级:
bash
推荐方式(自动升级)
npx @astrojs/upgrade
手动升级
npm install astro@latest
新项目创建:
bash
npm create astro@latest
详细迁移步骤请参考官方升级指南。
总结
Astro 7.0 是一次以性能为导向的重大更新。通过将编译器、Markdown 处理器和打包器迁移到 Rust,结合队列化渲染和缓存策略,显著缩短了构建时间,尤其是对内容密集的大型站点。同时,高级路由、CDN 缓存和 AI 辅助功能为开发者带来了更灵活、更现代化的开发体验。