No description
Find a file
2020-10-05 13:54:01 +02:00
.github/workflows Add Go 1.15.x to build matrix 2020-10-05 13:52:36 +02:00
ui Keybindings for navigating to the start/end of file listing 2020-10-05 13:54:01 +02:00
.gitignore Rename to glow 2019-12-20 22:47:47 +01:00
.golangci.yml Add golangci config 2020-10-05 13:53:26 +02:00
.goreleaser.yml Update deprecated homebrew tap section in goreleaser config 2020-10-05 13:52:51 +02:00
console_windows.go Enable ANSI for Windows consoles 2020-01-09 11:38:09 +01:00
example.png Update example image with unicode characters 2020-01-13 12:21:08 -05:00
formatting.go Format help and add examples to stash command 2020-10-05 13:54:01 +02:00
github.go Make source private 2020-03-31 08:53:35 +02:00
gitlab.go Make source private 2020-03-31 08:53:35 +02:00
glow_test.go Fix tests (don't test glow with no arguments) 2020-10-05 13:45:22 +02:00
go.mod Bump gitcha dep 2020-10-05 13:54:01 +02:00
go.sum Bump gitcha dep 2020-10-05 13:54:01 +02:00
LICENSE Add LICENSE 2019-12-18 21:33:48 -05:00
main.go Format help and add examples to stash command 2020-10-05 13:54:01 +02:00
Makefile Correct env var placement in Makefile 2020-10-05 13:50:04 +02:00
README.md Separate out the TUI and CLI sections of the README 2020-10-05 13:54:01 +02:00
stash_cmd.go Format help and add examples to stash command 2020-10-05 13:54:01 +02:00

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 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.

By the way, all data stashed is encrypted end-to-end: only you can decrypt it. More on that below.

Installation

Use your fave package manager:

# macOS or Linux
brew install glow

# Arch Linux (btw)
yay -S glow

# Void Linux
xbps-install -S glow

# Nix
nix-env -iA nixpkgs.glow

# FreeBSD
pkg install glow

Or download a binary from the releases page. MacOS, Linux, FreeBSD binaries are available, as well as Debian and RPM packages. ARM builds are also available for Linux and FreeBSD.

Or just use go get:

go get github.com/charmbracelet/glow

The TUI

Simply run glow without arguments to start the textual user iterface and browse local and stashed markdown. Glow will find local markdown files it the current directory or below or, if youre in a Git repository, Glow will search the repo.

Markdown files can be read with Glow's high-performance pager. Most of the keystokes you know from less are the same, but you can press ? to list the hotkeys.

Stashing

Glow works with the Charm Cloud to allow you to store any markdown files in your own private collection. You can stash a local document from the Glow TUI by pressing s.

You can also stash from the CLI:

glow stash README.md

Then, when you run glow without arguments will you can browse through your stashed documents. This is a great way to keep track of things that you need to reference often.

Stashing is private, its contents will not be exposed publicly, and it's encrypted end-to-end. More on encryption below.

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
glow -

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

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

Stashing

You can also stash documents from the CLI:

glow stash README.md

Then, when you run glow without arguments will you can browse through your stashed documents. This is a great way to keep track of things that you need to reference often.

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!

🔒 Encryption: How It Works

Encryption works by issuing symmetric keys (basically a generated password) and encrypting it with the local SSH public key generated by the open-source charm library. That encrypted key is then sent up to our server. We cant read it since we dont have your private key. When you want to decrypt something or view your stash, that key is downloaded from our server and decrypted locally using the SSH private key. When you link accounts, the symmetric key is encrypted for each new public key. This happens on your machine and not our server, so we never see any unencrypted data.

License

MIT

Part of Charm.

the Charm logo

Charm热爱开源! / Charm loves open source!