Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Kunde21/markdownfmt
Like gofmt, but for Markdown.
https://github.com/Kunde21/markdownfmt
Last synced: 18 days ago
JSON representation
Like gofmt, but for Markdown.
- Host: GitHub
- URL: https://github.com/Kunde21/markdownfmt
- Owner: Kunde21
- License: mit
- Created: 2018-02-12T17:24:22.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-02-16T13:16:10.000Z (almost 2 years ago)
- Last Synced: 2024-10-27T12:45:19.801Z (24 days ago)
- Language: Go
- Homepage:
- Size: 230 KB
- Stars: 55
- Watchers: 6
- Forks: 7
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# markdownfmt
[![Build Status](https://github.com/Kunde21/markdownfmt/actions/workflows/go.yml/badge.svg?query=branch%3Amaster)](https://github.com/Kunde21/markdownfmt/actions/workflows/go.yml?query=branch%3Amaster) [![Go Reference](https://pkg.go.dev/badge/github.com/Kunde21/markdownfmt/v3.svg)](https://pkg.go.dev/github.com/Kunde21/markdownfmt/v3)
markdownfmt is a CLI that reformats Markdown files (like `gofmt` but for Markdown) and a library that you can use to generate well-formed Markdown files.
**Features**
- Full [GitHub Flavored markdown](https://github.github.com/gfm) support
- Fenced Code Blocks with longer info strings (see [shurcooL#58](https://github.com/shurcooL/markdownfmt/issues/58))
- ATX-style headers (`#`, `##`) by default## Installation
### CLI
```bash
go install github.com/Kunde21/markdownfmt/v3/cmd/markdownfmt@latest
```### Library
```bash
go get github.com/Kunde21/markdownfmt/v3@latest
```## Usage
```
usage: markdownfmt [flags] [path ...]
-d display diffs instead of rewriting files
-gofmt
reformat Go source inside fenced code blocks
-l list files whose formatting differs from markdownfmt's
-list-indent-style value
style for indenting items inside lists ("aligned" or "uniform")
-soft-wraps
wrap lines even on soft line breaks
-u write underline headings instead of hashes for levels 1 and 2
-w write result to (source) file instead of stdout
```The markdownfmt CLI supports the following execution modes:
* stdout: Write reformatted contents of provided files to stdout. This is the default.
* write (`-w`): Reformat and rewrite Markdown files in-place.
* list (`-l`): List files that would be modified, but don't change them.
* diff (`-d`): Display a diff of modifications that would be made to files, but don't change them.## History
markdownfmt began as a fork of [shurcooL/markdownfmt](https://github.com/shurcooL/markdownfmt) targeting [Goldmark](https://github.com/yuin/goldmark) instead of [Blackfriday](https://github.com/russross/blackfriday). It has since diverged significantly.
## Related projects
* [shurcooL/markdownfmt](https://github.com/shurcooL/markdownfmt): The project that this forked from.
* [mdox](https://github.com/bwplotka/mdox/): Builds upon markdownfmt. Adds support for link validation, command execution, and more.### Editor Plugins
- [vim-markdownfmt](https://github.com/moorereason/vim-markdownfmt) for Vim.
- [emacs-markdownfmt](https://github.com/nlamirault/emacs-markdownfmt) for Emacs.
- Built-in in Conception.
- [markdown-format](https://atom.io/packages/markdown-format) for Atom (deprecated).
- Add a plugin for your favorite editor here?### Alternatives
- [`mdfmt`](https://github.com/moorereason/mdfmt) - Fork of `markdownfmt` that adds front matter support.
- [`tidy-markdown`](https://github.com/slang800/tidy-markdown) - Project with similar goals, but written in JS and based on a slightly different [styleguide](https://github.com/slang800/markdown-styleguide).## License
[MIT License](https://opensource.org/licenses/mit-license.php)