charmbracelet / glow
git clone https://github.com/charmbracelet/glow.git
v3.0.0 · 2mo ago
Render markdown on the CLI, with pizzazz! 💅🏻
+11
stars, 24h · #3,235
+~58
stars, 7 days · #3,552
+~250
stars, 30 days · #3,238
28k
★ total · +0% this week
801
forks · 258 open issues
Star history (as recorded here)
LanguageGo
LicenseMIT
Created2019-11-04 (6y ago)
Last push17d ago
Watchers89
OwnerOrganization
GitHub topics
Links
README excerpt
# 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 beauty—and power—of the CLI. Use it to discover markdown files, read documentation directly on the command line. Glow will find local markdown files in subdirectories or a local Git repository. ## Installation ### Package Manager [code] [code] [code] [code] [code] [code] [code] [code] [code] [code] [code] [code] Or download a binary from the [releases][releases] page. MacOS, Linux, Windows, FreeBSD and OpenBSD binaries are available, as well as Debian, RPM, and Alpine packages. ARM builds are also available for macOS, Linux, FreeBSD and OpenBSD. ### Go Or just install it with `go`: [code] ### Build (requires Go 1.21+) [code] [releases]: https://github.com/charmbracelet/glow/releases ## The TUI Simply run `glow` without arguments to start the textual user interface and browse local. Glow will find local markdown files in the current directory and below or, if you’re in a Git repository, Glow will search the repo. Markdown files can be read with Glow's high-performance pager. Most of the keystrokes you know from `less` are the same, but you can press `?` to list the hotkeys. ## The CLI In addition to a TUI, Glow has a CLI for working with Markdown. To format a document use a markdown source as the primary argument: [code] ### Word Wrapping The `-w` flag lets you set a maximum width at which the output will be wrapped: [code] ### Paging CLI output can be displayed in your preferred pager with the `-p` flag. This defaults to the ANSI-aware `less -r` if `$PAGER` is not explicitly set. ### Styles You can choose a style with the `-s` flag. When no flag is provided `glow` tries to detect your terminal's current background color and automatically picks either the `dark` or the `light` style for you. [code] Alternatively you can also supply a custom JSON stylesheet: [code] For additional usage details see: [code] Check out the Glamour Style Section to find more styles. Or make your own! ## The Config File If you find yourself supplying the same flags to `glow` all the time, it's probably a good idea to create a config file. Run `glow config`, which will open it in your favorite $EDITOR. Alternatively you can manually put a file named `glow.yml` in the default config path of you platform. If you're not sure where that is, please refer to `glow --help`. Here's an example config: [code] ## Contributing See [contributing][contribute]. [contribute]: https://github.com/charmbracelet/glow/contribute ## Feedback We’d love to hear your thoughts on this project. Feel free to drop us a note! - Twitter - The Fediverse - Discord ## License MIT --- Part of Charm. Charm热爱开源 • Charm loves open source