2022-02-17 09:08:01 +00:00
|
|
|
namespace Textile.Blocks;
|
|
|
|
|
|
|
|
public class PreBlockModifier : BlockModifier
|
2019-08-19 12:35:39 +00:00
|
|
|
{
|
2022-02-17 09:08:01 +00:00
|
|
|
public override string ModifyLine(string line)
|
2019-08-19 12:35:39 +00:00
|
|
|
{
|
2022-02-17 09:08:01 +00:00
|
|
|
// Encode the contents of the "<pre>" tags so that we don't
|
|
|
|
// generate formatting out of it.
|
|
|
|
line = NoTextileEncoder.EncodeNoTextileZones(line,
|
|
|
|
@"(?<=(^|\s)<pre(" + Globals.HtmlAttributesPattern + @")>)",
|
|
|
|
@"(?=</pre>)");
|
|
|
|
return line;
|
|
|
|
}
|
2019-08-19 12:35:39 +00:00
|
|
|
|
2022-02-17 09:08:01 +00:00
|
|
|
public override string Conclude(string line)
|
|
|
|
{
|
|
|
|
// Recode everything.
|
|
|
|
line = NoTextileEncoder.DecodeNoTextileZones(line,
|
|
|
|
@"(?<=(^|\s)<pre(" + Globals.HtmlAttributesPattern + @")>)",
|
|
|
|
@"(?=</pre>)",
|
|
|
|
new string[] { "<", ">" });
|
|
|
|
return line;
|
2019-08-19 12:35:39 +00:00
|
|
|
}
|
|
|
|
}
|