glow README

The project's README from github.com/charmbracelet/glow. As one markdown file: README.md.

Glow

Render markdown on the CLI, with pizzazz!

Glow Logo Latest Release GoDoc Build Status Go ReportCard

Glow UI Demo

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

# macOS or Linux
brew install glow
# macOS (with MacPorts)
sudo port install glow
# Arch Linux (btw)
pacman -S glow
# Void Linux
xbps-install -S glow
# Nix shell
nix-shell -p glow --command glow
# FreeBSD
pkg install glow
# Solus
eopkg install glow
# Windows (with Chocolatey, Scoop, or Winget)
choco install glow
scoop install glow
winget install charmbracelet.glow
# Android (with termux)
pkg install glow
# Ubuntu (Snapcraft)
sudo snap install glow
# Debian/Ubuntu
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://repo.charm.sh/apt/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/charm.gpg
echo "deb [signed-by=/etc/apt/keyrings/charm.gpg] https://repo.charm.sh/apt/ * *" | sudo tee /etc/apt/sources.list.d/charm.list
sudo apt update && sudo apt install glow
# Fedora/RHEL
echo '[charm]
name=Charm
baseurl=https://repo.charm.sh/yum/
enabled=1
gpgcheck=1
gpgkey=https://repo.charm.sh/yum/gpg.key' | sudo tee /etc/yum.repos.d/charm.repo
sudo yum install glow

Or download a binary from the 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:

go install charm.land/glow/v3@latest

Build (requires Go 1.21+)

git clone https://github.com/charmbracelet/glow.git
cd glow
go build

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:

# Read from file
glow README.md

# Read from stdin
echo "[Glow](https://github.com/charmbracelet/glow)" | glow -

# Fetch README from GitHub / GitLab
glow github.com/charmbracelet/glow

# Fetch markdown from HTTP
glow https://host.tld/file.md

Word Wrapping

The -w flag lets you set a maximum width at which the output will be wrapped:

glow -w 60

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.

glow -s [dark|light]

Alternatively you can also supply a custom JSON stylesheet:

glow -s mystyle.json

For additional usage details see:

glow --help

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:

# style name or JSON path (default "auto")
style: "light"
# mouse wheel support (TUI-mode only)
mouse: true
# use pager to display markdown
pager: true
# at which column should we word wrap?
width: 80
# show all files, including hidden and ignored.
all: false
# show line numbers (TUI-mode only)
showLineNumbers: false
# preserve newlines in the output
preserveNewLines: false

Contributing

See contributing.

Feedback

We’d love to hear your thoughts on this project. Feel free to drop us a note!

License

MIT


Part of Charm.

The Charm logo

Charm热爱开源 • Charm loves open source

glow (charmbracelet/glow)

Searching Database…

27.7K ·GitHub
这是什么东西?Glow 是一个基于终端的 markdown 阅读器:它能漂亮地渲染 markdown 文件,帮你发现本地的 markdown 文件,让你直接在命令行里阅读文档。
那它是一个完整的 TUI 应用,还是一条普通的 CLI 命令?两者都是。不带任何参数运行 glow,会打开一个文字界面,用来浏览和阅读 markdown;把文件作为参数传入,它就把那一个文档直接渲染到终端上。
进去阅读之后,操作按键都有哪些?它的分页器沿用了你在 less 里已经熟悉的按键,所以阅读起来很顺手——按 ? 还能列出所有快捷键。
它是怎么找到要读的 markdown 文件的?在某个文件夹里运行 glow,它就会在当前目录及其子目录中发现 markdown 文件——如果你在 Git 仓库里,则会搜索整个仓库。文件会在 Glow 的分页器中打开。
它支持哪些平台?几乎全覆盖:提供 macOS、Linux、Windows、FreeBSD 和 OpenBSD 的二进制文件,还有 Debian、RPM 和 Alpine 安装包,macOS、Linux、FreeBSD 和 OpenBSD 也有 ARM 版本。
CLI 输出的长行溢出了,怎么让它换行?用 -w 参数设置换行宽度,它会限制渲染输出换行的最大宽度。
一次性的 CLI 输出能在我的分页器里打开吗?可以——加上 -p 参数,输出就会送进你偏好的分页器;如果没有设置 $PAGER,默认使用支持 ANSI 颜色的 less -r。
What are similar projects?gum, duf, fastfetch, fx, gh-dash, slides, miller, homebrew-cask
Size
3.1 MB
Stars
27.7K
Age
6y
Commits · 90 Days