Details
-
Task
-
Resolution: Fixed
-
Major
-
8.4.3
-
None
Description
See https://github.com/vsch/flexmark-java/blob/master/VERSION.md
0.27.0 ------ * [ ] Fix: superscript is now allowed without regard for surrounding characters. The markers are rare enough in text not to warrant concern. If you don't want it treated as special, escape it. * [ ] Add: `DocxRenderer` options: * [ ] `TABLE_WIDTH_TYPE` and `TABLE_WIDTH_VALUE` for table width control * [ ] `BULLET_LIST_NUM_ID` and `ORDERED_LIST_NUM_ID` for list style ids * [ ] Add: default link resolvers to handle `URL` relative paths and file system relative paths * [ ] Add: Base64 image embedding in `HtmlRenderer` as an option with images processed by a handler. * [ ] Add: finish missing elements from docx converter * [x] Tables * [ ] Footnootes * [ ] Table of Contents * [x] multiple header rows, column spans, markdown alignments * [x] Table captions are not yet supported by docx4j API. Captions are converted to "TableCaption" styled paragraphs if `DocxRenderer.TABLE_CAPTION_TO_PARAGRAPH` is set to `true`, which it is by default. `DocxRenderer.TABLE_CAPTION_BEFORE_TABLE`, default `false`, when set to `true` the caption is inserted before the table. * [x] Ordered and unordered lists * [x] restart numbering on a short to do list * [x] Links * [x] Images * [x] Images get embedded into the document, even remote ones (using http: or https: links) * [x] Max Image width property available in options * [x] Inline Code * [x] Fenced Code * [x] Block Quotes * [x] Strike-through, Subscript, Superscript, Underline (Ins) text * [x] Paragraph * [x] Headings * [x] Bold and italic text * Fix: add `<strike>` to HTML Parser as equivalent to `<del>` for OfficeLibre compatibility * Fix: HTML to Markdown conversion should treat text wrapped in `<div>` as having an EOL at the end of the div to keep the text on separate lines. * API Change: `NodeRendererContext` parameter for `LinkResolver` and `LinkResolverFactory` was changed to `LinkResolverContext` to allow for non-html renderer usage of link resolvers (DocX Converter). Methods that did not relate to HTMLRendering are now part of the link resolver context. The rest are not accessible. If you have an issue with the change please open an issue. * Add: `flexmark-docx-converter` module to render Markdown documents to docx using docx4j API. * Add: `Parser.LISTS_ITEM_CONTENT_AFTER_SUFFIX`, default `false`, set to `true` to treat the item suffix as part of the list item marker after which the content begins for indentation purposes. Gfm Task List uses the default setting. * Fix: complete conditional indent/border style propagation from parent to child based on parent and child types. Some child types already incorporate their parent's indentation such as list item styles and manually propagated indents for `Quotations` style. * Add: Numbering definitions: 1 - heading, 2 - bullet lists, 3 - ordered lists, 4 - bullet lists in block quotes, 5 - ordered lists in block quotes 0.26.6 ------ * Fix: Source Line based position HTML rendering would break links with text spanning multiple lines. 0.26.4 ------ * Fix: #146, Formatter missing blank line after HTML blocks. General formatter issue if `Parser.BLANK_LINES_IN_AST` was false. Affected elements: * Abbreviations * Definitions * Html Blocks * Lists * Fix: `Node.segmentSpanChars(StringBuilder, int, int, String, String, String, String)` would not output the segment if `startOffset >= endOffset`, which would be the case if the node's segment was replaced with a string. Now dumping the AST using `AstCollectingVisitor` will reflect replaced segments. 0.26.2 ------ * Fix: #143, FlexmarkHtmlParser builders not static, merged #144, Update FlexmarkHtmlParser.java * Fix: make html parser instance re-usable, now resets state for each parse invocation 0.26.0 ------ * Fix: Update parser to CommonMark Spec 0.28, the only effect on parsing is: * `***foo***` is now parsed as `italic(bold(foo))` whereas previously it was `bold(italic(foo))`. Use `ParserEmulationProfile.COMMONMARK_0_27` or just set the `Parser.STRONG_WRAPS_EMPHASIS` to `true` to get old parsing behaviour. * Matched Nested parentheses in link URLs now do not need to be escaped. `[foo](fun(bar))` will now be parsed as a link, previously it would be a `[foo]` reference followed by text `(fun(bar))`. Use `ParserEmulationProfile.COMMONMARK_0_27` or just set the `Parser.LINKS_ALLOW_MATCHED_PARENTHESES` to `false` to get old parsing behaviour. * Add: profiles for `COMMONMARK_0_26`, `COMMONMARK_0_27`, `COMMONMARK_0_28`, with `COMMONMARK` defaulting to the most recent implemented spec: 0.28 for now. The 0.26 profile only differs from the 0.27 by using double blank lines to terminate lists. Delimiter parsing is not downgraded from 0.27 * Add: spec tests for 0.27 and 0.28 which use the version specific emulation profiles. 0.24.0 ------ * API Change: add node renderer API for delegating rendering to previously registered node renderer stack, allowing partial node rendering customizations with non-customized rendering passed to previous renderer. * `NodeRendererContext.delegateRender()` to delegate current node rendering to previously registered handler for the current node. Should only be called from handler's `render()` method. If there is no renderer to which to delegate then the node will not be rendered. * `NodeRendererContext.getDelegatedSubContext(Appendable, boolean)` to get a sub-context to be used in delegated rendering, this context inherits current node rendering handler and node information needed for `delegateRender()` method. * Added `DelegatingNodeRendererFactory` which should be implemented by custom renderers which rely on delegating some rendering of their nodes to existing renderers. It provides a set of `NodeRendererFactory` classes to which this renderer may delegate to provide a controlled ordering of renderers independent of registration order. 0.22.24 ------- * Fix: remove `flexmark-ext-spec-example` module from `flexmark-profile-pegdown` dependencies because it isn't used and caused junit to be included in runtime scope. 0.22.22 ------- * Fix: remove `flexmark-ext-spec-example` module from `flexmark-all` dependencies because it would cause junit to be included in runtime scope. 0.22.20 ------- * Change: refactor link and reference nodes for common access to url, pageref, anchor and title fields. Also add convenience `Node.getSegmentsForChars()` which returns only sequences which when appended into `SegmentedSequence` will result in the chars for the node. * Add: sample for url change in AST and output via formatter: [FormatterWithMods.java](https://github.com/vsch/flexmark-java/blob/master/flexmark-java-samples/src/com/vladsch/flexmark/samples/FormatterWithMods.java) * Fix: #138, HTML to Markdown converter missing list end for two consecutive lists * Add: `FlexmarkHtmlParser.LISTS_END_ON_DOUBLE_BLANK` default `false`, when set to `true` consecutive lists are separated by double blank line, otherwise by an empty HTML comment line. 0.22.18 ------- * Change: when `Parser.CODE_SOFT_LINE_BREAKS` is `true` and `HtmlRenderer.SOFT_BREAK` is not all spaces or tabs then inline code will render soft line breaks as per `HtmlRenderer.SOFT_BREAK` definition. A side-effect of this is white-space collapsing only occurs for inline code line segments. * Change: add `Parser.CODE_BLOCK_INDENT` defaults to value of `Parser.LISTS_ITEM_INDENT`, allows for separate control of indented block setting from list item settings. 0.22.16 ------- * Fix: #133, The pom.xml file's url should be update * Add: extra wiki link tests for combination with `TypographicExtension` * Fix: escaped HTML blocks should be wrapped in `<p>...</p>` * Fix: allow `Document.getLineNumber(int offset)` to return line number when `Parser.TRACK_DOCUMENT_LINES` is false, less efficient because it counts EOL in document char sequence. Useful when line number is needed for error reporting without incurring storage overhead of storing individual line character sequences. 0.22.14 ------- * Fix: potential exception when generating source position in HTML for individual lines * Add: `Parser.TRACK_DOCUMENT_LINES` default `false`. When `true` document lines are tracked in the document's `lineSegments` list and offset to line method can be used to get the 0-based line number for the given offset. When `false` these functions return `0`. * Add: line number API functions to `Node` and `Document`, set`Parser.TRACK_DOCUMENT_LINES` to true to have these functions return other than 0. * `Node.getLineNumber()` and `Node.getStartLineNumber()` returns 0-based line number for node's start offset. * `Node.getEndLineNumber()` returns 0-based line number for node's end offset - 1. * `Document.getLineCount()` returns number of lines in the document * `Document.getLineNumber(int offset)` returns 0-based line number for the given offset or `Document.getLineCount()` if offset is outside the document text range. 0.22.12 ------- * Add: `GfmUsersExtension` to parse Gfm style user refs `@user-name` * Add: `GfmIssuesExtension` to parse Gfm style issue refs `#123` 0.22.10 ------- * Add: `Parser.INLINE_DELIMITER_DIRECTIONAL_PUNCTUATIONS` default `false`, when `true` allows delimiters to start after opening brackets `([{<` and end after closing brackets `)}]>` without needing to have whitespace characters on the other side of delimiter. Currently `aa**foo**aa` will parse bold but `aa**foo()**aa` will not because bracket direction is not taken into account. With above option set to `true` the second case will also parse bold but `aa**foo(**aa` and `aa**)foo**aa` will not. * Add: `FlexmarkHtmlParser.PRE_CODE_PRESERVE_EMPHASIS`, default `false`. When `true` will preserve inline emphasis tags (`<strong>`, `<em>`, `<del>`, `<ins>`, `<sub>`, `<sup>`) and convert them to markdown syntax inside `<pre><code>` HTML blocks. Otherwise will strip these out of generated markdown. <pre><code class="html"><div> <strong>test</strong> </div> </code></pre> By default will strip out emphasis and convert to: ```html <div> test </div> ``` With option set to true will preserve emphasis and convert to: ```html <div> **test** </div> ``` 0.22.8 ------ * Add: `TablesExtension.MIN_SEPARATOR_DASHES` to control how many dashes minimum before separator column is recognized as a table separator. 0.22.6 ------ * Add: parser family specific HTML block test cases * Add `Parser.HTML_BLOCK_DEEP_PARSE_INDENTED_CODE_INTERRUPTS` default `false`, when `true` Indented code can interrupt HTML block without a preceding blank line. 0.22.4 ------ * Add: `ParserEmulationProfile.PEGDOWN_STRICT` profile to emulate HTML block parsing according to pegdown rules. `ParserEmulationProfile.PEGDOWN` uses less strict HTML block parsing which will end an HTML block on a blank line. * Add: `Parser.HTML_BLOCK_DEEP_PARSE_FIRST_OPEN_TAG_ON_ONE_LINE` to not parse open tags unless they are contained on one line. Parsers like MultiMarkdown 6.0 more compatible with this mode on. * Add: html deep block parsing for non-commonmark parsers. Need to add HTML block parsing tests to parser emulation family tests. * API Change: `BlockParser.isRawText()` used for interruptible blocks, when this method returns `true` then indenting spaces are passed to the block. Used by `HtmlBlockParser` to keep indents on continuation lines that could be interrupted by another markdown element. * Fix: add optional tag logic to `HtmlDeepParser` so that optional end tags when omitted do not cause nesting of tags as per [8.1.2.4. Optional tags](https://www.w3.org/TR/html51/syntax.html#optional-tags) 0.22.2 ------ * Fix: Deep HTML parser double parsing the first line of the HTML 0.22.0 ------ * API Change: remove `tagOpened` and `tagClosed` from `HtmlFormattingAppendable`. These methods are part of implementation. Moved `HtmlFormattingAppendableBase` and made `protected`. * API Change: add `BlockParser.isInterruptible()` and `BlockParser.canInterruptBy(BlockParserFactory)` to allow block parser control over which blocks can interrupt them. * Add: `HtmlDeepParser` class to handle chunkwise parsing of HTML blocks to allow better HTML block parsing behaviour and pegdown compatibility. * `Parser.HTML_BLOCK_DEEP_PARSER` default `false` - enable deep HTML block parsing * `Parser.HTML_BLOCK_DEEP_PARSE_NON_BLOCK` default 'true', parse non-block tags inside HTML blocks * `Parser.HTML_BLOCK_DEEP_PARSE_BLANK_LINE_INTERRUPTS` default `true`, when true Blank line interrupts HTML block when not in raw tag, otherwise only when closed * `Parser.HTML_BLOCK_DEEP_PARSE_MARKDOWN_INTERRUPTS_CLOSED` default false, when true Other markdown elements can interrupt a closed HTML block without an intervening blank line * `Parser.HTML_BLOCK_DEEP_PARSE_BLANK_LINE_INTERRUPTS_PARTIAL_TAG` default true, when true blank line interrupts partially open tag ie. `<TAG` without a corresponding `>` and having a blank line before `>` * Fix: `ParserEmulationProfile.PEGDOWN` now will do deep HTML parsing by default with greater pegdown compatibility. 0.21.0 ------ * API Change: add open tag tracking to `HtmlFormattingAppendable` to allow generating correct HTML when generating src line position `span` wrapping of individual paragraph lines public Stack<String> getOpenTags(); public List<String> getOpenTagsAfterLast(CharSequence latestTag); public void tagOpened(CharSequence tagName); public void tagClosed(CharSequence tagName); * Add: `Parser.CODE_SOFT_LINE_BREAKS` to generate `SoftLineBreak` nodes inside `Code` nodes. Needed when generating line based src pos and inline code spans lines. * Fix: src line position information rendering now properly closes and re-opens any inline tags spanning lines of source. * Fix: when src line position option is enabled, inline tags no longer contain source position since they are wrapped in `<span>` tags with line source position. * Fix: add src position information to superscript, insert nodes. 0.20.2 ------ * Fix: #120, Fixed Indent mode always has the last list item as tight. Fixed Spaces parsing ignores blank line after last list item and does not check if previous item is loose either. Making it impossible to make the last item loose. Added new `Parser.LISTS_LOOSE_WHEN_LAST_ITEM_PREV_HAS_TRAILING_BLANK_LINE`, default `false`. When true the last item in a list will be loose if previous item has a trailing blank line. `ParserEmulationProfile.FIXED_INDENT` to allow last item to be loose. 0.20.0 ------ * API Change: #117, Add target attribute support to ResolvedLink and updates to the associated core renderer code. Now `LinkResolver` can also set any attribute of the link via `ResolvedLink.getAttributes()` and `ResolvedLink.getNonNullAttributes()` methods and manipulate the desired attributes of the link. 0.19.8 ------ * Fix: #112, Potential bug: Node.getChildOfType always returns null unless parent is an instance of the desired class. Affected some list parsing in Old Gfm compatibility, which were bugs. 0.19.6 ------ * Fix: #109, Image Ref missing title tag in rendered HTML, this bug also affects title tag of link ref elements. * Fix: assertion error in `ImageRef` rendering. 0.19.5 ------ * Add: `Parser.SPACE_IN_LINK_ELEMENTS`, default `false`, to allow whitespace between `![]` or `[]` and `()` of links or images. * Add: `Parser.SPACE_IN_LINK_ELEMENTS` setting to `true` when pegdown profile is selected. 0.19.4 ------ * Add: `LinkType.LINK_REF`, `LinkType.IMAGE_REF` and `ResolvedLink.getTitle()` to allow link resolvers to specify/modify link title and also to allow link resolvers to provide url and title for unresolved `LinkRef` and `ImageRef` nodes. 0.19.3 ------ * Fix: index out of bounds exception in `flexmark-ext-escaped-character` processing elements embedded in other elements with prefix text removed. * Fix: `flexmark-ext-escaped-character` erroneously processing fenced code content * Fix: change `ReplacedTextMapper` original range to base range and add real original offset range. Otherwise processing `SegmentedSequence` would be wrong and cause index out of bounds exceptions. * Fix: `flexmark-ext-autolink` erroneously processing fenced code content 0.19.2 ------ * Fix: Formatter lost `SimTocBlock` element line spacer and other blank line formatting in the sim toc content 0.19.1 ------ * Fix: #97, Use UnsupportedOperationException 0.19.0 ------ * Fix: #93, Adding TextCollectingVisitor class handlers * Change: add `Parser.FENCED_CODE_BLOCK_PARSER` as replacement for `Parser.CODE_CONTENT_BLOCK` with the latter marked as deprecated. * API Change: add child `Text` nodes to `Code` and `FencedCodeBlock` that contain the text of the element. NOTE: text node is only added to `FencedCodeBlock` if `Parser.FENCED_CODE_CONTENT_BLOCK` is `false`, otherwise `CodeContent` block is used. 0.18.9 ------ * Add: #86, how can use definition extension correctly ?, definition item spaced two or more blank lines from previous element when `DefinitionExtension.DOUBLE_BLANK_LINE_BREAKS_LIST` is true to not parse as definition item. 0.18.8 ------ * Fix: #86, how can use definition extension correctly ? * Add: `DefinitionExtension.DOUBLE_BLANK_LINE_BREAKS_LIST`, default false. When true double blank line between definition item and next definition term will break a definition list. 0.18.7 ------ * Fix: #91, DocumentParser Exception on Empty Documents 0.18.6 ------ * Add: vararg argument to `PegdownOptionsAdapter.getFlexmarkOptions(Extension[])` and `PegdownOptionsAdapter.flexmarkOptions(int, Extension[])` for additional extensions to add. * Add: helper functions to `Parser.addExtensions(MutableDataHolder, Extension[])` and `Parser.removeExtensions(MutableDataHolder, Extension[])` * Fix: IndexOutOfBoundsException on paragraph pre-processing under some conditions 0.18.5 ------ * Fix: #83, Question: is there any way to keep every html entities as-is?, add `HtmlRenderer.UNESCAPE_HTML_ENTITIES`, default `true`. Set to `false` to leave HTML entities as is in the rendered HTML. 0.18.4 ------ * Add: `HtmlRenderer.HTML_BLOCK_OPEN_TAG_EOL` and `HtmlRenderer.HTML_BLOCK_CLOSE_TAG_EOL`, default `true`. When `false` will suppress EOL before/after HTML block tags which are automatically generated during html rendering. Used for doxia compatibility. 0.18.3 ------ * Add: #78, Space in link, option `Parser.SPACE_IN_LINK_URLS`, default `false`. When enabled will allow spaces in link address as long as they are not followed by a `"`, used to start the title of the link. Link address wrapped in `<>` will include any trailing spaces. Auto-links, wrapped or not in `<>` cannot have spaces. These require URL encoding the space with `%20`. 0.18.2 ------ * Fix: #76, HTML to Markdown hangs if comments included in Text nodes * Add: MS-Word generated HTML list basic recognition: `1.`, `1)`, `A.`, `A)`, `a.`, `a)`, `IV.`, `IV)`, `iv.`, `iv)` * Fix: MS-Excel generated HTML table parsing bug * Add: `FlexmarkHtmlParser.RENDER_COMMENTS`, default `false`. When set to true HTML comments will be rendered in the Markdown. * Add: `FlexmarkHtmlParser.DOT_ONLY_NUMERIC_LISTS`, default `true`. When set to false closing parenthesis as a list delimiter will be used in Markdown if present in MS-Word style list. Otherwise parenthesis delimited list will be converted to dot `.`. * Add: `DoNotLinkDecorate` interface to distinguish text decoration from link text decoration for flexibility. * Fix: `TypographicQuotes` and `TypographicSmarts` to not implement `DoNotDecorate` interface so `AbbreviationExtension` will text in quotes. * Fix: replace regex used for extracting HTML comments from HTML blocks to manual search. RegEx would go into an infinite loop on MS Word created HTML. 0.18.1 ------ * Fix: `TocExtension` and `SimTocExtension` to set `HtmlRenderer.GENERATE_HEADER_ID` to `true` and `HtmlRenderer.RENDER_HEADER_ID` to `true` if they are not already explicitly set. * Fix: HTML to Markdown converter to add a space after empty list items * Fix: #75, Incorrect footnote link. `\r\n` sequence was not properly recognized in `Parsing` patterns used by the parser, causing parsing discrepancies when EOL was not `\n` in many elements. 0.18.0 ------ * Fix: HTML to Markdown converter to not ignore text in lists which is not included in a list item but instead to put this text into a new list item. * API Change: add `DelimiterProcessor.canBeOpener(boolean, boolean, boolean, boolean, boolean, boolean)` and `DelimiterProcessor.canBeCloser(boolean, boolean, boolean, boolean, boolean, boolean)` to allow customization of when a delimiter can be an opener or closer. Default CommonMark does not work for `<<` and `>>` which can open and close anywhere. 0.17.4 ------ * Fix: #73, Can't nest code blocks in ordered list. GitHub Doc compatibility error in parsing fenced code nested in list items. 0.17.3 ------ * Fix: remove unused `flexmark-jira-parser` module from repo. * Fix: #72, Multiple angle quotes not being handled correctly 0.17.2 ------ * Fix: #70, parse failed for angle quotes if the end angle quote follows with a line feed or a carriage return. Actual error was in `flexmark-ext-typographic` in `QuoteDelimiterProcessorBase` not checking for sequence length. 0.17.1 ------ * Add: #69, Add options to allow changing the rendering of bold, italic and other styles with different tags. The following `String` options are defined that will override the wrapper used for the HTML of styles. :warning: both open and close values must be set to non-null values for the setting to take effect: * HtmlRenderer.STRONG_EMPHASIS_STYLE_HTML_OPEN * HtmlRenderer.STRONG_EMPHASIS_STYLE_HTML_CLOSE * HtmlRenderer.EMPHASIS_STYLE_HTML_OPEN * HtmlRenderer.EMPHASIS_STYLE_HTML_CLOSE * HtmlRenderer.CODE_STYLE_HTML_OPEN * HtmlRenderer.CODE_STYLE_HTML_CLOSE * InsExtension.INS_STYLE_HTML_OPEN * InsExtension.INS_STYLE_HTML_CLOSE * StrikethroughSubscriptExtension.STRIKETHROUGH_STYLE_HTML_OPEN * StrikethroughSubscriptExtension.STRIKETHROUGH_STYLE_HTML_CLOSE * StrikethroughSubscriptExtension.SUBSCRIPT_STYLE_HTML_OPEN * StrikethroughSubscriptExtension.SUBSCRIPT_STYLE_HTML_CLOSE * StrikethroughExtension.STRIKETHROUGH_STYLE_HTML_OPEN * StrikethroughExtension.STRIKETHROUGH_STYLE_HTML_CLOSE * SubscriptExtension.SUBSCRIPT_STYLE_HTML_OPEN * SubscriptExtension.SUBSCRIPT_STYLE_HTML_CLOSE * SuperscriptExtension.SUPERSCRIPT_STYLE_HTML_OPEN * SuperscriptExtension.SUPERSCRIPT_STYLE_HTML_CLOSE 0.17.0 ------ Change: language level 6 for source and byte code in attempt to get compatibility for Doxia. Code still requires JDK7 for BitSet functionality and `org.nibor.autolink` is JDK 1.7 bytecode level. So no success but the source is JDK 1.6. Add: `Parser.CODE_CONTENT_BLOCK`, default `false`. If set to true will create an AST `CodeBlock` node as a child node of `FencedCodeBlock` and `IndentedCodeBlock`. Allows custom rendering of `CodeBlock` content code while leaving rendering of fenced code and indented code blocks standard. Change: `PhasedNodeRenderer.renderDocument(NodeRendererContext, HtmlWriter, Document, RenderingPhase)` is now also called for `RenderingPhase.BODY` but no rendering should be done for this phase. All rendering for the body phase should be done through regular node renderer API. 0.16.1 ------ Fix: #67, Formatter with GitHubDoc emulation indented code of list items not indented enough Fix: #65, Add some comments to `Extension`, `Parser.ParserExtension`, `Parser.ReferenceHoldingExtension` and `HtmlRenderer.HtmlRendererExtension` 0.16.0 ------ API Change: To fix #66 it was necessary to add more parameters to `BlockParser.canContain(ParserState, BlockParser, Block)` to allow for more testing whether a fenced code block can be contained by a list item. Fix: #66, GitHub Doc profile incorrect parsing of following markdown 0.15.4 ------ Fix: #62, Autolinks extension for http:// and https:// links includes trailing spaces Fix: #60, Kramdown parser discrepancy for mismatched ordered/ unordered list items. Now if both `LISTS_ITEM_TYPE_MISMATCH_TO_NEW_LIST` and `LISTS_ITEM_TYPE_MISMATCH_TO_SUB_LIST` are set to true then a new list will be created if the item had a blank line, otherwise a sub-list is created. Change: `Kramdown` profile to set `LISTS_ITEM_TYPE_MISMATCH_TO_NEW_LIST` so that parsing of mismatched item type starts a new list. 0.15.3 ------ * Add: default class option for fenced code and indented code `HtmlRenderer.FENCED_CODE_NO_LANGUAGE_CLASS` which can be used to disable highlighting if info not specified for fenced code or in indented code. 0.15.2 ------ * Change: flexmark-parent renamed to flexmark-all 0.15.1 ------ * Fix: default gfm task list item to include ` ` spacer after input check box and add `readonly` attribute * Add: flexmark-parent artifact with classifier `lib` to create a jar with all core, extension and conversion modules 0.15.0 ------ * Add: PDF converter extension [Usage: PDF Output](https://github.com/vsch/flexmark-java/wiki/Usage#pdf-output) 0.14.0 ------ * Fix: Implement `TypographicExtension` to convert smarts and quotes conversion: * `'` to apostrophe `'` ’ * `...` and `. . .` to ellipsis `…` … * `--` en dash `–` – * `---` em dash `—` — * single quoted `'some text'` to `‘some text’` ‘some text’ * double quoted `"some text"` to `“some text”` “some text” * double angle quoted `<<some text>>` to `«some text»` «some text» * API Change: `DelimiterProcessor.unmatchedDelimiterNode(InlineParser, DelimiterRun)` method added to allow substituting unmatched delimiter text by another node. 0.13.7 ------ * Fix: #56, Pegdown HARDWRAPS option adds an additional line break when using trailing spaces * Add: test for pegdown HARDWRAPS extension. 0.13.6 ------ * Fix: #55, Indented Link Reference Definitions not parsed correctly 0.13.5 ------ * Fix: #54 when two spaces followed by \r\n would not parse as HARD break.