diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1f633dfaf..3306de263 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,6 +9,7 @@
- `{%gist user/12345 %}` -> https://gist.github.com/user/12345
- `{%slideshare user/my-awesome-presentation %}` -> Embedding removed
- `{%speakerdeck foobar %}` -> Embedding removed
+- The use of `sequence` as code block language ([Why?](https://community.codimd.org/t/frequently-asked-questions/190))
### Removed
diff --git a/public/locales/en.json b/public/locales/en.json
index f98ca89d3..dc8ba77e6 100644
--- a/public/locales/en.json
+++ b/public/locales/en.json
@@ -9,6 +9,9 @@
},
"mermaid": {
"unknownError": "Unknown rendering error. Please check your browser console."
+ },
+ "sequence": {
+ "deprecationWarning": "The use of 'sequence' as code block language is deprecated."
}
},
"landing": {
@@ -278,8 +281,7 @@
},
"export": {
"rawHtml": "Raw HTML",
- "pdf": "PDF export is unavailable.",
- "why": "Why?"
+ "pdf": "PDF export is unavailable."
},
"import": {
"clipboard": "Clipboard"
@@ -352,7 +354,8 @@
"save": "Save",
"or": "or",
"and": "and",
- "avatarOf": "avatar of '{{name}}'"
+ "avatarOf": "avatar of '{{name}}'",
+ "why": "Why?"
},
"login": {
"chooseMethod": "Choose method",
diff --git a/src/components/editor/document-bar/menus/export-menu.tsx b/src/components/editor/document-bar/menus/export-menu.tsx
index 121892382..1323aed86 100644
--- a/src/components/editor/document-bar/menus/export-menu.tsx
+++ b/src/components/editor/document-bar/menus/export-menu.tsx
@@ -49,7 +49,7 @@ const ExportMenu: React.FC = () => {
-
+
diff --git a/src/components/editor/editorTestContent.ts b/src/components/editor/editorTestContent.ts
index f3af38815..e840af802 100644
--- a/src/components/editor/editorTestContent.ts
+++ b/src/components/editor/editorTestContent.ts
@@ -9,6 +9,18 @@ opengraph:
# Embedding demo
[TOC]
+## Sequence Diagram (deprecated)
+
+\`\`\`sequence
+Title: Here is a title
+note over A: asdd
+A->B: Normal line
+B-->C: Dashed line
+C->>D: Open arrow
+D-->>A: Dashed open arrow
+participant IOOO
+\`\`\`
+
## Mermaid
\`\`\`mermaid
diff --git a/src/components/markdown-renderer/markdown-renderer.tsx b/src/components/markdown-renderer/markdown-renderer.tsx
index 8755c73c4..48f731e58 100644
--- a/src/components/markdown-renderer/markdown-renderer.tsx
+++ b/src/components/markdown-renderer/markdown-renderer.tsx
@@ -67,6 +67,7 @@ import { MermaidReplacer } from './replace-components/mermaid/mermaid-replacer'
import { PdfReplacer } from './replace-components/pdf/pdf-replacer'
import { PossibleWiderReplacer } from './replace-components/possible-wider/possible-wider-replacer'
import { QuoteOptionsReplacer } from './replace-components/quote-options/quote-options-replacer'
+import { SequenceDiagramReplacer } from './replace-components/sequence-diagram/sequence-diagram-replacer'
import { TaskListReplacer } from './replace-components/task-list/task-list-replacer'
import { VimeoReplacer } from './replace-components/vimeo/vimeo-replacer'
import { YoutubeReplacer } from './replace-components/youtube/youtube-replacer'
@@ -350,6 +351,7 @@ export const MarkdownRenderer: React.FC = ({
new AbcReplacer(),
new PdfReplacer(),
new ImageReplacer(),
+ new SequenceDiagramReplacer(),
new CsvReplacer(),
new FlowchartReplacer(),
new MermaidReplacer(),
@@ -380,7 +382,7 @@ export const MarkdownRenderer: React.FC = ({
-
diff --git a/src/components/markdown-renderer/replace-components/sequence-diagram/deprecation-warning.tsx b/src/components/markdown-renderer/replace-components/sequence-diagram/deprecation-warning.tsx
new file mode 100644
index 000000000..ef801f618
--- /dev/null
+++ b/src/components/markdown-renderer/replace-components/sequence-diagram/deprecation-warning.tsx
@@ -0,0 +1,16 @@
+import React from 'react'
+import { Alert } from 'react-bootstrap'
+import { Trans, useTranslation } from 'react-i18next'
+import { TranslatedExternalLink } from '../../../common/links/translated-external-link'
+
+export const DeprecationWarning: React.FC = () => {
+ useTranslation()
+
+ return (
+
+
+
+
+
+ )
+}
diff --git a/src/components/markdown-renderer/replace-components/sequence-diagram/sequence-diagram-replacer.tsx b/src/components/markdown-renderer/replace-components/sequence-diagram/sequence-diagram-replacer.tsx
new file mode 100644
index 000000000..a540b60d4
--- /dev/null
+++ b/src/components/markdown-renderer/replace-components/sequence-diagram/sequence-diagram-replacer.tsx
@@ -0,0 +1,20 @@
+import { DomElement } from 'domhandler'
+import React, { Fragment } from 'react'
+import { ComponentReplacer } from '../ComponentReplacer'
+import { MermaidChart } from '../mermaid/mermaid-chart'
+import { DeprecationWarning } from './deprecation-warning'
+
+export class SequenceDiagramReplacer implements ComponentReplacer {
+ getReplacement (codeNode: DomElement, index: number): React.ReactElement | undefined {
+ if (codeNode.name !== 'code' || !codeNode.attribs || !codeNode.attribs['data-highlight-language'] || codeNode.attribs['data-highlight-language'] !== 'sequence' || !codeNode.children || !codeNode.children[0]) {
+ return
+ }
+
+ const code = codeNode.children[0].data as string
+
+ return
+
+
+
+ }
+}