@ably/ui 8.6.0 → 8.7.0-dev.0ce5893
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -2
- package/core/Code/component.css +3 -3
- package/core/Code/component.js +1 -1
- package/core/Code.jsx +353 -7273
- package/core/CompanyAutocomplete/component.js +1 -1
- package/core/ConnectStateWrapper.jsx +13 -4
- package/core/ContactFooter.jsx +13 -119
- package/core/CookieMessage.jsx +21 -293
- package/core/CustomerLogos.jsx +15 -117
- package/core/DropdownMenu/component.js +1 -0
- package/core/DropdownMenu.jsx +313 -0
- package/core/DropdownMenuPreview/component.js +6 -0
- package/core/DropdownMenuPreview.jsx +6 -0
- package/core/FeaturedLink.jsx +10 -116
- package/core/Flash.jsx +155 -1536
- package/core/Footer.jsx +17 -123
- package/core/Icon.jsx +9 -114
- package/core/Loader.jsx +9 -114
- package/core/Logo.jsx +36 -226
- package/core/Meganav/component.js +1 -2
- package/core/Meganav.jsx +2837 -10168
- package/core/MeganavBlogPostsList/component.js +1 -1
- package/core/MeganavBlogPostsList.jsx +11 -118
- package/core/MeganavContentCompany.jsx +31 -124
- package/core/MeganavContentDevelopers.jsx +32 -126
- package/core/MeganavContentPlatform.jsx +11 -118
- package/core/MeganavContentUseCases.jsx +24 -118
- package/core/MeganavControl.jsx +10 -116
- package/core/MeganavControlMobileDropdown/component.js +1 -1
- package/core/MeganavControlMobileDropdown.jsx +10 -116
- package/core/MeganavControlMobilePanelClose.jsx +10 -116
- package/core/MeganavControlMobilePanelOpen.jsx +10 -116
- package/core/MeganavItemsDesktop.jsx +13 -121
- package/core/MeganavItemsMobile.jsx +18 -132
- package/core/MeganavItemsSignedIn.jsx +16 -129
- package/core/MeganavSearch.jsx +13 -123
- package/core/MeganavSearchAutocomplete/component.js +1 -2
- package/core/MeganavSearchPanel.jsx +12 -121
- package/core/MeganavSearchSuggestions.jsx +11 -118
- package/core/Notice/component.js +1 -2
- package/core/Notice.jsx +189 -2190
- package/core/SignOutLink.jsx +9 -114
- package/core/Slider/component.js +1 -1
- package/core/Slider.jsx +25 -582
- package/core/Uptime.jsx +15 -118
- package/core/images/ably-logo.png +0 -0
- package/core/scripts.js +1 -1
- package/core/sprites.svg +57 -1
- package/core/styles.css +6 -5
- package/package.json +4 -4
- package/src/.DS_Store +0 -0
- package/src/core/.DS_Store +0 -0
- package/src/core/Code/component.css +1 -67
- package/src/core/Code/component.js +11 -46
- package/src/core/Code/component.jsx +7 -3
- package/src/core/CustomerLogos/component.html.erb +2 -2
- package/src/core/CustomerLogos/component.jsx +3 -2
- package/src/core/CustomerLogos/component.rb +2 -1
- package/src/core/DropdownMenu/component.js +0 -0
- package/src/core/DropdownMenu/component.jsx +112 -0
- package/src/core/FeatureFooter/component.html.erb +4 -4
- package/src/core/Flash/component.jsx +42 -18
- package/src/core/Logo/component.html.erb +2 -27
- package/src/core/Logo/component.jsx +7 -40
- package/src/core/Logo/component.rb +15 -6
- package/src/core/Meganav/component.html.erb +1 -1
- package/src/core/Meganav/component.jsx +1 -1
- package/src/core/Meganav/component.rb +1 -0
- package/src/core/MeganavContentDevelopers/component.html.erb +18 -9
- package/src/core/MeganavContentDevelopers/component.jsx +18 -9
- package/src/core/MeganavContentUseCases/component.html.erb +10 -1
- package/src/core/MeganavContentUseCases/component.jsx +10 -1
- package/src/core/MeganavSearchSuggestions/component.html.erb +1 -1
- package/src/core/core.rb +4 -0
- package/src/core/icons/github.svg +1 -1
- package/src/core/icons/google.svg +3 -0
- package/src/core/icons/icon-display-chat-col.svg +4 -0
- package/src/core/icons/icon-display-integrations-col.svg +8 -0
- package/src/core/icons/icon-gui-check-circled-fill-black.svg +4 -0
- package/src/core/icons/icon-gui-filter-flow-step-1.svg +5 -0
- package/src/core/icons/icon-gui-filter-flow-step-2.svg +5 -0
- package/src/core/icons/icon-gui-filter-flow-step-3.svg +5 -0
- package/src/core/icons/icon-gui-link.svg +4 -0
- package/src/core/icons/icon-gui-resources.svg +3 -0
- package/src/core/icons/icon-multi-user-spaces-col.svg +13 -0
- package/src/core/icons/stackoverflow.svg +3 -0
- package/src/core/icons/youtube.svg +11 -0
- package/src/core/images/ably-logo.png +0 -0
- package/src/core/styles/properties.css +2 -0
- package/src/core/styles/text.css +4 -5
- package/src/core/utils/syntax-highlighter-registry.js +61 -0
- package/src/core/utils/syntax-highlighter.css +69 -0
- package/src/core/utils/syntax-highlighter.js +98 -0
- package/tailwind.config.js +1 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M5 1.5C4.30964 1.5 3.75 2.05964 3.75 2.75V3.75H5C5.41421 3.75 5.75 4.08579 5.75 4.5C5.75 4.91421 5.41421 5.25 5 5.25H3.75V6.75H5C5.41421 6.75 5.75 7.08579 5.75 7.5C5.75 7.91421 5.41421 8.25 5 8.25H3.75V9.75H5C5.41421 9.75 5.75 10.0858 5.75 10.5C5.75 10.9142 5.41421 11.25 5 11.25H3.75V12.75H5C5.41421 12.75 5.75 13.0858 5.75 13.5C5.75 13.9142 5.41421 14.25 5 14.25H3.75V15.75H5C5.41421 15.75 5.75 16.0858 5.75 16.5C5.75 16.9142 5.41421 17.25 5 17.25H3.75V18.75H5C5.41421 18.75 5.75 19.0858 5.75 19.5C5.75 19.9142 5.41421 20.25 5 20.25H3.75V21.25C3.75 21.9404 4.30964 22.5 5 22.5H18.5C19.1904 22.5 19.75 21.9404 19.75 21.25V19.75H12C10.4812 19.75 9.25 18.5188 9.25 17V12C9.25 10.4812 10.4812 9.25 12 9.25H19.75V3.75C19.75 2.50736 18.7426 1.5 17.5 1.5H5ZM2.25 2.75V3.75H1C0.585786 3.75 0.25 4.08579 0.25 4.5C0.25 4.91421 0.585786 5.25 1 5.25H2.25V6.75H1C0.585786 6.75 0.25 7.08579 0.25 7.5C0.25 7.91421 0.585786 8.25 1 8.25H2.25V9.75H1C0.585786 9.75 0.25 10.0858 0.25 10.5C0.25 10.9142 0.585786 11.25 1 11.25H2.25V12.75H1C0.585786 12.75 0.25 13.0858 0.25 13.5C0.25 13.9142 0.585786 14.25 1 14.25H2.25V15.75H1C0.585786 15.75 0.25 16.0858 0.25 16.5C0.25 16.9142 0.585786 17.25 1 17.25H2.25V18.75H1C0.585786 18.75 0.25 19.0858 0.25 19.5C0.25 19.9142 0.585786 20.25 1 20.25H2.25V21.25C2.25 22.7688 3.48122 24 5 24H18.5C20.0188 24 21.25 22.7688 21.25 21.25V19.7388C22.6516 19.6125 23.75 18.4345 23.75 17V12C23.75 10.5655 22.6516 9.38752 21.25 9.26121V3.75C21.25 1.67893 19.5711 0 17.5 0H5C3.48122 0 2.25 1.23122 2.25 2.75ZM20.5 10.75H12C11.3096 10.75 10.75 11.3096 10.75 12V17C10.75 17.6904 11.3096 18.25 12 18.25H20.5H21C21.6904 18.25 22.25 17.6904 22.25 17V12C22.25 11.3096 21.6904 10.75 21 10.75H20.5ZM12.5 4.25C12.5 3.42157 13.1716 2.75 14 2.75H17C17.8284 2.75 18.5 3.42157 18.5 4.25V5.25C18.5 6.07843 17.8284 6.75 17 6.75H14C13.1716 6.75 12.5 6.07843 12.5 5.25V4.25ZM14 3.75C13.7239 3.75 13.5 3.97386 13.5 4.25V5.25C13.5 5.52614 13.7239 5.75 14 5.75H17C17.2761 5.75 17.5 5.52614 17.5 5.25V4.25C17.5 3.97386 17.2761 3.75 17 3.75H14ZM15.5 13.2582L17.4746 14.4992L15.5 15.7402V13.2582ZM18.0421 15.3236C18.6526 14.9399 18.6526 14.0585 18.0421 13.6747L16.0176 12.4024C15.377 11.9998 14.5 12.4363 14.5 13.2268V15.7716C14.5 16.5621 15.377 16.9986 16.0176 16.596L18.0421 15.3236Z" fill="currentColor" />
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<svg width="49" height="48" viewBox="0 0 49 48" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<rect x="13" y="13" width="6" height="6" stroke="#03020D" stroke-width="1.5" stroke-linejoin="round"/>
|
|
3
|
+
<rect x="31" y="13" width="6" height="6" stroke="#03020D" stroke-width="1.5" stroke-linejoin="round"/>
|
|
4
|
+
<rect x="13" y="31" width="6" height="6" stroke="#03020D" stroke-width="1.5" stroke-linejoin="round"/>
|
|
5
|
+
<path d="M16 19L16 31" stroke="#03020D" stroke-width="1.5" stroke-linecap="round"/>
|
|
6
|
+
<path d="M34 19L34 26" stroke="#03020D" stroke-width="1.5" stroke-linecap="round"/>
|
|
7
|
+
<path d="M19 16L31 16" stroke="#03020D" stroke-width="1.5" stroke-linecap="round"/>
|
|
8
|
+
<path d="M19 34L29 34" stroke="#03020D" stroke-width="1.5" stroke-linecap="round"/>
|
|
9
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M47.7494 34.1265C47.7376 33.8234 47.5443 33.5572 47.2597 33.4522L30.3737 27.2184C30.0903 27.1138 29.7719 27.1893 29.5658 27.41C29.3596 27.6308 29.306 27.9536 29.4297 28.2291L36.806 44.66C36.932 44.9405 37.2163 45.1158 37.5235 45.1021C37.8306 45.0885 38.0984 44.8888 38.199 44.5983L40.4903 37.9808L47.3138 34.8369C47.5894 34.71 47.7613 34.4296 47.7494 34.1265Z" fill="#FF5416"/>
|
|
10
|
+
<path d="M12.8863 45.5057L1.62891 41.3499L6.37144 39.1648L7.96873 34.5518L12.8863 45.5057Z" stroke="#03020D" stroke-width="1.5" stroke-linejoin="round"/>
|
|
11
|
+
<path d="M30.2574 0.999899L19 5.15576L23.7425 7.34085L25.3398 11.9538L30.2574 0.999899Z" stroke="#03020D" stroke-width="1.5" stroke-linejoin="round"/>
|
|
12
|
+
<path d="M33 6L44 6" stroke="#03020D" stroke-width="1.5" stroke-linecap="round"/>
|
|
13
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.8833 17.0404L6.44573 14.8304L6.89029 12.7367L17.3279 14.9467L16.8833 17.0404ZM17.4825 14.3457L7.81808 9.82876L8.72653 7.89014L18.391 12.4071L17.4825 14.3457ZM18.7002 11.9031L10.5048 5.05977L11.8771 3.41195L20.0726 10.2552L18.7002 11.9031ZM14.0806 1.27948L15.8009 0L22.1601 8.58804L20.4398 9.86753L14.0806 1.27948ZM16.8833 19.7351H6.25244V17.6026H16.8833V19.7351ZM21.1356 15.4701H19.0094V21.8675H4.12617V15.4701H2V24H21.1356V15.4701Z" fill="currentColor"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<svg width="32" height="22" viewBox="0 0 32 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_1509_18255)">
|
|
3
|
+
<path d="M30.525 3.44433C30.1655 2.09844 29.113 1.03726 27.778 0.6749C25.3391 0.00195312 15.5834 0.00195312 15.5834 0.00195312C15.5834 0.00195312 5.82773 0.00195312 3.38881 0.649017C2.0795 1.01137 1.00124 2.09844 0.64182 3.44433C0 5.90318 0 11.002 0 11.002C0 11.002 0 16.1268 0.64182 18.5597C1.00124 19.9056 2.05382 20.9668 3.38881 21.3292C5.8534 22.0021 15.5834 22.0021 15.5834 22.0021C15.5834 22.0021 25.3391 22.0021 27.778 21.3551C29.113 20.9927 30.1655 19.9315 30.525 18.5856C31.1668 16.1268 31.1668 11.0279 31.1668 11.0279C31.1668 11.0279 31.1925 5.90318 30.525 3.44433Z" fill="currentColor"/>
|
|
4
|
+
<path d="M20.5892 11.0021L12.4766 6.2915V15.7128L20.5892 11.0021Z" fill="white"/>
|
|
5
|
+
</g>
|
|
6
|
+
<defs>
|
|
7
|
+
<clipPath id="clip0_1509_18255">
|
|
8
|
+
<rect width="31.1667" height="22" fill="white"/>
|
|
9
|
+
</clipPath>
|
|
10
|
+
</defs>
|
|
11
|
+
</svg>
|
|
Binary file
|
package/src/core/styles/text.css
CHANGED
|
@@ -147,16 +147,15 @@
|
|
|
147
147
|
}
|
|
148
148
|
|
|
149
149
|
.ui-link {
|
|
150
|
-
@apply
|
|
150
|
+
@apply text-gui-default;
|
|
151
151
|
@apply hover:text-gui-hover active:text-gui-active disabled:text-gui-unavailable;
|
|
152
|
-
@apply focus:text-gui-
|
|
153
|
-
@apply underline;
|
|
152
|
+
@apply focus:text-gui-default focus:outline-gui-focus;
|
|
153
|
+
@apply no-underline;
|
|
154
154
|
}
|
|
155
155
|
|
|
156
156
|
.ui-link-neutral {
|
|
157
|
-
@apply visited:text-dark-grey;
|
|
158
157
|
@apply hover:text-dark-grey active:text-cool-black disabled:text-gui-unavailable;
|
|
159
|
-
@apply focus:text-
|
|
158
|
+
@apply focus:text-charcoal-grey focus:outline-gui-focus-neutral;
|
|
160
159
|
@apply underline;
|
|
161
160
|
}
|
|
162
161
|
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// This file can be used in the browser, but because of the weight of all the language
|
|
2
|
+
// definitions, preferably it should be used on the server.
|
|
3
|
+
|
|
4
|
+
import bash from "highlight.js/lib/languages/bash";
|
|
5
|
+
import cpp from "highlight.js/lib/languages/cpp";
|
|
6
|
+
import csharp from "highlight.js/lib/languages/csharp";
|
|
7
|
+
import css from "highlight.js/lib/languages/css";
|
|
8
|
+
import dart from "highlight.js/lib/languages/dart";
|
|
9
|
+
import dos from "highlight.js/lib/languages/dos";
|
|
10
|
+
import diff from "highlight.js/lib/languages/diff";
|
|
11
|
+
import erlang from "highlight.js/lib/languages/erlang";
|
|
12
|
+
import elixir from "highlight.js/lib/languages/elixir";
|
|
13
|
+
import plaintext from "highlight.js/lib/languages/plaintext";
|
|
14
|
+
import go from "highlight.js/lib/languages/go";
|
|
15
|
+
import http from "highlight.js/lib/languages/http";
|
|
16
|
+
import java from "highlight.js/lib/languages/java";
|
|
17
|
+
import javascript from "highlight.js/lib/languages/javascript";
|
|
18
|
+
import typescript from "highlight.js/lib/languages/typescript";
|
|
19
|
+
import json from "highlight.js/lib/languages/json";
|
|
20
|
+
import objectivec from "highlight.js/lib/languages/objectivec";
|
|
21
|
+
import php from "highlight.js/lib/languages/php";
|
|
22
|
+
import python from "highlight.js/lib/languages/python";
|
|
23
|
+
import ruby from "highlight.js/lib/languages/ruby";
|
|
24
|
+
import swift from "highlight.js/lib/languages/swift";
|
|
25
|
+
import sql from "highlight.js/lib/languages/sql";
|
|
26
|
+
import xml from "highlight.js/lib/languages/xml";
|
|
27
|
+
import yaml from "highlight.js/lib/languages/yaml";
|
|
28
|
+
import curl from "highlightjs-curl/src/languages/curl";
|
|
29
|
+
|
|
30
|
+
const registry = [
|
|
31
|
+
{ label: "Text", key: "text", module: plaintext },
|
|
32
|
+
{ label: "JS", key: "javascript", module: javascript },
|
|
33
|
+
{ label: "TS", key: "typescript", module: typescript },
|
|
34
|
+
{ label: "Java", key: "java", module: java },
|
|
35
|
+
{ label: "Ruby", key: "ruby", module: ruby },
|
|
36
|
+
{ label: "Python", key: "python", module: python },
|
|
37
|
+
{ label: "PHP", key: "php", module: php },
|
|
38
|
+
{ label: "Shell", key: "bash", module: bash },
|
|
39
|
+
{ label: "C#", key: "cs", module: csharp },
|
|
40
|
+
{ label: "CSS", key: "css", module: css },
|
|
41
|
+
{ label: "Go", key: "go", module: go },
|
|
42
|
+
{ label: "HTML", key: "xml", module: xml },
|
|
43
|
+
{ label: "HTTP", key: "http", module: http },
|
|
44
|
+
{ label: "C++", key: "cpp", module: cpp },
|
|
45
|
+
{ label: "Dart", key: "dart", module: dart },
|
|
46
|
+
{ label: "Swift", key: "swift", module: swift },
|
|
47
|
+
{ label: "Objective C", key: "objectivec", module: objectivec },
|
|
48
|
+
{ label: "Node.js", key: "javascript", module: javascript },
|
|
49
|
+
{ label: "JSON", key: "json", module: json },
|
|
50
|
+
{ label: "DOS", key: "dos", module: dos },
|
|
51
|
+
{ label: "YAML", key: "yaml", module: yaml },
|
|
52
|
+
{ label: "Erlang", key: "erlang", module: erlang },
|
|
53
|
+
{ label: "Elixir", key: "elixir", module: elixir },
|
|
54
|
+
{ label: "Diff", key: "diff", module: diff },
|
|
55
|
+
{ label: "SQL", key: "sql", module: sql },
|
|
56
|
+
{ label: "cURL", key: "curl", module: curl },
|
|
57
|
+
{ label: "HTML", key: "html", module: xml },
|
|
58
|
+
{ label: "XML", key: "xml", module: xml },
|
|
59
|
+
];
|
|
60
|
+
|
|
61
|
+
export default registry;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
@layer base {
|
|
2
|
+
@import url("https://fonts.googleapis.com/css2?family=Source+Code+Pro:ital,wght@0,600;0,700;1,600;1,700&display=swap");
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
@layer components {
|
|
6
|
+
.hljs {
|
|
7
|
+
background: var(--syntax-black);
|
|
8
|
+
color: var(--syntax-light-grey);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.hljs-emphasis {
|
|
12
|
+
@apply italic;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.hljs-strong {
|
|
16
|
+
@apply font-bold;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.hljs-comment,
|
|
20
|
+
.hljs-quote {
|
|
21
|
+
color: var(--syntax-dark-grey);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.hljs-variable,
|
|
25
|
+
.hljs-template-variable,
|
|
26
|
+
.hljs-tag,
|
|
27
|
+
.hljs-name,
|
|
28
|
+
.hljs-selector-id,
|
|
29
|
+
.hljs-selector-class,
|
|
30
|
+
.hljs-regexp,
|
|
31
|
+
.hljs-deletion {
|
|
32
|
+
color: var(--syntax-red);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.hljs-number,
|
|
36
|
+
.hljs-built_in,
|
|
37
|
+
.hljs-literal,
|
|
38
|
+
.hljs-type,
|
|
39
|
+
.hljs-params,
|
|
40
|
+
.hljs-meta,
|
|
41
|
+
.hljs-link {
|
|
42
|
+
color: var(--syntax-orange);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.hljs-attribute {
|
|
46
|
+
color: var(--syntax-yellow);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.hljs-string,
|
|
50
|
+
.hljs-symbol,
|
|
51
|
+
.hljs-bullet,
|
|
52
|
+
.hljs-addition {
|
|
53
|
+
color: var(--syntax-green);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.hljs-title,
|
|
57
|
+
.hljs-section {
|
|
58
|
+
color: var(--syntax-blue);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.hljs-keyword,
|
|
62
|
+
.hljs-selector-tag {
|
|
63
|
+
color: var(--syntax-lilac);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.hljs-subst {
|
|
67
|
+
color: var(--syntax-mid-grey);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import hljs from "highlight.js/lib/core";
|
|
2
|
+
|
|
3
|
+
// Map certain frameworks, protocols etc to available langauage packs
|
|
4
|
+
const languageToHighlightKey = (lang) => {
|
|
5
|
+
let id;
|
|
6
|
+
|
|
7
|
+
if (!lang) {
|
|
8
|
+
lang = "text";
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
switch (lang.toLowerCase()) {
|
|
12
|
+
case "android":
|
|
13
|
+
id = "java";
|
|
14
|
+
break;
|
|
15
|
+
|
|
16
|
+
case ".net":
|
|
17
|
+
case "net":
|
|
18
|
+
case "dotnet":
|
|
19
|
+
case "csharp":
|
|
20
|
+
case "c#":
|
|
21
|
+
id = "cs";
|
|
22
|
+
break;
|
|
23
|
+
|
|
24
|
+
case "objc":
|
|
25
|
+
case "objective c":
|
|
26
|
+
id = "objectivec";
|
|
27
|
+
break;
|
|
28
|
+
|
|
29
|
+
case "laravel":
|
|
30
|
+
id = "php";
|
|
31
|
+
break;
|
|
32
|
+
|
|
33
|
+
case "flutter":
|
|
34
|
+
id = "dart";
|
|
35
|
+
break;
|
|
36
|
+
|
|
37
|
+
case "node.js":
|
|
38
|
+
case "js":
|
|
39
|
+
id = "javascript";
|
|
40
|
+
break;
|
|
41
|
+
|
|
42
|
+
case "ts":
|
|
43
|
+
id = "typescript";
|
|
44
|
+
break;
|
|
45
|
+
|
|
46
|
+
case "shell":
|
|
47
|
+
case "fh":
|
|
48
|
+
case "sh":
|
|
49
|
+
id = "bash";
|
|
50
|
+
break;
|
|
51
|
+
|
|
52
|
+
case "https":
|
|
53
|
+
case "http":
|
|
54
|
+
case "txt":
|
|
55
|
+
case "plaintext":
|
|
56
|
+
id = "text";
|
|
57
|
+
break;
|
|
58
|
+
|
|
59
|
+
case "cmd":
|
|
60
|
+
case "bat":
|
|
61
|
+
id = "dos";
|
|
62
|
+
break;
|
|
63
|
+
|
|
64
|
+
case "yml":
|
|
65
|
+
id = "yaml";
|
|
66
|
+
break;
|
|
67
|
+
|
|
68
|
+
case "erl":
|
|
69
|
+
id = "erlang";
|
|
70
|
+
break;
|
|
71
|
+
|
|
72
|
+
case "patch":
|
|
73
|
+
id = "diff";
|
|
74
|
+
break;
|
|
75
|
+
|
|
76
|
+
case "svg":
|
|
77
|
+
id = "xml";
|
|
78
|
+
break;
|
|
79
|
+
|
|
80
|
+
default:
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return id || lang;
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
const registerDefaultLanguages = (register) => {
|
|
88
|
+
register.forEach(({ key, module }) => hljs.registerLanguage(key, module));
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
const highlightSnippet = (languageKeyword, snippet) => {
|
|
92
|
+
const language = languageToHighlightKey(languageKeyword);
|
|
93
|
+
if (typeof snippet !== "string" || !snippet || !language) return;
|
|
94
|
+
|
|
95
|
+
return hljs.highlight(snippet, { language }).value;
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
export { highlightSnippet, languageToHighlightKey, registerDefaultLanguages };
|