Skip to content

Instantly share code, notes, and snippets.

@loddar
Last active July 1, 2016 16:40
Show Gist options
  • Save loddar/05db6aa22972adf81babaad59a6b6136 to your computer and use it in GitHub Desktop.
Save loddar/05db6aa22972adf81babaad59a6b6136 to your computer and use it in GitHub Desktop.
Hello World Example for the MarkdownTaglet.
package mdtaglets;
import ch.raffael.doclets.pegdown.mdtaglet.MarkdownTaglet;
import ch.raffael.doclets.pegdown.mdtaglet.MarkdownTagletBase;
import org.apache.commons.lang3.StringUtils;
import java.util.List;
/**
* # HelloTaglet is a sample {@link MarkdownTaglet}.
*
* It's say Hello in English (language='EN') or Ciao in Italian (language='IT') to the people in the argument list.
*/
@SuppressWarnings("unused")
public final class HelloTaglet extends MarkdownTagletBase {
private String language="EN";
public HelloTaglet() {
}
private HelloTaglet(String language) {
this.language = language;
}
@Override
public String getName() {
return "hello";
}
@Override
public MarkdownTaglet createNewInstance() {
return new HelloTaglet(this.language);
}
/**
* Set the (default) language with -mdt-hello-lang IT.
*/
@Option("hello-lang")
public void setDefaultLanguage(String language) {
this.language = language;
}
@Override
public String render(List<String> argumentList) throws Exception {
return "_" + sayHelloTo(argumentList) + "_";
}
private String sayHelloTo(List<String> argumentList) {
final String audience = " " + StringUtils.join(argumentList, ", ");
switch(language) {
case "IT": return "Ciao" + audience;
}
return "Hello" + audience;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment