lookatme Tutorial
██ General: Intro

lookatme is a terminal-based markdown presentation tool.

That means that you can:

────────────────────────────────────────────────────────────────────────
WriteRenderUse
────────────────────────────────────────────────────────────────────────
basic markdown slidesin the terminalanywhere with markdown support
────────────────────────────────────────────────────────────────────────

Press l, j, or right arrow to go to the next slide, or q to quit.

──
This is implemented in lookatme.pres.Presentation
──

lookatme Tutorial
██ General: Navigation And Keybindings

Slides are navigated using vim direction keys, arrow keys, and page up/page
down:

─────────────────────────────────────
key(s)action
─────────────────────────────────────
l j right arrowNext slide
h k left arrowPrevious slide
up / down arrowsScroll by line
page up / page downScroll by pages
rReload
─────────────────────────────────────

──
This is implemented in lookatme.tui.MarkdownTui.keypress
──

lookatme Tutorial
██ General: Scrolling

The scrollbar that kkjjj

Scroll with:

──────────────────────────────
amountup keydown key
──────────────────────────────
lineup arrowdown arrow
pagepage up page down
──────────────────────────────

Try scrolling through the numbers 0-49 below:

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

──
This is implemented in lookatme.widgets.scroll_monitor.ScrollMonitor
──

lookatme Tutorial
██ General: Title

Notice the title up top You can set it through

▓▓▓ 1. Smart Slide Splitting

The first, lowest-level heading becomes the title, the next highest level splits
the slides

# My title

## Slide 1

contents

▓▓▓ 2. Metadata

Set the title explicitly through YAML metadata at the start of the slide:

---
title: My title
---

# Slide 1

Slide contents

──
NOTE Metadata and styling will be covered later in this tutorial

NOTE h | k | delete | backspace | left arrow reverse the slides
──

──
This is implemented in lookatme.tui.MarkdownTui.update_title
──



lookatme Tutorial
██ General: Slides Splitting

Slides can be:

▓▓▓ Separated by horizontal rules (three or more *, -, or _)

slide 1
***
slide 2

▓▓▓ Split using existing headings ("smart" splitting)

# Slide 1

# Slide 2

▓▓▓ Rendered as a single slide with the --single or --one CLI parameter

lookatme --single content.md

──
This is implemented in lookatme.parser.Parser._scan_for_smart_split
──

lookatme Tutorial
██ General: Progressive Slides

Slides can be progressively displayed by inserting <!-- stop --> comments
anywhere in the markdown.

Markdown:

──
This will display first, and after you press advance ...<!-- stop -->

* this <!-- stop -->
  * displays <!-- stop -->

| and <!-- stop --> | then <!-- stop -->     |
|-------------------|------------------------|
| this              | and this               |

<!-- stop -->

and finally this!
──

Rendered:

This will display first, and after you press advance ...

lookatme Tutorial
██ General: Progressive Slides

Slides can be progressively displayed by inserting <!-- stop --> comments
anywhere in the markdown.

Markdown:

──
This will display first, and after you press advance ...<!-- stop -->

* this <!-- stop -->
  * displays <!-- stop -->

| and <!-- stop --> | then <!-- stop -->     |
|-------------------|------------------------|
| this              | and this               |

<!-- stop -->

and finally this!
──

Rendered:

This will display first, and after you press advance ...

this

lookatme Tutorial
██ General: Progressive Slides

Slides can be progressively displayed by inserting <!-- stop --> comments
anywhere in the markdown.

Markdown:

──
This will display first, and after you press advance ...<!-- stop -->

* this <!-- stop -->
  * displays <!-- stop -->

| and <!-- stop --> | then <!-- stop -->     |
|-------------------|------------------------|
| this              | and this               |

<!-- stop -->

and finally this!
──

Rendered:

This will display first, and after you press advance ...

this
displays

lookatme Tutorial
██ General: Progressive Slides

Slides can be progressively displayed by inserting <!-- stop --> comments
anywhere in the markdown.

Markdown:

──
This will display first, and after you press advance ...<!-- stop -->

* this <!-- stop -->
  * displays <!-- stop -->

| and <!-- stop --> | then <!-- stop -->     |
|-------------------|------------------------|
| this              | and this               |

<!-- stop -->

and finally this!
──

Rendered:

This will display first, and after you press advance ...

this
displays

────
and
────

lookatme Tutorial
██ General: Progressive Slides

Slides can be progressively displayed by inserting <!-- stop --> comments
anywhere in the markdown.

Markdown:

──
This will display first, and after you press advance ...<!-- stop -->

* this <!-- stop -->
  * displays <!-- stop -->

| and <!-- stop --> | then <!-- stop -->     |
|-------------------|------------------------|
| this              | and this               |

<!-- stop -->

and finally this!
──

Rendered:

This will display first, and after you press advance ...

this
displays

────────────
and then
────────────

lookatme Tutorial
██ General: Progressive Slides

Slides can be progressively displayed by inserting <!-- stop --> comments
anywhere in the markdown.

Markdown:

──
This will display first, and after you press advance ...<!-- stop -->

* this <!-- stop -->
  * displays <!-- stop -->

| and <!-- stop --> | then <!-- stop -->     |
|-------------------|------------------------|
| this              | and this               |

<!-- stop -->

and finally this!
──

Rendered:

This will display first, and after you press advance ...

this
displays

───────────────
and then
───────────────
thisand this
───────────────


lookatme Tutorial
██ General: Progressive Slides

Slides can be progressively displayed by inserting <!-- stop --> comments
anywhere in the markdown.

Markdown:

──
This will display first, and after you press advance ...<!-- stop -->

* this <!-- stop -->
  * displays <!-- stop -->

| and <!-- stop --> | then <!-- stop -->     |
|-------------------|------------------------|
| this              | and this               |

<!-- stop -->

and finally this!
──

Rendered:

This will display first, and after you press advance ...

this
displays

───────────────
and then
───────────────
thisand this
───────────────

and finally this!

──
This is implemented in lookatme.parser.Parser._create_slides
──



lookatme Tutorial
██ General: Metadata

The YAML metadata that can be prefixed in slides includes these top level
fields:

---
title"title"
date"date"
author"author"
extensions:
  - extension 1
  # .. list of extensions
styles:
  # .. nested style fields ..
---

──
NOTE The styles field will be explained in detail with each markdown
element.
──

──
This is implemented in lookatme.parser.Parser.parse_meta
──



lookatme Tutorial
██ General: Markdown Supported Features

Lookatme supports most markdown features.

───────────────────────────────────────────────────────
SupportedNot (yet) Supported
───────────────────────────────────────────────────────
TablesFootnotes
Headings*Images
Paragraphs
Block quotes
Ordered lists
Unordered lists
Code blocks & syntax highlighting
Inline code spans
Double emphasis
Single Emphasis
Strikethrough
Inline HTML
Links
───────────────────────────────────────────────────────

*Images may be supported through extensions

──
This is implemented in lookatme.tui.SlideRenderer._render_tokens
──

lookatme Tutorial
██ General: Tutorial

Lookatme has a built-in tutorial feature that can be used for reference.

To launch lookatme's tutorial slides, run lookatme with the --tutorial argument:

lookatme --tutorial

▓▓▓ Specific Tutorials

Tutorials each have individual names and are organized into groups. You can pass
comma-separated values of strings that ~match group or tutorial names to only
run those tutorial slides:

# only run the general slide group, and the list-related tutorials
lookatme --tutorial general,list

# only run the table tutorial slides
lookatme --tutorial table

▓▓▓ Seeing What's Available

If you pass the help value to --tutorial, lookatme me will list all groups
defined and all tutorial names within those groups. Currently this is the output
of lookatme --tutorial help. Notice that tutorial names are nested under the
group names:

Help for 'lookatme --tutorial'

Specific tutorials can be run with a comma-separated list of group or
tutorial names. Below are the groups and tutorial names currently defined.

  general
    intro
    Navigation and Keybindings
    scrolling
    title
    slides splitting
    progressive slides
    metadata
    markdown supported features
    tutorial

  markdown inline
    emphasis
    strong emphasis
    strikethrough
    links
    images
    inline code
    html tags
    html tag `<u>`
    html tag `<i>`
    html tag `<b>`
    html tag `<em>`
    html tag `<blink>`
    html tag `<br>`
    html tag `<div>`
    html tag `<ol>`
    html tag `<ul>`
    html tag `<li>`

  markdown block
    paragraph
    lists
    unordered lists
    ordered lists
    headings
    block quote
    code blocks
    code blocks - extra attributes
    tables

  output
    Output Formats

Substring matching is used to identify tutorials and groups. All matching
tutorials and groups are then run.

Examples:
    lookatme --tutorial
    lookatme --tutorial link,table
    lookatme --tutorial general,list

──
This is implemented in lookatme.tutorial.get_tutors
──

lookatme Tutorial
██ Markdown Block: Paragraph

Paragraphs in markdown are simply text with a full empty line between them:

Markdown:

──
paragraph 1

paragraph 2
──

Rendered:

paragraph 1

paragraph 2

▓▓▓ Style

Paragraphs cannot be styled in lookatme.

──
This is implemented in lookatme.render.markdown_block.render_paragraph_open
──



lookatme Tutorial
██ Markdown Block: Lists

Lists can either be ordered or unordered. You can nest lists by indenting child
lists by four spaces.

Other markdown elements can also be nested in lists.

Markdown:

──
1. item
   > quote
1. item
    * item
        1. item
           a paragraph

           More text here blah blah blah
        1. A new item
    * item
       ```python
       print("hello")
       ```
1. item
──

Rendered:

1. item

──
quote
──
2. item
item
i. item a paragraph

More text here blah blah blah
ii. A new item
item

print("hello")
3. item

──
This is implemented in lookatme.render.markdown_block.render_list_item_open
──



lookatme Tutorial
██ Markdown Block: Unordered Lists

Unordered lists are lines of text starting with either *, +, or -.

Markdown:

──
* item
* item
    * item
        * item
        * item
    * item
* item
──

Rendered:

item
item
item
item
item
item
item

▓▓▓ Style

Unordered lists can be styled with slide metadata. This is the default style:

---
styles:
  bullets:
    '1':
      bg''
      fgbold
      text"•"
    '2':
      bg''
      fgbold
      text"‣"
    '3':
      bg''
      fgbold
      text"◦"
    '4':
      bg''
      fgbold
      text"•"
    '5':
      bg''
      fgbold
      text"‣"
    '6':
      bg''
      fgbold
      text"◦"
    default:
      bg''
      fgbold
      text"•"
---

──
This is implemented in lookatme.render.markdown_block.render_list_item_open
──



lookatme Tutorial
██ Markdown Block: Ordered Lists

Ordered lists are lines of text prefixed by a N.  or N), where N is any number.

Markdown:

──
1. item
1. item
    1. item
        5. item
        6. item
    1. item
1. item
──

Rendered:

1. item
2. item
a. item 5. item 6. item
b. item
3. item

▓▓▓ Style

Ordered lists can be styled with slide metadata. This is the default style:

---
styles:
  numbering:
    '1':
      bg''
      fgbold
      textnumeric
    '2':
      bg''
      fgbold
      textalpha
    '3':
      bg''
      fgbold
      textroman
    '4':
      bg''
      fgbold
      textnumeric
    '5':
      bg''
      fgbold
      textalpha
    '6':
      bg''
      fgbold
      textroman
    default:
      bg''
      fgbold
      textnumeric
---

──
This is implemented in lookatme.render.markdown_block.render_list_item_open
──



lookatme Tutorial
██ Markdown Block: Headings

Headings are specified by prefixing text with # characters:

Markdown:

──
## Heading Level 2
### Heading Level 3
#### Heading Level 4
##### Heading Level 5
──

Rendered:

▓▓▓ Heading Level 2

▒▒▒▒ Heading Level 3

░░░░░ Heading Level 4

░░░░░ Heading Level 5

▓▓▓ Style

Headings can be styled with slide metadata. This is the default style:

---
styles:
  headings:
    '1':
      bgdefault
      fg'#9fc,bold'
      prefix"██ "
      suffix''
    '2':
      bgdefault
      fg'#1cc,bold'
      prefix"▓▓▓ "
      suffix''
    '3':
      bgdefault
      fg'#29c,bold'
      prefix"▒▒▒▒ "
      suffix''
    '4':
      bgdefault
      fg'#559,bold'
      prefix"░░░░░ "
      suffix''
    default:
      bgdefault
      fg'#346,bold'
      prefix"░░░░░ "
      suffix''
---

──
This is implemented in lookatme.render.markdown_block.render_heading_open
──



lookatme Tutorial
██ Markdown Block: Block Quote

Block quotes are lines of markdown prefixed with . Block quotes can contain
text, other markdown, and can even be nested!

Markdown:

──
Some quoted text
> > > # Heading
> > >
> > *hello world*
> >
> ~~apples~~
>
space chips
──

Rendered:

──
Some quoted text

──
──
──
██ Heading
──

hello world
──

apples
──

space chips
──

▓▓▓ Style

Block quotes can be styled with slide metadata. This is the default style:

---
styles:
  quote:
    border:
      b_line:
        bg''
        fg''
        text' '
      bl_corner:
        bg''
        fg'#505050'
        text"╰── "
      br_corner:
        bg''
        fg''
        text' '
      l_line:
        bg''
        fg'#505050'
        text"│"
      r_line:
        bg''
        fg''
        text' '
      t_line:
        bg''
        fg''
        text' '
      tl_corner:
        bg''
        fg'#505050'
        text"╭── "
      tr_corner:
        bg''
        fg''
        text' '
    style:
      bgdefault
      fgitalics,#aaa
---

──
This is implemented in lookatme.render.markdown_block.render_blockquote_open
──





lookatme Tutorial
██ Markdown Block: Code Blocks

Multi-line code blocks are either surrounded by "fences" (three in a row of
either \`` or ~`), or are lines of text indented at least four spaces.

Fenced codeblocks let you specify the language of the code. (See the next slide
about additional attributes)

Markdown:

──
```python
def hello_world():
    print("Hello, world!\n")
```
──

Rendered:

def hello_world():
    print("Hello, world!\n")

▓▓▓ Style

The syntax highlighting style used to highlight the code block can be specified
in the markdown metadata, as well as an override for the background color, and
the language to use for inline code.

---
styles:
  code:
    bg_override''
    inline_langtext
    stylemonokai
---

Valid values for the style field come directly from pygments. In the version of
pygments being used as you read this, the list of valid values is:

default emacs friendly friendly_grayscale colorful autumn murphy manni material
monokai perldoc pastie borland trac native fruity bw vim vs tango rrt xcode igor
paraiso-light paraiso-dark lovelace algol algol_nu arduino rainbow_dash abap
solarized-dark solarized-light sas staroffice stata stata-light stata-dark
inkpot zenburn gruvbox-dark gruvbox-light dracula one-dark lilypond nord
nord-darker github-dark

──
This is implemented in lookatme.render.markdown_block.render_fence
──



lookatme Tutorial
██ Markdown Block: Code Blocks - Extra Attributes

Code blocks can also have additional attributes defined by using curly braces.
Values within the curly brace are either css class names or ids (start with a .
or #), or have the form key=value.

The attributes below have specific meanings - all other attributes will be
ignored:

.language - use language as the syntax highlighting language
.numberLines - add line numbers
startFrom=X - start the line numbers from the line X
hllines=ranges - highlight the line ranges. This should be a comma separated
list of either single line numbers, or a line range (e.g. 4-5).

Markdown:

──
```{.python .numberLines hllines=4-5,7 startFrom="3"}
def hello_world():
    print("Hello, world!\n")
    print("Hello, world!\n")
    print("Hello, world!\n")
    print("Hello, world!\n")
    print("Hello, world!\n")
```
──

Rendered:

3 def hello_world():
4     print("Hello, world!\n")
5     print("Hello, world!\n")
6     print("Hello, world!\n")
7     print("Hello, world!\n")
8     print("Hello, world!\n")

──
This is implemented in lookatme.render.markdown_block.render_fence
──



lookatme Tutorial
██ Markdown Block: Tables

Rows in tables are defined by separating columns with | characters. The header
row is the first row defined and is separated by hypens (---).

Alignment within a column can be set by adding a colon, :, to the left, right,
or both ends of a header's separator.

Markdown:

──
| left align | centered | right align |
|------------|:--------:|------------:|
| 1          |     a    |           A |
| 11         |    aa    |          AA |
| 111        |    aaa   |         AAA |
| 1111       |   aaaaa  |        AAAA |
──

Rendered:

───────────────────────────────────
left aligncenteredright align
───────────────────────────────────
1aA
11aaAA
111aaaAAA
1111aaaaa AAAA
───────────────────────────────────

▓▓▓ Style

Tables can be styled with slide metadata. This is the default style:

---
styles:
  table:
    bg''
    border:
      b_line:
        bg''
        fg'#505050'
        text"─"
      bl_corner:
        bg''
        fg'#505050'
        text"└"
      br_corner:
        bg''
        fg'#505050'
        text"┘"
      l_line:
        bg''
        fg'#505050'
        text"│"
      r_line:
        bg''
        fg'#505050'
        text"│"
      t_line:
        bg''
        fg'#505050'
        text"─"
      tl_corner:
        bg''
        fg'#505050'
        text"┌"
      tr_corner:
        bg''
        fg'#505050'
        text"┐"
    column_spacing3
    even_rows:
      bg''
      fg''
    fg''
    header:
      bg'#101010'
      fg''
    header_divider:
      bg''
      fgbold
      text"─"
    odd_rows:
      bg'#0c0c0c'
      fg''
---

──
This is implemented in lookatme.render.markdown_block.render_table_open
──



lookatme Tutorial
██ Markdown Inline: Emphasis

Markdown:

──
The donut jumped *under* the crane.
──

Rendered:

The donut jumped under the crane.

▓▓▓ Style

Emphasis can be styled with slide metadata. This is the default style:

---
styles:
  emphasis:
    bgdefault
    fgitalics
---

──
This is implemented in lookatme.render.markdown_inline.render_em_open
──



lookatme Tutorial
██ Markdown Inline: Strong Emphasis

Markdown:

──
They jumped **over** the wagon
──

Rendered:

They jumped over the wagon

▓▓▓ Style

Strong emphasis can be styled with slide metadata. This is the default style:

---
styles:
  strong_emphasis:
    bgdefault
    fgbold
---

──
This is implemented in lookatme.render.markdown_inline.render_strong_open
──



lookatme Tutorial
██ Markdown Inline: Strikethrough

Markdown:

──
I lost my ~~mind~~ keyboard and couldn't type anymore.
──

Rendered:

I lost my mind keyboard and couldn't type anymore.

▓▓▓ Style

Strikethrough can be styled with slide metadata. This is the default style:

---
styles:
  strikethrough:
    bgdefault
    fgstrikethrough
---

──
This is implemented in lookatme.render.markdown_inline.render_s_open
──



lookatme Tutorial
██ Markdown Inline: Links

Links are inline elements in markdown and have the form [text](link)

Markdown:

──
[lookatme on GitHub](https://github.com/d0c-s4vage/lookatme)
──

Rendered:

lookatme on GitHub

▓▓▓ Style

Links can be styled with slide metadata. This is the default style:

---
styles:
  link:
    bgdefault
    fg'#33c,underline'
---

──
This is implemented in lookatme.render.markdown_inline.render_link_open
──



lookatme Tutorial
██ Markdown Inline: Images

Vanilla lookatme renders images as links. Some extensions provide ways to render
images in the terminal.

Consider exploring:

lookatme.contrib.image_ueberzug
This works on Linux only, with X11, and must be separately installed

Markdown:

──
![image alt](https://image/url)
──

Rendered:

image alt

──
This is implemented in lookatme.render.markdown_inline.render_image
──



lookatme Tutorial
██ Markdown Inline: Inline Code

Markdown:

──
The `OddOne` class accepts `Table` instances, converts them to raw pointers,
forces garbage collection to run.
──

Rendered:

The OddOne class accepts Table instances, converts them to raw pointers, forces
garbage collection to run.

▓▓▓ Style

The default language used for syntax highlighting of inline code blocks can be
controlled through the markdown metadata. See the styles.code.inline_lang
option:

---
styles:
  code:
    bg_override''
    inline_langtext
    stylemonokai
---

──
This is implemented in lookatme.render.markdown_inline.render_code_inline
──



lookatme Tutorial
██ Markdown Inline: Html Tags

Many markdown renderers support a limited set of inline html. So does lookatme!

Lookatme current supports these tags:

─────────────────────────────────────────────────────────────────
tagnote
─────────────────────────────────────────────────────────────────
<div>Wrap block elements, set background color, etc.
<u>Underline text
<i>Italicize text
<b>Bold text
<em>"em" for emphasis - in lookatme this inverts the colors
<blink>Make the text blink (not all terminals support this)
<br>Force a newline
<ul>Begin an unordered list
<ol>Begin an ordered list
<li>List item element
<???>Treated as an inline element
─────────────────────────────────────────────────────────────────

Note that all unrecognized tags (including <span>) will be treated as inline
elements. Style attributes will work, but a new block element will not be
created as is done with <div>s.

Each tag supports the style attribute features below:

color - foreground color of the text (#RRGGBB)
background-color - background color of the text (#RRGGBB)
text-decoration: underline - underline the text
font-weight: bold - bold the text
font-style: italic - italicize the text

See the following slides for specifics and examples of each html element.

──
This is implemented in lookatme.render.markdown_inline.render_html_inline
──

lookatme Tutorial
██ Markdown Inline: Html Tag <U>

The <u> tag can be used to underline all elements within it:

Markdown:

──
I <u>made</u> too

<u>
* much
    * pasta
</u>
──

Rendered:

I made too

much
pasta

──
This is implemented in
lookatme.render.markdown_inline.render_html_tag_u_open
──



lookatme Tutorial
██ Markdown Inline: Html Tag <I>

The <i> tag can be used to italicize all elements within it:

Markdown:

──
<i>but</i> I was so

<i>
| hungry | there's none |
|--------|--------------|
| left   | for you      |
</i>
──

Rendered:

but I was so

─────────────────────
hungrythere's none
─────────────────────
leftfor you
─────────────────────

──
This is implemented in
lookatme.render.markdown_inline.render_html_tag_i_open
──



lookatme Tutorial
██ Markdown Inline: Html Tag <B>

The <b> tag can be used to bold all elements within it:

Markdown:

──
so I made m<b>ore lasagna</b>

<b>
just for fun
</b>
──

Rendered:

so I made more lasagna

──
just for fun
──

──
This is implemented in
lookatme.render.markdown_inline.render_html_tag_b_open
──





lookatme Tutorial
██ Markdown Inline: Html Tag <Em>

The <em> tag can be used to emphasize all elements within it. In lookatme this
results in inverted colors

Markdown:

──
I j<em>us</em>t <em>n</em>E<em>E</em>d butter<em>!</em>
──

Rendered:

I just nEEd butter!

──
This is implemented in
lookatme.render.markdown_inline.render_html_tag_em_open
──



lookatme Tutorial
██ Markdown Inline: Html Tag <Blink>

The <blink> tag causes all contents to blink. Not all terminals support this.

Markdown:

──
Can you <blink>hear me</blink> now?

<blink>
YES.
We can hear you.
</blink>
──

Rendered:

Can you hear me now?

──
YES. We can hear you.
──

──
This is implemented in
lookatme.render.markdown_inline.render_html_tag_blink_open
──





lookatme Tutorial
██ Markdown Inline: Html Tag <Br>

The <br> inserts a newline wherever it's at. This can be especially useful in
tables!

Markdown:

──
Newline inserted<br/>here.

| table                     | of data                   |
|---------------------------|---------------------------|
| line1<br/>line2<br/>line3 | single item               |
| single item               | line1<br/>line2<br/>line3 |
──

Rendered:

Newline inserted
here.

─────────────────────────
tableof data
─────────────────────────
line1single item
line2
line3
single itemline1
line2
line3
─────────────────────────

──
This is implemented in
lookatme.render.markdown_inline.render_html_tag_br_open
──



lookatme Tutorial
██ Markdown Inline: Html Tag <Div>

The <div> tag creates a new visual block. <div> tags are also the best option
for setting the background color of entire elements:

Markdown:

──
<div>text1</div><div>text2</div>

<div style="background-color: #808020">
| table       | of data     |
|-------------|-------------|
| data        | single item |
| single item | data        |
</div>
──

Rendered:

text1

text2

─────────────────────────
tableof data
─────────────────────────
datasingle item
single itemdata
─────────────────────────

──
This is implemented in
lookatme.render.markdown_inline.render_html_tag_div_open
──



lookatme Tutorial
██ Markdown Inline: Html Tag <Ol>

The <ol> tag creates a new ordered list. Each child <li> element will be turned
into an ordered item in the list.

Using <ol> is especially handy if you want to embed a list into a table cell!

Markdown:

──
<ol><li>item1</li><li>item2</li></ol>

| table                                         | with list  |
|-----------------------------------------------|------------|
| <ol><li>item in table</li><li>item2</li></ol> | other data |
| cell                                          | data       |
──

Rendered:

1. item1
2. item2

─────────────────────────────
tablewith list
─────────────────────────────
1. item in tableother data
2. item2
celldata
─────────────────────────────

──
This is implemented in
lookatme.render.markdown_inline.render_html_tag_ol_open
──



lookatme Tutorial
██ Markdown Inline: Html Tag <Ul>

The <ul> tag creates a new unordered list. Each child <li> element will be
turned into an item in the list.

Using <ul> is especially handy if you want to embed a list into a table cell!

Markdown:

──
<ul><li>item1</li><li>item2</li></ul>

| table                                         | with list  |
|-----------------------------------------------|------------|
| <ul><li>item in table</li><li>item2</li></ul> | other data |
| cell                                          | data       |
──

Rendered:

item1
item2

────────────────────────────
tablewith list
────────────────────────────
item in tableother data
item2
celldata
────────────────────────────

──
This is implemented in
lookatme.render.markdown_inline.render_html_tag_ul_open
──



lookatme Tutorial
██ Markdown Inline: Html Tag <Li>

The <li> tag creates a single list element for both ordered (<ol>) and unordered
(<ul>) lists. When not used as a child of an <ol> or <ul> tag, the list item
will be assumed to be an unordered list item.

Markdown:

──
<ol><li>item1</li><li>item2</li></ol>

Or without the `<ol>`:

<li>test</li><li>test2</li>

| table                                | with list  |
|--------------------------------------|------------|
| <li>item in table</li><li>item2</li> | other data |
| cell                                 | data       |
──

Rendered:

1. item1
2. item2

Or without the <ol>:

test
test2

────────────────────────────
tablewith list
────────────────────────────
item in tableother data
item2
celldata
────────────────────────────

──
This is implemented in
lookatme.render.markdown_inline.render_html_tag_li_open
──



lookatme Tutorial
██ Output: Output Formats

Lookatme supports saving markdown slides into other output formats with the CLI
options:

--format - the format to output the slides in
--output - the path to output to
--opt FORMAT.OPT_NAME=OPT_VAL - set options for output formats

For example, the tutorial slides can be rendered with a width of 80 columns into
an HTML format with the command below:

lookatme --tutorial --output /tmp/html --format html --opt html.cols=80

Current supported output formats are: gif, html, html_raw

All available output options can be viewed with the command below:

lookatme --opt help

##### Output

Available options for output formats:

    html.cols = 100
    html.rows = 30
    html.title_delim = ':'
    html.render_images = True

    html_raw.cols = 100
    html_raw.rows = 30
    html_raw.keys = 'show-all'
    html_raw.render_images = False
    html_raw.delay_default = 1000
    html_raw.delay_scroll = 100

    gif.cols = 100
    gif.rows = 30
    gif.keys = 'show-all'
    gif.render_images = False
    gif.delay_default = 1000
    gif.delay_scroll = 100

──
This is implemented in lookatme.output.output_pres
──

lookatme Tutorial
██ End