2283 Commits

Author SHA1 Message Date
zepan
14df4354c3 fix(docs): repair misspelled image filenames
目录没问题,是文件名本身拼错了:

  enviroument.png -> environment.png   (作者把自己文章名都拼错了)
  succeed_login.png -> susseed_login.png (这次反过来,是文件名拼错,
                                          引用是对的)

判定:引用指向的目录必须存在,在该目录内按编辑距离找同扩展名的近似
文件名,且最优解必须严格优于次优解。

护栏:纯数字或短于 4 字符的文件名不参与近似匹配——实测有一例
1.jpg 被匹配到 WE1.jpg,编辑距离在短名上毫无区分力。

断链 52 -> 50。
2026-10-07 21:09:50 +08:00
zepan
8a1ee30543 fix(docs): repair references to renamed asset directories
又一类笔误:中间某一级目录被改过名,引用没跟着改。

  Tang-Nano-1K/Nano_1K_examples/ -> Tang-Nano-1K/examples/
  maixpy assets/dk_board/        -> assets/hardware/
  Tang Nano-4K/                  -> assets/Nano-4K/

这类前两条规则都够不着:按文件名匹配是多候选(同名图在别的产品
目录下也有),按整段尾路径匹配又因为中间那级对不上而失败。

改用「锚定最长存在前缀 + 匹配最深后缀」:先从左往右找仍然存在的
最长目录前缀作为锚点,再在锚点下按尽可能深的路径后缀唯一匹配。
8 处全部零歧义。断链 60 -> 52。
2026-10-07 21:08:00 +08:00
zepan
b668c2c952 fix(docs): repair wrong '../' depth in image references
spmod 等页面把 ../assets/... 写成了 ../../assets/...,多了一级。

判定方式不是靠文件名撞运气,而是整段尾路径精确匹配:沿页面的各级
父目录向上找,看哪一级拼上 assets/spmod/spmod_bt/back.jpg 这样的
完整尾路径能命中。命中多处时取最近的祖先——依据是同目录下能正常
显示的页面(spmod_ethernet/fpc/weather)用的就是 ../assets/...。

13 组多处命中里 11 组是逐字节相同的副本,取哪个都一样;另 2 组是
同一张图的不同分辨率,按同目录惯例取 en/maix 下的高清原图。

断链 76 -> 60。
2026-10-07 21:02:49 +08:00
zepan
47089a4329 fix(docs): repair 42 more broken image paths by unique-name matching
接着上一轮,按「候选在仓库中唯一」继续批量修复素材搬家遗留的断链:

- 页面自身目录内的子目录名写错 12 处
  assets/lc3a -> assets, assets/images -> assets/image,
  assets/lbook -> assets/lbook4a, 以及文件名大小写笔误
- maixface 24 处:文档在 docs/hardware/maixface/{zh,en}/,素材却留在
  docs/hardware/zh/maixface/assets/(目录层级顺序相反),位移规则统一
- 其余跨目录唯一匹配 6 处

护栏:纯数字或过短的文件名(11.png 这类)即使全仓库唯一也不自动匹配,
因为很可能只是撞车——实测确有一例指向了毫不相关的文档。

断链 118 -> 76,基线同步更新;新引入 0 处(构建产物复核过)。
2026-10-07 20:54:20 +08:00
zepan
66300f5dd7 fix(tools): resolve site-absolute image paths the way teedoc does
构建产物核验发现检查器有 3 个误报,成因是绝对路径解析不全:

- /news/... 由 blog 插件发布,site_config 的 route 里没有登记
- 不匹配任何路由的绝对路径,teedoc 是按「该文档所属路由的根」解析,
  而不是站点根。例如 /assets/x.jpg 出现在 docs/soft/maixpy/en/ 的
  页面里,实际指向 docs/soft/maixpy/assets/x.jpg

补上这两条回退后,断链 121 -> 118,基线同步更新。
拿构建产物复核:118 项里 112 项在生成的网站里确实取不到。
2026-10-07 20:41:00 +08:00
zepan
8baa566a07 chore(assets): compress the last oversized bitmaps to under 300KB
10 张超 500KB 的静态位图按 300KB 目标压缩,文件名不变:
  长边逐档下调 + 质量逐档下调,直到达标
  JPEG 走质量阶梯 85->65;PNG 保持扩展名,走调色板量化 256->128

6.72MB -> 2.78MB。至此仓库内已无超过 500KB 的静态位图。

SVG 暂不处理:大的几个都是历史遗留图,且其中最大的一张
(Tang_nano_4K_0813.svg) 69% 是内嵌 base64 位图,svgo 优化不到,
整体收益有限。
2026-10-07 20:35:31 +08:00
zepan
9f2da4cd6c docs(AGENTS): add image and animation compression guidelines
把这轮媒体治理实测出来的规律写进编写规范,避免后来人重犯:

- 压缩标准补上理由:git 永久保存每个历史版本,一张没压的大图
  即使以后删掉,仍让此后每个完整 clone 的人多下载一次
- 静态图按「照片 vs 合成图形」二分,两类处理方向完全相反
- 动图不要直接提交 GIF;有损 WebP 对文字是灾难(实测 +93%)
- 缩放必须用最近邻而非 lanczos(同尺寸差 3.5 倍),并给出
  2/3(录屏)与 512(实拍)两个尺度
- 长录播转 MP4 的取舍,以及 muted/playsinline 不能省
2026-10-07 20:19:05 +08:00
zepan
e137cf58a5 chore(assets): convert remaining GIFs to WebP and re-encode bloated MP4s
动图 52 个按内容分流重编(51.2MB -> 27.4MB):
  录屏/合成图形 -> WebP 无损(有损 DCT 会把文字编得又大又糊,
                实测同一文件无损 -58%、有损 q45 反而 +93%)
  实物影像     -> WebP 有损 q35
  需要缩放的用最近邻而非 lanczos:插值做抗锯齿会让同一字形在不同
  位置变成不同像素图案,LZ77 的重复匹配全部失效(同尺寸差 3.5 倍)

MP4 9 个按等效 1080p 码率重编(21.7MB -> 7.9MB):
  M2A-1 折合 1080p 高达 39.6Mbps(338x450 用了近 3Mbps),-98%
  其余按等效 1080p 1Mbps;combo8 的 156 秒录屏按等效 500k,-62%
  传感器对比、微光星空、已极省的 120fps 录屏保持原样

媒体总量 572MB -> 534MB。断链检查 0 新增。
2026-10-07 20:18:51 +08:00
zepan
2821a421bc ci: check that referenced images exist; document shallow clone
断链图片一直在悄悄累积(本次清理前有 230 处),而且线上看不出来:
teedoc-upload 只上传不删除对象存储里已移除的文件,旧副本把断链盖住了,
所以页面看起来正常。CI 里也从来没有任何链接检查。

- tools/check_image_links.py:只认 markdown ![]() 与 <img src>,
  先剥离代码块以免把 `convert in.jpg out.jpg` 这类示例当成引用,
  并按 site_config 的 route 解析站点绝对路径。
- tools/known_broken_images.txt:当前仍存在的 121 处已知断链基线。
  CI 对不在基线中的断链报错,基线只许减不许增。
- .github/workflows/check_links.yml:push 与 PR 均运行。
- README:建议 --depth=1 浅克隆并解释原因——文档站的历史里保留了
  每张图的所有旧版本(约 1GB),而贡献者只需要当前版本。
2026-10-07 01:01:33 +08:00
zepan
73defb366b fix(docs): update image references and repair broken paths
两部分改动:

1. 跟随上一个提交的格式变更,改写引用(PNG→JPG、GIF→WebP),
   共 408 处。注意站点绝对路径(/hardware/zh/...)需按 site_config
   的 route 映射解析,不能当成仓库相对路径。

2. 修复 108 处本来就断掉的图片引用——文件还在仓库里,但素材目录
   搬家/改名后引用没跟着改。只在候选唯一且与页面处于同一产品线时
   自动改写;多候选的 75 处与文件确实缺失的 83 处保留,记入
   tools/known_broken_images.txt 待人工处理。

以 HEAD 为基线用同一检查器核对:断链 230 → 121,新引入 0 处。
2026-10-07 01:01:21 +08:00
zepan
8ad1862fdf chore(assets): compress oversized images and convert GIFs to WebP
全仓库媒体资源体积治理。4332 张图中有 440 张超过 500KB、合计 512MB,
基本都是未经处理的原图/原始截图,量级错了一两档。

- 366 张超 500KB 的图按类型分流处理:
    照片     → 限宽 1920px、JPEG q85、去元数据
    截图/线稿 → 保持 PNG,调色板量化(文字保持锐利)
    透明 PNG → 合成白底后转 JPEG
  369MB → 57MB
- 106 个动画 GIF 转为动画 WebP,116MB → 40MB
  (31 个转换后反而变大的保留 GIF 原样)
- 删除 slogic32u3 下 6 个无任何页面引用的孤儿文件

相机样片(传感器对比、微光夜视)未做有损处理,画质本身即内容。
MP4 共 21 个仅 34MB 且已是合理码率的 H.264,未改动。
2026-10-07 01:01:10 +08:00
zepan
16f14cfc10 feat(home): refresh product carousel and SLogic series cards
- 轮播更新为按发布时间倒序的 8 款新品,中英各一套海报
  (NanoKVM Go / SLogic32U3 / T256s / MaixCAM2 / SLogic16U3 /
   NanoKVM Pro / Maix-IV / NanoCluster),旧配置注释保留
- SLogic 系列卡片按发布时间排序 (Combo8 / 16U3 / 32U3),
  换用白底正式素材、统一比例,视觉体量匹配产品定位
- 修复 babel fuzzy 导致英文页漏中文:硬件文档、16U3/32U3 卡片描述
  三条译文正确但被标 fuzzy,compile 时跳过。清除标记后生效。
  淘宝购买链接的 9 条 fuzzy 译文为误配(内容实为其它产品的速卖通
  链接),保留 fuzzy 以回退,待补正确链接后再清。
2026-10-07 00:21:15 +08:00
zepan
135482bbc5 docs(ngscopeclient,slogic16u3): align with single-binary flow and 32U3 specs
- ngscopeclient 中英页统一为单可执行文件流程,清理过时的 bridge 说明
- slogic16u3 对比表补上 SLogic32U3 尺寸 59x51x13mm
2026-10-07 00:21:04 +08:00
zepan
46bf14df51 docs(slogic_agent): rewrite around end-to-end AI circuit analysis
从「语音转按键」改写为端到端 AI 电路分析:观察-假设-验证闭环流程图,
两条接入路径(sigrok-cli Plugin / ALL LOGIC MCP),底层细节下沉为附录 A-D。

- 新增两个案例:TPM SPI 协议逆向(入门)、GBA 卡带 32 通道总线分析(旗舰)
- GBA 案例目标为实时还原游戏画面与关键变量监控
- 配图中英双版(gba-setup / gba-channel-map / tpm-spi-setup / wiring-essentials)
- 移除故事悬赏章节
2026-10-07 00:21:04 +08:00
zepan
dfc8c47db8 docs(slogic32u3): restructure into 5 pages following slogic16u3
Intro/QS/UG 重组为 Introduction / Quick_Start / Hardware_Specification /
Software_User_Guide / FAQ,中英同名以便 teedoc 翻译索引匹配。

- 快速上手独立成页,每步给可验证结果
- 规格校正:2 Gbit DDR3、数字信号带宽 350MHz、800MB/s(6.4Gbps)、
  59x51x13mm、探头线 15cm 同轴 + 特氟龙杜邦、ADC 模拟带宽 10MHz
- Mini-HDMI 引脚表(奇数脚 GND / 偶数脚信号)、通道颜色表加色块
- 上位机统一主推 SLogicView,移除 PulseView 描述;LogicWeb 改名 SLogicWeb
- 补 AFE 警告、10Gbps 口提示、配件与 ADC 模组说明
- 删除 15MB 工程样机带水印照片,换用正式素材
- 侧边栏中英更新;短链目标跟随改名修正
2026-10-07 00:20:53 +08:00
zepan
b1c057acce docs: add AGENTS.md wiki authoring guide
给后续 AI / 自动化协作者的编写规范:仓库结构、构建与双语机制、
产品文档 5 页模板、图片与叙事规范、首页 layout 与 babel 陷阱、
提交前自检清单与坑速查表。CLAUDE.md 指向它。
2026-10-07 00:20:41 +08:00
taorye
e3c83e533c docs(ngscopeclient): align en page to single-binary; clean stale bridge caption
- Rewrite en ngscopeclient page to match the single-binary zh version
- Remove the leftover 'bridge terminal log' caption wording on both languages

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-10-02 00:30:33 +08:00
taorye
ae2f81050a docs(slogic32u3): add English docs (Intro/QS/UG/FAQ) mirroring zh
- Translate the full zh set to English; expand en sidebar to the full set
- Shared hero image referenced from the zh assets dir
- Cross-file/in-page anchors use English heading slugs

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-10-02 00:30:23 +08:00
taorye
c55c5de2d0 docs(slogic32u3): unify on Intro naming
- Delete orphaned zh Introduction.md placeholder (zh sidebar uses Intro.md)
- Rename en Introduction.md -> Intro.md and update en sidebar
- Aligns the #1045 placeholders to the Intro/QS/UG/FAQ convention

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-10-02 00:07:05 +08:00
taorye
9ca16a3733 docs(slogic32u3): drop scaffolding notes and manual heading numbers
- Remove leftover '复用 16U3' migration annotations (keep the content)
- Drop manual heading numbers (wiki auto-numbers headings)
- Confirm PulseView native Windows has no software rate cap (machine-bound)
- Merge a duplicate VCC safety bullet

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-10-02 00:02:28 +08:00
taorye
6e4af1c152 docs(slogic32u3): fill P0 hardware specs from probe schematic and confirmations
- Mini-HDMI (HDMI Type-C 1.4): 8ch/coax per connector, GND/VCC(+5V)/CK
  shared across the 4 groups; CK = 100MHz LVCMOS33 fixed clock output
- Digital input impedance 100k, power 5V@65mA, min pulse ~0.71ns (1 interval)
- ADC module: 4ch/8-bit/100MSa/s/20MHz BW/+-15V safe (correct earlier values)
- LED semantics match 16U3; pre-trigger supported; MODE = hidden pinhole
  (SIM pin) toggling APP/DFU; firmware via slogic16u3-tools
- Pricing left to crowdfunding page (retail not open); formalize wording
- Upgrade release-photo placeholders to highlighted [!NOTE] callouts

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-10-02 00:02:28 +08:00
taorye
693d34b91c feat(home): add SLogic32U3 to homepage series and short link
- Add SLogic32U3 card, reorder cards newest-first (32U3 -> 16U3 -> Combo8)
- Add /slogic32u3 short link (language-detect redirect to Intro)
- Add homepage card image (downscaled product photo)
- Extract new i18n strings; add en translations for card brief and 众筹

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-10-02 00:02:28 +08:00
taorye
737f587e2c docs(ngscopeclient): drop legacy sigrok-bridge/CLI flow, single-binary download-and-run
- Remove two-binary architecture, sigrok-bridge launch, TCP ports, twinlan,
  --adc-mode CLI, RUST_LOG and bridge-only FAQ entries
- Single binary, download-and-run on Windows/Linux/macOS (was macOS 'coming soon')
- Downloads via GitHub Release with dl.sipeed backup mirror
- Keep all image assets and UI operation text; scope udev ID_MM_DEVICE_IGNORE
  to the 359f rule; fix a stale in-page anchor

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-10-02 00:00:23 +08:00
taorye
7b815590d9 docs(slogic32u3): fill confirmed specs and update ngscopeclient to single-binary UI
- ngscopeclient now single-binary, UI-configured (drop sigrok-bridge/--adc-mode/TCP)
- Downloads via GitHub Release (dl.sipeed as backup mirror)
- Stream mode 6.4Gbps/800MB/s, 2Gbit DDR, samplerate table
  (4ch@1400/8ch@800/16ch@400/32ch@200), max 1400M
- Threshold 0-6V step 0.1V (Vth), Mini-HDMI 8-color coding, min pulse ~0.71ns
- Multi-ch/multi-edge trigger (ngscopeclient single-ch/edge), MODE=DFU/APP
- macOS fully supported; scope udev ID_MM_DEVICE_IGNORE to the 359f rule

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-10-02 00:00:23 +08:00
taorye
984a179437 docs(slogic32u3): scaffold wiki (Intro/QS/UG/FAQ) with confirmed specs and TODO placeholders
- Add Intro/QS/UG/FAQ aligned to the T256s doc convention, plus sidebar nav
- Fill specs confirmed from own docs: WinUSB driverless on Windows, driver
  name sipeed-slogic-analyzer, VID 359f, ngscopeclient --adc-mode analog,
  connection params, sigrok-cli usage
- Fill hardware specs: Stream mode 6.4Gbps/800MB/s, 2Gbit DDR, samplerate
  table (4ch@1400/8ch@800/16ch@400/32ch@200), 0.1V threshold step,
  Mini-HDMI 8-color coding, multi-ch/multi-edge trigger, MODE=DFU/APP
- Remaining unknowns kept as greppable TODO / 待确认 markers

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-10-02 00:00:23 +08:00
taorye
dcc189e567 docs(slogic16u3): correct SLogic32U3 max sample rate to 1400M in comparison table
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-10-01 23:56:52 +08:00
taorye
5d8c025bce chore(i18n): update maix and tang store links
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-10-01 23:56:52 +08:00
Guoguo
2b7e58d892 docs: slogic32u3 placeholder (#1045)
* docs(slogic32u3): add placeholder page in EN/CN, sidebar entry and short link

* docs(slogic32u3): add trailing newline to short link page
2026-09-30 10:53:01 +08:00
kingo0807
0bfb308551 docs(nanokvm-go): document the Sipeed Remote Network in its own guide 2026-09-29 17:24:55 +08:00
梁子月
d76c2cbe7c docs(nanokvm-pro): clarify the UART ports are 3.3V TTL, not RS232 (#1043) 2026-09-23 16:39:54 +08:00
Guoguo
428a83573d docs(nanokvm-go): trim network access guides (#1042) 2026-09-22 15:10:25 +08:00
Thomas Stephens
89f69ec939 docs: clarify LPi4A BOOT key access in enclosures (#1033)
* docs: clarify LPi4A BOOT key access in enclosures

* docs(lpi4a): add Chinese enclosure note and sync stale lines

---------

Co-authored-by: Guoguo <i@qwq.trade>
2026-09-20 18:40:14 +08:00
kingo0807
ef4ed562d5 docs(nanokvm-go): switch flashing guide from ImageUSB to balenaEtcher 2026-09-20 18:31:47 +08:00
Guoguo
0c7a294c74 docs(lpi4a): add Chinese translation of the mainline GPU status section
Mirror the English "Mainline GPU status" section added by 529830f
("docs: document LicheePi 4A mainline GPU stack") and clarified by
973513e ("docs: clarify mainline browser GPU path") into the Chinese
page, keeping the en/zh heading structure of 5_desktop.md 1:1.

Signed-off-by: Guoguo <i@qwq.trade>
2026-09-20 18:19:48 +08:00
Thomas Stephens
0d4ee1dccd docs: clarify mainline browser GPU path
Signed-off-by: Thomas Stephens <tmsteph1290@gmail.com>
2026-09-20 18:19:48 +08:00
Thomas Stephens
21827c830e docs: document LicheePi 4A mainline GPU stack
Signed-off-by: Thomas Stephens <tmsteph1290@gmail.com>
2026-09-20 18:19:48 +08:00
liangziyue
a9e06c9fe8 docs(nanokvm-go): add FAQ for reboot loop caused by corrupted system image 2026-09-20 18:02:03 +08:00
liangziyue
f9c69fb6ab docs(nanokvm-pro): add macOS reinstall guide 2026-09-20 16:38:52 +08:00
kingo0807
5b22b8857a docs(nanokvm-go): add FAQ for telling Go and Go+ apart 2026-09-20 10:32:06 +08:00
Guoguo
7b93ea0403 docs(nanokvm-go): update mouse settings section for the new pointer modes
The web UI renamed the pointer modes and added a fourth one: Absolute
Mode -> Follow Mouse, Absolute Mode (Android) -> Follow Mouse (Better
Android Compatibility), Relative Mode -> Exclusive Mouse, plus the new
Multi-touch Screen mode. Cursor Style and Input Adapter were removed
from the menu, Input Calibration was added and Touchpad Guide is now
Pointer Input Guide.

Rewrite the Mouse Settings section of the bilingual user guide to match
the current menu, and add screenshots for the mouse mode menu and the
Repair iPhone drag entry.

(cherry picked from commit b5dce663d044bd324cb6b4cc818d367bcc2ef793)
2026-09-20 10:07:04 +08:00
Guoguo
29a6b3deba docs(nanokvm-go): add finger robot arm 3D printing models (#1036)
Add a bilingual section linking the long/short arm STEP models hosted on
dl.sipeed.com, with guidance on which arm to print.
2026-09-18 17:32:06 +08:00
kingo0807
25e4d18f80 docs(slogic16u3): add official store purchase link (#1035) 2026-09-18 10:26:05 +08:00
梁子月
966d611e3c docs(nanokvm-go): add FAQ for reboot when unplugging PD power from auxiliary USB-C port (#1031) 2026-09-16 17:09:31 +08:00
taorye
5762bd004d docs(slogic-agent): nest story submissions under the guide entry
- drop the separate "SLogic Agent 故事分享" / "SLogic Agent Stories"
  sidebar group; the guide entry now carries an empty items list, so the
  SLogic group shows a single collapsible entry that expands on its own
  once the first story is added
- update the submission instructions to place the story under that entry's
  items instead of into a dedicated group
2026-09-15 18:13:03 +08:00
taorye
9fd83c52ea docs(slogic-agent): merge the story campaign into a single plugin guide page
- retitle the page to "SLogic 接入 AI Agent:Plugin 快速开始" (zh) and
  "SLogic with an AI Agent: Plugin Quick Start" (en)
- move the separate "SLogic Agent 故事分享" / "SLogic Agent Stories" page
  under the guide as its closing section, after the 17 tutorial sections,
  and link to it from the introduction
- delete stories/readme.md; the directory now holds only submitted story
  files, so the submission instructions say to create it on first use
- keep the stories sidebar group as an empty group and shorten the guide's
  sidebar label to "SLogic 接入 AI Agent" / "SLogic with an AI Agent"
- link the submission-format fields to the sections that explain them, and
  fix two case-mismatched in-page anchors on the English page
  (#before-connecting-slogic, #unknown-protocol-or-wiring)
2026-09-15 18:00:54 +08:00
taorye
55100ca7e5 chore(env): manage the virtualenv with uv
- add pyproject.toml and uv.lock pinning teedoc 1.37.9 with the twelve
  plugins listed in site_config.json, plus setuptools: babel's
  babel.messages.frontend imports distutils, which is no longer part of
  the standard library on Python 3.12+
- declare Python >= 3.10, the floor required by the pinned setuptools
- replace the pip preview steps in README.md and share_docs/zh/add_doc.md
  with "uv sync && uv run teedoc serve"; the plugins now come from the
  lockfile, so teedoc install is no longer needed
2026-09-15 18:00:51 +08:00
kingo0807
3c271420aa docs(nanokvm-go): add power-on reboot troubleshooting to FAQ (#1030)
* docs(nanokvm-go): add power-on reboot troubleshooting to FAQ

* docs(nanokvm-go): expand the power-on reboot FAQ entry
2026-09-15 16:33:44 +08:00
liangziyue
d16fb239b6 docs(nanokvm-go): use heading anchors for internal links
- remove the hand-maintained <a id> anchors (upload-zip-install-app,
  exit-app, use-ai-complete-integration, default-password) and point
  their references at the heading text instead
- convert percent-encoded fragments to readable heading text in
  quick_start, introduction, user_guide and faq
- make the FAQ phone-connection link relative instead of an absolute
  wiki.sipeed.com URL
- use teedoc's native {#id} syntax for the EDID heading, whose text
  contains "@": teedoc encodes "@" as %40 while browsers do not, so a
  plain heading-text fragment would not resolve. The anchor stays the
  readable #edid-4k50-beta and no longer breaks if the heading is
  reworded
- note that English headings ending in "?" need %3F for the same reason
2026-09-14 17:53:36 +08:00
liangziyue
691368b1ae docs(nanokvm-go): add default SSH credentials and fix password docs
- add an "Account & Password / 账号与密码" FAQ section documenting the
  default SSH account (root) and password (sipeed), and how to enable
  SSH before connecting
- link to that section from the phtunnel and Cloudflare Tunnel guides,
  which previously only said "enter the SSH password"
- remove the incorrect claim that changing the web login password also
  updates the SSH password
- replace the change-password screenshots with new localized zh/en webp
  images
- align English UI button names with the screenshots
  (Modify -> Change, Confirm -> Ok)
2026-09-14 17:53:36 +08:00
liangziyue
d53290f273 docs(nanokvm-cube): clarify how to press the BOOT button for USB flashing 2026-09-14 14:51:28 +08:00