veged/shmakowiki — pull request #21 by diunko (2012-10-10 05:18:41+00:00)
Title: Two cases of listItem content

With a bit of thought, how should blocks inside lists behave?

Let two simple cases of listItem content to exist:

1. When there's nothing more in listItem except inline content:
```
* something
```
listItem translates to a simple `
something
`.

2. When there's one or more blocks following first listItem inline content, like this:
```
* item1
%%hljs
something();
%%
```
or this:
```
* item1

item1 para2

item1 para3
%%hljs
something();
%%
* item2
* item3
```
First inline content gets wrapped into `para`, forming first block, and with all other blocks forms a list of children of listItem:
```
...
["ulistItem",
[["para",["item1"]],
["para",["item1 para2"]],
["para",["item1 para3"]],
["extension","hljs","something();",""]]]
...
```
so the second case is effectively a list of block-level elements inside listItem.