Add support for the @csgen.span element

This commit is contained in:
Jacob 2024-01-03 08:56:51 +01:00
parent 4db018f5bc
commit 37487956fd

View file

@ -124,12 +124,13 @@ function convertMarkdownToHTML($contents) {
$parser->no_markup = false; $parser->no_markup = false;
$specialSyntax = array( $specialSyntax = array(
'/.*@csgen\.title.*=.*"(.*)(");/', '/.*@csgen\.title.*=.*"(.*)(");/',
'/.*@csgen\.description.*=.*"(.*)(");/', '/.*@csgen\.description.*=.*"(.*)(");/',
'/.*@csgen\.date.*=.*"(.*)(");/', '/.*@csgen\.date.*=.*"(.*)(");/',
'/.*@csgen\.allowComments.*=.*"(.*)(");/', '/.*@csgen\.allowComments.*=.*"(.*)(");/',
'/.*@csgen\.displayTitle.*=.*"(.*)(");/', '/.*@csgen\.displayTitle.*=.*"(.*)(");/',
'/.*@csgen\.displayDate.*=.*"(.*)(");/', '/.*@csgen\.displayDate.*=.*"(.*)(");/',
'/.*@csgen\.span.*<STYLE.*,.*TEXT>\(.*"(.*)".*, "(.*)"\);/',
); );
$out = $parser->transform($contents); $out = $parser->transform($contents);
@ -139,42 +140,48 @@ function convertMarkdownToHTML($contents) {
if (preg_match($pattern, $out, $matches)) { if (preg_match($pattern, $out, $matches)) {
switch ($pattern) { switch ($pattern) {
case '/.*@csgen\.title.*=.*"(.*)(");/': case '/.*@csgen\.title.*=.*"(.*)(");/':
$ret->title = $matches[1]; $ret->title = $matches[1];
$ret->title = preg_replace('/<.*?$/', '', $ret->title); $ret->title = preg_replace('/<.*?$/', '', $ret->title);
$out = removePrefix("@csgen\.title", $out); $out = removePrefix("@csgen\.title", $out);
break; break;
case '/.*@csgen\.description.*=.*&quot;(.*)(&quot;);/': case '/.*@csgen\.description.*=.*&quot;(.*)(&quot;);/':
$ret->description = $matches[1]; $ret->description = $matches[1];
$ret->description = preg_replace('/<.*?$/', '', $ret->description); $ret->description = preg_replace('/<.*?$/', '', $ret->description);
$out = removePrefix("@csgen\.description", $out); $out = removePrefix("@csgen\.description", $out);
break; break;
case '/.*@csgen\.date.*=.*&quot;(.*)(&quot;);/': case '/.*@csgen\.date.*=.*&quot;(.*)(&quot;);/':
$ret->date = $matches[1]; $ret->date = $matches[1];
$ret->date = preg_replace('/<.*?$/', '', $ret->date); $ret->date = preg_replace('/<.*?$/', '', $ret->date);
$out = removePrefix("@csgen\.date", $out); $out = removePrefix("@csgen\.date", $out);
break; break;
case '/.*@csgen\.allowComments.*=.*&quot;(.*)(&quot;);/': case '/.*@csgen\.allowComments.*=.*&quot;(.*)(&quot;);/':
$ret->allowComments = $matches[1]; $ret->allowComments = $matches[1];
$ret->allowComments = preg_replace('/<.*?$/', '', $ret->allowComments); $ret->allowComments = preg_replace('/<.*?$/', '', $ret->allowComments);
$out = removePrefix("@csgen\.allowComments", $out); $out = removePrefix("@csgen\.allowComments", $out);
break; break;
case '/.*@csgen\.displayTitle.*=.*&quot;(.*)(&quot;);/': case '/.*@csgen\.displayTitle.*=.*&quot;(.*)(&quot;);/':
$ret->displayTitle = $matches[1]; $ret->displayTitle = $matches[1];
$ret->displayTitle = preg_replace('/<.*?$/', '', $ret->displayTitle); $ret->displayTitle = preg_replace('/<.*?$/', '', $ret->displayTitle);
$out = removePrefix("@csgen\.displayTitle", $out); $out = removePrefix("@csgen\.displayTitle", $out);
break; break;
case '/.*@csgen\.displayDate.*=.*&quot;(.*)(&quot;);/': case '/.*@csgen\.displayDate.*=.*&quot;(.*)(&quot;);/':
$ret->displayDate = $matches[1]; $ret->displayDate = $matches[1];
$ret->displayDate = preg_replace('/<.*?$/', '', $ret->displayDate); $ret->displayDate = preg_replace('/<.*?$/', '', $ret->displayDate);
$out = removePrefix("@csgen\.displayDate", $out); $out = removePrefix("@csgen\.displayDate", $out);
break; break;
case '/.*@csgen\.span.*&lt;STYLE.*,.*TEXT&gt;\(.*&quot;(.*)&quot;.*, &quot;(.*)&quot;\);/':
$style = $matches[1];
$text = $matches[2];
$out = removePrefix("@csgen\.span", $out);
$out = preg_replace("/$matches[0]/i", "<span style=\"$style\">$text</span>", $out);
break;
} }
} }
} }