A markdown renderer package for the terminal

go-term-markdown

Build Status GoDoc Go Report Card codecov GitHub license Gitter chat

go-term-markdown is a go package implementing a Markdown renderer for the terminal.

Note: Markdown being originally designed to render as HTML, rendering in a terminal is occasionally challenging and some adaptation had to be made.

Features:

  • formatting
  • lists
  • tables
  • images
  • code blocks with syntax highlighting
  • basic HTML support

Note: this renderer is packaged as a standalone terminal viewer at https://github.com/MichaelMure/mdr/

Usage

import (
	"fmt"
	"io/ioutil"

	markdown "github.com/MichaelMure/go-term-markdown"
)

func main() {
	path := "Readme.md"
	source, err := ioutil.ReadFile(path)
	if err != nil {
		panic(err)
	}

	result := markdown.Render(string(source), 80, 6)

	fmt.Println(result)
}

Example

Here is the Readme of go-term-text rendered with go-term-markdown:

rendering example

Here is an example of table rendering:

table rendering

Origin

This package has been extracted from the git-bug project. As such, its aim is to support this project and not to provide an all-in-one solution. Contributions or full-on takeover as welcome though.

Contribute

PRs accepted.

License

MIT

Comments
  • build(deps): bump github.com/alecthomas/chroma from 0.7.1 to 0.8.0

    build(deps): bump github.com/alecthomas/chroma from 0.7.1 to 0.8.0

    Bumps github.com/alecthomas/chroma from 0.7.1 to 0.8.0.

    Release notes

    Sourced from github.com/alecthomas/chroma's releases.

    v0.8.0

    Changelog

    4da591c Use EnsureNL for go lexer e62d93f Add a timeout to regexes. 5756434 Add .editorconfig to ini lexer 391f301 Fix golangci-lint download bac6996 added curly braces to toml lexer 2b9ea60 Split PHP into two lexers - PHP and PHTML. 1150149 Fix TypeScript keywords 57c1bd9 Added pony lexer (#372) 500529f Minor fix for name constants 8785122 Additional fixes for placeholders 155bdea Update Caddyfile lexer to fix edgecases and improve colouring bd46305 Add Zig lexer 6896804 Add Caddyfile lexer (#363) ee4284b Add a Rules.Merge() helper function. 4065717 feat: support HTTP/2 in HTTP lexer 2612dee add yaml test cases for more bool types and multi-line flow scalars. 2b9c82d yaml parse multiline block scalars as single StringDoc 16bde86 yaml parse for all bool keyword constant variations 684c267 yaml parse plan scalar values as literals rather than text. 705c61c yaml parse --- and ... as NameNamespace 0d4fb38 yaml parse keys as NameTag rather than Keyword ec5955f Make single # on a line recognized as CommentSingle 8c4fe7e Add failing test case for single # in bash

    v0.7.3

    Changelog

    809ff9b Don't emit styles that are missing a class cc5e532 Add failing test for invalid css with allClasses 6b8ef36 Add ReasonML lexer 82f38b9 add gherkin lexer (#354) 80f4853 Improve performance of lexers.Get function (#351) 0da4bd1 Adds support for jsx blocks in typescript lexer 28041a8 Add YANG lexer (#348) 737b3a0 Update go modules

    v0.7.2

    Changelog

    cc53faa Add option to preserve all HTML classes. 937aba1 Fixes #344.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
  • build(deps): bump github.com/alecthomas/chroma from 0.7.1 to 0.8.2

    build(deps): bump github.com/alecthomas/chroma from 0.7.1 to 0.8.2

    Bumps github.com/alecthomas/chroma from 0.7.1 to 0.8.2.

    Release notes

    Sourced from github.com/alecthomas/chroma's releases.

    v0.8.2

    Changelog

    74f5402 Update table of supported languages 473ed23 Update table.py to write changes on README.md c788380 Minor code formatting changes using Black eb0e31f Add PromQL lexer 552ad24 Rust multi-line strings ab61726 Make linkeable lines a link to themselves 9eb358b Update Rust keywords/types (#419) 9b3cf51 zig: Detect visual separators in integer literals e3a674c Add base16-snazzy style 2735a5f Agh. d620d6e Only release on tagged versions. 95d002d CI fixes. a49e744 Spacing. 37ff05c Really. ee34bb8 Fix README? 05ac2f7 Revert "Zig: Detect visual separators in integer literals" 1701c8b Switch to Circle. d2a1cc4 Zig: Detect visual separators in integer literals 639fa3a JavaScript: String Single Character Escape Sequences (#415) 4453913 Rewote Lexer & Added Stylus Tests ab89a09 Added Stylus Language Support 225abae generate static binaries with goreleaser ef102ef Add poweron architecture ppc64le to travis build e79405b add *.env to bash lexer c88ec01 Add QML lexer 42e9638 Support comma in go template (e.g. for range) 6665753 Improved support for Go templates (#401)

    v0.8.1

    Changelog

    290ff86 yaml: block scalar multiline improvements. d65f279 yaml: inline comments after literals 2365845 Improve Elixir lexer based on Pygments 6d6e9cd Update the awk lexer to better support gawk fb0b720 Kotlin improvements around string interpolation, escaping, and generics (#392) 86ebaf3 Remove unintended changes aac3294 Fix regex from as? to as?; add one more test case for !== 8a54f9e add many operators to kotlin 8d0d2b8 Add more keywords to kotlin lexer 477ad4a Add await and async keywords to jsx and javascript

    v0.8.0

    Commits
    • 74f5402 Update table of supported languages
    • 473ed23 Update table.py to write changes on README.md
    • c788380 Minor code formatting changes using Black
    • eb0e31f Add PromQL lexer
    • 552ad24 Rust multi-line strings
    • ab61726 Make linkeable lines a link to themselves
    • 9eb358b Update Rust keywords/types (#419)
    • 9b3cf51 zig: Detect visual separators in integer literals
    • e3a674c Add base16-snazzy style
    • 2735a5f Agh.
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
  • build(deps): bump github.com/fatih/color from 1.9.0 to 1.10.0

    build(deps): bump github.com/fatih/color from 1.9.0 to 1.10.0

    Bumps github.com/fatih/color from 1.9.0 to 1.10.0.

    Release notes

    Sourced from github.com/fatih/color's releases.

    v1.10.0

    This release includes the changes from: #115 which upgrades the go-colorable and go-isatty dependencies with various bug fixes and improvements

    github.com/mattn/go-colorable v0.1.8
    github.com/mattn/go-isatty v0.0.12
    
    Commits
    • bc22696 Merge pull request #115 from fatih/dependabot/go_modules/github.com/mattn/go-...
    • bc34c4f Bump github.com/mattn/go-colorable from 0.1.4 to 0.1.8
    • f307df2 Merge pull request #116 from fatih/fatih/update-actions
    • 52c0908 Use the vendor folder explicitly
    • 6a21c3b Create dependabot.yml
    • 736d972 Merge pull request #113 from fatih/add-gh-actions
    • 83e32ed Update Go version
    • 8023da8 Add new banner & badges, remove archived message
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
  • build(deps): bump github.com/alecthomas/chroma from 0.7.1 to 0.8.1

    build(deps): bump github.com/alecthomas/chroma from 0.7.1 to 0.8.1

    Bumps github.com/alecthomas/chroma from 0.7.1 to 0.8.1.

    Release notes

    Sourced from github.com/alecthomas/chroma's releases.

    v0.8.1

    Changelog

    290ff86 yaml: block scalar multiline improvements. d65f279 yaml: inline comments after literals 2365845 Improve Elixir lexer based on Pygments 6d6e9cd Update the awk lexer to better support gawk fb0b720 Kotlin improvements around string interpolation, escaping, and generics (#392) 86ebaf3 Remove unintended changes aac3294 Fix regex from as? to as?; add one more test case for !== 8a54f9e add many operators to kotlin 8d0d2b8 Add more keywords to kotlin lexer 477ad4a Add await and async keywords to jsx and javascript

    v0.8.0

    Changelog

    4da591c Use EnsureNL for go lexer e62d93f Add a timeout to regexes. 5756434 Add .editorconfig to ini lexer 391f301 Fix golangci-lint download bac6996 added curly braces to toml lexer 2b9ea60 Split PHP into two lexers - PHP and PHTML. 1150149 Fix TypeScript keywords 57c1bd9 Added pony lexer (#372) 500529f Minor fix for name constants 8785122 Additional fixes for placeholders 155bdea Update Caddyfile lexer to fix edgecases and improve colouring bd46305 Add Zig lexer 6896804 Add Caddyfile lexer (#363) ee4284b Add a Rules.Merge() helper function. 4065717 feat: support HTTP/2 in HTTP lexer 2612dee add yaml test cases for more bool types and multi-line flow scalars. 2b9c82d yaml parse multiline block scalars as single StringDoc 16bde86 yaml parse for all bool keyword constant variations 684c267 yaml parse plan scalar values as literals rather than text. 705c61c yaml parse --- and ... as NameNamespace 0d4fb38 yaml parse keys as NameTag rather than Keyword ec5955f Make single # on a line recognized as CommentSingle 8c4fe7e Add failing test case for single # in bash

    v0.7.3

    Changelog

    Commits
    • 290ff86 yaml: block scalar multiline improvements.
    • d65f279 yaml: inline comments after literals
    • 2365845 Improve Elixir lexer based on Pygments
    • 6d6e9cd Update the awk lexer to better support gawk
    • fb0b720 Kotlin improvements around string interpolation, escaping, and generics (#392)
    • 86ebaf3 Remove unintended changes
    • aac3294 Fix regex from as? to as?; add one more test case for !==
    • 8a54f9e add many operators to kotlin
    • 8d0d2b8 Add more keywords to kotlin lexer
    • 477ad4a Add await and async keywords to jsx and javascript
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
  • build(deps): bump github.com/stretchr/testify from 1.5.1 to 1.6.0

    build(deps): bump github.com/stretchr/testify from 1.5.1 to 1.6.0

    Bumps github.com/stretchr/testify from 1.5.1 to 1.6.0.

    Release notes

    Sourced from github.com/stretchr/testify's releases.

    v1.6.0

    Latest release of testify. This includes many fixes and enhancements. Please view the v1.6.0 milestone for a list of changes.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
  • build(deps): bump github.com/alecthomas/chroma from 0.7.1 to 0.7.3

    build(deps): bump github.com/alecthomas/chroma from 0.7.1 to 0.7.3

    Bumps github.com/alecthomas/chroma from 0.7.1 to 0.7.3.

    Release notes

    Sourced from github.com/alecthomas/chroma's releases.

    v0.7.3

    Changelog

    809ff9b Don't emit styles that are missing a class cc5e532 Add failing test for invalid css with allClasses 6b8ef36 Add ReasonML lexer 82f38b9 add gherkin lexer (#354) 80f4853 Improve performance of lexers.Get function (#351) 0da4bd1 Adds support for jsx blocks in typescript lexer 28041a8 Add YANG lexer (#348) 737b3a0 Update go modules

    v0.7.2

    Changelog

    cc53faa Add option to preserve all HTML classes. 937aba1 Fixes #344. 4f3623d Fallback to HTML lexer for Markdown text. 34d9c71 Add new TokeniseOption EnsureLF (#336) e5d9650 Add hlb lexer (#332) 866d0c8 Add lexer for SAS language (#337) e54a758 Add testdata for terraform c83e581 Updated terraform rules for Terraform 0.12+. Based on terraform documentation (https://www.terraform.io/docs/configuration/index.html). Added all builtin functions and updated syntax rules. 330c3bd Remove reference to now unneeded go.rice fork from go.mod 498eaa6 Fix deprecated methods in goreleaser.yml 0f6a31d rust: support raw identifiers 9e22bd6 Consider baseLineNumber when calculating the column width

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
  • build(deps): bump github.com/alecthomas/chroma from 0.7.1 to 0.7.2

    build(deps): bump github.com/alecthomas/chroma from 0.7.1 to 0.7.2

    Bumps github.com/alecthomas/chroma from 0.7.1 to 0.7.2.

    Release notes

    Sourced from github.com/alecthomas/chroma's releases.

    v0.7.2

    Changelog

    cc53faa Add option to preserve all HTML classes. 937aba1 Fixes #344. 4f3623d Fallback to HTML lexer for Markdown text. 34d9c71 Add new TokeniseOption EnsureLF (#336) e5d9650 Add hlb lexer (#332) 866d0c8 Add lexer for SAS language (#337) e54a758 Add testdata for terraform c83e581 Updated terraform rules for Terraform 0.12+. Based on terraform documentation (https://www.terraform.io/docs/configuration/index.html). Added all builtin functions and updated syntax rules. 330c3bd Remove reference to now unneeded go.rice fork from go.mod 498eaa6 Fix deprecated methods in goreleaser.yml 0f6a31d rust: support raw identifiers 9e22bd6 Consider baseLineNumber when calculating the column width

    Commits
    • cc53faa Add option to preserve all HTML classes.
    • 937aba1 Fixes #344.
    • 4f3623d Fallback to HTML lexer for Markdown text.
    • 34d9c71 Add new TokeniseOption EnsureLF (#336)
    • e5d9650 Add hlb lexer (#332)
    • 866d0c8 Add lexer for SAS language (#337)
    • e54a758 Add testdata for terraform
    • c83e581 Updated terraform rules for Terraform 0.12+. Based on terraform
    • 330c3bd Remove reference to now unneeded go.rice fork from go.mod
    • 498eaa6 Fix deprecated methods in goreleaser.yml
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
  • build(deps): bump github.com/stretchr/testify from 1.3.0 to 1.5.1

    build(deps): bump github.com/stretchr/testify from 1.3.0 to 1.5.1

    Bumps github.com/stretchr/testify from 1.3.0 to 1.5.1.

    Release notes

    Sourced from github.com/stretchr/testify's releases.

    HOTFIX: Revert suite interface type

    This is a hotfix which reverts the suite package's interface type to use testing.T

    v1.5.0

    Latest, non-breaking changes merged into master. Please peruse the git log for a detailed changelist

    v1.4.0

    The 1.4.0 release includes new matchers and bug fixes. See the v.1.4.0 milestone for a complete list of closed issues associated with this release.

    Commits
    • 3ebf1dd Revert PR #867
    • 624f997 fix(suite): Add Fatalf method to suite.TestingT for gomock compatibility
    • 5d2970f Fix typo in CONTRIBUTING.md
    • 2aadfe8 Grammatical change in documentation for Run()
    • 55d8b57 Add interface tests for suite.T
    • 9dfcf7c suite: make suite.TestingT satisfy mock.TestingT
    • 518a149 IsType: A type-safe way of checking argument type
    • ea72eb9 added Log/Skip methods as required by CI tests
    • dca7be2 updated TestingSuite interface to use TestingT
    • d3e6164 removed Helper method from TestingT interface
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Note: This repo was added to Dependabot recently, so you'll receive a maximum of 5 PRs for your first few update runs. Once an update run creates fewer than 5 PRs we'll remove that limit.

    You can always request more updates by clicking Bump now in your Dependabot dashboard.

    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
  • build(deps): bump github.com/kyokomi/emoji/v2 from 2.2.9 to 2.2.10

    build(deps): bump github.com/kyokomi/emoji/v2 from 2.2.9 to 2.2.10

    Bumps github.com/kyokomi/emoji/v2 from 2.2.9 to 2.2.10.

    Release notes

    Sourced from github.com/kyokomi/emoji/v2's releases.

    v2.2.10

    What's Changed

    Full Changelog: https://github.com/kyokomi/emoji/compare/v2.2.9...v2.2.10

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • build(deps): bump github.com/stretchr/testify from 1.7.1 to 1.8.0

    build(deps): bump github.com/stretchr/testify from 1.7.1 to 1.8.0

    Bumps github.com/stretchr/testify from 1.7.1 to 1.8.0.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • build(deps): bump github.com/stretchr/testify from 1.7.1 to 1.7.5

    build(deps): bump github.com/stretchr/testify from 1.7.1 to 1.7.5

    Bumps github.com/stretchr/testify from 1.7.1 to 1.7.5.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • build(deps): bump github.com/kyokomi/emoji/v2 from 2.2.9 to 2.2.11

    build(deps): bump github.com/kyokomi/emoji/v2 from 2.2.9 to 2.2.11

    Bumps github.com/kyokomi/emoji/v2 from 2.2.9 to 2.2.11.

    Release notes

    Sourced from github.com/kyokomi/emoji/v2's releases.

    v2.2.11

    What's Changed

    Full Changelog: https://github.com/kyokomi/emoji/compare/v2.2.10...v2.2.11

    v2.2.10

    What's Changed

    Full Changelog: https://github.com/kyokomi/emoji/compare/v2.2.9...v2.2.10

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • build(deps): bump github.com/stretchr/testify from 1.7.1 to 1.8.1

    build(deps): bump github.com/stretchr/testify from 1.7.1 to 1.8.1

    Bumps github.com/stretchr/testify from 1.7.1 to 1.8.1.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Make the code block theme configurable please

    Make the code block theme configurable please

    This line: https://github.com/MichaelMure/go-term-markdown/blob/master/renderer.go#L487 makes it so the code is rendered only in one theme, instead, the user should be allowed to configure what theme code blocks are rendered in.

    Should be a good first issue.

  • Disable parser.Autolink

    Disable parser.Autolink

    Is it possible to disable a single extension? Like parser.Autolink from the render?

    I think it should be possible with #27 but curious if that is the only way.

🚩 TOC, zero configuration table of content generator for Markdown files, create table of contents from any Markdown file with ease.
🚩 TOC, zero configuration table of content generator for Markdown files, create table of contents from any Markdown file with ease.

toc toc TOC, table of content generator for Markdown files Table of Contents Table of Contents Usage Installation Packages Arch Linux Homebrew Docker

Dec 29, 2022
Markdown - Markdown converter for golang

markdown ?? Talks ?? Join ?? Youtube ❤️ Sponsor Install via nami nami install ma

Jun 2, 2022
Mdfmt - A Markdown formatter that follow the CommonMark. Like gofmt, but for Markdown

Introduction A Markdown formatter that follow the CommonMark. Like gofmt, but fo

Dec 18, 2022
gofontrender renders text with different parameters using the go font renderer

gofontrender This simple program renders text using the go font render. It computes the anti-aliasing by computing the exact pixel coverage with the a

Jun 4, 2021
HomeDashboard renderer core components

HomeDashboard Renderer Core Components Contains core components and basic render

Jan 5, 2022
A gemtext renderer for goldmark.

goldmark-gemtext A gemtext renderer for goldmark. You can use this library to parse commonmark markdown (with support for autolinks and strikethrough)

Dec 28, 2021
HTML, CSS and SVG static renderer in pure Go

Web render This module implements a static renderer for the HTML, CSS and SVG formats. It consists for the main part of a Golang port of the awesome W

Apr 19, 2022
Glow is a terminal based markdown reader designed from the ground up to bring out the beauty—and power—of the CLI.💅🏻
Glow is a terminal based markdown reader designed from the ground up to bring out the beauty—and power—of the CLI.💅🏻

Glow Render markdown on the CLI, with pizzazz! What is it? Glow is a terminal based markdown reader designed from the ground up to bring out the beaut

Dec 30, 2022
A terminal based preview tool for markdown 🍪
A terminal based preview tool for markdown 🍪

Smooth Smooth is a terminal based preview tool for markdown. Features Turning: turn next/previous slide Scroll: scroll up/down slide Search: search wo

May 22, 2022
Blackfriday: a markdown processor for Go

Blackfriday Blackfriday is a Markdown processor implemented in Go. It is paranoid about its input (so you can safely feed it user-supplied data), it i

Jan 8, 2023
⚙️ Convert HTML to Markdown. Even works with entire websites and can be extended through rules.
⚙️ Convert HTML to Markdown. Even works with entire websites and can be extended through rules.

html-to-markdown Convert HTML into Markdown with Go. It is using an HTML Parser to avoid the use of regexp as much as possible. That should prevent so

Jan 6, 2023
Produces a set of tags from given source. Source can be either an HTML page, Markdown document or a plain text. Supports English, Russian, Chinese, Hindi, Spanish, Arabic, Japanese, German, Hebrew, French and Korean languages.
Produces a set of tags from given source. Source can be either an HTML page, Markdown document or a plain text. Supports English, Russian, Chinese, Hindi, Spanish, Arabic, Japanese, German, Hebrew, French and Korean languages.

Tagify Gets STDIN, file or HTTP address as an input and returns a list of most popular words ordered by popularity as an output. More info about what

Dec 19, 2022
Upskirt markdown library bindings for Go

Goskirt Package goskirt provides Go-bindings for the excellent Sundown Markdown parser. (F/K/A Upskirt). To use goskirt, create a new Goskirt-value wi

Oct 23, 2022
A CLI markdown converter written in Go.

MDConv is a markdown converter written in Go. It is able to create PDF and HTML files from Markdown without using LaTeX. Instead MDConv u

Dec 20, 2022
A markdown parser written in Go. Easy to extend, standard(CommonMark) compliant, well structured.

goldmark A Markdown parser written in Go. Easy to extend, standards-compliant, well-structured. goldmark is compliant with CommonMark 0.29. Motivation

Dec 29, 2022
:triangular_ruler:gofmtmd formats go source code block in Markdown. detects fenced code & formats code using gofmt.
:triangular_ruler:gofmtmd formats go source code block in Markdown. detects fenced code & formats code using gofmt.

gofmtmd gofmtmd formats go source code block in Markdown. detects fenced code & formats code using gofmt. Installation $ go get github.com/po3rin/gofm

Oct 31, 2022
Convert Microsoft Word Document to Markdown
Convert Microsoft Word Document to Markdown

docx2md Convert Microsoft Word Document to Markdown Usage $ docx2md NewDocument.docx Installation $ go get github.com/mattn/docx2md Supported Styles

Jan 4, 2023
Stylesheet-based markdown rendering for your CLI apps 💇🏻‍♀️
Stylesheet-based markdown rendering for your CLI apps 💇🏻‍♀️

Glamour Write handsome command-line tools with Glamour. glamour lets you render markdown documents & templates on ANSI compatible terminals. You can c

Jan 1, 2023
go-md2man - 转换 Markdown 为 man 手册内容

go-md2man Converts markdown into roff (man pages). Uses blackfriday to process markdown into man pages. Usage ./md2man -in /path/to/markdownfile.md -o

Dec 22, 2022