“写笔记”支持四种格式——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)。
这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。
不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。
产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。
如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。
浏览器中的 KiCad:PCBJam 如何让电路设计触手可及
本文介绍 PCBJam 项目,它通过 WebAssembly 技术将 KiCad 运行在浏览器中,实现无需安装的 PCB 设计体验。
背景与动机
KiCad 是一款开源、跨平台的电子设计自动化(EDA)套件,广泛应用于 PCB(印刷电路板)设计。传统上,用户需要下载安装包、配置环境、管理库文件,这对新手或临时使用者来说门槛较高。PCBJam 项目旨在解决这一问题:将 KiCad 的核心功能移植到浏览器中,用户只需打开网页即可开始设计电路板,无需任何本地安装。
技术实现:WebAssembly 与 Emscripten
PCBJam 的核心技术是 WebAssembly(Wasm),一种可以在现代浏览器中高效运行的二进制指令格式。项目团队使用 Emscripten 工具链,将 KiCad 的 C++ 源代码交叉编译为 Wasm 模块。这意味着 KiCad 的底层算法(如布线、DRC 检查、Gerber 导出)几乎原封不动地运行在浏览器中,而非通过 JavaScript 模拟。
关键挑战包括:
- 文件系统模拟:KiCad 依赖本地文件读写,PCBJam 使用 Emscripten 的虚拟文件系统(MEMFS),将用户的项目文件存储在浏览器内存或 IndexedDB 中。
- GUI 适配:KiCad 原生的 wxWidgets 界面无法直接运行在浏览器中。PCBJam 通过 Emscripten 的 HTML5 后端,将 KiCad 的绘图命令映射到 Canvas 元素,同时使用 JavaScript 处理鼠标、键盘事件。
- 性能优化:Wasm 模块体积约 30MB(压缩后),首次加载需要数秒。团队通过分块加载(code splitting)和预编译优化,减少初始等待时间。
功能与限制
PCBJam 目前支持 KiCad 的大部分核心功能:
- 原理图编辑器(Eeschema)
- PCB 布局编辑器(Pcbnew)
- 3D 查看器
- 符号和封装库管理(内置常用库,支持用户上传自定义库)
- 导出 Gerber、PDF、SVG 等标准格式
已知限制:
- 不支持插件和 Python 脚本(KiCad 的脚本 API 无法在 Wasm 环境中运行)
- 大型项目(超过 200 个元件)可能因内存限制变慢
- 离线使用受限:虽然 Wasm 模块可以缓存,但首次加载仍需网络
- 无法直接连接外部硬件(如编程器、示波器)
实际体验与性能数据
根据 PCBJam 演示页面及社区反馈:
- 加载时间:首次约 10-15 秒(取决于网络和 CPU),后续访问利用浏览器缓存可缩短至 2-3 秒。
- 操作流畅度:对于中等复杂度(约 50-100 个元件)的项目,缩放、拖拽、布线等操作与原生 KiCad 差距不大。
- 内存占用:峰值约 200-400MB,属于浏览器应用正常范围。
一位 HN 评论者测试了 4 层板设计(约 150 个元件),表示“原理图编辑和手动布线完全可用,但自动布线器(Freerouter)在浏览器中崩溃”。这提示当前版本对计算密集型功能支持有限。
应用场景与意义
PCBJam 的出现降低了 PCB 设计的门槛:
- 教育场景:学生无需安装软件即可在课堂上学习电路设计。
- 快速原型验证:创客在查看网页文档时可直接修改电路。
- 协作共享:通过 URL 分享项目文件(目前仍需手动导出/导入,未来可能实现实时协作)。
- 跨平台:在 Chromebook、平板电脑等无法运行原生 KiCad 的设备上也能工作。
从技术角度看,PCBJam 是“Web 应用接管桌面软件”趋势的又一例证。类似项目包括:Web 版 VS Code(code-server)、浏览器中的 Blender(Hubs 编辑器)、以及 Figma(基于 WebGL 的设计工具)。
未来展望
PCBJam 目前仍处于早期演示阶段(版本 0.1),项目代码尚未完全开源(但团队承诺将逐步开放)。可能的改进方向:
- 集成 WebUSB/WebSerial API,允许直接烧录固件或调试硬件。
- 使用 WebRTC 实现多人实时协作编辑。
- 支持 KiCad 8 的新功能(如差分对布线、交互式 BOM)。
- 通过 Service Worker 实现完整离线支持。
总结
PCBJam 证明了通过 WebAssembly 将复杂的桌面 EDA 工具移植到浏览器是可行的。虽然目前功能有限,但它为电子设计工具的云端化、轻量化开辟了新路径。对于偶尔使用 KiCad 的用户或教育工作者,PCBJam 是一个值得关注的工具。