@Override public String getHtml() { return new HtmlTranslator(new WikiSourcePage(this), getParsingPage()).translateTree(getSyntaxTree()); }
private List<Symbol> extractHeaderLines(final Translator translator) { HtmlTranslator htmlTranslator = (HtmlTranslator) translator; SourcePage sourcePage = htmlTranslator.getPage(); return sourcePage.getSymbols(HeaderLine.symbolType); }
@Override public SymbolType isApplicable(Translator translator){ Maybe<String> testSystem = Maybe.noString; if(translator instanceof HtmlTranslator){ testSystem = ((HtmlTranslator) translator).getParsingPage().findVariable("TEST_SYSTEM"); } if(testSystem.isNothing() || !"slim".equals(testSystem.getValue())) { return baseSymbolType; } return this; } }
@Override public String getVariable(String name) { ParsingPage parsingPage = getParsingPage(); Maybe<String> variable = parsingPage.findVariable(name); if (variable.isNothing()) return null; Parser parser = Parser.make(parsingPage, "", SymbolProvider.variableDefinitionSymbolProvider); return new HtmlTranslator(null, parsingPage).translate(parser.parseWithParent(variable.getValue(), null)); }
protected List<String> getItemsFromPage(WikiPage page) { if (page instanceof WikitextPage) { Symbol tree = ((WikitextPage) page).getSyntaxTree(); ParsingPage parsingPage = ((WikitextPage) page).getParsingPage(); return new Paths(new HtmlTranslator(new WikiSourcePage(page), parsingPage)).getPaths(tree); } return Collections.emptyList(); }
@Override public String getVariable(String name) { ParsingPage parsingPage = getParsingPage(); Maybe<String> variable = parsingPage.findVariable(name); if (variable.isNothing()) return null; Parser parser = Parser.make(parsingPage, "", SymbolProvider.variableDefinitionSymbolProvider); return new HtmlTranslator(null, parsingPage).translate(parser.parseWithParent(variable.getValue(), null)); }
protected List<String> getItemsFromPage(WikiPage page) { if (page instanceof WikitextPage) { Symbol tree = ((WikitextPage) page).getSyntaxTree(); ParsingPage parsingPage = ((WikitextPage) page).getParsingPage(); return new Paths(new HtmlTranslator(new WikiSourcePage(page), parsingPage)).getPaths(tree); } return Collections.emptyList(); }
@Override public String getHtml() { return new HtmlTranslator(new WikiSourcePage(this), getParsingPage()).translateTree(getSyntaxTree()); }
@Override public SymbolType isApplicable(Translator translator){ Maybe<String> testSystem = Maybe.noString; if(translator instanceof HtmlTranslator){ testSystem = ((HtmlTranslator) translator).getParsingPage().findVariable("TEST_SYSTEM"); } if(testSystem.isNothing() || !"slim".equals(testSystem.getValue())) { return baseSymbolType; } return this; } }
private List<Symbol> extractHeaderLines(final Translator translator) { HtmlTranslator htmlTranslator = (HtmlTranslator) translator; SourcePage sourcePage = htmlTranslator.getPage(); return sourcePage.getSymbols(HeaderLine.symbolType); }
String getHtmlFor(String input) { SourcePage page = new DummySourcePage(); Symbol list = Parser.make(new ParsingPage(page), input).parse(); return new HtmlTranslator(page, new ParsingPage(page)).translateTree(list); }
@Override public String toTarget(Translator translator, Symbol symbol) { String body = translator.translate(symbol.childAt(0)); Maybe<String> formatLocale = Maybe.noString; if(translator instanceof HtmlTranslator){ formatLocale = ((HtmlTranslator) translator).getParsingPage().findVariable("FORMAT_LOCALE"); } Maybe<String> result = new FormattedExpression(body, formatLocale).evaluate(); if (result.isNothing()) return translator.formatMessage(result.because()); return result.getValue(); } }
String getHtmlFor(String input) { SourcePage page = new DummySourcePage(); Symbol list = Parser.make(new ParsingPage(page), input).parse(); return new HtmlTranslator(page, new ParsingPage(page)).translateTree(list); }
@Override public String toTarget(Translator translator, Symbol symbol) { String body = translator.translate(symbol.childAt(0)); Maybe<String> formatLocale = Maybe.noString; if(translator instanceof HtmlTranslator){ formatLocale = ((HtmlTranslator) translator).getParsingPage().findVariable("FORMAT_LOCALE"); } Maybe<String> result = new FormattedExpression(body, formatLocale).evaluate(); if (result.isNothing()) return translator.formatMessage(result.because()); return result.getValue(); } }
@Override public String getHtml() { // -AJM- Okay, this is not as clean as I'd like it to be, but for now it does the trick if (containsWikitext()) { String content = getDecoratedContent(); ParsingPage parsingPage = BaseWikitextPage.makeParsingPage((BaseWikitextPage) sourcePage); Symbol syntaxTree = Parser.make(parsingPage, content).parse(); return new HtmlTranslator(new WikiSourcePage(sourcePage), parsingPage).translateTree(syntaxTree); } else { return sourcePage.getHtml(); } }
@Override public String toTarget(Translator translator, Symbol symbol) { if (symbol.childAt(0).childAt(0).isType(WikiWord.symbolType)) return translator.translate(symbol.childAt(0)); String linkBody = translator.translate(symbol.childAt(0)); String linkReferenceString = HtmlUtil.unescapeHTML(translator.translate(symbol.childAt(1))); ParsingPage parsingPage = ((HtmlTranslator)translator).getParsingPage(); Symbol linkReference = Parser.make(parsingPage, linkReferenceString).parseToIgnoreFirst(Comment.symbolType); if (linkReference.childAt(0).isType(WikiWord.symbolType) || (linkReference.getChildren().size() == 1 && PathParser.isWikiPath(linkReference.childAt(0).getContent()))) { return new WikiWordBuilder(translator.getPage(), linkReference.childAt(0).getContent(), linkBody) .buildLink(translator.translate(linkReference.childrenAfter(0)), linkBody); } HtmlTag alias = new HtmlTag("a", linkBody); if (linkReference.childAt(0).isType(Link.symbolType)) { alias.addAttribute("href", linkReferenceString.startsWith("http://files/") ? linkReferenceString.substring(7) : linkReferenceString); } else { alias.addAttribute("href", translator.translate(linkReference)); } return alias.htmlInline(); } }
@Override public String getHtml() { // -AJM- Okay, this is not as clean as I'd like it to be, but for now it does the trick if (containsWikitext()) { String content = getDecoratedContent(); ParsingPage parsingPage = BaseWikitextPage.makeParsingPage((BaseWikitextPage) sourcePage); Symbol syntaxTree = Parser.make(parsingPage, content).parse(); return new HtmlTranslator(new WikiSourcePage(sourcePage), parsingPage).translateTree(syntaxTree); } else { return sourcePage.getHtml(); } }
@Override public String toTarget(Translator translator, Symbol symbol) { if (symbol.childAt(0).childAt(0).isType(WikiWord.symbolType)) return translator.translate(symbol.childAt(0)); String linkBody = translator.translate(symbol.childAt(0)); String linkReferenceString = HtmlUtil.unescapeHTML(translator.translate(symbol.childAt(1))); ParsingPage parsingPage = ((HtmlTranslator)translator).getParsingPage(); Symbol linkReference = Parser.make(parsingPage, linkReferenceString).parseToIgnoreFirst(Comment.symbolType); if (linkReference.childAt(0).isType(WikiWord.symbolType) || (linkReference.getChildren().size() == 1 && PathParser.isWikiPath(linkReference.childAt(0).getContent()))) { return new WikiWordBuilder(translator.getPage(), linkReference.childAt(0).getContent(), linkBody) .buildLink(translator.translate(linkReference.childrenAfter(0)), linkBody); } HtmlTag alias = new HtmlTag("a", linkBody); if (linkReference.childAt(0).isType(Link.symbolType)) { alias.addAttribute("href", linkReferenceString.startsWith("http://files/") ? linkReferenceString.substring(7) : linkReferenceString); } else { alias.addAttribute("href", translator.translate(linkReference)); } return alias.htmlInline(); } }