···11+# Extensions
22+33+## Admonitions/Alerts
44+55+Admonitions (also called alerts or callouts) are special highlighted blocks that draw attention to important information. Lantern supports both GitHub-flavored markdown syntax and a custom fence syntax.
66+77+### Supported Types
88+99+All admonitions are rendered with colored borders and icons:
1010+1111+- **Note/Info** - Blue - General information
1212+- **Tip/Hint/Important** - Purple - Helpful suggestions
1313+- **Warning/Caution/Attention** - Yellow - Important warnings
1414+- **Danger/Error** - Red - Critical issues
1515+- **Success/Check/Done** - Green - Success messages
1616+- **Question/Help/FAQ** - Cyan - Questions and help
1717+- **Example** - Green - Example content
1818+- **Quote** - Cyan - Quotations
1919+- **Abstract/Summary/TLDR** - Blue - Summaries
2020+- **Todo** - Cyan - Todo items
2121+- **Bug** - Red - Bug reports
2222+- **Failure/Fail/Missing** - Red - Failures
2323+2424+### GitHub/Obsidian Syntax
2525+2626+```markdown
2727+> [!NOTE]
2828+> Useful information that users should know, even when skimming content.
2929+3030+> [!TIP]
3131+> Helpful advice for doing things better or more easily.
3232+3333+> [!IMPORTANT]
3434+> Key information users need to know to achieve their goal.
3535+3636+> [!WARNING]
3737+> Urgent info that needs immediate user attention to avoid problems.
3838+3939+> [!CAUTION]
4040+> Advises about risks or negative outcomes of certain actions.
4141+```
4242+4343+### Obsidian
4444+4545+```markdown
4646+> [!quote]
4747+> Lorem ipsum dolor sit amet
4848+4949+> [!quote] Optional Title
5050+> Lorem ipsum dolor sit amet
5151+5252+> [!example]
5353+> Lorem ipsum dolor sit amet
5454+5555+> [!bug]
5656+> Lorem ipsum dolor sit amet
5757+5858+> [!danger]
5959+> Lorem ipsum dolor sit amet
6060+6161+> [!failure]
6262+> Lorem ipsum dolor sit amet
6363+6464+> [!warning]
6565+> Lorem ipsum dolor sit amet
6666+6767+> [!question]
6868+> Lorem ipsum dolor sit amet
6969+7070+> [!success]
7171+> Lorem ipsum dolor sit amet
7272+7373+> [!tip]
7474+> Lorem ipsum dolor sit amet
7575+7676+> [!todo]
7777+> Lorem ipsum dolor sit amet
7878+7979+> [!abstract]
8080+> Lorem ipsum dolor sit amet
8181+8282+> [!note]
8383+> Lorem ipsum dolor sit amet
8484+```
8585+8686+#### Aliases
8787+8888+| Main | Alias |
8989+| -------- | ------------------ |
9090+| danger | error |
9191+| failure | fail, missing |
9292+| warning | caution, attention |
9393+| question | help, faq |
9494+| success | check, done |
9595+| tip | hint, important |
9696+| abstract | summary, tldr |
9797+9898+### Fence Syntax
9999+100100+You can also use a custom fence syntax with `:::`:
101101+102102+```markdown
103103+:::note
104104+This is a note using fence syntax
105105+:::
106106+107107+:::warning
108108+This is a warning with fence syntax
109109+:::
110110+111111+:::tip
112112+Pro tip: You can use either syntax!
113113+:::
114114+```
115115+116116+### Custom Titles
117117+118118+For GitHub/Obsidian syntax, you can provide a custom title:
119119+120120+```markdown
121121+> [!WARNING] Custom Warning Title
122122+> This warning has a custom title instead of the default "Warning"
123123+```
124124+125125+### Implementation Details
126126+127127+Admonitions are:
128128+129129+- Parsed during markdown preprocessing
130130+- Converted to internal AST representation
131131+- Rendered with themed colors from the active color scheme
132132+- Displayed with Unicode icons (ⓘ, ⚠, ✓, etc.)
133133+- Support nested markdown content (paragraphs, lists, code, etc.)
···11+---
22+theme: default
33+author: Learn Markdown
44+---
55+66+# Markdown Basics
77+88+A quick reference for Markdown syntax
99+1010+---
1111+1212+## Headings
1313+1414+Markdown supports multiple heading styles:
1515+1616+```markdown
1717+# This is an h1
1818+## This is an h2
1919+### This is an h3
2020+#### This is an h4
2121+##### This is an h5
2222+###### This is an h6
2323+```
2424+2525+Alternative syntax for h1 and h2:
2626+2727+```markdown
2828+This is an h1
2929+=============
3030+3131+This is an h2
3232+-------------
3333+```
3434+3535+---
3636+3737+## Text Formatting
3838+3939+**Bold text:**
4040+4141+```markdown
4242+**This text is in bold.**
4343+__And so is this text.__
4444+```
4545+4646+*Italic text:*
4747+4848+```markdown
4949+*This text is in italics.*
5050+_And so is this text._
5151+```
5252+5353+Combined:
5454+5555+```markdown
5656+***This text is in both.***
5757+**_As is this!_**
5858+*__And this!__*
5959+```
6060+6161+Strikethrough:
6262+6363+```markdown
6464+~~This text is rendered with strikethrough.~~
6565+```
6666+6767+---
6868+6969+## Paragraphs
7070+7171+Paragraphs are separated by blank lines:
7272+7373+```markdown
7474+This is a paragraph. I'm typing in a paragraph.
7575+7676+Now I'm in paragraph 2.
7777+I'm still in paragraph 2 too!
7878+7979+I'm in paragraph three!
8080+```
8181+8282+Line breaks require two spaces at the end or `<br />`:
8383+8484+```markdown
8585+I end with two spaces (highlight to see them).
8686+There's a <br /> above me!
8787+```
8888+8989+---
9090+9191+## Block Quotes
9292+9393+Use `>` to create block quotes:
9494+9595+```markdown
9696+> This is a block quote. You can either
9797+> manually wrap your lines and put a `>`
9898+> before every line or you can let your
9999+> lines get really long and wrap on their own.
100100+```
101101+102102+Nested quotes:
103103+104104+```markdown
105105+> You can also use more than one level
106106+>> of indentation?
107107+> How neat is that?
108108+```
109109+110110+---
111111+112112+## Lists
113113+114114+**Unordered lists** use `*`, `+`, or `-`:
115115+116116+```markdown
117117+* Item
118118+* Item
119119+* Another item
120120+121121+- Item
122122+- Item
123123+- One last item
124124+```
125125+126126+**Ordered lists** use numbers:
127127+128128+```markdown
129129+1. Item one
130130+2. Item two
131131+3. Item three
132132+```
133133+134134+Nested lists:
135135+136136+```markdown
137137+1. Item one
138138+2. Item two
139139+3. Item three
140140+ * Sub-item
141141+ * Sub-item
142142+4. Item four
143143+```
144144+145145+---
146146+147147+## Task Lists
148148+149149+Create checkboxes with `[ ]` and `[x]`:
150150+151151+```markdown
152152+- [ ] First task to complete
153153+- [ ] Second task that needs done
154154+- [x] This task has been completed
155155+```
156156+157157+> [!NOTE]
158158+> Task lists are a GitHub-flavored Markdown extension
159159+160160+---
161161+162162+## Code
163163+164164+**Inline code** uses backticks:
165165+166166+```markdown
167167+John didn't even know what the `go_to()` function did!
168168+```
169169+170170+**Code blocks** use triple backticks or indentation:
171171+172172+````markdown
173173+```rust
174174+fn main() {
175175+ println!("Hello, world!");
176176+}
177177+```
178178+179179+ This is code
180180+ So is this
181181+````
182182+183183+---
184184+185185+## Horizontal Rules
186186+187187+Create horizontal rules with three or more:
188188+189189+```markdown
190190+***
191191+---
192192+- - -
193193+****************
194194+```
195195+196196+All render as:
197197+198198+***
199199+200200+___
201201+202202+- - -
203203+204204+---
205205+206206+## Links
207207+208208+**Inline links:**
209209+210210+```markdown
211211+[Click me!](http://test.com/)
212212+[Click me!](http://test.com/ "Link to Test.com")
213213+[Go to music](/music/)
214214+```
215215+216216+**Reference links:**
217217+218218+```markdown
219219+[Click this link][link1] for more info!
220220+[Also check out this link][foobar] if you want.
221221+222222+[link1]: http://test.com/ "Cool!"
223223+[foobar]: http://foobar.biz/ "Alright!"
224224+```
225225+226226+**Implicit reference:**
227227+228228+```markdown
229229+[This][] is a link.
230230+231231+[This]: http://thisisalink.com/
232232+```
233233+234234+---
235235+236236+## Internal Links
237237+238238+Link to headings using slugified IDs:
239239+240240+```markdown
241241+- [Heading](#heading)
242242+- [Another heading](#another-heading)
243243+- [Chapter](#chapter)
244244+ - [Subchapter <h3 />](#subchapter-h3-)
245245+```
246246+247247+> [!TIP]
248248+> Heading IDs are created by lowercasing and replacing spaces with hyphens
249249+250250+---
251251+252252+## Images
253253+254254+**Inline images:**
255255+256256+```markdown
257257+
258258+```
259259+260260+**Reference images:**
261261+262262+```markdown
263263+![This is the alt-attribute.][myimage]
264264+265265+[myimage]: relative/urls/cool/image.jpg "Optional title"
266266+```
267267+268268+> [!NOTE]
269269+> Images use the same syntax as links, but with a `!` prefix
270270+271271+---
272272+273273+## Automatic Links
274274+275275+URLs and email addresses can be auto-linked:
276276+277277+```markdown
278278+<http://testwebsite.com/>
279279+<foo@bar.com>
280280+```
281281+282282+These are equivalent to:
283283+284284+```markdown
285285+[http://testwebsite.com/](http://testwebsite.com/)
286286+[foo@bar.com](mailto:foo@bar.com)
287287+```
288288+289289+---
290290+291291+## Escaping
292292+293293+Use backslash to escape special characters:
294294+295295+```markdown
296296+I want to type *this* but not in italics:
297297+\*this text surrounded by asterisks\*
298298+```
299299+300300+Special characters you can escape:
301301+302302+```markdown
303303+\ backslash
304304+` backtick
305305+* asterisk
306306+_ underscore
307307+{} curly braces
308308+[] square brackets
309309+() parentheses
310310+# hash mark
311311++ plus sign
312312+- minus sign
313313+. dot
314314+! exclamation mark
315315+```
316316+317317+---
318318+319319+## HTML Elements
320320+321321+You can use HTML in Markdown:
322322+323323+```markdown
324324+Your computer crashed? Try sending a
325325+<kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>Del</kbd>
326326+```
327327+328328+> [!WARNING]
329329+> You cannot use Markdown syntax within HTML element contents
330330+331331+---
332332+333333+## Tables
334334+335335+Create tables with pipes and hyphens:
336336+337337+```markdown
338338+| Col1 | Col2 | Col3 |
339339+| :----------- | :------: | ------------: |
340340+| Left-aligned | Centered | Right-aligned |
341341+| blah | blah | blah |
342342+```
343343+344344+Compact syntax also works:
345345+346346+```markdown
347347+Col 1 | Col2 | Col3
348348+:-- | :-: | --:
349349+Ugh this is ugly | make it | stop
350350+```
351351+352352+Alignment is controlled by colons:
353353+354354+- `:--` = left-aligned
355355+- `:-:` = centered
356356+- `--:` = right-aligned
357357+358358+---
359359+360360+## Admonitions
361361+362362+> [!IMPORTANT]
363363+> Admonitions are NOT standard Markdown - they are an extension
364364+365365+Common admonition types:
366366+367367+```markdown
368368+> [!NOTE]
369369+> Useful information
370370+371371+> [!TIP]
372372+> Helpful advice
373373+374374+> [!IMPORTANT]
375375+> Critical information
376376+377377+> [!WARNING]
378378+> Proceed with caution
379379+380380+> [!CAUTION]
381381+> Potential risks ahead
382382+```
383383+384384+---
385385+386386+## Admonition Examples
387387+388388+> [!NOTE]
389389+> This is a note admonition with helpful context
390390+391391+> [!TIP]
392392+> Use Markdown for clear, readable documentation
393393+394394+> [!WARNING]
395395+> Not all Markdown processors support the same features
396396+397397+> [!IMPORTANT]
398398+> Always check your Markdown processor's documentation for supported features
399399+400400+---
401401+402402+## Comments
403403+404404+HTML comments work in Markdown:
405405+406406+```markdown
407407+<!-- This is a comment and won't be rendered -->
408408+```
409409+410410+Comments are useful for:
411411+412412+- Leaving notes for yourself or collaborators
413413+- Temporarily hiding content
414414+- Adding metadata that shouldn't display
415415+416416+---
417417+418418+## Summary
419419+420420+Markdown provides:
421421+422422+- **Simple syntax** for formatted text
423423+- **Readable source** that looks good even as plain text
424424+- **Portable format** supported by many tools
425425+- **Extensions** like tables, task lists, and admonitions
426426+427427+> [!SUCCESS]
428428+> You now know the basics of Markdown!
429429+430430+---
431431+432432+## Resources
433433+434434+**Learn more:**
435435+436436+- Markdown Guide (https://www.markdownguide.org/)
437437+- GitHub Flavored Markdown (https://github.github.com/gfm/)
438438+- CommonMark Spec (https://commonmark.org/)
439439+440440+**Practice:**
441441+442442+- Markdown Tutorial (https://www.markdowntutorial.com/)
443443+- Dillinger (https://dillinger.io/) - Online Markdown editor
444444+445445+---
446446+447447+## Thank You
448448+449449+Happy writing!
+9-2
examples/learn-rust.md
···6666mutable += 2;
6767```
68686969+> [!TIP]
7070+> Variables are immutable by default - use `mut` only when you need to change values
7171+6972---
70737174## Numbers
···405408// Now var2 can be used again
406409```
407410408408-**Key rule:** Either many immutable references OR one mutable reference.
411411+> [!WARNING]
412412+> Only ONE mutable reference OR many immutable references at a time
409413410414---
411415412416## Memory Safety
413417414414-Rust's borrow checker ensures:
418418+> [!IMPORTANT]
419419+> Rust's borrow checker ensures memory safety at compile time
420420+421421+Guarantees:
415422416423- No use after free
417424- No double free