Adjust doc to support blockquote alerts.
This commit is contained in:
parent
6bbc6a8f2f
commit
745f14ccb2
|
@ -2276,15 +2276,22 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "pulldown-cmark"
|
||||
version = "0.9.6"
|
||||
version = "0.12.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b"
|
||||
checksum = "4d31cbfcd94884c3a67ec210c83efb06cb43674043458b0ad59f6947f8462c23"
|
||||
dependencies = [
|
||||
"bitflags 2.6.0",
|
||||
"memchr",
|
||||
"pulldown-cmark-escape",
|
||||
"unicase",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pulldown-cmark-escape"
|
||||
version = "0.11.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "007d8adb5ddab6f8e3f491ac63566a7d5002cc7ed73901f72057943fa71ae1ae"
|
||||
|
||||
[[package]]
|
||||
name = "quick-error"
|
||||
version = "1.2.3"
|
||||
|
|
|
@ -38,7 +38,7 @@ pallas-primitives.workspace = true
|
|||
pallas-traverse.workspace = true
|
||||
patricia_tree = "0.8.0"
|
||||
petgraph = "0.6.3"
|
||||
pulldown-cmark = { version = "0.9.2", default-features = false }
|
||||
pulldown-cmark = { version = "0.12.0", default-features = false, features = ["html"] }
|
||||
rayon = "1.7.0"
|
||||
regex = "1.7.1"
|
||||
reqwest = { version = "0.11.14", features = ["blocking", "json"] }
|
||||
|
|
|
@ -634,6 +634,11 @@ impl DocTypeConstructor {
|
|||
.doc
|
||||
.as_deref()
|
||||
.map(|doc| render_markdown(&format!("{doc}\n{doc_args}")))
|
||||
.or(if doc_args.is_empty() {
|
||||
None
|
||||
} else {
|
||||
Some(render_markdown(&format!("\n{doc_args}")))
|
||||
})
|
||||
.unwrap_or_default(),
|
||||
raw_documentation: constructor.doc.as_deref().unwrap_or_default().to_string(),
|
||||
}
|
||||
|
|
|
@ -120,7 +120,7 @@
|
|||
<h2>
|
||||
<a href="{{ breadcrumbs }}/">{{ project_name }}</a>
|
||||
<span id="project-version">
|
||||
<span>v{{ project_version }} </span>
|
||||
<span>{{ project_version }} </span>
|
||||
</span>
|
||||
<script>
|
||||
"use strict";
|
||||
|
@ -258,6 +258,30 @@
|
|||
<polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline>
|
||||
<line x1="12" y1="22.08" x2="12" y2="12"></line>
|
||||
</symbol>
|
||||
|
||||
<symbol id="icon-note" viewBox="0 0 16 16" fill="currentColor">
|
||||
<path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path>
|
||||
</symbol>
|
||||
|
||||
<symbol id="icon-tip" viewBox="0 0 16 16" fill="currentColor">
|
||||
<path d="M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z"></path>
|
||||
</symbol>
|
||||
|
||||
<symbol id="icon-important" viewBox="0 0 16 16" fill="currentColor">
|
||||
<path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
|
||||
</symbol>
|
||||
|
||||
<symbol id="icon-warning" viewBox="0 0 16 16" fill="currentColor">
|
||||
<path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
|
||||
</symbol>
|
||||
|
||||
<symbol id="icon-caution" viewBox="0 0 16 16" fill="currentColor">
|
||||
<path d="M4.47.22A.749.749 0 0 1 5 0h6c.199 0 .389.079.53.22l4.25 4.25c.141.14.22.331.22.53v6a.749.749 0 0 1-.22.53l-4.25 4.25A.749.749 0 0 1 11 16H5a.749.749 0 0 1-.53-.22L.22 11.53A.749.749 0 0 1 0 11V5c0-.199.079-.389.22-.53Zm.84 1.28L1.5 5.31v5.38l3.81 3.81h5.38l3.81-3.81V5.31L10.69 1.5ZM8 4a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 4Zm0 8a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path>
|
||||
</symbol>
|
||||
|
||||
|
||||
|
||||
|
||||
</defs>
|
||||
</svg>
|
||||
|
||||
|
@ -280,6 +304,27 @@
|
|||
a.innerText = span.innerText;
|
||||
el.prepend(a);
|
||||
});
|
||||
|
||||
function addIcon(icon) {
|
||||
return (el) => {
|
||||
const span = document.createElement('span');
|
||||
span.classList = 'icon-group';
|
||||
span.innerText = icon;
|
||||
const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
|
||||
svg.classList = 'icon';
|
||||
const link = document.createElementNS('http://www.w3.org/2000/svg', 'use');
|
||||
link.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', `#icon-${icon}`);
|
||||
svg.appendChild(link);
|
||||
span.prepend(svg)
|
||||
el.prepend(span);
|
||||
}
|
||||
}
|
||||
|
||||
document.querySelectorAll("blockquote.markdown-alert-note").forEach(addIcon('note'));
|
||||
document.querySelectorAll("blockquote.markdown-alert-tip").forEach(addIcon('tip'));
|
||||
document.querySelectorAll("blockquote.markdown-alert-important").forEach(addIcon('important'));
|
||||
document.querySelectorAll("blockquote.markdown-alert-warning").forEach(addIcon('warning'));
|
||||
document.querySelectorAll("blockquote.markdown-alert-caution").forEach(addIcon('caution'));
|
||||
</script>
|
||||
<script src="https://unpkg.com/@popperjs/core@2"></script>
|
||||
<script src="https://unpkg.com/tippy.js@6"></script>
|
||||
|
|
|
@ -29,6 +29,13 @@
|
|||
--color-table-border: #ea76cb;
|
||||
--color-code-background: #dce0e8;
|
||||
|
||||
/* Blockquote tags */
|
||||
--color-note: #0984e3;
|
||||
--color-tip: #00b894;
|
||||
--color-important: #e84393;
|
||||
--color-warning: #f9ca24;
|
||||
--color-caution: #e17055;
|
||||
|
||||
/* etc */
|
||||
--nav-shadow: 0 0 6px 2px rgba(0, 0, 0, 0.1);
|
||||
--shadow:
|
||||
|
@ -329,7 +336,7 @@ p code {
|
|||
|
||||
.sidebar h2 {
|
||||
margin: 0;
|
||||
color: var(--color-link-accent);
|
||||
color: var(--color-text);
|
||||
font-size: 1.75em;
|
||||
}
|
||||
|
||||
|
@ -521,16 +528,23 @@ a.member-source:hover::before {
|
|||
.constructor-item-docs {
|
||||
margin-left: var(--large-gap);
|
||||
margin-bottom: var(--gap);
|
||||
padding-left: 1.5rem;
|
||||
margin-top: -1em;
|
||||
}
|
||||
|
||||
.constructor-item-docs::before {
|
||||
.constructor-item-docs > p {
|
||||
padding-left: 1.5rem;
|
||||
}
|
||||
|
||||
.constructor-item-docs > p:first-child {
|
||||
padding-top: 0.5rem;
|
||||
}
|
||||
|
||||
.constructor-item-docs > p:first-child::before {
|
||||
content: '↳';
|
||||
position: relative;
|
||||
margin-left: -1.5rem;
|
||||
top: 1.5em;
|
||||
color: var(--color-background-accent);
|
||||
width: 1.5rem;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.constructor-item-docs hr {
|
||||
|
@ -1137,10 +1151,12 @@ body.theme-dark {
|
|||
.sidebar li[data-indent="2"]::before { padding-left: 2rem; }
|
||||
.sidebar li[data-indent="3"]::before { padding-left: 3rem; }
|
||||
|
||||
.sidebar li[data-heading] > a,
|
||||
.sidebar li[data-heading] > a:visited,
|
||||
.sidebar li[data-heading] {
|
||||
font-weight: bold;
|
||||
font-size: 1em;
|
||||
color: var(--color-link-accent);
|
||||
color: var(--color-text);
|
||||
}
|
||||
|
||||
.sidebar li[data-heading="1"] {
|
||||
|
@ -1154,11 +1170,81 @@ body.theme-dark {
|
|||
}
|
||||
|
||||
.sidebar li[data-heading="3"] {
|
||||
margin-top: 0.75rem;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
.sidebar li[data-heading="4"] {
|
||||
margin-top: 0.5rem;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
.sidebar li[data-heading]:first-child,
|
||||
.sidebar li[data-heading] + li[data-heading] {
|
||||
.sidebar li[data-heading]:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
/* Blockquote tags */
|
||||
|
||||
blockquote.markdown-alert-note {
|
||||
--color-alert: var(--color-note);
|
||||
--text-alert: "Note";
|
||||
}
|
||||
|
||||
blockquote.markdown-alert-tip {
|
||||
--color-alert: var(--color-tip);
|
||||
--text-alert: "Tip";
|
||||
}
|
||||
|
||||
|
||||
blockquote.markdown-alert-important {
|
||||
--color-alert: var(--color-important);
|
||||
--text-alert: "Important";
|
||||
}
|
||||
|
||||
|
||||
blockquote.markdown-alert-warning {
|
||||
--color-alert: var(--color-warning);
|
||||
--text-alert: "Warning";
|
||||
}
|
||||
|
||||
|
||||
blockquote.markdown-alert-caution {
|
||||
--color-alert: var(--color-caution);
|
||||
--text-alert: "Caution";
|
||||
}
|
||||
|
||||
blockquote.markdown-alert-note,
|
||||
blockquote.markdown-alert-tip,
|
||||
blockquote.markdown-alert-important,
|
||||
blockquote.markdown-alert-warning,
|
||||
blockquote.markdown-alert-caution {
|
||||
border-left: 4px solid var(--color-alert);
|
||||
padding-left: 1rem;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
blockquote.markdown-alert-note > span.icon-group > svg.icon,
|
||||
blockquote.markdown-alert-tip > span.icon-group > svg.icon,
|
||||
blockquote.markdown-alert-important > span.icon-group > svg.icon,
|
||||
blockquote.markdown-alert-warning > span.icon-group > svg.icon,
|
||||
blockquote.markdown-alert-caution > span.icon-group > svg.icon {
|
||||
width: 1em;
|
||||
height: 1em;
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
top: 0.15rem;
|
||||
margin-right: 0.25rem;
|
||||
}
|
||||
|
||||
blockquote.markdown-alert-note > span.icon-group,
|
||||
blockquote.markdown-alert-tip > span.icon-group,
|
||||
blockquote.markdown-alert-important > span.icon-group,
|
||||
blockquote.markdown-alert-warning > span.icon-group,
|
||||
blockquote.markdown-alert-caution > span.icon-group {
|
||||
font-weight: bold;
|
||||
font-variant: small-caps;
|
||||
color: var(--color-alert);
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
padding-bottom: 0.5rem;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue