diff --git a/AideDeJeu/AideDeJeu/Markdig/LinkInlineRendererEx.cs b/AideDeJeu/AideDeJeu/Markdig/LinkInlineRendererEx.cs
new file mode 100644
index 00000000..2ff7472a
--- /dev/null
+++ b/AideDeJeu/AideDeJeu/Markdig/LinkInlineRendererEx.cs
@@ -0,0 +1,60 @@
+// Copyright (c) Alexandre Mutel. All rights reserved.
+// This file is licensed under the BSD-Clause 2 license.
+// See the license.txt file in the project root for more information.
+using Markdig.Syntax.Inlines;
+
+namespace Markdig.Renderers.Normalize.Inlines
+{
+ ///
+ /// A Normalize renderer for a .
+ ///
+ ///
+ public class LinkInlineRendererEx : NormalizeObjectRenderer
+ {
+ protected override void Write(NormalizeRenderer renderer, LinkInline link)
+ {
+ if (link.IsImage)
+ {
+ renderer.Write('!');
+ }
+ renderer.Write('[');
+ renderer.WriteChildren(link);
+ renderer.Write(']');
+
+ //if (link.Label != null)
+ //{
+
+ // var literal = link.FirstChild as LiteralInline;
+ // if (literal != null && literal.Content.Match(link.Label) && literal.Content.Length == link.Label.Length)
+ // {
+ // // collapsed reference and shortcut links
+ // if (!link.IsShortcut)
+ // {
+ // renderer.Write("[]");
+ // }
+ // }
+ // else
+ // {
+ // // full link
+ // renderer.Write('[').Write(link.Label).Write(']');
+ // }
+ //}
+ //else
+ //{
+ if (!string.IsNullOrEmpty(link.Url))
+ {
+ renderer.Write('(').Write(link.Url);
+
+ if (!string.IsNullOrEmpty(link.Title))
+ {
+ renderer.Write(" \"");
+ renderer.Write(link.Title.Replace(@"""", @"\"""));
+ renderer.Write("\"");
+ }
+
+ renderer.Write(')');
+ }
+ //}
+ }
+ }
+}
\ No newline at end of file
diff --git a/AideDeJeu/AideDeJeu/Markdig/MarkdownExtensions.cs b/AideDeJeu/AideDeJeu/Markdig/MarkdownExtensions.cs
index fada8620..a461e51d 100644
--- a/AideDeJeu/AideDeJeu/Markdig/MarkdownExtensions.cs
+++ b/AideDeJeu/AideDeJeu/Markdig/MarkdownExtensions.cs
@@ -9,6 +9,7 @@ using Markdig.Syntax.Inlines;
using Markdig.Parsers;
using System.IO;
using Markdig.Renderers.Normalize;
+using Markdig.Renderers.Normalize.Inlines;
namespace AideDeJeu.Tools
{
@@ -93,6 +94,9 @@ namespace AideDeJeu.Tools
using (var writer = new StringWriter())
{
var renderer = new NormalizeRenderer(writer);
+ renderer.ObjectRenderers.Remove(renderer.ObjectRenderers.FirstOrDefault(i => i is LinkInlineRenderer));
+ renderer.ObjectRenderers.Add(new LinkInlineRendererEx());
+ renderer.ObjectRenderers.Add(new TableRenderer());
pipeline.Setup(renderer);
renderer.Render(block);
diff --git a/AideDeJeu/AideDeJeu/Markdig/TableRenderer.cs b/AideDeJeu/AideDeJeu/Markdig/TableRenderer.cs
new file mode 100644
index 00000000..8e7c5861
--- /dev/null
+++ b/AideDeJeu/AideDeJeu/Markdig/TableRenderer.cs
@@ -0,0 +1,51 @@
+// Copyright (c) Alexandre Mutel. All rights reserved.
+// This file is licensed under the BSD-Clause 2 license.
+// See the license.txt file in the project root for more information.
+using System.Globalization;
+using AideDeJeu.Tools;
+using Markdig.Syntax;
+
+namespace Markdig.Renderers.Normalize
+{
+ ///
+ /// An Normalize renderer for a .
+ ///
+ ///
+ public class TableRenderer : NormalizeObjectRenderer
+ {
+ protected override void Write(NormalizeRenderer renderer, Markdig.Extensions.Tables.Table obj)
+ {
+ foreach (Markdig.Extensions.Tables.TableRow row in obj)
+ {
+ renderer.Write("|");
+ foreach (Markdig.Extensions.Tables.TableCell cell in row)
+ {
+ foreach (Markdig.Syntax.ParagraphBlock block in cell)
+ {
+ renderer.Write(block.ToMarkdownString().Replace("\n", ""));
+ }
+ renderer.Write("|");
+ }
+ if (row.IsHeader)
+ {
+ renderer.Write("\n|");
+ for (int i = 0; i < row.Count; i++)
+ {
+ renderer.Write("---|");
+ }
+ }
+ renderer.Write("\n");
+ }
+
+ //renderer.Write("\n\n" + obj.ToMarkdownString() + "\n\n");
+ //var headingText = obj.Level > 0 && obj.Level <= 6
+ // ? HeadingTexts[obj.Level - 1]
+ // : new string('#', obj.Level);
+
+ //renderer.Write(headingText).Write(' ');
+ //renderer.WriteLeafInline(obj);
+
+ //renderer.FinishBlock(renderer.Options.EmptyLineAfterHeading);
+ }
+ }
+}
\ No newline at end of file
diff --git a/AideDeJeu/AideDeJeu/Models/Conditions/Generic.cs b/AideDeJeu/AideDeJeu/Models/Conditions/Generic.cs
index aa98d1e7..8382e058 100644
--- a/AideDeJeu/AideDeJeu/Models/Conditions/Generic.cs
+++ b/AideDeJeu/AideDeJeu/Models/Conditions/Generic.cs
@@ -56,8 +56,9 @@ namespace AideDeJeuLib
{
return;
}
- var paragraphBlock = block as ParagraphBlock;
- this.Text += paragraphBlock.ToMarkdownString() + "\n";
+ //var paragraphBlock = block as ParagraphBlock;
+ //this.Text += paragraphBlock.ToMarkdownString() + "\n";
+ this.Text += block.ToMarkdownString();
}
else if (block is ListBlock)
{
@@ -103,8 +104,9 @@ namespace AideDeJeuLib
}
else if (block is Markdig.Extensions.Tables.Table)
{
- var tableBlock = block as Markdig.Extensions.Tables.Table;
- this.Text += "\n\n" + tableBlock.ToMarkdownString() + "\n\n";
+ this.Text += block.ToMarkdownString();
+ //var tableBlock = block as Markdig.Extensions.Tables.Table;
+ //this.Text += "\n\n" + tableBlock.ToMarkdownString() + "\n\n";
}
else
{