Closed
Description
背景
相关帖子:https://ld246.com/article/1727688144141
先使用这个代码片段:
.protyle-wysiwyg .hljs > div[contenteditable] {
word-break: break-all !important;
}
然后把下面这段代码复制粘贴到代码块里,开启代码块换行和行号:
if ($_SESSION['is_snapshotuser'] == 1) {
$_SESSION['is_snapshotuser'] = 0;
return ['nickname' => '微信用户', 'avatar' => 'https://thirdwx.qlogo.cn/mmopen/vi_32/Q3auHgzwzM5EPsm1NEriaoj9ONhxhcWKz9RbNRnYhaooks1zicFGllRezc7Ya7v5WNqAMtfIxTpF7FVdNpXZnuNA/132'];
}
行号高度的计算就会有问题:
方案
不知道能不能实现,但我想到一个思路:
- 用 Window.getComputedStyle() 获取代码元素的样式
- 如果
.wordBreak === "break-all"
,则按 break-all 来计算代码块的行号
相关的需要修改的应该是这段代码:
siyuan/app/src/protyle/render/highlightRender.ts
Lines 117 to 165 in 6278d97
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
Activity
[-]支持 `word-break: break-all;` 情况下的行号计算[/-][+]支持 `word-break: break-all;` 情况下的代码块行号计算[/+]Vanessa219 commentedon Nov 24, 2024
https://ld246.com/article/1727688144141/comment/1732412801927?r=Vanessa#comments
TCOTC commentedon Nov 24, 2024
我说的是回帖里发现的这个问题呐:
Vanessa219 commentedon Nov 25, 2024
这个问题参见回帖。