Code change:
<ins> // Test to check that the "warning blocks" are displayed as expected. go-to: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html" show-text: true define-function: ( "check-warning", (theme, color, border_color, background_color), block { set-local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"} reload: // The IDs are added directly into the DOM to make writing this test easier. assert-css: ("#doc-warning-1", { "margin-bottom": "12px", "color": |color|, "border-left": "2px solid " + |border_color|, "background-color": |background_color|, }) assert-css: ("#doc-warning-2", { "margin-bottom": "0px", "color": |color|, "border-left": "2px solid " + |border_color|, "background-color": |background_color|, }) }, ) call-function: ("check-warning", { "theme": "ayu", "color": "rgb(197, 197, 197)", "border_color": "rgb(255, 142, 0)", "background_color": "rgba(0, 0, 0, 0)", }) call-function: ("check-warning", { "theme": "dark", "color": "rgb(221, 221, 221)", "border_color": "rgb(255, 142, 0)", "background_color": "rgba(0, 0, 0, 0)", }) call-function: ("check-warning", { "theme": "light", "color": "rgb(0, 0, 0)", "border_color": "rgb(255, 142, 0)", "background_color": "rgba(0, 0, 0, 0)", }) </ins>

Related discussion:
text: I'm not wholly against unscoped single-line syntax. We and syntax in W3C specs and you invariably need to add more stuff to it (there's an HTML class in these specs for this reason). Furthermore, Rust has a strong culture of wrapping text, so this means we need to work well while wrapped, and that means we're again introducing some form of scoping mechanism (e.g. indenting the text), which editors will have to learn, as well.
I don't know about admonitions specifically but there seems to be something of a community habit to use "magic tags" on fenced code blocks for this sort of features (e.g. github has a tag), maybe that could be an option? I don't know if pulldown_cmark has a hook for manipulating code blocks but… So a warning would be or maybe the tag would be to leave room for things like note/todo/danger/… Alternatively, take a gander at how other markdown implementations extend the language for this sort of features? e.g. seems to be using for admonitions.
Hmm, but is still for code, even if it has some extra behavior. Aside from the design concerns, this would be feasible to implement: we just extract the language string from the code block with pulldown.
Could you use something that's already built into markdown? For example, rustdoc could take and render it as an admonition.
That's what suggested: to use markdown and make some changes on rustdoc side. I think the codeblock approach is the best personally.
My bad, I didn't see that.
I wonder if it makes more sense to add this as a proc-macro. Rustdoc can still provide the CSS classes and things, and you could use them with HTML directly, but you could use or something and it would expand to the correct HTML tags and classes.
Might be better to have a then, no?
Is that going to be a special header similar to the "unsafe"/"experimental"/etc ones, or is that going to also be used within docs in an order-sensitive way? If the latter we should probably just use a CSS class; mixing and is ugly
Agreed.