70 lines
2 KiB
C#
70 lines
2 KiB
C#
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
|
|
namespace ScrewTurn.Wiki.PluginFramework {
|
|
|
|
/// <summary>
|
|
/// It is the interface that must be implemented in order to create a custom Formatter Provider for ScrewTurn Wiki.
|
|
/// </summary>
|
|
public interface IFormatterProviderV30 : IProviderV30 {
|
|
|
|
/// <summary>
|
|
/// Specifies whether or not to execute Phase 1.
|
|
/// </summary>
|
|
bool PerformPhase1 { get; }
|
|
|
|
/// <summary>
|
|
/// Specifies whether or not to execute Phase 2.
|
|
/// </summary>
|
|
bool PerformPhase2 { get; }
|
|
|
|
/// <summary>
|
|
/// Specifies whether or not to execute Phase 3.
|
|
/// </summary>
|
|
bool PerformPhase3 { get; }
|
|
|
|
/// <summary>
|
|
/// Gets the execution priority of the provider (0 lowest, 100 highest).
|
|
/// </summary>
|
|
int ExecutionPriority { get; }
|
|
|
|
/// <summary>
|
|
/// Performs a Formatting phase.
|
|
/// </summary>
|
|
/// <param name="raw">The raw content to Format.</param>
|
|
/// <param name="context">The Context information.</param>
|
|
/// <param name="phase">The Phase.</param>
|
|
/// <returns>The Formatted content.</returns>
|
|
string Format(string raw, ContextInformation context, FormattingPhase phase);
|
|
|
|
/// <summary>
|
|
/// Prepares the title of an item for display (always during phase 3).
|
|
/// </summary>
|
|
/// <param name="title">The input title.</param>
|
|
/// <param name="context">The context information.</param>
|
|
/// <returns>The prepared title (no markup allowed).</returns>
|
|
string PrepareTitle(string title, ContextInformation context);
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// Enumerates formatting Phases.
|
|
/// </summary>
|
|
public enum FormattingPhase {
|
|
/// <summary>
|
|
/// Phase 1, performed before the internal formatting step.
|
|
/// </summary>
|
|
Phase1,
|
|
/// <summary>
|
|
/// Phase 2, performed after the internal formatting step.
|
|
/// </summary>
|
|
Phase2,
|
|
/// <summary>
|
|
/// Phase 3, performed before sending the page content to the client.
|
|
/// </summary>
|
|
Phase3
|
|
}
|
|
|
|
}
|