v3.0.0
This is a new major release. You can install it using the module path: github.com/Kunde21/markdownfmt/v3.
Note that we moved some packages in this release. The import paths for different components are now:
Component | Old import path | New import path |
---|---|---|
CLI | github.com/Kunde21/markdownfmt/v2 | github.com/Kunde21/markdownfmt/v3/cmd/markdownfmt |
markdownfmt | github.com/Kunde21/markdownfmt/v2/markdownfmt | github.com/Kunde21/markdownfmt/v3 |
markdown | github.com/Kunde21/markdownfmt/v2/markdown | github.com/Kunde21/markdownfmt/v3/markdown |
Added
- Support raw HTML blocks.
- Add
WithSoftWraps
to retain soft line breaks. - Add
WithCodeFormatters
to supply custom formatters for code blocks, and aGoCodeFormatter
built-in formatter. - Add
WithEmphasisToken
andWithStrongToken
to change the tokens used for bold and italic text. markdownfmt
CLI: Add-gofmt
flag to enable reformatting of Go source code.
Removed
- Deleted
markdownfmt.NewParser
. If you need this, usemarkdownfmt.NewGoldmark
to get agoldmark.Markdown
and extract the parser from that.
Changed
- Move
markdownfmt
CLI to cmd/markdownfmt. - Move
markdownfmt
package to module root. - Change module import path to github.com/Kunde21/markdownfmt/v3.
- Don't modify code inside fenced code by default. Supply the
WithCodeFormatters
option to theRenderer
to enable reformatting of source code. markdownfmt
CLI: Don't shell out todiff
in-d
mode.markdownfmt
CLI: Don't reformat Go source code inside fenced code blocks. Opt into this functionality with the-gofmt
flag.Renderer.AddOptions
is no longer a no-op. It now extracts and applies Markdown-specific options from the provided list.
Fixed
- Fix formatting of whitespace in code blocks.
- Retain start positions for ordered lists.
- Significant performance improvements to rendering.