@Component(role=Parser.class, hint="markdown") public class MarkdownParser extends XhtmlParser
Parser
for Markdown documents.
Defers parsing to the PegDown library.AbstractXmlParser.CachedFileEntityResolver
Modifier and Type | Field and Description |
---|---|
protected static org.pegdown.PegDownProcessor |
PEGDOWN_PROCESSOR
The
PegDownProcessor used to convert Pegdown documents to HTML. |
static String |
ROLE_HINT
The role hint for the
MarkdownParser Plexus component. |
XHTML_NAMESPACE, XHTML_TRANSITIONAL_PUBLIC_ID, XHTML_TRANSITIONAL_SYSTEM_ID
A, ABBR, ACRONYM, ADDRESS, APPLET, AREA, B, BASE, BASEFONT, BDO, BIG, BLOCKQUOTE, BODY, BR, BUTTON, CAPTION, CDATA_TYPE, CENTER, CITE, CODE, COL, COLGROUP, DD, DEL, DFN, DIR, DIV, DL, DT, EM, ENTITY_TYPE, FIELDSET, FONT, FORM, FRAME, FRAMESET, H1, H2, H3, H4, H5, H6, HEAD, HR, HTML, I, IFRAME, IMG, INPUT, INS, ISINDEX, KBD, LABEL, LEGEND, LI, LINK, MAP, MENU, META, NOFRAMES, NOSCRIPT, OBJECT, OL, OPTGROUP, OPTION, P, PARAM, PRE, Q, S, SAMP, SCRIPT, SELECT, SMALL, SPAN, STRIKE, STRONG, STYLE, SUB, SUP, TABLE, TAG_TYPE_END, TAG_TYPE_SIMPLE, TAG_TYPE_START, TBODY, TD, TEXTAREA, TFOOT, TH, THEAD, TITLE, TR, TT, U, UL, VAR
BANG, CDATA, DOCTYPE_START, ENTITY_START, XML_NAMESPACE
COLON, EOL, EQUAL, GREATER_THAN, LEFT_CURLY_BRACKET, LEFT_SQUARE_BRACKET, LESS_THAN, MINUS, PLUS, QUOTE, RIGHT_CURLY_BRACKET, RIGHT_SQUARE_BRACKET, SEMICOLON, SLASH, SPACE, STAR
ROLE, TXT_TYPE, UNKNOWN_TYPE, XML_TYPE
Constructor and Description |
---|
MarkdownParser() |
Modifier and Type | Method and Description |
---|---|
protected boolean |
baseEndTag(org.codehaus.plexus.util.xml.pull.XmlPullParser parser,
Sink sink)
Goes through a common list of possible html end tags.
|
protected boolean |
baseStartTag(org.codehaus.plexus.util.xml.pull.XmlPullParser parser,
Sink sink)
Goes through a common list of possible html start tags.
|
static boolean |
isHtmlComment(org.pegdown.ast.Node node) |
static String |
nodeText(org.pegdown.ast.Node node) |
void |
parse(Reader source,
Sink sink)
Parses the given source model and emits Doxia events into the given sink.
|
handleEndTag, handleStartTag, init
consecutiveSections, getSectionLevel, handleCdsect, handleComment, handleText, initXmlParser, isScriptBlock, isVerbatim, setSectionLevel, validAnchor, verbatim_, verbatim
getAttributesFromParser, getLocalEntities, getText, getType, handleEntity, handleUnknown, isCollapsibleWhitespace, isIgnorableWhitespace, isTrimmableWhitespace, isValidate, parse, setCollapsibleWhitespace, setIgnorableWhitespace, setTrimmableWhitespace, setValidate
doxiaVersion, enableLogging, executeMacro, getBasedir, getLog, getMacroManager, isSecondParsing, setSecondParsing
public static final String ROLE_HINT
MarkdownParser
Plexus component.protected static final org.pegdown.PegDownProcessor PEGDOWN_PROCESSOR
PegDownProcessor
used to convert Pegdown documents to HTML.public MarkdownParser()
public void parse(Reader source, Sink sink) throws ParseException
parse
in interface Parser
parse
in class XhtmlBaseParser
source
- not null reader that provides the source document.
You could use newReader
methods from ReaderFactory
.sink
- A sink that consumes the Doxia events.ParseException
- if the model could not be parsed.public static boolean isHtmlComment(org.pegdown.ast.Node node)
protected boolean baseEndTag(org.codehaus.plexus.util.xml.pull.XmlPullParser parser, Sink sink)
XhtmlBaseParser
Goes through a common list of possible html end tags.
These should be re-usable by different xhtml-based parsers.
The tags handled here are the same as for XhtmlBaseParser.baseStartTag(XmlPullParser,Sink)
,
except for the empty elements (<br/>, <hr/>, <img/>
).
baseEndTag
in class XhtmlBaseParser
parser
- A parser.sink
- the sink to receive the events.protected boolean baseStartTag(org.codehaus.plexus.util.xml.pull.XmlPullParser parser, Sink sink)
XhtmlBaseParser
Goes through a common list of possible html start tags. These include only tags that can go into the body of a xhtml document and so should be re-usable by different xhtml-based parsers.
The currently handled tags are:
<h2>, <h3>, <h4>, <h5>, <h6>, <p>, <pre>,
<ul>, <ol>, <li>, <dl>, <dt>, <dd>, <b>, <strong>,
<i>, <em>, <code>, <samp>, <tt>, <a>, <table>, <tr>,
<th>, <td>, <caption>, <br/>, <hr/>, <img/>.
baseStartTag
in class XhtmlBaseParser
parser
- A parser.sink
- the sink to receive the events.Copyright © 2005–2014 The Apache Software Foundation. All rights reserved.