Note
This is a permanent fork of charmbracelet/glamour
removing its 14MB dependency on yuin/goldmark-emoji
.
If your project has an indirect dependency on charmbracelet/glamour
, you can decrease its size by adding the following to your go.mod
:
replace github.com/charmbracelet/glamour => github.com/justenstall/glamour-slim v0.0.0
Binary size comparison using the gh
cli:
ls -lh bin/
total 178744
-rwxr-xr-x 1 jstall staff 53M Mar 15 12:50 gh-glamour
-rwxr-xr-x 1 jstall staff 34M Mar 15 12:49 gh-glamour-slim
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/justenstall/glamour-slim"
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/justenstall/glamour-slim"
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