summaryrefslogtreecommitdiffstats
path: root/public/prism/prism-mermaid.min.js
blob: 75c357f51a8fd4af380a8e65e299f4e6a6388719 (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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
Prism.languages.mermaid = {
  comment: { pattern: /%%.*/, greedy: !0 },
  style: {
    pattern:
      /^([ \t]*(?:classDef|linkStyle|style)[ \t]+[\w$-]+[ \t]+)\w.*[^\s;]/m,
    lookbehind: !0,
    inside: {
      property: /\b\w[\w-]*(?=[ \t]*:)/,
      operator: /:/,
      punctuation: /,/,
    },
  },
  'inter-arrow-label': {
    pattern:
      /([^<>ox.=-])(?:-[-.]|==)(?![<>ox.=-])[ \t]*(?:"[^"\r\n]*"|[^\s".=-](?:[^\r\n.=-]*[^\s.=-])?)[ \t]*(?:\.+->?|--+[->]|==+[=>])(?![<>ox.=-])/,
    lookbehind: !0,
    greedy: !0,
    inside: {
      arrow: { pattern: /(?:\.+->?|--+[->]|==+[=>])$/, alias: 'operator' },
      label: {
        pattern: /^([\s\S]{2}[ \t]*)\S(?:[\s\S]*\S)?/,
        lookbehind: !0,
        alias: 'property',
      },
      'arrow-head': { pattern: /^\S+/, alias: ['arrow', 'operator'] },
    },
  },
  arrow: [
    {
      pattern: /(^|[^{}|o.-])[|}][|o](?:--|\.\.)[|o][|{](?![{}|o.-])/,
      lookbehind: !0,
      alias: 'operator',
    },
    {
      pattern:
        /(^|[^<>ox.=-])(?:[<ox](?:==+|--+|-\.*-)[>ox]?|(?:==+|--+|-\.*-)[>ox]|===+|---+|-\.+-)(?![<>ox.=-])/,
      lookbehind: !0,
      alias: 'operator',
    },
    {
      pattern:
        /(^|[^<>()x-])(?:--?(?:>>|[x>)])(?![<>()x])|(?:<<|[x<(])--?(?!-))/,
      lookbehind: !0,
      alias: 'operator',
    },
    {
      pattern:
        /(^|[^<>|*o.-])(?:[*o]--|--[*o]|<\|?(?:--|\.\.)|(?:--|\.\.)\|?>|--|\.\.)(?![<>|*o.-])/,
      lookbehind: !0,
      alias: 'operator',
    },
  ],
  label: {
    pattern: /(^|[^|<])\|(?:[^\r\n"|]|"[^"\r\n]*")+\|/,
    lookbehind: !0,
    greedy: !0,
    alias: 'property',
  },
  text: {
    pattern: /(?:[(\[{]+|\b>)(?:[^\r\n"()\[\]{}]|"[^"\r\n]*")+(?:[)\]}]+|>)/,
    alias: 'string',
  },
  string: { pattern: /"[^"\r\n]*"/, greedy: !0 },
  annotation: {
    pattern:
      /<<(?:abstract|choice|enumeration|fork|interface|join|service)>>|\[\[(?:choice|fork|join)\]\]/i,
    alias: 'important',
  },
  keyword: [
    {
      pattern:
        /(^[ \t]*)(?:action|callback|class|classDef|classDiagram|click|direction|erDiagram|flowchart|gantt|gitGraph|graph|journey|link|linkStyle|pie|requirementDiagram|sequenceDiagram|stateDiagram|stateDiagram-v2|style|subgraph)(?![\w$-])/m,
      lookbehind: !0,
      greedy: !0,
    },
    {
      pattern:
        /(^[ \t]*)(?:activate|alt|and|as|autonumber|deactivate|else|end(?:[ \t]+note)?|loop|opt|par|participant|rect|state|note[ \t]+(?:over|(?:left|right)[ \t]+of))(?![\w$-])/im,
      lookbehind: !0,
      greedy: !0,
    },
  ],
  entity: /#[a-z0-9]+;/,
  operator: { pattern: /(\w[ \t]*)&(?=[ \t]*\w)|:::|:/, lookbehind: !0 },
  punctuation: /[(){};]/,
};
>.forEach((post) => { if (post.acfPosts.postsInTopic) { post.acfPosts.postsInTopic.forEach((topic) => topics.push(getPageLinkFromRawData(topic, 'topic')) ); } }); const topicsIds = topics.map((topic) => topic.id); const uniqueTopics = topics.filter( ({ id }, index) => !topicsIds.includes(id, index + 1) ); const sortTopicByName = (a: PageLink, b: PageLink) => { var nameA = a.name.toUpperCase(); // ignore upper and lowercase var nameB = b.name.toUpperCase(); // ignore upper and lowercase if (nameA < nameB) { return -1; } if (nameA > nameB) { return 1; } // names must be equal return 0; }; return uniqueTopics.sort(sortTopicByName); }; return { content: contentParts.afterMore, id: databaseId, intro: contentParts.beforeMore, meta: { articles: acfThematics.postsInThematic.map((post) => getArticleFromRawData(post) ), cover: featuredImage?.node ? getImageFromRawData(featuredImage.node) : undefined, dates: { publication: date, update: modified }, seo: { description: seo?.metaDesc || '', title: seo?.title || '', }, topics: getRelatedTopics(acfThematics.postsInThematic), wordsCount: info.wordsCount, }, slug, title, }; }; /** * Retrieve a Thematic object by slug. * * @param {string} slug - The thematic slug. * @returns {Promise<Article>} The requested thematic. */ export const getThematicBySlug = async (slug: string): Promise<Thematic> => { const response = await fetchAPI<RawThematic, typeof thematicBySlugQuery>({ api: getAPIUrl(), query: thematicBySlugQuery, variables: { slug }, }); return getThematicFromRawData(response.thematic); }; /** * Retrieve all the thematics slugs. * * @returns {Promise<string[]>} - An array of thematics slugs. */ export const getAllThematicsSlugs = async (): Promise<string[]> => { const totalThematics = await getTotalThematics(); const response = await fetchAPI<Slug, typeof thematicsSlugQuery>({ api: getAPIUrl(), query: thematicsSlugQuery, variables: { first: totalThematics }, }); return response.thematics.edges.map((edge) => edge.node.slug); };