use of com.vladsch.flexmark.parser.Parser in project flexmark-java by vsch.
the class ProfileEmulationFamilySamples method gitHub.
void gitHub() {
MutableDataSet options = new MutableDataSet();
options.setFrom(ParserEmulationProfile.GITHUB_DOC);
options.set(Parser.EXTENSIONS, Arrays.asList(AutolinkExtension.create(), // EmojiExtension.create(),
StrikethroughExtension.create(), TablesExtension.create(), TaskListExtension.create()));
// uncomment and define location of emoji images from https://github.com/arvida/emoji-cheat-sheet.com
// options.set(EmojiExtension.ROOT_IMAGE_PATH, "");
// Uncomment if GFM anchor links are desired in headings
// options.set(AnchorLinkExtension.ANCHORLINKS_SET_ID, false);
// options.set(AnchorLinkExtension.ANCHORLINKS_ANCHOR_CLASS, "anchor");
// options.set(AnchorLinkExtension.ANCHORLINKS_SET_NAME, true);
// options.set(AnchorLinkExtension.ANCHORLINKS_TEXT_PREFIX, "<span class=\"octicon octicon-link\"></span>");
// References compatibility
options.set(Parser.REFERENCES_KEEP, KeepType.LAST);
// Set GFM table parsing options
options.set(TablesExtension.COLUMN_SPANS, false).set(TablesExtension.MIN_HEADER_ROWS, 1).set(TablesExtension.MAX_HEADER_ROWS, 1).set(TablesExtension.APPEND_MISSING_COLUMNS, true).set(TablesExtension.DISCARD_EXTRA_COLUMNS, true).set(TablesExtension.WITH_CAPTION, false).set(TablesExtension.HEADER_SEPARATOR_COLUMN_MATCH, true);
// Setup List Options for GitHub profile which is kramdown for documents
options.setFrom(ParserEmulationProfile.GITHUB_DOC);
Parser parser = Parser.builder(options).build();
HtmlRenderer renderer = HtmlRenderer.builder(options).build();
Node document = parser.parse("This is *Sparta*");
// "<p>This is <em>Sparta</em></p>\n"
renderer.render(document);
}
use of com.vladsch.flexmark.parser.Parser in project flexmark-java by vsch.
the class ProfileEmulationFamilySamples method kramdown.
void kramdown() {
MutableDataSet options = new MutableDataSet();
options.setFrom(ParserEmulationProfile.KRAMDOWN);
options.set(Parser.EXTENSIONS, Arrays.asList(AbbreviationExtension.create(), DefinitionExtension.create(), FootnoteExtension.create(), TablesExtension.create(), TypographicExtension.create()));
Parser parser = Parser.builder(options).build();
HtmlRenderer renderer = HtmlRenderer.builder(options).build();
Node document = parser.parse("This is *Sparta*");
// "<p>This is <em>Sparta</em></p>\n"
renderer.render(document);
}
use of com.vladsch.flexmark.parser.Parser in project flexmark-java by vsch.
the class ProfileEmulationFamilySamples method multiMarkdown.
void multiMarkdown() {
MutableDataSet options = new MutableDataSet();
options.setFrom(ParserEmulationProfile.MULTI_MARKDOWN);
Parser parser = Parser.builder(options).build();
HtmlRenderer renderer = HtmlRenderer.builder(options).build();
Node document = parser.parse("This is *Sparta*");
// "<p>This is <em>Sparta</em></p>\n"
renderer.render(document);
}
use of com.vladsch.flexmark.parser.Parser in project flexmark-java by vsch.
the class SyntheticLinkFormatterSample method main.
public static void main(String[] args) {
MutableDataSet options = new MutableDataSet();
// set optional extensions
options.set(Parser.EXTENSIONS, Arrays.asList(SyntheticLinkExtension.create()));
// uncomment to convert soft-breaks to hard breaks
// options.set(HtmlRenderer.SOFT_BREAK, "<br />\n");
Parser parser = Parser.builder(options).build();
HtmlRenderer renderer = HtmlRenderer.builder(options).build();
Formatter formatter = Formatter.builder(options).build();
// You can re-use parser and renderer instances
Node document = parser.parse("Some markdown content");
String markdown = formatter.render(document);
System.out.println(markdown);
}
use of com.vladsch.flexmark.parser.Parser in project flexmark-java by vsch.
the class TextCollectingVisitorTest method test_basic.
@Test
public void test_basic() {
DataHolder options = new MutableDataSet().set(Parser.EXTENSIONS, Arrays.asList(TablesExtension.create()));
Parser parser = Parser.builder(options).build();
String markdown = "| First Header | Second Header |\n" + "| ------------- | ------------- |\n" + "| Content Cell | Content Cell |\n" + "\n" + "| Left-aligned | Center-aligned | Right-aligned |\n" + "| :--- | :---: | ---: |\n" + "| git status | git status | git status |\n" + "| git diff | git diff | git diff |\n" + "";
Node document = parser.parse(markdown);
TextCollectingVisitor collectingVisitor = new TextCollectingVisitor();
final String text = collectingVisitor.collectAndGetText(document);
System.out.println(text);
final String astText = new AstCollectingVisitor().collectAndGetAstText(document);
System.out.println(astText);
}
Aggregations