(anonymous guest) (logged out)

Copyright (C) by the contributors. Some rights reserved, license BY-SA.

Sponsored by the Wiki Symposium and the Nuveon GmbH.

 

Add new attachment

Only authorized users are allowed to upload new attachments.

This page (revision-17) was last changed on 26-Sep-2007 12:33 by ChuckSmith  

This page was created on 28-Feb-2007 18:02 by AxelRauschmayer

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Difference between version and

At line 51 changed one line
== Repeated asterisk with "smart" disambiguation ==
== Repeated asterisk, with "smart" disambiguation ==
At line 53 changed one line
A list is marked with a single asterisk {{{*}}} or hash {{{#}}} on the beginning of a line, followed with any other character and optionally preceded with any number of spaces or tabs. Subsequent list items are marked with any combination of asterisks and hashes on the beginning of a line, optionally preceded by any number of spaces or tabs. The last character of the combination denotes the kind of list: asterisk means bullet lists while hash means numbered list. The length of the combination defines the nesting level of particular list item -- the more characters, the more nested the list is. If the combination is too long for the number of lists already introduced, the maximum possible nesting level is assumed. The list ends as soon as there is a line that doesn't start with a combination of asterisks and hyphens.
A list is marked with a single asterisk {{{*}}} or hash {{{#}}} on the beginning of a line, followed with any other character and optionally preceded with any number of spaces or tabs. Subsequent list items are marked with any combination of asterisks and hashes on the beginning of a line, optionally preceded by any number of spaces or tabs. The last character of the combination denotes the kind of list: asterisk means bullet lists while hash means numbered list. The length of the combination defines the nesting level of particular list item -- the more characters, the more nested the list is. If the combination is too long for the number of lists already introduced, the maximum possible nesting level is assumed. If the type of list item (bullet/numbered) doesn't match the type of list on its level, a new nesting level is created for the item.
The list ends as soon as there is a line that doesn't start with a combination of asterisks and hyphens.
At line 61 changed one line
* The second bullet list item,
* The second bullet list item,
At line 63 changed 5 lines
**The second item of the numbered sublist,
**** A first item of bullet subsublist
*** Second item of the subsublist
# Third item of the list
#* A bullet sublist
*#The second item of the numbered sublist,
****A first item of bullet subsublist
***Second item of the subsublist
**# A firts item of a numbered subsubsubllist
#First item of a numbered sublist
#*A bullet subsublist
At line 77 added one line
* Even wikis that use indentation for marking list nesting can adapt this technique (in addition to their native markup)
At line 79 added one line
* Moving the list items around by copy-pasting (or cut-pasting) is pretty straightforward, even between different lists or pages -- except for the first list item, removal of which can cause the list to stop being parsed as list.
At line 79 changed 2 lines
* The research on WikiPedia indicates that in over 50% of cases users will not format the list for readability if only the rendering is correct
* The markup is context-dependent -- user can't tell if it's bold text or list by just looking at a single line
* The research on WikiPedia indicates that in over 50% of cases users will not format the list for readability if only the rendering is correct -- thus the lists become unintelligible easily
* The markup is context-dependent -- user cannot tell if it's bold text or list by just looking at a single line
* Allowing line breaks in list items leads to some additional ambiguities and potential spots for user mistakes
* There are additional cases of ambiguity if the underlying engine uses on MixedMode the hash and asterisk characters for other markup -- like single asterisks for emphasizing single words
* In MixedMode, engines are very likely to have a much simpler algorithm for recognizing lists, that must be dropped in order to implement Creole
== Repeated asterisk, simple ==
Any line that starts with optional spaces or tabs followed by a combination of asterisks and hashes is considered a list item. The last character in the combination of the first item in given (sub)list denotes the kind of list. The number of characters in the combination denotes nesting -- if it's too high for existing lists, the maximum possible nesting is assumed.
=== Example ===
{{{
Some text that is not a part of the list.
**The first bullet list item,
* The second bullet list item,
##The first numbered sublist item,
*#The second item of the numbered sublist,
****A first item of bullet subsublist
***Second item of the subsublist
**# A third item of a bullet subsubllist
#Third item of the bullet list
#*A bullet sublist
This is not a part of the list anymore.
}}}
=== Advantages ===
* Uses the character that is most popular for bullet lists among existing wiki engines
* Items can be freely moved around.
* The nesting rules are simple to explain and implement, as there is no creation of new nesting level when the list kinds don't match.
* Whitespace is not meaningful, which helps implementing MixedMode in wikis that use indentation
* No "wrong" or "erroneus" input
* Implementing multi-line list items doesn't introduce additional conflicts
* The basic, first-level lists work as intended in most wikis
* The markup is not context-dependent, every line stands on its own
=== Disadvantages ===
* Conflicts with any markup that uses asterisks or hashes and can appear at the beginning of a line -- in particular, with Creole's bold markup
* To nest bullet list inside numbered list (or vice versa), you need to explicitly make one of them of higher nesting level
* Readability of the code is entirely up to the user, research shows that users don't make the code readable if they don't have to.
* Items with the same number of asterisks in front can end up in different levels of nesting.
== Repeated asterisk, with space ==
Any line that starts with optional spaces or tabs, followed by a combination of asterisks and hashes, followed by at least one space or tab is considered a list item. The kind of list is determined by the last character in the combination of the first item in the (sub)list. The nesting level is determined by the number of characters in the combination. If this number is too high for existing lists, the maximum nesting level possible is assumed.
=== Example ===
{{{
Some text that is not a part of the list.
** The first bullet list item,
* The second bullet list item,
## The first numbered sublist item,
*# The second item of the numbered sublist,
**** A first item of bullet subsublist
*** Second item of the subsublist
**# A third item of a bullet subsubllist
# Third item of the bullet list
#* A bullet sublist
This is not a part of the list anymore.
}}}
=== Advantages ===
* Uses the character that is most popular for bullet lists among existing wiki engines
* Items can be freely moved around.
* The nesting rules are simple to explain and implement, as there is no creation of new nesting level when the list kinds don't match.
* Indenting is not meaningful, which helps implementing MixedMode in wikis that use indentation
* No "wrong" or "erroneus" input
* Implementing multi-line list items doesn't introduce additional conflicts
* The basic, first-level lists work as intended in most wikis, except for when the users didn't put a space
* The markup is not context-dependent, every line stands on its own
* There are no conflicts with markups using asterisks or hashes, except for some very rare corner cases
=== Disadvantages ===
* To nest bullet list inside numbered list (or vice versa), you need to explicitly make one of them of higher nesting level
* Items with the same number of asterisks in front can end up in different levels of nesting.
* The indenting of list, which is arbitrary, may be misleading and impact readability
* Forces engines to use stricter rules for lists in their MixedMode
Version Date Modified Size Author Changes ... Change note
17 26-Sep-2007 12:33 19.356 kB ChuckSmith to previous restore
16 26-Sep-2007 02:24 19.394 kB 203.69.39.251 to previous | to last
15 07-Mar-2007 10:15 19.356 kB RadomirDopieralski to previous | to last added reference to BulletListOnWikipediaResearch
14 06-Mar-2007 14:48 19.219 kB RadomirDopieralski to previous | to last better descriptions for hyphen and asterisk
13 06-Mar-2007 13:26 18.702 kB RadomirDopieralski to previous | to last revert to bring back uncertanity
12 06-Mar-2007 10:33 18.754 kB ChuckSmith to previous | to last asterisk conflict
11 04-Mar-2007 10:51 18.702 kB RadomirDopieralski to previous | to last formatting
10 04-Mar-2007 10:18 18.757 kB RadomirDopieralski to previous | to last formatting
9 04-Mar-2007 10:10 18.695 kB RadomirDopieralski to previous | to last typos
8 04-Mar-2007 10:06 18.685 kB RadomirDopieralski to previous | to last reformatted the features
7 04-Mar-2007 09:46 18.178 kB RadomirDopieralski to previous | to last features of list markups
6 04-Mar-2007 00:55 18.017 kB RadomirDopieralski to previous | to last features of list markups
5 02-Mar-2007 13:11 9.66 kB RadomirDopieralski to previous | to last two more
4 28-Feb-2007 19:26 4.533 kB RadomirDopieralski to previous | to last added current markup
3 28-Feb-2007 18:26 2.415 kB AxelRauschmayer to previous | to last
2 28-Feb-2007 18:11 2.357 kB AxelRauschmayer to previous | to last
1 28-Feb-2007 18:02 0.194 kB AxelRauschmayer to last
« This page (revision-17) was last changed on 26-Sep-2007 12:33 by ChuckSmith