Upload files to "java/md2html"

This commit is contained in:
2026-04-13 10:45:43 +03:00
parent 398c8c1929
commit 035e3d4838
5 changed files with 111 additions and 0 deletions

View 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
View 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
View 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
View 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
View 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", "", "");
}
}