import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import { InfiniteScrollModule } from 'ngx-infinite-scroll'; import { SearchComponent } from './search.component'; import { SEARCH_ROUTE } from './search.route'; import { GitSearchV2SharedModule } from 'app/shared/shared.module'; import { ExerciseDetailsComponent } from '../exercise/exercise-details/exercise-details.component'; import { MarkDownViewerComponent } from '../exercise/markDownViewer/markDownViewer.component'; import { ExerciseCardComponent } from '../exercise/exercise-card/exercise-card.component'; import { SearchInputComponent } from './search-input/search-input.component'; import { MarkdownModule, MarkedOptions, MarkedRenderer } from 'ngx-markdown'; import { QueryParamModule } from '@ngqp/core'; // function that returns `MarkedOptions` with renderer override export function markedOptionsFactory(): MarkedOptions { // unused const renderer = new MarkedRenderer(); renderer.blockquote = (text: string) => { return '<blockquote class="blockquote" ><p>' + text + '</p></blockquote>'; }; return { renderer, gfm: true, breaks: false, pedantic: false, smartLists: true, smartypants: false, }; } @NgModule({ imports: [RouterModule.forChild([SEARCH_ROUTE]), GitSearchV2SharedModule, QueryParamModule, InfiniteScrollModule, MarkdownModule.forChild()], declarations: [SearchComponent, ExerciseDetailsComponent, MarkDownViewerComponent, ExerciseCardComponent, SearchInputComponent], exports: [SearchComponent], }) export class SearchModule {}