This document makes some tests with .md
lists to see how they render here on github
.
Some test renders are shown at the first comment below to compare gist/comment parsers.
- Lists seem to break on specific spacings for both types
- Lists seem to break differently on github comments and gists (still didn't test a full repo)
- Both lists seem to break when you use
-1 spaces
than what it needs to change levels - It could be that the sequential spacing on tests helps to break the parser (being tested)
- There is a range of spacings that can be used, as long as kept consistent
Ordered minimum increment size is 3
Unordered minimum increment size is 2
Ordered maximum increment size is 6
Unordered maximum increment size is 5
There are TEN maximum levels for both lists
(after that it stays at level 10)
The ordered lists can actually have all items with the index one as in "1."
.
This is very useful for us to change lists without having to bother with renumbering everything.
Rendering will number them correctly.
1. First Level
1. Second Level
1. Second Level
1. Third Level
1. Third Level
1. Fourth Level
1. Fifth Level
1. First Level
1. First Level
1. Second Level
1. Third Level
1. First Level
- First Level
- Second Level
- Second Level
- Third Level
- Third Level
- Fourth Level
- Fifth Level
- Fourth Level
- First Level
- First Level
- Second Level
- Third Level
- Second Level
- First Level
The unordered lists all start with a dash "-"
with preceding spaces to determine levels.
Rendering here seems to break when it is spaced whithin the sequence { 4, 9, 14, 19, 24, ... }
- First Level
- Second Level
- First Level
- Second Level
- Third Level
- Fourth Level
- Fifth Level
- Third Level
- Fourth Level
- Second Level
- Third Level
- Fourth Level
- Second Level
- First Level
- Second Level
- First Level
- First Level
- Second Level
- First Level
- Second Level
- Third Level
- Fourth Level
- Fifth Level
- Third Level
- Fourth Level
- Third Level
- Second Level
- Third Level
- Fourth Level
- Third Level
- Second Level
- Second Level
- First Level
- Second Level
- First Level
################################################################################################
## TESTS START HERE ##
################################################################################################
S='Space(s)' && i=0 ; while [ $i -le 30 ] ; do for j in $(seq 1 $i) ; do printf "%s" " " ; done ; printf "%s %s\n" "1." "$i $S" ; let i+=1 ; done
1. 0 Space(s)
1. 1 Space(s)
1. 2 Space(s)
1. 3 Space(s)
1. 4 Space(s)
1. 5 Space(s)
1. 6 Space(s)
1. 7 Space(s)
1. 8 Space(s)
1. 9 Space(s)
1. 10 Space(s)
1. 11 Space(s)
1. 12 Space(s)
1. 13 Space(s)
1. 14 Space(s)
1. 15 Space(s)
1. 16 Space(s)
1. 17 Space(s)
1. 18 Space(s)
1. 19 Space(s)
1. 20 Space(s)
1. 21 Space(s)
1. 22 Space(s)
1. 23 Space(s)
1. 24 Space(s)
1. 25 Space(s)
1. 26 Space(s)
1. 27 Space(s)
1. 28 Space(s)
1. 29 Space(s)
1. 30 Space(s)
- 0 Space(s)
- 1 Space(s)
- 2 Space(s)
- 3 Space(s)
1. 4 Space(s)
1. 5 Space(s)
- 6 Space(s)
- 7 Space(s)
- 8 Space(s)
- 9 Space(s)
1. 10 Space(s)
1. 11 Space(s)
- 12 Space(s)
- 13 Space(s)
- 14 Space(s)
- 15 Space(s)
1. 16 Space(s)
1. 17 Space(s)
- 18 Space(s)
- 19 Space(s)
- 20 Space(s)
- 21 Space(s)
1. 22 Space(s)
1. 23 Space(s)
- 24 Space(s)
- 25 Space(s)
- 26 Space(s)
- 27 Space(s)
1. 28 Space(s)
1. 29 Space(s)
- 30 Space(s)
Let's create a test with valid step increments.
S='Space(s)' && i=0 ; while [ $i -le 60 ] ; do for j in $(seq 1 $i) ; do printf "%s" " " ; done ; printf "%s %s\n" "1." "$i $S" ; let i+=5 ; done
1. 0 Space(s)
1. 5 Space(s)
1. 10 Space(s)
1. 15 Space(s)
1. 20 Space(s)
1. 25 Space(s)
1. 30 Space(s)
1. 35 Space(s)
1. 40 Space(s)
1. 45 Space(s)
1. 50 Space(s)
1. 55 Space(s)
1. 60 Space(s)
- 0 Space(s)
- 5 Space(s)
- 10 Space(s)
- 15 Space(s)
- 20 Space(s)
- 25 Space(s)
- 30 Space(s)
- 35 Space(s)
- 40 Space(s)
- 45 Space(s)
- 50 Space(s)
- 55 Space(s)
- 60 Space(s)
- 40 Space(s)
- 35 Space(s)
- 30 Space(s)
- 25 Space(s)
- 20 Space(s)
- 15 Space(s)
- 10 Space(s)
- 5 Space(s)
S='Space(s)' && i=0 ; while [ $i -le 30 ] ; do for j in $(seq 1 $i) ; do printf "%s" " " ; done ; printf "%s %s\n" "-" "$i $S" ; let i+=1 ; done
- 0 Space(s)
- 1 Space(s)
- 2 Space(s)
- 3 Space(s)
- 4 Space(s)
- 5 Space(s)
- 6 Space(s)
- 7 Space(s)
- 8 Space(s)
- 9 Space(s)
- 10 Space(s)
- 11 Space(s)
- 12 Space(s)
- 13 Space(s)
- 14 Space(s)
- 15 Space(s)
- 16 Space(s)
- 17 Space(s)
- 18 Space(s)
- 19 Space(s)
- 20 Space(s)
- 21 Space(s)
- 22 Space(s)
- 23 Space(s)
- 24 Space(s)
- 25 Space(s)
- 26 Space(s)
- 27 Space(s)
- 28 Space(s)
- 29 Space(s)
- 30 Space(s)
- 0 Space(s)
- 1 Space(s)
- 2 Space(s)
- 3 Space(s)
- 4 Space(s)
- 5 Space(s)
- 6 Space(s)
- 7 Space(s)
- 8 Space(s)
- 9 Space(s)
- 10 Space(s)
- 11 Space(s)
- 12 Space(s)
- 13 Space(s)
- 14 Space(s)
- 15 Space(s)
- 16 Space(s)
- 17 Space(s)
- 18 Space(s)
- 19 Space(s)
- 20 Space(s)
- 21 Space(s)
- 22 Space(s)
- 23 Space(s)
- 24 Space(s)
- 25 Space(s)
- 26 Space(s)
- 27 Space(s)
- 28 Space(s)
- 29 Space(s)
- 30 Space(s)
Let's create a test with valid step increments.
S='Space(s)' && i=0 ; while [ $i -le 60 ] ; do for j in $(seq 1 $i) ; do printf "%s" " " ; done ; printf "%s %s\n" "-" "$i $S" ; let i+=5 ; done
- 0 Space(s)
- 5 Space(s)
- 10 Space(s)
- 15 Space(s)
- 20 Space(s)
- 25 Space(s)
- 30 Space(s)
- 35 Space(s)
- 40 Space(s)
- 45 Space(s)
- 50 Space(s)
- 55 Space(s)
- 60 Space(s)
- 0 Space(s)
- 5 Space(s)
- 10 Space(s)
- 15 Space(s)
- 20 Space(s)
- 25 Space(s)
- 30 Space(s)
- 35 Space(s)
- 40 Space(s)
- 45 Space(s)
- 50 Space(s)
- 55 Space(s)
- 60 Space(s)
- 40 Space(s)
- 35 Space(s)
- 30 Space(s)
- 25 Space(s)
- 20 Space(s)
- 15 Space(s)
- 10 Space(s)
- 5 Space(s)
Let's force errors where we can
for i in 4 9 14 19 24 ; do for j in $(seq 1 $i) ; do printf "%s" " " ; done ; printf "%s %s\n" "-" "$i Space(s)" ; done
- 4 Space(s)
- 9 Space(s)
- 14 Space(s)
- 19 Space(s)
- 24 Space(s)
We will append to the Output start to see what happens
Some lists will become code comments, even though that is NOT intended
Again, behavior seems different on gists VS comments (they break differently)
I use normal code blocks as dividers to make sure the render engine can clear each list properly
No list below is supposed to be a code block
SHELL OUTPUT - NOTHING APPENDED
- 4 Space(s)
- 9 Space(s)
- 14 Space(s)
- 19 Space(s)
- 24 Space(s)
APPEND ITEM WITH ZERO SPACES
- Append with ZERO spaces
- 4 Space(s)
- 9 Space(s)
- 14 Space(s)
- 19 Space(s)
- 24 Space(s)
- 19 Space(s)
- 14 Space(s)
- 9 Space(s)
- 4 Space(s)
APPEND ITEM WITH ONE SPACE
- Append with ONE space
- 4 Space(s)
- 9 Space(s)
- 14 Space(s)
- 19 Space(s)
- 24 Space(s)
- 19 Space(s)
- 14 Space(s)
- 9 Space(s)
- 4 Space(s)
APPEND ITEM WITH TWO SPACES
- Append with TWO spaces
- 4 Space(s)
- 9 Space(s)
- 14 Space(s)
- 19 Space(s)
- 24 Space(s)
- 19 Space(s)
- 14 Space(s)
- 9 Space(s)
- 4 Space(s)
APPEND ITEM WITH THREE SPACES
- Append with THREE spaces - 4 Space(s) - 9 Space(s) - 14 Space(s) - 19 Space(s) - 24 Space(s)
APPEND ITEM WITH FOUR SPACES
- Append with FOUR spaces
- 4 Space(s)
- 9 Space(s)
- 14 Space(s)
- 19 Space(s)
- 24 Space(s)
APPEND ITEM WITH FIVE SPACES
- Append with FIVE spaces
- 4 Space(s)
- 9 Space(s)
- 14 Space(s)
- 19 Space(s)
- 24 Space(s)
DONE
Test renders in a comment
Ordered Basic example
Unordered Basic example
Ordered - Test big list
- 4 Space(s)
- 9 Space(s)
- 14 Space(s)
- 19 Space(s)
- 24 Space(s)
- 29 Space(s)
Ordered - Test valid steps
Unordered - Test big list
- 4 Space(s)
- 9 Space(s)
- 14 Space(s)
- 19 Space(s)
- 24 Space(s)
- 29 Space(s)
Unordered - Test valid steps