X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fsixth%2Fcore%2Fdocument%2Ftext%2FHyperlink.java;fp=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fsixth%2Fcore%2Fdocument%2Ftext%2FHyperlink.java;h=5e6884ce9691aff2c6d47308e4779a1e26399142;hp=9f64b092c637edcb81dbaf24ae21054b821aa974;hb=e37d8d2a8afaf35a27bc65d8d700eeea5ed5bd46;hpb=f9ba1a34f75fc8bfe9e6507762947566c8e22bce diff --git a/src/main/java/eu/svjatoslav/sixth/core/document/text/Hyperlink.java b/src/main/java/eu/svjatoslav/sixth/core/document/text/Hyperlink.java index 9f64b09..5e6884c 100644 --- a/src/main/java/eu/svjatoslav/sixth/core/document/text/Hyperlink.java +++ b/src/main/java/eu/svjatoslav/sixth/core/document/text/Hyperlink.java @@ -1,9 +1,41 @@ package eu.svjatoslav.sixth.core.document.text; +import eu.svjatoslav.commons.string.tokenizer.InvalidSyntaxException; +import eu.svjatoslav.commons.string.tokenizer.Terminator; +import eu.svjatoslav.commons.string.tokenizer.TokenizerMatch; + +import static eu.svjatoslav.commons.string.tokenizer.Terminator.TerminationStrategy.PRESERVE; +import static eu.svjatoslav.sixth.core.document.Helper.TG_HYPERLINK; + public class Hyperlink implements FormattedTextElement { + public static final Terminator orgTerminator = + new Terminator(PRESERVE, "\\[\\[.*\\]\\]", TG_HYPERLINK); + + private String label; + private String URL; + @Override public String compileMd() { - return "-TODO-"; + return ""; } + + public static Hyperlink fromOrg(TokenizerMatch tokenizerMatch) throws InvalidSyntaxException { + Hyperlink hyperlink = new Hyperlink(); + hyperlink.parseOrgSyntax(tokenizerMatch); + return hyperlink; + } + + private void parseOrgSyntax(TokenizerMatch tokenizerMatch) throws InvalidSyntaxException { +// Tokenizer tokenizer = new Tokenizer(tokenizerMatch.reminder); +// Terminator linkSeparator = tokenizer.addTerminator("][", PRESERVE); +// +// URL = tokenizer.expectAndConsumeNextTerminatorToken(null).token; +// +// if (tokenizer.hasMoreContent()){ // link label is optional +// tokenizer.expectAndConsumeNextTerminatorToken(linkSeparator); +// label = tokenizer.expectAndConsumeNextTerminatorToken(null).token; +// } + } + }