charmbracelet/glow

GitHub: charmbracelet/glow

一款专为命令行打造的 Markdown 渲染与阅读工具,让终端下的文档浏览变得美观高效。

Stars: 23254 | Forks: 588

# Glow 在 CLI 上渲染 markdown,*_尽显格调_*!

Glow Logo Latest Release GoDoc Build Status Go ReportCard

Glow UI Demo

## 它是什么? Glow 是一款基于终端的 markdown 阅读器,旨在从头开始设计,以展现 CLI 的美感与强大功能。 用它来发现 markdown 文件,直接在命令行上阅读文档。Glow 将在子目录或本地 Git 仓库中查找本地 markdown 文件。 ## 安装 ### 包管理器 ``` # macOS 或 Linux brew install glow ``` ``` # macOS(使用 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(使用 Chocolatey、Scoop 或 Winget) choco install glow scoop install glow winget install charmbracelet.glow ``` ``` # Android(使用 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 ``` 或者从 [releases][releases] 页面下载二进制文件。MacOS、Linux、Windows、FreeBSD 和 OpenBSD 的二进制文件可用,以及 Debian、RPM 和 Alpine 软件包。ARM 版本也可用于 macOS、Linux、FreeBSD 和 OpenBSD。 ### Go 或者直接使用 `go` 安装: ``` go install github.com/charmbracelet/glow/v2@latest ``` ### 构建 (需要 Go 1.21+) ``` git clone https://github.com/charmbracelet/glow.git cd glow go build ``` ## TUI 只需不带参数运行 `glow` 即可启动文本用户界面并浏览本地内容。Glow 将在当前目录及其下级目录中查找本地 markdown 文件,或者如果你在 Git 仓库中,Glow 将搜索该仓库。 可以使用 Glow 的高性能 pager 阅读 Markdown 文件。你在 `less` 中熟悉的大多数按键都相同,但你可以按 `?` 列出热键。 ## CLI 除了 TUI,Glow 还有一个用于处理 Markdown 的 CLI。要格式化文档,请使用 markdown 源文件作为主要参数: ``` # 从文件读取 glow README.md # 从 stdin 读取 echo "[Glow](https://github.com/charmbracelet/glow)" | glow - # 从 GitHub / GitLab 获取 README glow github.com/charmbracelet/glow # 从 HTTP 获取 markdown glow https://host.tld/file.md ``` ### 自动换行 `-w` 标志允许你设置输出换行的最大宽度: ``` glow -w 60 ``` ### 分页 CLI 输出可以通过 `-p` 标志在你首选的 pager 中显示。如果未显式设置 `$PAGER`,则默认为支持 ANSI 的 `less -r`。 ### 样式 你可以使用 `-s` 标志选择样式。当未提供标志时,`glow` 会尝试检测终端的当前背景色,并自动为你选择 `dark` 或 `light` 样式。 ``` glow -s [dark|light] ``` 或者,你也可以提供自定义的 JSON 样式表: ``` glow -s mystyle.json ``` 有关更多用法详情,请参阅: ``` glow --help ``` 查看 [Glamour Style Section](https://github.com/charmbracelet/glamour/blob/master/styles/gallery/README.md) 以查找更多样式。或者 [自己制作](https://github.com/charmbracelet/glamour/tree/master/styles)! ## 配置文件 如果你发现自己一直向 `glow` 提供相同的标志,那么创建一个配置文件可能是个好主意。运行 `glow config`,它将在你最喜欢的 $EDITOR 中打开它。或者,你可以手动在平台的默认配置路径中放置一个名为 `glow.yml` 的文件。如果你不确定该路径在哪里,请参考 `glow --help`。 这是一个示例配置: ``` # 样式名称或 JSON 路径(默认 "auto") style: "light" # 鼠标滚轮支持(仅限 TUI 模式) mouse: true # 使用 pager 显示 markdown pager: true # 在哪一列进行换行? width: 80 # 显示所有文件,包括隐藏和忽略的文件。 all: false # 显示行号(仅限 TUI 模式) showLineNumbers: false # 保留输出中的换行符 preserveNewLines: false ``` ## 反馈 我们很乐意听取你对此项目的想法。请随时给我们留言! - [Twitter](https://twitter.com/charmcli) - [The Fediverse](https://mastodon.social/@charmcli) - [Discord](https://charm.sh/chat) ## 许可证 [MIT](https://github.com/charmbracelet/glow/raw/master/LICENSE) [Charm](https://charm.sh) 的一部分。 The Charm logo Charm热爱开源 • Charm loves open source
标签:Charmbracelet, CLI, EVTX分析, EVTX分析, Git集成, Golang, Linux工具, Markdown, Markdown阅读器, TUI, WiFi技术, 代码高亮, 威胁情报, 安全编程, 开发者工具, 文本处理, 文档阅读, 日志审计, 渲染器, 端口探测, 终端UI