UNPKG

ng-katex-2

Version:

Angular module to write beautiful math expressions with TeX syntax boosted by KaTeX library

40 lines (36 loc) 1.11 kB
import { ChangeDetectionStrategy, Component, computed, input, InputSignal, Signal } from '@angular/core'; import { extractMath, Segment } from 'extract-math'; import { KatexComponent } from './ng-katex.component'; import { throwNoProviderError } from './utils'; @Component({ selector: 'ng-katex-paragraph', template: ` <p> @for (segment of segments(); track segment) { @if (segment.math) { <ng-katex [equation]="segment.raw" [options]="{ displayMode: segment.type === 'display' }"> </ng-katex> } @else { {{ segment.value }} } } </p> `, changeDetection: ChangeDetectionStrategy.OnPush, imports: [KatexComponent], standalone: true, }) export class KatexParagraphComponent { paragraph: InputSignal<string> = input.required(); segments: Signal<Segment[]> = computed(() => { let segments = []; const paragraph = this.paragraph(); segments = extractMath(paragraph); return segments; }); constructor() { throwNoProviderError(); } }