return $::locale->quote_special_chars('Template/LaTeX', $text);
}
+my %html_replace = (
+ '</p>' => "\n\n",
+ '<ul>' => "\\begin{itemize} ",
+ '</ul>' => "\\end{itemize} ",
+ '<ol>' => "\\begin{enumerate} ",
+ '</ol>' => "\\end{enumerate} ",
+ '<li>' => "\\item ",
+ '</li>' => " ",
+ '<b>' => "\\textbf{",
+ '</b>' => "}",
+ '<strong>' => "\\textbf{",
+ '</strong>' => "}",
+ '<i>' => "\\textit{",
+ '</i>' => "}",
+ '<em>' => "\\textit{",
+ '</em>' => "}",
+ '<u>' => "\\underline{",
+ '</u>' => "}",
+ '<s>' => "\\sout{",
+ '</s>' => "}",
+ '<sub>' => "\\textsubscript{",
+ '</sub>' => "}",
+ '<sup>' => "\\textsuperscript{",
+ '</sup>' => "}",
+ '<br/>' => "\\newline ",
+ '<br>' => "\\newline ",
+);
+
+sub filter_html {
+ my ($self, $text, $args) = @_;
+
+ $text =~ s{ \r+ }{}gx;
+ $text =~ s{ \n+ }{ }gx;
+ $text =~ s{ (?:\ |\s)+ }{ }gx;
+
+ my @parts = map {
+ if (substr($_, 0, 1) eq '<') {
+ s{ +}{}g;
+ $html_replace{$_} || '';
+
+ } else {
+ $::locale->quote_special_chars('Template/LaTeX', HTML::Entities::decode_entities($_));
+ }
+ } split(m{(<.*?>)}x, $text);
+
+ return join('', @parts);
+}
+
return 'SL::Template::Plugin::LxLatex';