我滴个乖乖

This commit is contained in:
zel
2025-02-20 15:20:28 +08:00
parent 4b54cca70b
commit 485cfcd6f2
2343 changed files with 495732 additions and 1022 deletions

View File

@@ -0,0 +1,43 @@
using ZelWiki.Engine.Library;
using ZelWiki.Engine.Library.Interfaces;
using ZelWiki.Models;
namespace ZelWiki.Engine.Implementation
{
/// <summary>
/// Handles wiki emojis.
/// </summary>
public class EmojiHandler : IEmojiHandler
{
/// <summary>
/// Handles an emoji instruction.
/// </summary>
/// <param name="state">Reference to the wiki state object</param>
/// <param name="key">The lookup key for the given emoji.</param>
/// <param name="scale">The desired 1-100 scale factor for the emoji.</param>
public HandlerResult Handle(IZelEngineState state, string key, int scale)
{
var emoji = GlobalConfiguration.Emojis.FirstOrDefault(o => o.Shortcut == key);
if (GlobalConfiguration.Emojis.Exists(o => o.Shortcut == key))
{
if (scale != 100 && scale > 0 && scale <= 500)
{
var emojiImage = $"<img src=\"{GlobalConfiguration.BasePath}/file/Emoji/{key.Trim('%')}?Scale={scale}\" alt=\"{emoji?.Name}\" />";
return new HandlerResult(emojiImage);
}
else
{
var emojiImage = $"<img src=\"{GlobalConfiguration.BasePath}/file/Emoji/{key.Trim('%')}\" alt=\"{emoji?.Name}\" />";
return new HandlerResult(emojiImage);
}
}
else
{
return new HandlerResult(key) { Instructions = [Constants.HandlerResultInstruction.DisallowNestedProcessing] };
}
}
}
}