fix(lineNumbers): make $el property optional in LineNumbersState interface
Theme CD / Package Theme (release) Successful in 33s
Theme CD / Release (release) Successful in 17s

这个提交包含在:
rohow
2026-01-29 19:08:12 +08:00
未验证
父节点 271ffc9bfd
当前提交 69891119d8
+5 -4
查看文件
@@ -95,7 +95,7 @@ function appendElementLines(
} }
interface LineNumbersState { interface LineNumbersState {
$el: HTMLElement; $el?: HTMLElement;
totalLines: number; totalLines: number;
resizeObserver: ResizeObserver | null; resizeObserver: ResizeObserver | null;
init(): void; init(): void;
@@ -144,12 +144,13 @@ export const lineNumbers = (): LineNumbersState => ({
}, },
calculateLineNumbers() { calculateLineNumbers() {
const content = (this.$el as HTMLElement).querySelector('.post-content') as HTMLElement; const content = this.$el?.querySelector('.post-content') as HTMLElement;
const gutter = (this.$el as HTMLElement).querySelector('.post-line-gutter') as HTMLElement; const gutter = this.$el?.querySelector('.post-line-gutter') as HTMLElement;
if (!content || !gutter) return; if (!content || !gutter) return;
const defaultLineHeight = getDefaultLineHeight(content); const defaultLineHeight = getDefaultLineHeight(content);
const container = content.querySelector(':scope > div') as HTMLElement || content; const container = content.querySelector(':scope > div') || content;
const blockElements = container.querySelectorAll(':scope > *'); const blockElements = container.querySelectorAll(':scope > *');
gutter.innerHTML = ''; gutter.innerHTML = '';