All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- markdown: Add
WithListIndentStyle
option to control how blocks inside list items are indented. - cli: Add
-list-indent-style
flag to control this option from the CLI.
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 |
- 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.
- Deleted
markdownfmt.NewParser
. If you need this, usemarkdownfmt.NewGoldmark
to get agoldmark.Markdown
and extract the parser from that.
- 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.
- Fix formatting of whitespace in code blocks.
- Retain start positions for ordered lists.
- Significant performance improvements to rendering.
- Support autolinks, task check lists, and attribute lists.
- Add opt-in for setext-style headers (
===
,---
).
- Ignore errors in reformatting Go code.
- Use ATX-style (
#
) headers only.
- Support multiple words for info strings in fenced code blocks.
- Fix panic on code using unsupported Markdown extensions.
- Initial release using goldmark instead of blackfriday.