syncfusion-angular-markdown-converter

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Implementing Syncfusion Angular Markdown Converter

实现Syncfusion Angular Markdown Converter

The Syncfusion Angular Markdown Converter is a lightweight utility that transforms Markdown-formatted text into clean, semantic HTML. It is typically used alongside the Syncfusion Rich Text Editor (in Markdown mode) to provide a live preview of rendered content.
Syncfusion Angular Markdown Converter是一款轻量工具,可将Markdown格式的文本转换为整洁、语义化的HTML。它通常与Syncfusion富文本编辑器(Markdown模式)配合使用,为渲染内容提供实时预览。

When to Use This Skill

适用场景

  • Convert Markdown text to HTML in an Angular application
  • Display a live preview of Markdown content as the user types
  • Configure conversion behavior (GFM support, line breaks, async mode, error suppression)
  • Build a side-by-side Markdown editor and HTML preview layout
  • Integrate
    MarkdownConverter.toHtml()
    with the Syncfusion Rich Text Editor
  • 在Angular应用中将Markdown文本转换为HTML
  • 在用户输入时显示Markdown内容的实时预览
  • 配置转换行为(GFM支持、换行、异步模式、错误抑制)
  • 构建并排的Markdown编辑器与HTML预览布局
  • MarkdownConverter.toHtml()
    与Syncfusion富文本编辑器集成

Documentation and Navigation Guide

文档与导航指南

Getting Started

快速入门

📄 Read: references/getting-started.md
  • Angular CLI setup and project creation
  • Installing
    @syncfusion/ej2-markdown-converter
    and
    @syncfusion/ej2-angular-richtexteditor
  • CSS imports for the material3 theme
  • Required module injection (MarkdownEditor, Image, Link, Toolbar, Table)
  • Running the application
📄 阅读: references/getting-started.md
  • Angular CLI设置与项目创建
  • 安装
    @syncfusion/ej2-markdown-converter
    @syncfusion/ej2-angular-richtexteditor
  • 导入material3主题的CSS
  • 注入所需模块(MarkdownEditor、Image、Link、Toolbar、Table)
  • 运行应用

Convert Markdown to HTML — toHtml API

转换Markdown到HTML — toHtml API

📄 Read: references/tohtml-api.md
  • MarkdownConverter.toHtml()
    method signature
  • Basic usage example (standalone, no editor required)
  • Supported Markdown elements (headings, lists, tables, links, images, inline styles)
  • Using the return value in Angular templates
📄 阅读: references/tohtml-api.md
  • MarkdownConverter.toHtml()
    方法签名
  • 基础使用示例(独立使用,无需编辑器)
  • 支持的Markdown元素(标题、列表、表格、链接、图片、内联样式)
  • 在Angular模板中使用返回值

Configurable Options

可配置选项

📄 Read: references/configurable-options.md
  • MarkdownConverterOptions
    interface
  • async
    — asynchronous conversion for large content
  • gfm
    — GitHub Flavored Markdown support (default: true)
  • lineBreak
    — convert single line breaks to
    <br>
    (default: false)
  • silence
    — suppress errors on invalid Markdown (default: false)
  • Full example passing options to
    toHtml()
📄 阅读: references/configurable-options.md
  • MarkdownConverterOptions
    接口
  • async
    — 针对大内容的异步转换
  • gfm
    — GitHub风格Markdown支持(默认:true)
  • lineBreak
    — 将单个换行转换为
    <br>
    (默认:false)
  • silence
    — 抑制无效Markdown的错误(默认:false)
  • toHtml()
    传递选项的完整示例

Rich Text Editor Integration

富文本编辑器集成

📄 Read: references/richtexteditor-integration.md
  • Splitter-based side-by-side editor and preview layout
  • Configuring
    ejs-richtexteditor
    in Markdown
    editorMode
  • Real-time preview using
    onChange
    and
    updateValue()
  • Toolbar configuration for Markdown editing
  • MarkdownFormatter
    for custom Markdown syntax
  • Custom preview toggle button (fullPreview pattern)
  • Mobile/device orientation handling with
    Browser.isDevice
📄 阅读: references/richtexteditor-integration.md
  • 基于拆分器的并排编辑器与预览布局
  • 在Markdown
    editorMode
    中配置
    ejs-richtexteditor
  • 使用
    onChange
    updateValue()
    实现实时预览
  • Markdown编辑的工具栏配置
  • 用于自定义Markdown语法的
    MarkdownFormatter
  • 自定义预览切换按钮(fullPreview模式)
  • 使用
    Browser.isDevice
    处理移动端/设备方向

Quick Start

快速开始

Install packages and wire up the converter in three steps:
1. Install packages:
bash
npm install @syncfusion/ej2-markdown-converter
npm install @syncfusion/ej2-angular-richtexteditor
2. Import CSS in
src/styles.css
:
css
@import '../node_modules/@syncfusion/ej2-base/styles/material3.css';
@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/material3.css';
3. Convert Markdown to HTML:
typescript
import { MarkdownConverter } from '@syncfusion/ej2-markdown-converter';

const markdown = '# Hello World\nThis is **Markdown** text.';
const html = MarkdownConverter.toHtml(markdown);
console.log(html);
// Output: <h1>Hello World</h1><p>This is <strong>Markdown</strong> text.</p>
分三步安装包并配置转换器:
1. 安装包:
bash
npm install @syncfusion/ej2-markdown-converter
npm install @syncfusion/ej2-angular-richtexteditor
2. 在
src/styles.css
中导入CSS:
css
@import '../node_modules/@syncfusion/ej2-base/styles/material3.css';
@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/material3.css';
3. 转换Markdown到HTML:
typescript
import { MarkdownConverter } from '@syncfusion/ej2-markdown-converter';

const markdown = '# Hello World\nThis is **Markdown** text.';
const html = MarkdownConverter.toHtml(markdown);
console.log(html);
// Output: <h1>Hello World</h1><p>This is <strong>Markdown</strong> text.</p>

Common Patterns

常见模式

Pattern 1: Standalone Conversion (No Editor)

模式1:独立转换(无编辑器)

When you only need to convert a Markdown string to HTML without an editor UI:
typescript
import { MarkdownConverter } from '@syncfusion/ej2-markdown-converter';

const html = MarkdownConverter.toHtml(markdownString);
document.getElementById('preview')!.innerHTML = html as string;
当你只需要将Markdown字符串转换为HTML而不需要编辑器UI时:
typescript
import { MarkdownConverter } from '@syncfusion/ej2-markdown-converter';

const html = MarkdownConverter.toHtml(markdownString);
document.getElementById('preview')!.innerHTML = html as string;

Pattern 2: Live Preview on Keyup

模式2:按键实时预览

Convert on every keystroke inside a Rich Text Editor textarea:
typescript
public markDownConversion(): void {
  const textarea = this.editorObj.contentModule.getEditPanel() as HTMLTextAreaElement;
  const previewEl = document.getElementById('html-view') as HTMLElement;
  previewEl.innerHTML = MarkdownConverter.toHtml(textarea.value) as string;
}
在富文本编辑器文本区域中,每次按键时进行转换:
typescript
public markDownConversion(): void {
  const textarea = this.editorObj.contentModule.getEditPanel() as HTMLTextAreaElement;
  const previewEl = document.getElementById('html-view') as HTMLElement;
  previewEl.innerHTML = MarkdownConverter.toHtml(textarea.value) as string;
}

Pattern 3: Conversion with Options

模式3:带选项的转换

Disable GFM and enable line-break conversion:
typescript
const html = MarkdownConverter.toHtml(markdownString, {
  gfm: false,
  lineBreak: true
});
禁用GFM并启用换行转换:
typescript
const html = MarkdownConverter.toHtml(markdownString, {
  gfm: false,
  lineBreak: true
});

Pattern 4: Side-by-Side Preview with Splitter

模式4:带拆分器的并排预览

For a full editor + preview experience, use the Syncfusion Splitter component alongside the Rich Text Editor in Markdown mode. The preview pane is updated via
updateValue()
on every change event. 📄 Read: references/richtexteditor-integration.md for the full implementation.
如需完整的编辑器+预览体验,可将Syncfusion拆分器组件与Markdown模式下的富文本编辑器配合使用。预览面板会在每次变更事件时通过
updateValue()
更新。 📄 阅读: references/richtexteditor-integration.md 获取完整实现。

Key Props / API

关键属性/API

APITypeDefaultPurpose
MarkdownConverter.toHtml(content, options?)
static methodConverts Markdown string to HTML
options.async
boolean
false
Async conversion for large content
options.gfm
boolean
true
GitHub Flavored Markdown support
options.lineBreak
boolean
false
Single line breaks →
<br>
options.silence
boolean
false
Suppress errors on invalid Markdown
API类型默认值用途
MarkdownConverter.toHtml(content, options?)
静态方法将Markdown字符串转换为HTML
options.async
布尔值
false
针对大内容的异步转换
options.gfm
布尔值
true
GitHub风格Markdown支持
options.lineBreak
布尔值
false
单个换行 →
<br>
options.silence
布尔值
false
抑制无效Markdown的错误