diff --git a/MarkdownParse.class b/MarkdownParse.class index f26160e95..5803fff37 100644 Binary files a/MarkdownParse.class and b/MarkdownParse.class differ diff --git a/MarkdownParse.java b/MarkdownParse.java index b73ff0ee1..f95f759df 100644 --- a/MarkdownParse.java +++ b/MarkdownParse.java @@ -1,32 +1,64 @@ +// // File reading code from https://howtodoinjava.com/java/io/java-read-file-to-string-examples/ +// import java.io.IOException; +// import java.nio.file.Files; +// import java.nio.file.Path; +// import java.util.ArrayList; + +// //javac -cp ".;lib\junit-4.13.2.jar;lib\hamcrest-core-1.3.jar" MarkdownParseTest.java +// //java -cp ".;lib/junit-4.13.2.jar;lib/hamcrest-core-1.3.jar" org.junit.runner.JUnitCore MarkdownParseTest + +// public class MarkdownParse { +// public static ArrayList getLinks(String markdown) { +// ArrayList toReturn = new ArrayList<>(); +// // find the next [, then find the ], then find the (, then take up to +// // the next ) +// boolean shatter = true; +// int currentIndex = 0; +// while(currentIndex < markdown.length()) { +// int nextOpenBracket = markdown.indexOf("[", currentIndex); +// if(nextOpenBracket == -1) break; +// int nextCloseBracket = markdown.indexOf("]", nextOpenBracket); +// if(nextCloseBracket == -1) break; +// int openParen = markdown.indexOf("(", nextCloseBracket); +// if(openParen == -1) break; +// int closeParen = markdown.indexOf(")", openParen); +// if(closeParen == -1) break; +// //while(shatter == true) {} +// toReturn.add(markdown.substring(openParen + 1, closeParen)); +// currentIndex = closeParen + 1; +// System.out.println(currentIndex); +// } +// return toReturn; +// } +// public static void main(String[] args) throws IOException { +// Path fileName = Path.of(args[0]); +// String contents = Files.readString(fileName); +// ArrayList links = getLinks(contents); +// System.out.println(links); +// } +// } + + + // File reading code from https://howtodoinjava.com/java/io/java-read-file-to-string-examples/ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.util.ArrayList; -//javac -cp ".;lib\junit-4.13.2.jar;lib\hamcrest-core-1.3.jar" MarkdownParseTest.java -//java -cp ".;lib/junit-4.13.2.jar;lib/hamcrest-core-1.3.jar" org.junit.runner.JUnitCore MarkdownParseTest - public class MarkdownParse { public static ArrayList getLinks(String markdown) { ArrayList toReturn = new ArrayList<>(); // find the next [, then find the ], then find the (, then take up to // the next ) - boolean shatter = true; int currentIndex = 0; while(currentIndex < markdown.length()) { int nextOpenBracket = markdown.indexOf("[", currentIndex); - if(nextOpenBracket == -1) break; int nextCloseBracket = markdown.indexOf("]", nextOpenBracket); - if(nextCloseBracket == -1) break; int openParen = markdown.indexOf("(", nextCloseBracket); - if(openParen == -1) break; int closeParen = markdown.indexOf(")", openParen); - if(closeParen == -1) break; - //while(shatter == true) {} toReturn.add(markdown.substring(openParen + 1, closeParen)); currentIndex = closeParen + 1; - System.out.println(currentIndex); } return toReturn; } @@ -36,4 +68,4 @@ public static void main(String[] args) throws IOException { ArrayList links = getLinks(contents); System.out.println(links); } -} \ No newline at end of file +} \ No newline at end of file diff --git a/test-file.md b/test-file.md index 783aa4cae..3e4370fa6 100644 --- a/test-file.md +++ b/test-file.md @@ -1,4 +1,5 @@ # Title + [a link!](https://something.com) [another link!](some-page.html) \ No newline at end of file