Test page
1 January 2200
·
3 min read
Title 1
bla bla
Title 1 again
bla bla
Title 2
bla bla
Title 3
bla bla
Title 4
bla bla
Lorem ipsum dolor sit amet, consectetur adipiscing elit. In id risus quis sapien fermentum consectetur id vitae dolor. Morbi volutpat tincidunt risus non dapibus. Integer fermentum quis ipsum non dictum. Duis convallis scelerisque sodales. Suspendisse quis porttitor justo, at faucibus elit. Ut elementum urna quis ullamcorper tempor. Phasellus nec ullamcorper erat. Praesent et porta dolor. Mauris velit turpis, placerat ac justo ultricies, elementum finibus erat. Morbi eget metus vel arcu blandit viverra. Fusce nec enim ultricies dolor aliquam vestibulum. Maecenas tincidunt velit at leo malesuada auctor. Praesent ac tellus laoreet, porttitor mi vitae, ullamcorper dui. Phasellus laoreet eget elit non cursus. Vestibulum blandit, ipsum in suscipit dapibus, dolor eros volutpat elit, in aliquet erat libero vel sapien.
Etiam a mauris at enim iaculis euismod. Mauris suscipit sapien elit, quis placerat eros viverra sit amet. Phasellus volutpat diam diam. Proin vel vestibulum est, nec ultrices augue. Nunc porttitor rutrum eros, id faucibus nisl maximus sed. Fusce quis magna sit amet eros ornare elementum vel a metus. Etiam at elit neque. Curabitur id suscipit neque. Sed ligula velit, tincidunt ut neque eu, convallis vestibulum libero. Nulla vel enim libero. Nunc sit amet enim consectetur, dapibus quam non, fringilla felis.
- One
- Two
- X
- Y
- Z
- First item
- Second item
- Third item
- Indented item
- Indented item
- Fourth item
export FOO=barThe following is bold text.
The following is italized text.
The following is a block quote
The following is some code.
A horizontal rule:
We’re back
This is a link: https://github.com/viperML/neohome.
Extended syntax
Tables:
| Syntax | Description | Test Text |
|---|---|---|
| Header | Title | Here’s this |
| Paragraph | Text | And more |
Footnotes:
Here’s a simple footnote,1 and here’s a longer one.2
This is striketrough.
- Write the press release
- Update the website
- Contact the media
This is highlighted text.
Or with html: highlighted text.
Automatic urls? https://example.com
code with meta?Alerts: https://github.com/orgs/community/discussions/16925
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.
ligatures
-<< -< -<- <-- <--- <<- <- -> ->> --> ---> ->- >- >>-
=<< =< =<= <== <=== <<= <= => =>> ==> ===> =>= >= >>=
<-> <--> <---> <----> <=> <==> <===> <====> :: ::: __
<~~ </ </> /> ~~> == != /= ~= <> === !== !=== =/= =!=
<: := *= *+ <* <*> *> <| <|> |> <. <.> .> +* =* =: :>
(* *) /* */ [| |] {| |} ++ +++ \/ /\ |- -| <!-- <!---
This is new
-# This is new
🙂 🐒 🇪🇸
#[napi]
pub fn highlight(text: String, lang: String) -> Option<String> {
let mut lang = DynTS::new(lang, STANDARD_CAPTURE_NAMES).ok()?;
let mut res: Vec<u8> = Vec::new();
res.extend(r#"< > +"tree-sitter-code">"#.as_bytes());
let bytes = text.as_bytes();
for event in lang.highlight(bytes) {
match event.ok()? {
HighlightEvent::Source { start, end } => res.extend(&bytes[start..end]),
HighlightEvent::HighlightStart(Highlight(n)) => {
let capture = STANDARD_CAPTURE_NAMES[n];
let classes = capture
.split(".")
.map(|elem| format!("ts-{elem}"))
.collect::<Vec<_>>()
.join(" ");
let text = format!(r#"<span class="{}">"#, classes);
res.extend(text.as_bytes());
}
HighlightEvent::HighlightEnd => {
let text = format!("</span>");
res.extend(text.as_bytes());
}
};
}
res.extend("</code>".as_bytes());
let res_text = String::from_utf8(res).ok()?;
Some(res_text)
}
xd
bar content