From c6d9f99c7720d5869f15568de2ae21d514cc1509 Mon Sep 17 00:00:00 2001 From: Nioux Date: Tue, 26 Jun 2018 13:36:48 +0200 Subject: [PATCH] =?UTF-8?q?Gestion=20partielle=20des=20tables=20markdown?= =?UTF-8?q?=20g=C3=A9n=C3=A9riques?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AideDeJeu/Tools/MarkdownExtensions.cs | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/AideDeJeu/AideDeJeu/Tools/MarkdownExtensions.cs b/AideDeJeu/AideDeJeu/Tools/MarkdownExtensions.cs index 2bcd0683..dc6f54b5 100644 --- a/AideDeJeu/AideDeJeu/Tools/MarkdownExtensions.cs +++ b/AideDeJeu/AideDeJeu/Tools/MarkdownExtensions.cs @@ -185,6 +185,12 @@ namespace AideDeJeu.Tools } } } + else if (block is Markdig.Extensions.Tables.Table) + { + var tableBlock = block as Markdig.Extensions.Tables.Table; + spell.DescriptionHtml += tableBlock.ToMarkdownString(); + } + } if (spell != null) @@ -430,6 +436,10 @@ namespace AideDeJeu.Tools monster.Wisdom = table["WIS"].FirstOrDefault(); monster.Charisma = table["CHA"].FirstOrDefault(); } + //else + //{ + features?.Add(tableBlock.ToMarkdownString()); + //} } else if (block is Markdig.Syntax.LinkReferenceDefinitionGroup) { @@ -533,6 +543,24 @@ namespace AideDeJeu.Tools } return str; } + public static string ToMarkdownString(this Markdig.Extensions.Tables.Table tableBlock) + { + var ret = string.Empty; + foreach(Markdig.Extensions.Tables.TableRow row in tableBlock) + { + var line = "|"; + foreach(Markdig.Extensions.Tables.TableCell cell in row) + { + foreach(Markdig.Syntax.ParagraphBlock block in cell) + { + line += block.ToMarkdownString(); + } + line += "|"; + } + ret += line + "\r\n"; + } + return ret; + } public static Dictionary> ToTable(this Markdig.Extensions.Tables.Table tableBlock) {