All Projects → charmbracelet → Glow

charmbracelet / Glow

Licence: mit
Render markdown on the CLI, with pizzazz! 💅🏻

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to Glow

Backslide
💦 CLI tool for making HTML presentations with Remark.js using Markdown
Stars: ✭ 679 (-91.06%)
Mutual labels:  cli, hacktoberfest, markdown
Faas Cli
Official CLI for OpenFaaS
Stars: ✭ 633 (-91.67%)
Mutual labels:  cli, hacktoberfest
Marp Cli
A CLI interface for Marp and Marpit based converters
Stars: ✭ 606 (-92.02%)
Mutual labels:  cli, markdown
Wbot
A simple Web based BOT for WhatsApp™ in NodeJS 😜. Working as of 📅 Feb 14th, 2020
Stars: ✭ 638 (-91.6%)
Mutual labels:  cli, hacktoberfest
Ffsend
📬 Easily and securely share files from the command line. A fully featured Firefox Send client.
Stars: ✭ 5,448 (-28.28%)
Mutual labels:  cli, hacktoberfest
Rustfix
Automatically apply the suggestions made by rustc
Stars: ✭ 586 (-92.29%)
Mutual labels:  cli, hacktoberfest
Hacktoberfest
Participate in Hacktoberfest by contributing to any Open Source project on GitHub! Here is a starter project for first time contributors. #hacktoberfest
Stars: ✭ 631 (-91.69%)
Mutual labels:  hacktoberfest, markdown
Bat
A cat(1) clone with wings.
Stars: ✭ 30,833 (+305.91%)
Mutual labels:  cli, hacktoberfest
Rich
Rich is a Python library for rich text and beautiful formatting in the terminal.
Stars: ✭ 31,664 (+316.85%)
Mutual labels:  hacktoberfest, markdown
Mevn Cli
Light speed setup for MEVN(Mongo Express Vue Node) Apps
Stars: ✭ 696 (-90.84%)
Mutual labels:  cli, hacktoberfest
Imgcat
It's like cat, but for images.
Stars: ✭ 577 (-92.4%)
Mutual labels:  cli, hacktoberfest
Jenkinsfile Runner
A command line tool to run Jenkinsfile as a function
Stars: ✭ 727 (-90.43%)
Mutual labels:  cli, hacktoberfest
Undercover
Actionable code coverage - detects untested code blocks in recent changes
Stars: ✭ 574 (-92.44%)
Mutual labels:  cli, hacktoberfest
Homebrewery
Create authentic looking D&D homebrews using only markdown
Stars: ✭ 598 (-92.13%)
Mutual labels:  hacktoberfest, markdown
Cli
GitHub’s official command line tool
Stars: ✭ 26,649 (+250.83%)
Mutual labels:  cli, hacktoberfest
Topydo
A powerful todo list application for the console, using the todo.txt format.
Stars: ✭ 511 (-93.27%)
Mutual labels:  cli, hacktoberfest
Xonsh
🐚 Python-powered, cross-platform, Unix-gazing shell
Stars: ✭ 5,327 (-29.87%)
Mutual labels:  cli, hacktoberfest
Mask
🎭 A CLI task runner defined by a simple markdown file
Stars: ✭ 495 (-93.48%)
Mutual labels:  cli, markdown
Ok Mdx
Browser-based MDX editor
Stars: ✭ 681 (-91.03%)
Mutual labels:  cli, markdown
Terjira
Terjira is a very interactive and easy to use CLI tool for Jira.
Stars: ✭ 713 (-90.61%)
Mutual labels:  cli, hacktoberfest

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

# macOS (with MacPorts)
sudo port install glow

# Arch Linux (btw)
yay -S glow

# Void Linux
xbps-install -S glow

# Nix
nix-env -iA nixpkgs.glow

# FreeBSD
pkg install glow

# Solus
eopkg install glow

# Windows (with Scoop)
scoop install glow

# Android (with termux)
pkg 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.

Or just build it yourself (requires Go 1.13+):

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 and stashed markdown. 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.

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.

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!

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"
# show local files only; no network (TUI-mode only)
local: true
# mouse support (TUI-mode only)
mouse: true
# use pager to display markdown
pager: true
# word-wrap at width
width: 80

🔒 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 can’t read it since we don’t 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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].