summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/behaviors/markdown/serializer.js
blob: a5f97d7748a01e8ee40af00e0e99f5d87e2a4753 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import { MarkdownSerializer } from '~/lib/prosemirror_markdown_serializer';
import editorExtensions from './editor_extensions';

const nodes = editorExtensions
  .filter((extension) => extension.type === 'node')
  .reduce(
    (ns, { name, toMarkdown }) => ({
      ...ns,
      [name]: toMarkdown,
    }),
    {},
  );

const marks = editorExtensions
  .filter((extension) => extension.type === 'mark')
  .reduce(
    (ms, { name, toMarkdown }) => ({
      ...ms,
      [name]: toMarkdown,
    }),
    {},
  );

export default new MarkdownSerializer(nodes, marks);