diff --git a/AideDeJeu/AideDeJeuCmd/Program.cs b/AideDeJeu/AideDeJeuCmd/Program.cs
index 9ae2c80d..660625f3 100644
--- a/AideDeJeu/AideDeJeuCmd/Program.cs
+++ b/AideDeJeu/AideDeJeuCmd/Program.cs
@@ -26,22 +26,38 @@ namespace AideDeJeuCmd
var str = string.Empty;
foreach(var inline in inlines)
{
+ Console.WriteLine(inline.GetType());
+ string add = string.Empty;
if (inline is Markdig.Syntax.Inlines.LineBreakInline)
{
- str += "\n";
+ add = "\n";
}
else if (inline is Markdig.Syntax.Inlines.LiteralInline)
{
- str += inline.ToString();
+ var literalInline = inline as Markdig.Syntax.Inlines.LiteralInline;
+ add = literalInline.Content.ToString();
}
- else if(inline is Markdig.Syntax.Inlines.ContainerInline)
+ else if (inline is Markdig.Syntax.Inlines.EmphasisInline)
{
- str += (inline as Markdig.Syntax.Inlines.ContainerInline).ToContainerString();
+ var emphasisInline = inline as Markdig.Syntax.Inlines.EmphasisInline;
+ var delimiterChar = emphasisInline.DelimiterChar.ToString();
+ if (emphasisInline.IsDouble)
+ {
+ delimiterChar += delimiterChar;
+ }
+ add = delimiterChar + emphasisInline.ToContainerString() + delimiterChar;
+ }
+ else if (inline is Markdig.Syntax.Inlines.ContainerInline)
+ {
+ var containerInline = inline as Markdig.Syntax.Inlines.ContainerInline;
+ add = containerInline.ToContainerString();
}
else
{
- str += inline.ToString();
+ add = inline.ToString();
}
+ Console.WriteLine(add);
+ str += add;
}
return str;
}
@@ -81,8 +97,8 @@ namespace AideDeJeuCmd
.Replace("", "_")
.Replace("
", "* ")
.Replace("", "")
- .Replace("\n", "\n\n")
- .Replace("
", "\n\n")
+ .Replace("\n", "\r\n\r\n")
+ .Replace("
", "\r\n\r\n")
;
md += "\n\n";
return md;
@@ -95,15 +111,15 @@ namespace AideDeJeuCmd
public IEnumerable MarkdownToSpells(string md)
{
var spells = new List();
- var document = Markdig.Parsers.MarkdownParser.Parse(MD);
+ var document = Markdig.Parsers.MarkdownParser.Parse(md);
Spell spell = null;
foreach (var block in document)
{
- DumpBlock(block);
+ //DumpBlock(block);
if (block is Markdig.Syntax.HeadingBlock)
{
var headingBlock = block as Markdig.Syntax.HeadingBlock;
- DumpHeadingBlock(headingBlock);
+ //DumpHeadingBlock(headingBlock);
if (headingBlock.HeaderChar == '#' && headingBlock.Level == 1)
{
if (spell != null)
@@ -112,35 +128,41 @@ namespace AideDeJeuCmd
}
spell = new Spell();
spell.Name = spell.NamePHB = headingBlock.Inline.ToContainerString();
+ //Console.WriteLine(spell.Name);
}
}
if (block is Markdig.Syntax.ParagraphBlock)
{
var paragraphBlock = block as Markdig.Syntax.ParagraphBlock;
- DumpParagraphBlock(paragraphBlock);
+ //DumpParagraphBlock(paragraphBlock);
+ Console.WriteLine(paragraphBlock.IsBreakable);
spell.DescriptionHtml += paragraphBlock.Inline.ToContainerString();
+ if(paragraphBlock.IsBreakable)
+ {
+ spell.DescriptionHtml += "\n";
+ }
}
if (block is Markdig.Syntax.ListBlock)
{
var listBlock = block as Markdig.Syntax.ListBlock;
- DumpListBlock(listBlock);
+ //DumpListBlock(listBlock);
if (listBlock.BulletType == '-')
{
spell.Source = "";
foreach (var inblock in listBlock)
{
- DumpBlock(inblock);
+ //DumpBlock(inblock);
var regex = new Regex("(?.*?): (?.*)");
if (inblock is Markdig.Syntax.ListItemBlock)
{
var listItemBlock = inblock as Markdig.Syntax.ListItemBlock;
foreach (var ininblock in listItemBlock)
{
- DumpBlock(ininblock);
+ //DumpBlock(ininblock);
if(ininblock is Markdig.Syntax.ParagraphBlock)
{
var paragraphBlock = ininblock as Markdig.Syntax.ParagraphBlock;
- DumpParagraphBlock(paragraphBlock);
+ //DumpParagraphBlock(paragraphBlock);
var str = paragraphBlock.Inline.ToContainerString();
var match = regex.Match(str);
var key = match.Groups["key"].Value;
@@ -166,7 +188,7 @@ namespace AideDeJeuCmd
spell.Range = value;
break;
case "Source":
- spell.Source += value;
+ spell.Source += value + " ";
break;
case "Classes":
spell.Source += value;
@@ -175,7 +197,7 @@ namespace AideDeJeuCmd
}
}
- DumpListItemBlock(inblock as Markdig.Syntax.ListItemBlock);
+ //DumpListItemBlock(inblock as Markdig.Syntax.ListItemBlock);
}
}
}
@@ -189,7 +211,7 @@ namespace AideDeJeuCmd
return spells;
}
}
- static string MD;
+
static void DumpParagraphBlock(Markdig.Syntax.ParagraphBlock block)
{
//if (block.Lines != null)
@@ -237,7 +259,7 @@ namespace AideDeJeuCmd
Console.WriteLine(block.Line);
Console.WriteLine(block.RemoveAfterProcessInlines);
Console.WriteLine(block.Span.ToString());
- Console.WriteLine(block.Span.ToString(MD));
+ //Console.WriteLine(block.Span.ToString(MD));
Console.WriteLine(block.ToString());
if(block is Markdig.Syntax.ParagraphBlock)
{