diff --git a/src/alpine/lineNumbers.ts b/src/alpine/lineNumbers.ts index d1296f5..fffe600 100644 --- a/src/alpine/lineNumbers.ts +++ b/src/alpine/lineNumbers.ts @@ -95,7 +95,7 @@ function appendElementLines( } interface LineNumbersState { - $el: HTMLElement; + $el?: HTMLElement; totalLines: number; resizeObserver: ResizeObserver | null; init(): void; @@ -144,12 +144,13 @@ export const lineNumbers = (): LineNumbersState => ({ }, calculateLineNumbers() { - const content = (this.$el as HTMLElement).querySelector('.post-content') as HTMLElement; - const gutter = (this.$el as HTMLElement).querySelector('.post-line-gutter') as HTMLElement; + const content = this.$el?.querySelector('.post-content') as HTMLElement; + const gutter = this.$el?.querySelector('.post-line-gutter') as HTMLElement; + if (!content || !gutter) return; 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 > *'); gutter.innerHTML = '';