https://github.com/charmbracelet/glamour
Stylesheet-based markdown rendering for your CLI apps 💇🏻♀️
https://github.com/charmbracelet/glamour
cli go golang hacktoberfest markdown tui
Last synced: 6 months ago
JSON representation
Stylesheet-based markdown rendering for your CLI apps 💇🏻♀️
- Host: GitHub
- URL: https://github.com/charmbracelet/glamour
- Owner: charmbracelet
- License: mit
- Created: 2019-12-18T23:36:15.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2025-05-05T09:39:59.000Z (7 months ago)
- Last Synced: 2025-05-07T06:59:48.573Z (6 months ago)
- Topics: cli, go, golang, hacktoberfest, markdown, tui
- Language: Go
- Homepage:
- Size: 6.53 MB
- Stars: 2,763
- Watchers: 17
- Forks: 203
- Open Issues: 87
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- go-awesome - glamour - 命令行下渲染 Markdown (开源类库 / 文本处理)
- awesome-go - Glamour - Stylesheet-based markdown rendering for your CLI apps (CLI frameworks)
- go-awesome - glamour - Render markdown on command line (Open source library / Word Processing)
- awesome-x - glamour - based markdown rendering for your CLI apps 💇🏻♀️ (Go)
- awesome-starred - charmbracelet/glamour - Stylesheet-based markdown rendering for your CLI apps 💇🏻♀️ (golang)
- awesome-trevor - Glamour - Stylesheet-based markdown rendering for your CLI apps 💇🏻♀️ (Programming / Golang)
- awesome-golang-repositories - glamour - based markdown rendering for your CLI apps �ス�ス�ス譿�ソス�費ソス蜆ュ�ス (Repositories)
README
# Glamour
Stylesheet-based markdown rendering for your CLI apps.

`glamour` lets you render [markdown](https://en.wikipedia.org/wiki/Markdown)
documents & templates on [ANSI](https://en.wikipedia.org/wiki/ANSI_escape_code)
compatible terminals. You can create your own stylesheet or simply use one of
the stylish defaults.
## Usage
```go
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)
```

### Custom Renderer
```go
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)
```
## Styles
You can find all available default styles in our [gallery](https://github.com/charmbracelet/glamour/tree/master/styles/gallery).
Want to create your own style? [Learn how!](https://github.com/charmbracelet/glamour/tree/master/styles)
There are a few options for using a custom style:
1. Call `glamour.Render(inputText, "desiredStyle")`
1. Set the `GLAMOUR_STYLE` environment variable to your desired default style or a file location for a style and call `glamour.RenderWithEnvironmentConfig(inputText)`
1. Set the `GLAMOUR_STYLE` environment variable and pass `glamour.WithEnvironmentConfig()` to your custom renderer
## Glamourous Projects
Check out these projects, which use `glamour`:
- [Glow](https://github.com/charmbracelet/glow), a markdown renderer for
the command-line.
- [GitHub CLI](https://github.com/cli/cli), GitHub’s official command line tool.
- [GitLab CLI](https://gitlab.com/gitlab-org/cli), GitLab's official command line tool.
- [Gitea CLI](https://gitea.com/gitea/tea), Gitea's official command line tool.
- [Meteor](https://github.com/odpf/meteor), an easy-to-use, plugin-driven metadata collection framework.
## Feedback
We’d love to hear your thoughts on this project. Feel free to drop us a note!
- [Twitter](https://twitter.com/charmcli)
- [The Fediverse](https://mastodon.social/@charmcli)
- [Discord](https://charm.sh/chat)
## License
[MIT](https://github.com/charmbracelet/glamour/raw/master/LICENSE)
---
Part of [Charm](https://charm.sh).
Charm热爱开源 • Charm loves open source
