Markdown kitchen sink
Header 1#
Header 2#
Header 3#
Header 4#
Header 5#
Header6#
Alternatively, for H1 and H2, an underline-ish style:
Alt-H1#
Alt-H2#
Formatting and links#
Use bold, italic, both, strikethrough, inline code, highlighting, and keyboard labels. Relative links can open a focused feature, a copied file, or another heading. Even heading inside document.
A blockquote supports formatting, emphasis, and
code.
Important
GitHub-style alerts work without custom components.
Tip
The source remains readable on GitHub and in a text editor.
Also, a blockquote
And a blockquote inside blockquote
And text below
Important
And above once more but that is important now
Tip
Tip of the day - never write Markdown like this (prove me wrong)
Lists, tasks, and a table#
- Validate the content.
- Render the pages.
- Publish the directory.
Bullet 1
Bullet 2
Bullet 3
Markdown parsed
Links checked
Website deployed
| Source | Output | Browser runtime |
|---|---|---|
| Markdown | HTML | None |
| Mermaid | SVG | None |
| MDX with a script | HTML + JavaScript | Opt-in |
Lists#
- First ordered list item
- Another item ⋅⋅⋅⋅* Unordered sub-list.
- Actual numbers don’t matter, just that it’s a number ⋅⋅⋅⋅1. Ordered sub-list
- And another item.
⋅⋅⋅You can have properly indented paragraphs within list items. Notice the blank line above, and the leading spaces (at least one, but we’ll use three here to also align the raw Markdown).
⋅⋅⋅To have a line break without a paragraph, you will need to use two trailing spaces.⋅⋅ ⋅⋅⋅Note that this line is separate, but within the same paragraph.⋅⋅ ⋅⋅⋅(This is contrary to the typical GFM line break behaviour, where trailing spaces are not required.)
- Unordered list can use asterisks
- Or minuses
- Or pluses
Code#
const result = await build({ source: "notes", output: "dist" });
console.log(result.pages);import kotlinx.coroutines.*
suspend fun main() { // A function that can be suspended and resumed later
val start = System.currentTimeMillis()
coroutineScope { // Create a scope for starting coroutines
for (i in 1..10) {
launch { // Start 10 concurrent tasks
delay(3000L - i * 300) // Pause their execution
log(start, "Countdown: $i")
}
}
}
// Execution continues when all coroutines in the scope have finished
log(start, "Liftoff!")
}
fun log(start: Long, msg: String) {
println("$msg " +
"(on ${Thread.currentThread().name}) " +
"after ${(System.currentTimeMillis() - start)/1000F}s")
}// This is a simple macro named `say_hello`.
macro_rules! say_hello {
// `()` indicates that the macro takes no argument.
() => {
// The macro will expand into the contents of this block.
println!("Hello!")
};
}
fn main() {
// This call will expand into `println!("Hello!")`
say_hello!()
}Mermaid#
Image and native elements#
Everything on this page is still Markdown
Native HTML elements are allowed where Markdown has no equivalent.- Definition list
- Is something people use sometimes.
- Markdown in HTML
- Does *not* work **very** well. Use HTML tags.
