glow charmbracelet
winget install --id=charmbracelet.glow -e
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 and stash markdown files to your own private collection, so you can read them anywhere. Glow will find local markdown files in subdirectories or a local Git repository.
Glow is a terminal-based Markdown reader designed to enhance your command-line experience by bringing beauty and power to reading Markdown files. It allows you to discover Markdown files locally, read documentation directly in the CLI, and stash markdown files into your own private collection for offline access.
Key Features:
- File Discovery: Automatically finds local Markdown files in subdirectories or within a Git repository.
- Stash & Read Offline: Save Markdown files to a personal collection for reading anytime, anywhere.
- Textual User Interface (TUI): Navigate and explore Markdown files with an intuitive terminal interface.
- CLI Support: Use Glow as a command-line tool to read Markdown from files, URLs, or standard input.
- Word Wrapping & Styling: Adjust text width and choose from predefined styles for optimal readability in both dark and light themes.
- Configurable: Tailor Glow's behavior with a customizable configuration file.
Audience & Benefit:
Ideal for developers, technical writers, and CLI enthusiasts who need to read Markdown documentation or notes directly within the terminal. Glow streamlines your workflow by eliminating the need to switch contexts to browser-based editors, enabling efficient and distraction-free reading in your preferred environment.
README
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
# 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 github.com/charmbracelet/glow@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
Part of Charm.
Charm热爱开源 • Charm loves open source