markdown-to-jsx

  • Version 9.5.5
  • Published
  • 5.98 MB
  • No dependencies
  • MIT license

Install

npm i markdown-to-jsx
yarn add markdown-to-jsx
pnpm add markdown-to-jsx

Overview

A very fast and versatile markdown toolchain. AST, React, React Native, SolidJS, Vue, Markdown, and HTML output available with full customization.

Index

Variables

variable Markdown

const Markdown: React2.FC<
Omit<React2.HTMLAttributes<Element>, 'children'> & {
children?: string | null;
options?: MarkdownToJSX.Options;
}
>;
  • A React component for easy markdown rendering. Feed the markdown content as a direct child and the rest is taken care of automatically. Supports memoization for optimal performance. zh 用于轻松渲染 Markdown 的 React 组件。将 Markdown 内容作为直接子元素提供,其余部分会自动处理。支持记忆化以获得最佳性能。 hi आसान markdown रेंडरिंग के लिए एक React कंपोनेंट। markdown सामग्री को सीधे चाइल्ड के रूप में प्रदान करें और बाकी स्वचालित रूप से संभाला जाता है। इष्टतम प्रदर्शन के लिए मेमोइज़ेशन का समर्थन करता है।

    Parameter children

    Markdown string content zh

    Parameter children

    Markdown 字符串内容 hi

    Parameter children

    Markdown स्ट्रिंग सामग्री

    Parameter options

    Compiler options zh

    Parameter options

    编译器选项 hi

    Parameter options

    कंपाइलर विकल्प

    Parameter props

    Additional HTML attributes for the wrapper element zh

    Parameter props

    包装元素的额外 HTML 属性 hi

    Parameter props

    रैपर एलिमेंट के लिए अतिरिक्त HTML एट्रिब्यूट्स

variable RuleType

const RuleType: {
readonly blockQuote: 0;
readonly breakLine: 1;
readonly breakThematic: 2;
readonly codeBlock: 3;
readonly codeInline: 4;
readonly footnote: 5;
readonly footnoteReference: 6;
readonly frontmatter: 7;
readonly gfmTask: 8;
readonly heading: 9;
readonly htmlBlock: 10;
readonly htmlComment: 11;
readonly htmlSelfClosing: 12;
readonly image: 13;
readonly link: 14;
readonly orderedList: 15;
readonly paragraph: 16;
readonly ref: 17;
readonly refCollection: 18;
readonly table: 19;
readonly text: 20;
readonly textFormatted: 21;
readonly unorderedList: 22;
};

    variable RuleTypeConst

    const RuleTypeConst: {
    readonly blockQuote: 0;
    readonly breakLine: 1;
    readonly breakThematic: 2;
    readonly codeBlock: 3;
    readonly codeInline: 4;
    readonly footnote: 5;
    readonly footnoteReference: 6;
    readonly frontmatter: 7;
    readonly gfmTask: 8;
    readonly heading: 9;
    readonly htmlBlock: 10;
    readonly htmlComment: 11;
    readonly htmlSelfClosing: 12;
    readonly image: 13;
    readonly link: 14;
    readonly orderedList: 15;
    readonly paragraph: 16;
    readonly ref: 17;
    readonly refCollection: 18;
    readonly table: 19;
    readonly text: 20;
    readonly textFormatted: 21;
    readonly unorderedList: 22;
    };
    • Analogous to node.type. Please note that the values here may change at any time, so do not hard code against the value directly.

    Functions

    function compiler

    compiler: (
    markdown?: string,
    options?: MarkdownToJSX.Options
    ) => React2.ReactNode;
    • Compile markdown string to React JSX elements zh 将 Markdown 字符串编译为 React JSX 元素 hi Markdown स्ट्रिंग को React JSX एलिमेंट्स में कंपाइल करें

      Parameter markdown

      Markdown string to compile zh

      Parameter markdown

      要编译的 Markdown 字符串 hi

      Parameter markdown

      कंपाइल करने के लिए Markdown स्ट्रिंग

      Parameter options

      Compiler options zh

      Parameter options

      编译器选项 hi

      Parameter options

      कंपाइलर विकल्प

      Returns

      React JSX एलिमेंट(s)

    function parser

    parser: (
    source: string,
    options?: MarkdownToJSX.Options
    ) => MarkdownToJSX.ASTNode[];
    • Given a markdown string, return an abstract syntax tree (AST) of the markdown.

      The first node in the AST is a reference collection node. This node contains all the reference definitions found in the markdown. These reference definitions are used to resolve reference links and images in the markdown.

      zh 给定一个 Markdown 字符串,返回 Markdown 的抽象语法树 (AST)。

      AST 中的第一个节点是引用集合节点。此节点包含在 Markdown 中找到的所有引用定义。这些引用定义用于解析 Markdown 中的引用链接和图像。 hi एक Markdown स्ट्रिंग दी गई है, Markdown का अमूर्त सिंटैक्स ट्री (AST) लौटाता है।

      AST में पहला नोड संदर्भ संग्रह नोड है। यह नोड Markdown में पाई गई सभी संदर्भ परिभाषाएं शामिल करता है। ये संदर्भ परिभाषाएं Markdown में संदर्भ लिंक्स और छवियों को पार्स करने के लिए उपयोग की जाती हैं।

      Parameter source

      The markdown string to parse. zh

      Parameter source

      要解析的 Markdown 字符串。 hi

      Parameter source

      पार्स करने के लिए Markdown स्ट्रिंग।

      Parameter options

      The options for the parser. zh

      Parameter options

      解析器的选项。 hi

      Parameter options

      पार्सर के लिए विकल्प।

      Returns

      Markdown का AST।

    function sanitizer

    sanitizer: (input: string) => string | null;
    • Sanitize URLs and other input values to prevent XSS attacks. Filters out javascript:, vbscript:, and data: URLs (except data:image).

      zh 清理 URL 和其他输入值以防止 XSS 攻击。过滤掉 javascript:、vbscript: 和 data: URL(data:image 除外)。 hi XSS हमलों को रोकने के लिए URLs और अन्य इनपुट मानों को सैनिटाइज़ करता है। javascript:, vbscript:, और data: URLs को फ़िल्टर करता है (data:image को छोड़कर)।

      Parameter input

      The URL or value to sanitize zh

      Parameter input

      要清理的 URL 或值 hi

      Parameter input

      सैनिटाइज़ करने के लिए URL या मान

      Returns

      सैनिटाइज़ किया गया मान, या असुरक्षित होने पर null

    function slugify

    slugify: (str: string) => string;
    • Convert a string to a URL-safe slug by normalizing characters and replacing spaces with hyphens. Based on https://stackoverflow.com/a/18123682/1141611 Not complete, but probably good enough.

      zh 通过规范化字符并用连字符替换空格,将字符串转换为 URL 安全的别名。不完整,但可能足够好。 hi वर्णों को सामान्यीकृत करके और रिक्त स्थान को हाइफ़न से बदलकर स्ट्रिंग को URL-सुरक्षित slug में बदलता है। पूर्ण नहीं है, लेकिन शायद पर्याप्त है।

      Parameter str

      String to slugify zh

      Parameter str

      要转换为别名的字符串 hi

      Parameter str

      slugify करने के लिए स्ट्रिंग

      Returns

      URL-सुरक्षित slug

    Type Aliases

    type RuleType

    type RuleType2 = RuleTypeValue;

      Namespaces

      namespace global

      namespace global {}

        variable parseMetrics

        var parseMetrics: {
        blockParsers: {
        [key: string]: { attempts: number; hits: number; hitTimings: number[] };
        };
        inlineParsers: {
        [key: string]: { attempts: number; hits: number; hitTimings: number[] };
        };
        totalOperations: number;
        blockParseIterations: number;
        inlineParseIterations: number;
        };

          variable parseMetricsStartTimes

          var parseMetricsStartTimes: Map<string, number>;

            namespace MarkdownToJSX

            namespace MarkdownToJSX {}
            • markdown-to-jsx types and interfaces zh markdown-to-jsx 类型和接口 hi markdown-to-jsx प्रकार और इंटरफ़ेस

            interface BlockQuoteNode

            interface BlockQuoteNode {}
            • Blockquote node in the AST zh AST 中的引用块节点 hi AST में ब्लॉककोट नोड

            property alert

            alert?: string;
            • hi वैकल्पिक अलर्ट प्रकार (Note, Tip, Warning, आदि)

            property children

            children: MarkdownToJSX.ASTNode[];
            • hi ब्लॉककोट के भीतर चाइल्ड नोड्स

            property type

            type: typeof RuleType2.blockQuote;

              interface BreakLineNode

              interface BreakLineNode {}
              • Hard line break node zh 硬换行节点 hi हार्ड लाइन ब्रेक नोड

              property type

              type: typeof RuleType2.breakLine;

                interface BreakThematicNode

                interface BreakThematicNode {}
                • Thematic break (horizontal rule) node zh 分隔线(水平线)节点 hi थीमैटिक ब्रेक (क्षैतिज नियम) नोड

                property type

                type: typeof RuleType2.breakThematic;

                  interface CodeBlockNode

                  interface CodeBlockNode {}
                  • Code block node (fenced code blocks) zh 代码块节点(围栏代码块) hi कोड ब्लॉक नोड (फ़ेंस्ड कोड ब्लॉक्स)

                  property attrs

                  attrs?: React.JSX.IntrinsicAttributes;
                  • hi कोड ब्लॉक के लिए HTML एट्रिब्यूट्स

                  property lang

                  lang?: string;
                  • hi प्रोग्रामिंग भाषा पहचानकर्ता

                  property text

                  text: string;
                  • hi कोड सामग्री

                  property type

                  type: typeof RuleType2.codeBlock;

                    interface CodeInlineNode

                    interface CodeInlineNode {}
                    • Inline code node zh 内联代码节点 hi इनलाइन कोड नोड

                    property text

                    text: string;
                    • hi कोड टेक्स्ट

                    property type

                    type: typeof RuleType2.codeInline;

                      interface FootnoteNode

                      interface FootnoteNode {}
                      • Footnote definition node (not rendered, stored in refCollection) zh 脚注定义节点(不渲染,存储在 refCollection 中) hi फ़ुटनोट परिभाषा नोड (रेंडर नहीं किया गया, refCollection में संग्रहीत)

                      property type

                      type: typeof RuleType2.footnote;

                        interface FootnoteReferenceNode

                        interface FootnoteReferenceNode {}
                        • Footnote reference node zh 脚注引用节点 hi फ़ुटनोट संदर्भ नोड

                        property target

                        target: string;
                        • hi लिंक लक्ष्य (एंकर)

                        property text

                        text: string;
                        • hi प्रदर्शन टेक्स्ट

                        property type

                        type: typeof RuleType2.footnoteReference;

                          interface FormattedTextNode

                          interface FormattedTextNode {}
                          • Formatted text node (bold, italic, etc.) zh 格式化文本节点(加粗、斜体等) hi फ़ॉर्मेट किया गया टेक्स्ट नोड (बोल्ड, इटैलिक, आदि)

                          property children

                          children: MarkdownToJSX.ASTNode[];
                          • hi चाइल्ड नोड्स

                          property tag

                          tag: string;
                          • the corresponding html tag zh 对应的 HTML 标签 hi संबंधित HTML टैग

                          property type

                          type: typeof RuleType2.textFormatted;

                            interface FrontmatterNode

                            interface FrontmatterNode {}
                            • YAML frontmatter node zh YAML 前置元数据节点 hi YAML फ्रंटमैटर नोड

                            property text

                            text: string;
                            • hi फ्रंटमैटर सामग्री

                            property type

                            type: typeof RuleType2.frontmatter;

                              interface GFMTaskNode

                              interface GFMTaskNode {}
                              • GFM task list item node zh GFM 任务列表项节点 hi GFM टास्क लिस्ट आइटम नोड

                              property completed

                              completed: boolean;
                              • hi क्या टास्क पूर्ण है

                              property type

                              type: typeof RuleType2.gfmTask;

                                interface HeadingNode

                                interface HeadingNode {}
                                • Heading node zh 标题节点 hi हेडिंग नोड

                                property children

                                children: MarkdownToJSX.ASTNode[];
                                • hi चाइल्ड नोड्स (टेक्स्ट सामग्री)

                                property id

                                id: string;
                                • hi एंकर लिंकिंग के लिए जेनरेट किया गया HTML ID

                                property level

                                level: 1 | 2 | 3 | 4 | 5 | 6;
                                • hi हेडिंग स्तर (1-6)

                                property type

                                type: typeof RuleType2.heading;

                                  interface HTMLCommentNode

                                  interface HTMLCommentNode {}
                                  • HTML comment node zh HTML 注释节点 hi HTML कमेंट नोड

                                  property text

                                  text: string;
                                  • hi कमेंट टेक्स्ट

                                  property type

                                  type: typeof RuleType2.htmlComment;

                                    interface HTMLNode

                                    interface HTMLNode {}
                                    • HTML block node (includes JSX components) zh HTML 块节点(包括 JSX 组件) hi HTML ब्लॉक नोड (JSX कंपोनेंट्स शामिल हैं)

                                    property attrs

                                    attrs?: Record<string, any>;
                                    • hi पार्स किए गए HTML एट्रिब्यूट्स

                                    property children

                                    children?: ASTNode[] | undefined;
                                    • hi पार्स किए गए चाइल्ड नोड्स (हमेशा पार्स किए जाते हैं, यहां तक कि verbatim ब्लॉक्स के लिए भी)

                                    property rawAttrs

                                    rawAttrs?: string;
                                    • hi मूल raw एट्रिब्यूट स्ट्रिंग

                                    property rawText

                                    rawText?: string | undefined;
                                    • hi मूल raw HTML सामग्री (verbatim ब्लॉक्स के लिए)

                                    property tag

                                    tag: string;
                                    • hi HTML टैग नाम

                                    property text

                                    text?: string | undefined;
                                    • hi

                                      Deprecated

                                      कृपया इसके बजाय rawText का उपयोग करें। यह प्रॉपर्टी भविष्य के प्रमुख संस्करण में हटा दी जाएगी।

                                    property type

                                    type: typeof RuleType2.htmlBlock;

                                      property verbatim

                                      verbatim?: boolean;
                                      • hi क्या यह एक verbatim ब्लॉक है (script, style, pre, आदि)

                                      interface HTMLSelfClosingNode

                                      interface HTMLSelfClosingNode {}
                                      • Self-closing HTML tag node zh 自闭合 HTML 标签节点 hi स्व-बंद होने वाला HTML टैग नोड

                                      property attrs

                                      attrs?: Record<string, any>;
                                      • hi पार्स किए गए HTML एट्रिब्यूट्स

                                      property isClosingTag

                                      isClosingTag?: boolean;
                                      • hi क्या यह एक बंद करने वाला टैग है

                                      property rawText

                                      rawText?: string;
                                      • hi मूल raw HTML सामग्री

                                      property tag

                                      tag: string;
                                      • hi HTML टैग नाम

                                      property type

                                      type: typeof RuleType2.htmlSelfClosing;

                                        interface ImageNode

                                        interface ImageNode {}
                                        • Image node zh 图像节点 hi छवि नोड

                                        property alt

                                        alt?: string;
                                        • hi Alt टेक्स्ट

                                        property target

                                        target: string;
                                        • hi छवि URL

                                        property title

                                        title?: string;
                                        • hi शीर्षक एट्रिब्यूट

                                        property type

                                        type: typeof RuleType2.image;

                                          interface LinkNode

                                          interface LinkNode {}
                                          • Link node zh 链接节点 hi लिंक नोड

                                          property children

                                          children: MarkdownToJSX.ASTNode[];
                                          • hi चाइल्ड नोड्स (लिंक टेक्स्ट)

                                          property target

                                          target: string | null;
                                          • hi लिंक URL (परिभाषा के बिना संदर्भ लिंक के लिए null)

                                          property title

                                          title?: string;
                                          • hi शीर्षक एट्रिब्यूट

                                          property type

                                          type: typeof RuleType2.link;

                                            interface OrderedListNode

                                            interface OrderedListNode {}
                                            • Ordered list node zh 有序列表节点 hi क्रमबद्ध सूची नोड

                                            property items

                                            items: MarkdownToJSX.ASTNode[][];
                                            • hi सूची आइटम्स की सरणी, प्रत्येक आइटम नोड्स की एक सरणी है

                                            property start

                                            start?: number;
                                            • hi सूची के लिए प्रारंभिक संख्या

                                            property type

                                            type: typeof RuleType2.orderedList;

                                              interface ParagraphNode

                                              interface ParagraphNode {}
                                              • Paragraph node zh 段落节点 hi पैराग्राफ नोड

                                              property children

                                              children: MarkdownToJSX.ASTNode[];
                                              • hi चाइल्ड नोड्स

                                              property type

                                              type: typeof RuleType2.paragraph;

                                                interface ReferenceCollectionNode

                                                interface ReferenceCollectionNode {}
                                                • Reference collection node (appears at AST root, includes footnotes with '^' prefix) zh 引用集合节点(出现在 AST 根部,包括以 '^' 前缀的脚注) hi संदर्भ संग्रह नोड (AST रूट पर दिखाई देता है, '^' उपसर्ग के साथ फ़ुटनोट्स शामिल हैं)

                                                property refs

                                                refs: {
                                                [key: string]: {
                                                target: string;
                                                title: string | undefined;
                                                };
                                                };
                                                • hi संदर्भ लेबल्स से उनकी परिभाषाओं का मैप

                                                property type

                                                type: typeof RuleType2.refCollection;

                                                  interface ReferenceNode

                                                  interface ReferenceNode {}
                                                  • Reference definition node (not rendered, stored in refCollection) zh 引用定义节点(不渲染,存储在 refCollection 中) hi संदर्भ परिभाषा नोड (रेंडर नहीं किया गया, refCollection में संग्रहीत)

                                                  property type

                                                  type: typeof RuleType2.ref;

                                                    interface TableNode

                                                    interface TableNode {}
                                                    • Table node zh 表格节点 hi टेबल नोड

                                                    property align

                                                    align: ('left' | 'right' | 'center')[];
                                                    • alignment for each table column zh 每个表格列的对齐方式 hi प्रत्येक टेबल कॉलम के लिए संरेखण

                                                    property cells

                                                    cells: MarkdownToJSX.ASTNode[][][];
                                                    • hi टेबल सेल्स (3D सरणी: पंक्तियाँ -> सेल्स -> नोड्स)

                                                    property header

                                                    header: MarkdownToJSX.ASTNode[][];
                                                    • hi टेबल हेडर पंक्ति

                                                    property type

                                                    type: typeof RuleType2.table;

                                                      interface TextNode

                                                      interface TextNode {}
                                                      • Plain text node zh 纯文本节点 hi सादा टेक्स्ट नोड

                                                      property text

                                                      text: string;
                                                      • hi टेक्स्ट सामग्री

                                                      property type

                                                      type: typeof RuleType2.text;

                                                        interface UnorderedListNode

                                                        interface UnorderedListNode {}
                                                        • Unordered list node zh 无序列表节点 hi अक्रमबद्ध सूची नोड

                                                        property items

                                                        items: MarkdownToJSX.ASTNode[][];
                                                        • hi सूची आइटम्स की सरणी, प्रत्येक आइटम नोड्स की एक सरणी है

                                                        property type

                                                        type: typeof RuleType2.unorderedList;

                                                          type ASTNode

                                                          type ASTNode =
                                                          | BlockQuoteNode
                                                          | BreakLineNode
                                                          | BreakThematicNode
                                                          | CodeBlockNode
                                                          | CodeInlineNode
                                                          | FootnoteNode
                                                          | FootnoteReferenceNode
                                                          | FrontmatterNode
                                                          | GFMTaskNode
                                                          | HeadingNode
                                                          | HTMLCommentNode
                                                          | ImageNode
                                                          | LinkNode
                                                          | OrderedListNode
                                                          | UnorderedListNode
                                                          | ParagraphNode
                                                          | ReferenceNode
                                                          | ReferenceCollectionNode
                                                          | TableNode
                                                          | TextNode
                                                          | FormattedTextNode
                                                          | HTMLNode
                                                          | HTMLSelfClosingNode;
                                                          • Union type of all possible AST node types zh 所有可能的 AST 节点类型的联合类型 hi सभी संभावित AST नोड प्रकारों का संघ प्रकार

                                                          type ASTRender

                                                          type ASTRender = (
                                                          ast: MarkdownToJSX.ASTNode | MarkdownToJSX.ASTNode[],
                                                          state: MarkdownToJSX.State
                                                          ) => React.ReactNode;
                                                          • Function type for rendering AST nodes zh 用于渲染 AST 节点的函数类型 hi AST नोड्स को रेंडर करने के लिए फ़ंक्शन प्रकार

                                                          type CreateElement

                                                          type CreateElement = typeof React.createElement;
                                                          • React.createElement function type zh React.createElement 函数类型 hi React.createElement फ़ंक्शन प्रकार

                                                          type HTMLTags

                                                          type HTMLTags = keyof React.JSX.IntrinsicElements & (string & {});
                                                          • HTML tag names that can be used in JSX zh 可在 JSX 中使用的 HTML 标签名称 hi HTML टैग नाम जो JSX में उपयोग किए जा सकते हैं

                                                          type Options

                                                          type Options = Partial<{
                                                          /**
                                                          * Ultimate control over the output of all rendered JSX.
                                                          * @lang zh 对所有渲染的 JSX 输出的最终控制。
                                                          * @lang hi सभी रेंडर किए गए JSX आउटपुट पर अंतिम नियंत्रण।
                                                          */
                                                          createElement: (
                                                          tag: Parameters<CreateElement>[0],
                                                          props: React.JSX.IntrinsicAttributes,
                                                          ...children: React.ReactNode[]
                                                          ) => React.ReactNode;
                                                          /**
                                                          * The library automatically generates an anchor tag for bare URLs included in the markdown
                                                          * document, but this behavior can be disabled if desired.
                                                          * @lang zh 库会自动为 Markdown 文档中包含的裸 URL 生成锚点标签,但可以根据需要禁用此行为。
                                                          * @lang hi लाइब्रेरी markdown दस्तावेज़ में शामिल नंगे URLs के लिए स्वचालित रूप से एक एंकर टैग जेनरेट करती है, लेकिन यदि वांछित हो तो इस व्यवहार को अक्षम किया जा सकता है।
                                                          */
                                                          disableAutoLink: boolean;
                                                          /**
                                                          * Disable the compiler's best-effort transcription of provided raw HTML
                                                          * into JSX-equivalent. This is the functionality that prevents the need to
                                                          * use `dangerouslySetInnerHTML` in React.
                                                          * @lang zh 禁用编译器将提供的原始 HTML 转换为 JSX 等效项的最佳努力。此功能可避免在 React 中使用 `dangerouslySetInnerHTML`。
                                                          * @lang hi कंपाइलर के प्रदान किए गए raw HTML को JSX-समतुल्य में ट्रांसक्राइब करने के सर्वोत्तम प्रयास को अक्षम करें। यह वह कार्यक्षमता है जो React में `dangerouslySetInnerHTML` का उपयोग करने की आवश्यकता को रोकती है।
                                                          */
                                                          disableParsingRawHTML: boolean;
                                                          /**
                                                          * Enable GFM tagfilter extension to filter potentially dangerous HTML tags.
                                                          * When enabled, the following tags are escaped: title, textarea, style, xmp,
                                                          * iframe, noembed, noframes, script, plaintext.
                                                          * https://github.github.com/gfm/#disallowed-raw-html-extension-
                                                          * @lang zh 启用 GFM tagfilter 扩展以过滤潜在危险的 HTML 标签。启用后,以下标签将被转义:title、textarea、style、xmp、iframe、noembed、noframes、script、plaintext。
                                                          * @lang hi संभावित खतरनाक HTML टैग्स को फ़िल्टर करने के लिए GFM tagfilter एक्सटेंशन सक्षम करें। सक्षम होने पर, निम्नलिखित टैग्स एस्केप किए जाते हैं: title, textarea, style, xmp, iframe, noembed, noframes, script, plaintext।
                                                          * @default true
                                                          */
                                                          tagfilter?: boolean;
                                                          /**
                                                          * Forces the compiler to have space between hash sign and the header text which
                                                          * is explicitly stated in the most of the markdown specs.
                                                          * https://github.github.com/gfm/#atx-heading
                                                          * `The opening sequence of # characters must be followed by a space or by the end of line.`
                                                          * @lang zh 强制编译器在井号和标题文本之间有空格,这在大多数 Markdown 规范中都有明确规定。
                                                          * @lang hi कंपाइलर को हैश चिह्न और हेडर टेक्स्ट के बीच स्थान रखने के लिए बाध्य करता है, जो अधिकांश markdown विनिर्देशों में स्पष्ट रूप से कहा गया है。
                                                          */
                                                          enforceAtxHeadings: boolean;
                                                          /**
                                                          * **⚠️ SECURITY WARNING: STRONGLY DISCOURAGED FOR USER INPUTS**
                                                          *
                                                          * When enabled, attempts to eval expressions in JSX props that cannot be serialized
                                                          * as JSON (functions, variables, complex expressions). This uses `eval()` which can
                                                          * execute arbitrary code.
                                                          *
                                                          * **ONLY use this option when:**
                                                          * - The markdown source is completely trusted (e.g., your own documentation)
                                                          * - You control all JSX components and their props
                                                          * - The content is NOT user-generated or user-editable
                                                          *
                                                          * **DO NOT use this option when:**
                                                          * - Processing user-submitted markdown
                                                          * - Rendering untrusted content
                                                          * - Building public-facing applications with user content
                                                          *
                                                          * Example unsafe input: `<Component onClick={() => fetch('/admin/delete-all')} />`
                                                          *
                                                          * When disabled (default), unserializable expressions remain as strings that can be
                                                          * safely inspected or handled on a case-by-case basis via custom renderRule logic.
                                                          *
                                                          * @lang zh **⚠️ 安全警告:强烈建议不要用于用户输入**
                                                          *
                                                          * 启用后,尝试计算 JSX 属性中无法序列化为 JSON 的表达式(函数、变量、复杂表达式)。这使用 `eval()`,可能会执行任意代码。
                                                          *
                                                          * **仅在以下情况下使用此选项:**
                                                          * - Markdown 源完全可信(例如,您自己的文档)
                                                          * - 您控制所有 JSX 组件及其属性
                                                          * - 内容不是用户生成或用户可编辑的
                                                          *
                                                          * **在以下情况下不要使用此选项:**
                                                          * - 处理用户提交的 Markdown
                                                          * - 渲染不可信内容
                                                          * - 构建面向公众的用户内容应用程序
                                                          *
                                                          * 不安全的输入示例:`<Component onClick={() => fetch('/admin/delete-all')} />`
                                                          *
                                                          * 禁用时(默认),不可序列化的表达式保持为字符串,可以通过自定义 renderRule 逻辑安全地检查或逐例处理。
                                                          *
                                                          * @lang hi **⚠️ सुरक्षा चेतावनी: उपयोगकर्ता इनपुट के लिए अत्यधिक हतोत्साहित**
                                                          *
                                                          * सक्षम होने पर, JSX props में expressions को eval करने का प्रयास करता है जिन्हें JSON के रूप में सीरियलाइज़ नहीं किया जा सकता है (फ़ंक्शन, वेरिएबल, जटिल expressions)। यह `eval()` का उपयोग करता है जो मनमाने कोड को निष्पादित कर सकता है।
                                                          *
                                                          * **केवल निम्नलिखित स्थितियों में इस विकल्प का उपयोग करें:**
                                                          * - Markdown स्रोत पूरी तरह से विश्वसनीय है (उदाहरण के लिए, आपका अपना दस्तावेज़ीकरण)
                                                          * - आप सभी JSX कंपोनेंट्स और उनके props को नियंत्रित करते हैं
                                                          * - सामग्री उपयोगकर्ता-जनित या उपयोगकर्ता-संपादन योग्य नहीं है
                                                          *
                                                          * **निम्नलिखित स्थितियों में इस विकल्प का उपयोग न करें:**
                                                          * - उपयोगकर्ता-सबमिट किए गए markdown को प्रोसेस कर रहे हों
                                                          * - अविश्वसनीय सामग्री रेंडर कर रहे हों
                                                          * - उपयोगकर्ता सामग्री वाले सार्वजनिक-सामना करने वाले एप्लिकेशन बना रहे हों
                                                          *
                                                          * असुरक्षित इनपुट उदाहरण: `<Component onClick={() => fetch('/admin/delete-all')} />`
                                                          *
                                                          * अक्षम होने पर (डिफ़ॉल्ट), अनसीरियलाइज़ेबल expressions स्ट्रिंग्स के रूप में रहते हैं जिन्हें कस्टम renderRule लॉजिक के माध्यम से सुरक्षित रूप से जांचा जा सकता है या केस-बाई-केस हैंडल किया जा सकता है।
                                                          *
                                                          * @default false
                                                          */
                                                          evalUnserializableExpressions?: boolean;
                                                          /**
                                                          * Forces the compiler to always output content with a block-level wrapper
                                                          * (`<p>` or any block-level syntax your markdown already contains.)
                                                          * @lang zh 强制编译器始终使用块级包装器输出内容(`<p>` 或您的 Markdown 已包含的任何块级语法)。
                                                          * @lang hi कंपाइलर को हमेशा ब्लॉक-स्तरीय रैपर के साथ सामग्री आउटपुट करने के लिए बाध्य करता है (`<p>` या आपके markdown में पहले से मौजूद कोई भी ब्लॉक-स्तरीय सिंटैक्स)।
                                                          */
                                                          forceBlock: boolean;
                                                          /**
                                                          * Forces the compiler to always output content with an inline wrapper (`<span>`)
                                                          * @lang zh 强制编译器始终使用内联包装器(`<span>`)输出内容
                                                          * @lang hi कंपाइलर को हमेशा इनलाइन रैपर (`<span>`) के साथ सामग्री आउटपुट करने के लिए बाध्य करता है
                                                          */
                                                          forceInline: boolean;
                                                          /**
                                                          * Forces the compiler to wrap results, even if there is only a single
                                                          * child or no children.
                                                          * @lang zh 强制编译器包装结果,即使只有一个子元素或没有子元素。
                                                          * @lang hi कंपाइलर को परिणामों को रैप करने के लिए बाध्य करता है, भले ही केवल एक चाइल्ड हो या कोई चाइल्ड न हो।
                                                          */
                                                          forceWrapper: boolean;
                                                          /**
                                                          * Selectively control the output of particular HTML tags as they would be
                                                          * emitted by the compiler.
                                                          * @lang zh 选择性地控制特定 HTML 标签的输出,就像编译器会发出的一样。
                                                          * @lang hi चुनिंदा रूप से विशिष्ट HTML टैग्स के आउटपुट को नियंत्रित करें जैसा कि कंपाइलर द्वारा उत्सर्जित किया जाएगा।
                                                          */
                                                          overrides: Overrides;
                                                          /**
                                                          * Allows for full control over rendering of particular rules.
                                                          * For example, to implement a LaTeX renderer such as `react-katex`:
                                                          *
                                                          * ```
                                                          * renderRule(next, node, renderChildren, state) {
                                                          * if (node.type === RuleType.codeBlock && node.lang === 'latex') {
                                                          * return (
                                                          * <TeX as="div" key={state.key}>
                                                          * {String.raw`${node.text}`}
                                                          * </TeX>
                                                          * )
                                                          * }
                                                          *
                                                          * return next();
                                                          * }
                                                          * ```
                                                          *
                                                          * Thar be dragons obviously, but you can do a lot with this
                                                          * (have fun!) To see how things work internally, check the `render`
                                                          * method in source for a particular rule.
                                                          * @lang zh 允许完全控制特定规则的渲染。例如,要实现像 `react-katex` 这样的 LaTeX 渲染器:
                                                          *
                                                          * 显然有风险,但您可以用它做很多事情(玩得开心!)要了解内部工作原理,请查看源代码中特定规则的 `render` 方法。
                                                          * @lang hi विशिष्ट नियमों के रेंडरिंग पर पूर्ण नियंत्रण की अनुमति देता है। उदाहरण के लिए, `react-katex` जैसे LaTeX रेंडरर को लागू करने के लिए:
                                                          *
                                                          * स्पष्ट रूप से जोखिम हैं, लेकिन आप इसके साथ बहुत कुछ कर सकते हैं (मज़े करें!) आंतरिक रूप से चीजें कैसे काम करती हैं यह देखने के लिए, किसी विशिष्ट नियम के लिए स्रोत में `render` विधि देखें।
                                                          */
                                                          renderRule: (
                                                          next: () => React.ReactNode,
                                                          node: ASTNode,
                                                          renderChildren: ASTRender,
                                                          state: State
                                                          ) => React.ReactNode;
                                                          /**
                                                          * Override the built-in sanitizer function for URLs, etc if desired. The built-in version is available as a library
                                                          export called `sanitizer`.
                                                          * @lang zh 如果需要,覆盖内置的 URL 清理函数等。内置版本可作为名为 `sanitizer` 的库导出使用。
                                                          * @lang hi यदि वांछित हो तो URLs आदि के लिए बिल्ट-इन सैनिटाइज़र फ़ंक्शन को ओवरराइड करें। बिल्ट-इन संस्करण `sanitizer` नामक लाइब्रेरी export के रूप में उपलब्ध है।
                                                          */
                                                          sanitizer: (value: string, tag: string, attribute: string) => string | null;
                                                          /**
                                                          * Override normalization of non-URI-safe characters for use in generating
                                                          * HTML IDs for anchor linking purposes.
                                                          * @lang zh 覆盖非 URI 安全字符的规范化,用于生成用于锚点链接的 HTML ID。
                                                          * @lang hi एंकर लिंकिंग उद्देश्यों के लिए HTML IDs जेनरेट करने में उपयोग के लिए गैर-URI-सुरक्षित वर्णों के सामान्यीकरण को ओवरराइड करें।
                                                          */
                                                          slugify: (input: string, defaultFn: (input: string) => string) => string;
                                                          /**
                                                          * Declare the type of the wrapper to be used when there are multiple
                                                          * children to render. Set to `null` to get an array of children back
                                                          * without any wrapper, or use `React.Fragment` to get a React element
                                                          * that won't show up in the DOM.
                                                          * @lang zh 声明在有多个子元素要渲染时使用的包装器类型。设置为 `null` 以在没有包装器的情况下返回子元素数组,或使用 `React.Fragment` 获取不会出现在 DOM 中的 React 元素。
                                                          * @lang hi रैपर के प्रकार को घोषित करें जब कई children को रेंडर करना हो। बिना किसी रैपर के children की एक सरणी वापस पाने के लिए `null` पर सेट करें, या DOM में दिखाई न देने वाला React एलिमेंट प्राप्त करने के लिए `React.Fragment` का उपयोग करें।
                                                          */
                                                          wrapper: React.ElementType | null;
                                                          /**
                                                          * Props to apply to the wrapper element.
                                                          * @lang zh 应用于包装元素的属性。
                                                          * @lang hi रैपर एलिमेंट पर लागू करने के लिए props।
                                                          */
                                                          wrapperProps?: React.JSX.IntrinsicAttributes;
                                                          /**
                                                          * Preserve frontmatter in the output by rendering it as a <pre> element.
                                                          * By default, frontmatter is parsed but not rendered.
                                                          * @lang zh 通过将其渲染为 <pre> 元素来保留输出中的前置元数据。默认情况下,前置元数据会被解析但不会渲染。
                                                          * @lang hi इसे <pre> एलिमेंट के रूप में रेंडर करके आउटपुट में फ्रंटमैटर को संरक्षित करें। डिफ़ॉल्ट रूप से, फ्रंटमैटर को पार्स किया जाता है लेकिन रेंडर नहीं किया जाता है।
                                                          * @default false
                                                          */
                                                          preserveFrontmatter?: boolean;
                                                          }>;
                                                          • Compiler options zh 编译器选项 hi कंपाइलर विकल्प

                                                          type Override

                                                          type Override =
                                                          | RequireAtLeastOne<{
                                                          component: React.ElementType;
                                                          props: Object;
                                                          }>
                                                          | React.ElementType;
                                                          • Override configuration for HTML tags or custom components zh HTML 标签或自定义组件的覆盖配置 hi HTML टैग्स या कस्टम कंपोनेंट्स के लिए ओवरराइड कॉन्फ़िगरेशन

                                                          type Overrides

                                                          type Overrides = { [tag in HTMLTags]?: Override } & {
                                                          [customComponent: string]: Override;
                                                          };
                                                          • Map of HTML tags and custom components to their override configurations zh HTML 标签和自定义组件到其覆盖配置的映射 hi HTML टैग्स और कस्टम कंपोनेंट्स से उनकी ओवरराइड कॉन्फ़िगरेशन का मैप

                                                          type RequireAtLeastOne

                                                          type RequireAtLeastOne<T, Keys extends keyof T = keyof T> = Pick<
                                                          T,
                                                          Exclude<keyof T, Keys>
                                                          > &
                                                          {
                                                          [K in Keys]-?: Required<Pick<T, K>> & Partial<Pick<T, Exclude<Keys, K>>>;
                                                          }[Keys];
                                                          • RequireAtLeastOne<{ ... }> <- only requires at least one key zh RequireAtLeastOne<{ ... }> <- 只需要至少一个键 hi RequireAtLeastOne<{ ... }> <- केवल कम से कम एक कुंजी की आवश्यकता है

                                                          type State

                                                          type State = {
                                                          /** true if the current content is inside anchor link grammar */
                                                          /** @lang zh 如果当前内容在锚点链接语法内,则为 true */
                                                          /** @lang hi true यदि वर्तमान सामग्री एंकर लिंक व्याकरण के अंदर है */
                                                          inAnchor?: boolean;
                                                          /** true if inside a blockquote */
                                                          /** @lang zh 如果在引用块内,则为 true */
                                                          /** @lang hi true यदि ब्लॉककोट के अंदर है */
                                                          inBlockQuote?: boolean;
                                                          /** true if parsing in an HTML context */
                                                          /** @lang zh 如果在 HTML 上下文中解析,则为 true */
                                                          /** @lang hi true यदि HTML संदर्भ में पार्स कर रहे हैं */
                                                          inHTML?: boolean;
                                                          /** true if in a list */
                                                          /** @lang zh 如果在列表中,则为 true */
                                                          /** @lang hi true यदि सूची में है */
                                                          inList?: boolean;
                                                          /** true if parsing in an inline context (subset of rules around formatting and links) */
                                                          /** @lang zh 如果在内联上下文中解析(围绕格式和链接的规则子集),则为 true */
                                                          /** @lang hi true यदि इनलाइन संदर्भ में पार्स कर रहे हैं (फ़ॉर्मेटिंग और लिंक के आसपास के नियमों का उपसमुच्चय) */
                                                          inline?: boolean;
                                                          /** use this for the `key` prop */
                                                          /** @lang zh 用于 `key` 属性 */
                                                          /** @lang hi `key` prop के लिए इसका उपयोग करें */
                                                          key?: string | number;
                                                          /** reference definitions (footnotes are stored with '^' prefix) */
                                                          /** @lang zh 引用定义(脚注以 '^' 前缀存储) */
                                                          /** @lang hi संदर्भ परिभाषाएं (फ़ुटनोट्स '^' उपसर्ग के साथ संग्रहीत हैं) */
                                                          refs?: {
                                                          [key: string]: {
                                                          target: string;
                                                          title: string | undefined;
                                                          };
                                                          };
                                                          /** current recursion depth during rendering */
                                                          /** @lang zh 渲染期间的当前递归深度 */
                                                          /** @lang hi रेंडरिंग के दौरान वर्तमान पुनरावृत्ति गहराई */
                                                          renderDepth?: number;
                                                          };
                                                          • Parser and renderer state zh 解析器和渲染器状态 hi पार्सर और रेंडरर स्थिति

                                                          Package Files (1)

                                                          Dependencies (0)

                                                          No dependencies.

                                                          Dev Dependencies (58)

                                                          Peer Dependencies (3)

                                                          Badge

                                                          To add a badge like this onejsDocs.io badgeto your package's README, use the codes available below.

                                                          You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/markdown-to-jsx.

                                                          • Markdown
                                                            [![jsDocs.io](https://img.shields.io/badge/jsDocs.io-reference-blue)](https://www.jsdocs.io/package/markdown-to-jsx)
                                                          • HTML
                                                            <a href="https://www.jsdocs.io/package/markdown-to-jsx"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>