Fork of Angular markdown editor based on ace editor
npm install ngx-hh-md-editor



- Add Ace、marked、highlight and font-awesome lib
``html`
- Install ngx-markdown-editor
`bash`
npm i ngx-markdown-editor
- Use markdown-editor component
`ts
import { LMarkdownEditorModule } from 'ngx-markdown-editor';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
FormsModule,
LMarkdownEditorModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
``html`
[preRender]="preRenderFunc"
[(ngModel)]="content"
[height]="'200px'"
[mode]="mode"
[options]="options"
required
maxlength="500">
| preview, default is editor
- options: other settings for editor
`ts
{
showBorder?: boolean // Show editor component's border. Default is true
hideIcons?: Array // ['Bold', 'Italic', 'Heading', 'Refrence', 'Link', 'Image', 'Ul', 'Ol', 'Code', 'TogglePreview', 'FullScreen']. Default is empty
scrollPastEnd?: number // The option for ace editor. Default is 0
enablePreviewContentClick?: boolean // Allow user fire the click event on the preview panel, like href etc. Default is false
resizable?: boolean // Allow resize the editor
markedjsOpt?: MarkedjsOption // The markedjs option, see https://marked.js.org/#/USING_ADVANCED.md#options
}
`
- preRender(Function): For #13, this will not effect ngModel's value, just rendered value
`ts
preRenderFunc(content: string) {
return content.replace(/something/g, 'new value'); // must return a string
}
`
- upload(Function): For #24, upload file by yourself
`ts
doUpload(files: Array): Promise> {
// do upload file
}
interface UploadResult {
isImg: boolean
name: string
url: string
}
``- required: for form validate
- maxlength: for form validate