laoyang
4c63e42091
v61:笔记补齐成熟软件的块(Markdown 引擎加表格与任务清单,命令表扩全)
用户反馈:「笔记应该增加更多的块:段落、清单、图片、代码……去查成熟笔记
软件都分哪些块,我们都应该支持。」
对照 Notion / flomo / 思源 / Logseq 的块清单逐项核对(块类型仍只有
段落/图片两种——v29 用户拍板"清单并入 Markdown"),补齐的是
**Markdown 引擎与编辑器到 GFM 关键子集**:
app/Markdown.php
- GFM 表格:表头+分隔行两行联合识别(正文里有竖线不会误判成表格);
`:---`/`---:`/`:-:` 左右中对齐;列数向表头看齐(多丢少补,格子不错位);
单元格走 inline()(先 htmlspecialchars,`<script>` 只会被画成字面文本);
段落收集遇到"紧跟正文的表格"会断开(GFM 不强制空行)
- GFM 任务清单:`- [ ]`/`- [x]` 渲染成**只读**勾选框(笔记不是任务系统,
能点却不保存是假交互;要勾就改源码里的 x)
- 摘要清洗:表格分隔行/竖线/任务方括号不进列表卡片
assets/js/note_editor.js
- 命令表补齐:H1/H2/H3、有序列表、待办清单、删除线、行内代码、表格模板、
分割线(工具条与斜线菜单仍是同一份表)
- 🔴 修真 no-op:v29 的"逐行套"写着逐行实际原样返回,选中三行点列表只给
第一行挂前缀;现在行首记号型命令逐行套(空行跳过)
- 表格模板光标落在第一行数据的第一格,插完可直接打字
templates/notes/form.php:工具条 8→14 键(高频);全部命令斜线 `/` 可调
assets/css/app.css:.md-table / .md-task 样式(跟主题变量,不写死色)
刻意不做:代码语法高亮(引库=几 MB,用户当年已拍板轻量)、折叠块
(与"逐段编辑"打架,flomo 也没有)、页内子页/数据库(家书没有那个形态)。
验证:_fb_v61_ui.py 真机 30/0(含 XSS 夹具、紧跟正文断段、实时预览同源、
逐段编辑接口、v28 老语法零回退、历史 list 块不丢);
_b61_falsify.py 8 处注入 8/8 全红在预期断言;回归 b29 38/0、v55 30/0、v60 28/0。
2026-10-18 11:22:34 +08:00
..
2026-10-14 01:20:40 +08:00
2026-09-30 00:49:53 +08:00
2026-09-30 13:24:26 +08:00
2026-10-16 16:51:04 +08:00
2026-10-18 03:34:47 +08:00
2026-10-18 03:34:47 +08:00
2026-10-18 03:34:47 +08:00
2026-10-03 08:18:05 +08:00
2026-10-06 17:33:48 +08:00
2026-10-02 09:28:07 +08:00
2026-10-03 08:18:05 +08:00
2026-10-05 10:58:17 +08:00
2026-10-05 10:58:17 +08:00
2026-10-05 10:58:17 +08:00
2026-10-03 15:01:38 +08:00
2026-10-15 20:19:09 +08:00
2026-10-15 20:19:09 +08:00
2026-10-13 11:53:58 +08:00
2026-10-06 20:41:04 +08:00
2026-10-01 00:12:04 +08:00
2026-10-13 11:53:58 +08:00
2026-10-17 00:15:06 +08:00
2026-09-30 00:49:53 +08:00
2026-09-30 00:49:53 +08:00
2026-10-03 20:23:22 +08:00
2026-10-05 13:26:49 +08:00
2026-09-30 00:49:53 +08:00
2026-10-05 16:45:10 +08:00
2026-10-14 19:05:13 +08:00
2026-10-14 01:20:40 +08:00
2026-10-18 03:34:47 +08:00
2026-10-05 10:58:17 +08:00
2026-10-15 20:19:09 +08:00
2026-10-05 10:58:17 +08:00
2026-10-03 08:18:05 +08:00
2026-10-07 15:31:26 +08:00
2026-09-30 09:44:55 +08:00
2026-10-18 11:22:34 +08:00
2026-10-07 18:22:55 +08:00
2026-10-09 20:23:09 +08:00
2026-10-01 00:12:04 +08:00
2026-10-11 10:12:11 +08:00
2026-10-08 02:20:19 +08:00
2026-10-07 05:52:40 +08:00
2026-09-30 13:24:26 +08:00
2026-10-05 16:45:10 +08:00
2026-10-15 23:04:25 +08:00
2026-10-09 07:25:08 +08:00
2026-10-15 23:04:25 +08:00
2026-09-30 13:24:26 +08:00
2026-10-03 19:27:14 +08:00
2026-10-03 19:27:14 +08:00
2026-10-18 03:34:47 +08:00
2026-10-15 23:04:25 +08:00
2026-10-17 00:15:06 +08:00
2026-10-03 11:30:48 +08:00
2026-10-07 11:35:31 +08:00
2026-10-02 22:08:13 +08:00
2026-10-03 11:30:48 +08:00
2026-10-03 15:01:38 +08:00
2026-10-18 03:34:47 +08:00
2026-09-30 00:49:53 +08:00
2026-10-06 03:14:18 +08:00
2026-10-12 15:31:03 +08:00
2026-10-17 00:15:06 +08:00
2026-10-02 09:28:07 +08:00
2026-09-30 11:06:22 +08:00
2026-10-13 11:53:58 +08:00
2026-10-05 16:45:10 +08:00
2026-10-10 22:13:20 +08:00
2026-10-14 01:20:40 +08:00
2026-10-08 10:54:43 +08:00