# Jira Markup Converter
Jira Markup Converter is a library to perform conversion from html to markup data.
Conversion of following Jira elements is supported:
* Paragraph
* Headers: H1-H6
* Text effects: block quote, citation, strikethrough, italic, underline, bold, subscript, superscript, color
* Lists: numbered, bulleted
* Tables
# Example of converter usage
Lets assume that we have following input:
```
Sample header
Sample paragraph
Header 1 |
Header 2 |
Cell 1 |
Cell 2 |
```
Code to convert html to jira markup will look like:
```
var htmlString = File.ReadAllText("HtmlSample.html");
// Create converter class
var converter = new MarkupConverter();
// Create Jira markup object which can be translated into markup string or modified if needed.
var jiraMarkupObject = converter.ConvertFromHtml(htmlString);
// Get markup string from object by calling ToMarkupString().
Console.WriteLine(jiraMarkupObject.ToMarkupString());
```
Output of this code:
```
h1.Sample header
Sample paragraph
||Header 1||Header 2||
|Cell 1|Cell 2|
```
# Manual markup building
Library support also building and modifying of nodes before convertion to markup string:
```
var rootNode = new RootNode();
rootNode.AddChildNode(new HeaderNode("Sample header", Header.H1));
rootNode.AddChildNode(new ParagraphNode("Sample paragraph"));
var headerRowNode = new TableRowNode(TableRowType.Header);
headerRowNode.AddChildNode(new TableCellNode("Header 1"));
headerRowNode.AddChildNode(new TableCellNode("Header 2"));
var dataRowNode = new TableRowNode(TableRowType.Data);
dataRowNode.AddChildNode(new TableCellNode("Cell 1"));
dataRowNode.AddChildNode(new TableCellNode("Cell 2"));
var tableNode = new TableNode();
tableNode.AddChildNode(headerRowNode);
tableNode.AddChildNode(dataRowNode);
rootNode.AddChildNode(tableNode);
Console.WriteLine(rootNode.ToMarkupString());
```