Skip to main content

Lists

Generates a list of inputs.

Accepted types of list are:

  • Ordered (1., 2., 3.)
  • Unordered (bullet points)
  • Todo (checkboxes/tickboxes)

The list must have at least one input, it can't be an empty list.

Ordered List

While each list item starts with "1.", this is valid markdown and the rendering engine manages the correct numbering

    
var list =
new MdList(MdListType.Ordered)
.AddItem(new MdPlainText("First Item")
.AddItem(new MdPlainText("Second Item"));

// Output:
// 1. First Item
// 1. Second Item

Unordered List

    
var list =
new MdList(MdListType.Unordered)
.AddItem(new MdPlainText("First Item")
.AddItem(new MdPlainText("Second Item"));

// Output:
// - First Item
// - Second Item

Todo's

    
var list =
new MdList(MdListType.Todo)
.AddItem(new MdPlainText("First Item")
.AddItem(new MdPlainText("Second Item"));

// Output:
// - [ ] First Item
// - [ ] Second Item

Hierarchical Lists

Hierarchical lists of supported. There is no enforced number of child levels supported.


var list =
new MdList(MdListType.Ordered)
.AddItem("Item 1")
.AddItem("Item 2")
.AddChildList(
new MdList(MdListType.Ordered)
.AddItem("Sub-Item 1")
.AddItem("Sub-Item 2"))
.AddItem("Item 3");

// Output:
// 1. Item 1
// 1. Item 2
// 1. Sub-Item 1
// 1. Sub-Item 2
// 1. Item 3

Different list types can be used at different levels


var list =
new MdList(MdListType.Ordered)
.AddItem("Item 1")
.AddItem("Item 2")
.AddChildList(
new MdList(MdListType.Unordered)
.AddItem("Child 1, Item 1")
.AddItem("Child 1, Item 2"))
.AddItem("Item 3")
.AddChildList(
new MdList(MdListType.Unordered)
.AddItem("Child 2, Item 1")
.AddChildList(
new MdList(MdListType.Ordered)
.AddItem("Grandchild 1, Item 1")
.AddItem("Grandchild 1, Item 2")
)
.AddItem("Child 2, Item 2")
.AddChildList(
new MdList(MdListType.Todo)
.AddItem("Grandchild 2, Item 1")
.AddItem("Grandchild 2, Item 2")
)
)
.AddItem("Item 4");

// Output:
// 1. Item 1
// 1. Item 2
// - Child 1, Item 1
// - Child 1, Item 2
// 1. Item 3
// - Child 2, Item 1
// 1. Grandchild 1, Item 1
// 1. Grandchild 1, Item 2
// - Child 2, Item 2
// - [ ] Grandchild 2, Item 1
// - [ ] Grandchild 2, Item 2
// 1. Item 4