Dave Jarvis' Repositories

git clone https://repo.autonoma.ca/repo/keenwrite.git

Separates and renames node renderer factories

AuthorDaveJarvis <email>
Date2023-11-25 21:14:15 GMT-0800
Commit37ea775eb83c5161f75084b5118e8c9e2ba6da8c
Parentbbcd845
Delta16 lines added, 16 lines removed
src/main/java/com/keenwrite/processors/markdown/extensions/references/CrossReferencesNodeRendererFactory.java
package com.keenwrite.processors.markdown.extensions.references;
+import com.keenwrite.processors.markdown.extensions.common.MarkdownNodeRendererFactory;
import com.vladsch.flexmark.html.renderer.NodeRenderer;
-import com.vladsch.flexmark.html.renderer.NodeRendererFactory;
import com.vladsch.flexmark.util.data.DataHolder;
-import org.jetbrains.annotations.NotNull;
-class CrossReferencesNodeRendererFactory implements NodeRendererFactory {
- @NotNull
+class CrossReferencesNodeRendererFactory extends MarkdownNodeRendererFactory {
@Override
- public NodeRenderer apply( @NotNull final DataHolder options ) {
+ protected NodeRenderer createNodeRenderer( final DataHolder options ) {
return new CrossReferencesNodeRenderer();
}
src/main/java/com/keenwrite/processors/markdown/extensions/fences/FencedDivNodeRendererFactory.java
+/* Copyright 2020-2021 White Magic Software, Ltd. -- All rights reserved. */
+package com.keenwrite.processors.markdown.extensions.fences;
+
+import com.keenwrite.processors.markdown.extensions.common.MarkdownNodeRendererFactory;
+import com.vladsch.flexmark.html.renderer.NodeRenderer;
+import com.vladsch.flexmark.util.data.DataHolder;
+
+class FencedDivNodeRendererFactory extends MarkdownNodeRendererFactory {
+ @Override
+ protected NodeRenderer createNodeRenderer( final DataHolder options ) {
+ return new FencedDivRenderer();
+ }
+}
src/main/java/com/keenwrite/processors/markdown/extensions/fences/FencedDivRenderer.java
import com.vladsch.flexmark.html.renderer.NodeRenderer;
import com.vladsch.flexmark.html.renderer.NodeRendererContext;
-import com.vladsch.flexmark.html.renderer.NodeRendererFactory;
import com.vladsch.flexmark.html.renderer.NodeRenderingHandler;
-import com.vladsch.flexmark.util.data.DataHolder;
-import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
final HtmlWriter html ) {
node.write( html );
- }
-
- static class Factory implements NodeRendererFactory {
- @NotNull
- @Override
- public NodeRenderer apply( @NotNull final DataHolder options ) {
- return new FencedDivRenderer();
- }
}
}