This is a sample code block:
function greet() {
console.log("Hello, world!");
}
And here is an inline formula:
And some block formula:
需要注意行内公式开始的$$需要前面空一行,并且$$单独占一行,也许我可以在未来改一下配置不这么严格。
footnote
Here is a simple footnote1.
A footnote can also have multiple lines2.
A strange picture:

what?
Alert Example
Note
Highlights information that users should take into account, even when skimming.
Tip
Optional information to help a user be more successful.
Important
Crucial information necessary for users to succeed.
Warning
Critical content demanding immediate user attention due to potential risks.
Caution
Negative potential consequences of an action.
wao
Caution
数域上的两个不相交的闭集, 有可能可以并成。 例如考虑上的集合
这两个集合在上都是既开又闭的,但. 但是由于是连通的,所以这种集合不存在。
┌────────────────────────────────────────────────────┐
│ WAN │
│┌────────────────────────┐ │
││ School LAN │ ┌────────┐ │
││┌──────────┐ ┌────────┐│ │ Server │ ┌────────┐│
│││ School │ │ └┴───┴────────┴───┘┌──────┐││
│││ Internal │ │ Client │ User │││
│││ Computer │ │ ┌┬───┬────────┬───┐└──────┘││
││└──────────┘ └────────┘│ └────────┘ └────────┘│
│└────────────────────────┘ │
└────────────────────────────────────────────────────┘
| Column1 | Column2 |
|---|---|
| Item1.1 | Item2.1 |
function getAllArragement(set = [1, 2]) {
return set.length == 1
? [set]
: set
.map((_v, idx) => [...set.slice(0, idx), ...set.slice(idx + 1)])
.map(getAllArragement)
.map((subsets, index) =>
subsets.map((subset, _i) => [set[index], ...subset]),
)
.flat();
}