Upload files to "java/md2html"
This commit is contained in:
67
java/md2html/BlockCreator.java
Normal file
67
java/md2html/BlockCreator.java
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
package md2html;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class BlockCreator {
|
||||||
|
|
||||||
|
private final String text;
|
||||||
|
private final List<String> blocks;
|
||||||
|
|
||||||
|
public BlockCreator(String text) {
|
||||||
|
this.text = text;
|
||||||
|
blocks = new ArrayList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> divideByBlocks() {
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
int i = 0;
|
||||||
|
while (i < text.length()) {
|
||||||
|
if (isNewLine(text.charAt(i))) {
|
||||||
|
i = newLine(i);
|
||||||
|
if (i < text.length() && isNewLine(text.charAt(i))) {
|
||||||
|
i = newLine(i);
|
||||||
|
addToBlock(sb);
|
||||||
|
} else if (i < text.length()) {
|
||||||
|
if (!sb.isEmpty()) {
|
||||||
|
sb.append(System.lineSeparator());
|
||||||
|
}
|
||||||
|
sb.append(text.charAt(i++));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
sb.append(text.charAt(i++));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
addToBlock(sb);
|
||||||
|
return blocks;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addToBlock(StringBuilder item) {
|
||||||
|
if (!item.isEmpty()) {
|
||||||
|
blocks.add(item.toString());
|
||||||
|
item.setLength(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private int newLine(int i) {
|
||||||
|
if (i < text.length() && text.charAt(i) == '\r') {
|
||||||
|
i++;
|
||||||
|
if (i < text.length() && text.charAt(i) == '\n') {
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static boolean isNewLine(char ch) {
|
||||||
|
return (
|
||||||
|
(ch == '\u2028') ||
|
||||||
|
(ch == '\u2029') ||
|
||||||
|
(ch == '\u0085') ||
|
||||||
|
(ch == '\n') ||
|
||||||
|
(ch == '\r')
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
11
java/md2html/Code.java
Normal file
11
java/md2html/Code.java
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
package md2html;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import markup.*;
|
||||||
|
|
||||||
|
public class Code extends AbstractMarkup implements PartOfParagraph {
|
||||||
|
|
||||||
|
public Code(List<PartOfParagraph> items) {
|
||||||
|
super(items, "'", "code", "", "");
|
||||||
|
}
|
||||||
|
}
|
||||||
11
java/md2html/Del.java
Normal file
11
java/md2html/Del.java
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
package md2html;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import markup.*;
|
||||||
|
|
||||||
|
public class Del extends AbstractMarkup implements PartOfParagraph {
|
||||||
|
|
||||||
|
public Del(List<PartOfParagraph> items) {
|
||||||
|
super(items, "}}", "del", "", "");
|
||||||
|
}
|
||||||
|
}
|
||||||
11
java/md2html/Header.java
Normal file
11
java/md2html/Header.java
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
package md2html;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import markup.*;
|
||||||
|
|
||||||
|
public class Header extends AbstractMarkup implements PrimePart {
|
||||||
|
|
||||||
|
public Header(List<PartOfParagraph> items, int level) {
|
||||||
|
super(items, "#".repeat(level), "h" + level, "", "");
|
||||||
|
}
|
||||||
|
}
|
||||||
11
java/md2html/Ins.java
Normal file
11
java/md2html/Ins.java
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
package md2html;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import markup.*;
|
||||||
|
|
||||||
|
public class Ins extends AbstractMarkup implements PartOfParagraph {
|
||||||
|
|
||||||
|
public Ins(List<PartOfParagraph> items) {
|
||||||
|
super(items, "<<", "ins", "", "");
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user