/* * SPDX-FileCopyrightText: 2021 The HedgeDoc developers (see AUTHORS file) * * SPDX-License-Identifier: AGPL-3.0-only */ import type { Element } from 'domhandler' import React from 'react' import { ComponentReplacer } from '../ComponentReplacer' import { FlowChart } from './flowchart/flowchart' /** * Detects code blocks with "flow" as language and renders them as flow chart. */ export class FlowchartReplacer extends ComponentReplacer { public getReplacement(codeNode: Element): React.ReactElement | undefined { if ( codeNode.name !== 'code' || !codeNode.attribs || !codeNode.attribs['data-highlight-language'] || codeNode.attribs['data-highlight-language'] !== 'flow' || !codeNode.children || !codeNode.children[0] ) { return } const code = ComponentReplacer.extractTextChildContent(codeNode) return } }