Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kaixinbaba/hg-tui

使用 TUI 界面去浏览 HelloGitHub 网站
https://github.com/kaixinbaba/hg-tui

Last synced: about 1 month ago
JSON representation

使用 TUI 界面去浏览 HelloGitHub 网站

Awesome Lists containing this project

README

        



Logo

hg-tui


在命令行里浏览、搜索、访问 HelloGitHub 的开源项目。


使用说明 »




WeiXin
GitHub stars
GitHub issues
Sina Weibo


## 一、介绍

在终端轻松浏览 HelloGitHub 的命令行工具。

快速上手指南:

1. 安装后启动的命令:hg-tui
2. 进入程序后,默认展示最新一期月刊
3. 可通过 `k(Up)/j(Down)` 上下移动光标,按下 `o` 查看详细介绍
4. 同时按下 `Ctrl+k(Up)` 进入搜索模式,输入关键字即可搜索项目
5. 遇到问题,同时按下 `Ctrl+h` 获取帮助
5. 按下 `q` 或 `Ctrl+c` 键退出程序

## 二、安装

**第一种:直接下载使用**

下载就能用!Windows、Linux、macOS 系统对应的可执行文件,[点击下载](https://github.com/kaixinbaba/hg-tui/releases)

**第二种:通过源码安装**

```bash
$ git clone https://github.com/kaixinbaba/hg-tui.git
$ cd hg-tui
$ cargo install --path .
$ hgtui
```
查看帮助
```bash
$ hgtui --help
```
查看内置配色方案 [预览](./doc/theme.md),如果你有更好的配色方案或想法可以给我提 issue 噢
```bash
$ hgtui --show-themes
```

## 三、快捷键

![](doc/img/help.png)

基本:
- `k(Up)/j(Down)`:移动(上/下)
- `h(Left)/l(Right)`:翻页(上/下)
- `gg`:移动至首行
- `G`:移动至末行
- `o`:查看/关闭详细介绍
- `回车`:访问开源项目页
- `s`:打开 [HelloGitHub](https://github.com/521xueweihan/HelloGitHub) 首页,顺便点个✨吧
- `q`:退出

组合快捷键:
- `Ctrl+h`:获得帮助
- `Ctrl+k(Up)/j(Down)`:切换到搜索/浏览模式

高级搜索:
- `#{数字}`:按期搜索
- `${类别}`:按类搜索

## 四、技术

项目中使用到的技术:

- 基础设施: `anyhow`、`thiserror`、`lazy_static`、`better-panic`
- 绘制 UI:`tui`、`crossterm`
- HTTP client:`reqwest`
- 缓存:`cached`
- HTML 解析:`nipper`
- 工具:`regex`、`crossbeam-channel`
- 命令行:`clap`

目录结构:

```
src
├── app.rs // 统一管理整个应用的状态
├── cli.rs // 命令行解析
├── draw.rs // 绘制 UI
├── events.rs // UI 事件、输入事件、通知
├── fetch.rs // HTTP 请求
├── main.rs // 入口
├── parse.rs // HTML 解析
├── utils.rs // 工具
└── widget // 自定义组件
├── ...
```

## 五、更新计划

欢迎加入我们一起贡献。

### feature plan
- [ ] 本地加速 GitHub 访问
- [ ] 支持本地配置

### 0.1.4
- [x] 快捷键增加 上下左右 支持

### 0.1.3
- [x] 内置多种配色方案
- [x] 移除彩色显示开关(由配色方案替代)

### 0.1.2
- [x] 增加彩色显示开关快捷键(参数)

### 0.1.1

- [x] 修复搜索期数 1 时报错
- [x] 修复文档错误

### 0.1.0

- [x] 修复翻页期数突破最大期数
- [x] 关键词搜索
- [x] 按期数搜索
- [x] 按类别搜索
- [x] 通过浏览器打开项目地址

## 联系我
- 🔭 热爱开源,方向是 Java、Python、Rust
- 🌱 微信公众号: 代码科学家
- 💬 bilibili: 老荀
- 点击给我发邮件