Files
ZelWiki/ZelWiki.Engine.Implementation/ExternalLinkHandler.cs
2025-02-23 18:47:21 +08:00

35 lines
1.1 KiB
C#

using ZelWiki.Engine.Library;
using ZelWiki.Engine.Library.Interfaces;
namespace ZelWiki.Engine.Implementation
{
/// <summary>
/// 处理链接
/// </summary>
public class ExternalLinkHandler : IExternalLinkHandler
{
/// <summary>
/// 处理内链
/// </summary>
/// <param name="state"></param>
/// <param name="link"></param>
/// <param name="text"></param>
/// <param name="image"></param>
/// <returns></returns>
public HandlerResult Handle(IZelEngineState state, string link, string? text, string? image)
{
if (string.IsNullOrEmpty(image))
{
return new HandlerResult($"<a href=\"{link}\">{text}</a>")
{
Instructions = [Constants.HandlerResultInstruction.DisallowNestedProcessing]
};
}
return new HandlerResult($"<a href=\"{link}\"><img src=\"{image}\" border =\"0\"></a>")
{
Instructions = [Constants.HandlerResultInstruction.DisallowNestedProcessing]
};
}
}
}