-package org.simantics.scl.compiler.markdown.nodes;\r
-\r
-import org.simantics.scl.compiler.markdown.internal.ExtensionNodeHandler;\r
-\r
-public class ExtensionBlockNode extends Node {\r
- String extension;\r
- String content;\r
- \r
- public ExtensionBlockNode(String extension, String content) {\r
- this.extension = extension;\r
- this.content = content;\r
- }\r
- \r
- @Override\r
- public void processExtensionNodes(ExtensionNodeHandler handler) {\r
- DocumentNode replacingNodes = handler.expandBlock(extension, content);\r
- if(replacingNodes != null) {\r
- if(replacingNodes.firstChild == null)\r
- remove();\r
- else {\r
- for(Node child = replacingNodes.firstChild; child != null; child = child.next)\r
- child.parent = parent;\r
- if(prev == null)\r
- parent.firstChild = replacingNodes.firstChild;\r
- else {\r
- replacingNodes.firstChild.prev = prev;\r
- prev.next = replacingNodes.firstChild;\r
- }\r
- if(next == null)\r
- parent.lastChild = replacingNodes.lastChild;\r
- else {\r
- replacingNodes.lastChild.next = next;\r
- next.prev = replacingNodes.lastChild;\r
- }\r
- }\r
- }\r
- }\r
- \r
- @Override\r
- public void toHtml(StringBuilder b) {\r
- b.append("::").append(extension).append('[').append(content).append(']');\r
- }\r
-}\r
+package org.simantics.scl.compiler.markdown.nodes;
+
+import org.simantics.scl.compiler.markdown.html.HtmlGenerationContext;
+import org.simantics.scl.compiler.markdown.internal.ExtensionNodeHandler;
+
+public class ExtensionBlockNode extends Node {
+ String extension;
+ String content;
+
+ public ExtensionBlockNode(String extension, String content) {
+ this.extension = extension;
+ this.content = content;
+ }
+
+ @Override
+ public void processExtensionNodes(ExtensionNodeHandler handler) {
+ DocumentNode replacingNodes = handler.expandBlock(extension, content);
+ if(replacingNodes != null) {
+ if(replacingNodes.firstChild == null)
+ remove();
+ else {
+ for(Node child = replacingNodes.firstChild; child != null; child = child.next)
+ child.parent = parent;
+ if(prev == null)
+ parent.firstChild = replacingNodes.firstChild;
+ else {
+ replacingNodes.firstChild.prev = prev;
+ prev.next = replacingNodes.firstChild;
+ }
+ if(next == null)
+ parent.lastChild = replacingNodes.lastChild;
+ else {
+ replacingNodes.lastChild.next = next;
+ next.prev = replacingNodes.lastChild;
+ }
+ }
+ }
+ }
+
+ @Override
+ public void toHtml(HtmlGenerationContext context, StringBuilder b) {
+ b.append("::").append(extension).append('[').append(content).append(']');
+ }
+}