Stylesheet-based markdown rendering for your CLI apps.
glamour
lets you render markdown
documents & templates on ANSI
compatible terminals. You can create your own stylesheet or simply use one of
the stylish defaults.
import "github.com/charmbracelet/glamour"
in := `# Hello World
This is a simple example of Markdown rendering with Glamour!
Check out the [other examples](https://github.com/charmbracelet/glamour/tree/master/examples) too.
Bye!
`
out, err := glamour.Render(in, "dark")
fmt.Print(out)
import "github.com/charmbracelet/glamour"
r, _ := glamour.NewTermRenderer(
// detect background color and pick either the default dark or light theme
glamour.WithAutoStyle(),
// wrap output at specific width (default is 80)
glamour.WithWordWrap(40),
)
out, err := r.Render(in)
fmt.Print(out)
You can find all available default styles in our gallery. Want to create your own style? Learn how!
There are a few options for using a custom style:
- Call
glamour.Render(inputText, "desiredStyle")
- Set the
GLAMOUR_STYLE
environment variable to your desired default style or a file location for a style and callglamour.RenderWithEnvironmentConfig(inputText)
- Set the
GLAMOUR_STYLE
environment variable and passglamour.WithEnvironmentConfig()
to your custom renderer
Check out these projects, which use glamour
:
- Glow, a markdown renderer for the command-line.
- GitHub CLI, GitHubβs official command line tool.
- GitLab CLI, GitLab's official command line tool.
- Gitea CLI, Gitea's official command line tool.
- Meteor, an easy-to-use, plugin-driven metadata collection framework.
Weβd love to hear your thoughts on this project. Feel free to drop us a note!
Part of Charm.
Charmηη±εΌζΊ β’ Charm loves open source