using ZelWiki.Engine.Library; using ZelWiki.Engine.Library.Interfaces; using ZelWiki.Library.Interfaces; namespace ZelWiki.Engine { public class ZelEngine : IZelEngine { public IScopeFunctionHandler ScopeFunctionHandler { get; private set; } public IStandardFunctionHandler StandardFunctionHandler { get; private set; } public IProcessingInstructionFunctionHandler ProcessingInstructionFunctionHandler { get; private set; } public IPostProcessingFunctionHandler PostProcessingFunctionHandler { get; private set; } public IMarkupHandler MarkupHandler { get; private set; } public IHeadingHandler HeadingHandler { get; private set; } public ICommentHandler CommentHandler { get; private set; } public IEmojiHandler EmojiHandler { get; private set; } public IExternalLinkHandler ExternalLinkHandler { get; private set; } public IInternalLinkHandler InternalLinkHandler { get; private set; } public IExceptionHandler ExceptionHandler { get; private set; } public ICompletionHandler CompletionHandler { get; private set; } public ZelEngine( IStandardFunctionHandler standardFunctionHandler, IScopeFunctionHandler scopeFunctionHandler, IProcessingInstructionFunctionHandler processingInstructionFunctionHandler, IPostProcessingFunctionHandler postProcessingFunctionHandler, IMarkupHandler markupHandler, IHeadingHandler headingHandler, ICommentHandler commentHandler, IEmojiHandler emojiHandler, IExternalLinkHandler externalLinkHandler, IInternalLinkHandler internalLinkHandler, IExceptionHandler exceptionHandler, ICompletionHandler completionHandler) { StandardFunctionHandler = standardFunctionHandler; StandardFunctionHandler = standardFunctionHandler; ScopeFunctionHandler = scopeFunctionHandler; ProcessingInstructionFunctionHandler = processingInstructionFunctionHandler; PostProcessingFunctionHandler = postProcessingFunctionHandler; MarkupHandler = markupHandler; HeadingHandler = headingHandler; CommentHandler = commentHandler; EmojiHandler = emojiHandler; ExternalLinkHandler = externalLinkHandler; InternalLinkHandler = internalLinkHandler; ExceptionHandler = exceptionHandler; CompletionHandler = completionHandler; } /// /// 转换给定页面的内容 /// /// /// /// /// /// public IZelEngineState Transform(ISessionState? session, IPage page, int? revision = null, Constants.WikiMatchType[]? omitMatches = null) => new ZelEngineState(this, session, page, revision, omitMatches).Transform(); } }