| | import com.keenwrite.ExportFormat; |
| | import com.keenwrite.preview.SvgRasterizer; |
| | -import com.keenwrite.processors.Processor; |
| | import com.vladsch.flexmark.html.HtmlWriter; |
| | import com.vladsch.flexmark.html.renderer.NodeRenderer; |
 |
| | import java.util.Map; |
| | import java.util.Set; |
| | +import java.util.function.Function; |
| | |
| | import static com.keenwrite.ExportFormat.*; |
 |
| | |
| | public Factory( |
| | - final ExportFormat exportFormat, final Processor<String> processor ) { |
| | + final ExportFormat exportFormat, |
| | + final Function<String, String> evaluator ) { |
| | mNodeRenderer = EXPORT_RENDERERS.getOrDefault( exportFormat, RENDERER ); |
| | - mNodeRenderer.setProcessor( processor ); |
| | + mNodeRenderer.setEvaluator( evaluator ); |
| | } |
| | |
 |
| | private static abstract class RendererFacade |
| | implements NodeRenderer { |
| | - private Processor<String> mProcessor; |
| | + private Function<String, String> mEvaluator; |
| | |
| | @Override |
 |
| | final HtmlWriter html ); |
| | |
| | - private void setProcessor( final Processor<String> processor ) { |
| | - mProcessor = processor; |
| | + private void setEvaluator( final Function<String, String> evaluator ) { |
| | + mEvaluator = evaluator; |
| | } |
| | |
| | - Processor<String> getProcessor() { |
| | - return mProcessor; |
| | + Function<String, String> getEvaluator() { |
| | + return mEvaluator; |
| | } |
| | } |
 |
| | final NodeRendererContext context, |
| | final HtmlWriter html ) { |
| | - final var text = getProcessor().apply( node.getText().toString() ); |
| | + final var text = getEvaluator().apply( node.getText().toString() ); |
| | final var content = |
| | mIncludeDelimiter |
 |
| | final var tex = node.getText().toStringOrNull(); |
| | final var doc = MATH_RENDERER.render( |
| | - tex == null ? "" : getProcessor().apply( tex ) ); |
| | + tex == null ? "" : getEvaluator().apply( tex ) ); |
| | final var svg = SvgRasterizer.toSvg( doc.getDocumentElement() ); |
| | html.raw( svg ); |
 |
| | final HtmlWriter html ) { |
| | html.raw( TOKEN_OPEN ); |
| | - html.raw( getProcessor().apply( node.getText().toString() ) ); |
| | + html.raw( getEvaluator().apply( node.getText().toString() ) ); |
| | html.raw( TOKEN_CLOSE ); |
| | } |