chicken_dy/Assets/WX-WASM-SDK/UnityMarkdownViewer/Editor/Scripts/Renderer/RendererBlockCode.cs

41 lines
1.3 KiB
C#

////////////////////////////////////////////////////////////////////////////////
using Markdig.Renderers;
using Markdig.Syntax;
namespace WeChatWASM.MDV
{
////////////////////////////////////////////////////////////////////////////////
// <pre><code>...</code></pre>
/// <see cref="Markdig.Renderers.Html.CodeBlockRenderer"/>
public class RendererBlockCode : MarkdownObjectRenderer<RendererMarkdown, CodeBlock>
{
protected override void Write( RendererMarkdown renderer, CodeBlock block )
{
var fencedCodeBlock = block as FencedCodeBlock;
if( fencedCodeBlock != null && !string.IsNullOrEmpty( fencedCodeBlock.Info ) )
{
// TODO: support for syntax hightlighting ...
// https://archive.codeplex.com/?p=colorcode
//UnityEngine.Debug.Log( fencedCodeBlock.Info );
}
var prevStyle = renderer.Style;
renderer.Style.Fixed = true;
renderer.Style.Block = true;
renderer.Layout.StartBlock( false );
renderer.WriteLeafRawLines( block );
renderer.Layout.EndBlock();
renderer.Style = prevStyle;
renderer.FinishBlock( true );
}
}
}