diff --git a/docs/src/components/ModelConfigDropdown/index.jsx b/docs/src/components/ModelConfigDropdown/index.jsx
index 3647607265..7ac7350d25 100644
--- a/docs/src/components/ModelConfigDropdown/index.jsx
+++ b/docs/src/components/ModelConfigDropdown/index.jsx
@@ -17,11 +17,34 @@ marked.setOptions({ gfm: true });
* @property {string} yaml Raw YAML for the configuration step.
*/
+// marked does not understand Docusaurus admonitions (:::warning ... :::), so
+// render those blocks ourselves and marked-parse everything around them.
+function renderMarkdown(md) {
+ if (!md) return "";
+ const admonition = /:::(\w+)[ \t]*([^\n]*)\n([\s\S]*?)\n:::/g;
+ let html = "";
+ let lastIndex = 0;
+ let match;
+ while ((match = admonition.exec(md)) !== null) {
+ html += marked.parse(md.slice(lastIndex, match.index));
+ const [, type, title, body] = match;
+ const heading = (title || type).trim();
+ html +=
+ `
` +
+ `
${heading}
` +
+ marked.parse(body) +
+ `
`;
+ lastIndex = admonition.lastIndex;
+ }
+ html += marked.parse(md.slice(lastIndex));
+ return html;
+}
+
function Markdown({ children }) {
return (
);
}
diff --git a/docs/src/components/ModelConfigDropdown/styles.module.css b/docs/src/components/ModelConfigDropdown/styles.module.css
index bf977dc445..a26321eff2 100644
--- a/docs/src/components/ModelConfigDropdown/styles.module.css
+++ b/docs/src/components/ModelConfigDropdown/styles.module.css
@@ -223,3 +223,54 @@
.markdown pre {
font-size: 0.8rem;
}
+
+/* Docusaurus-style admonitions rendered from markdown. */
+
+.admonition {
+ margin: 0.75rem 0;
+ padding: 0.75rem 1rem;
+ border-left: 4px solid var(--ifm-color-info);
+ border-radius: 4px;
+ background: var(--ifm-color-info-contrast-background);
+ font-size: 0.85rem;
+}
+
+.admonition > :last-child {
+ margin-bottom: 0;
+}
+
+.admonitionTitle {
+ font-weight: 700;
+ text-transform: uppercase;
+ letter-spacing: 0.5px;
+ font-size: 0.75rem;
+ margin-bottom: 0.4rem;
+ color: var(--ifm-color-info);
+}
+
+.admonition_warning {
+ border-left-color: var(--ifm-color-warning);
+ background: var(--ifm-color-warning-contrast-background);
+}
+
+.admonition_warning .admonitionTitle {
+ color: var(--ifm-color-warning-dark);
+}
+
+.admonition_danger {
+ border-left-color: var(--ifm-color-danger);
+ background: var(--ifm-color-danger-contrast-background);
+}
+
+.admonition_danger .admonitionTitle {
+ color: var(--ifm-color-danger-dark);
+}
+
+.admonition_tip {
+ border-left-color: var(--ifm-color-success);
+ background: var(--ifm-color-success-contrast-background);
+}
+
+.admonition_tip .admonitionTitle {
+ color: var(--ifm-color-success-dark);
+}