TUT/README.md

70 lines
1.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# TUT - TUI Utility Tools (WIP)
This project, "TUT," is a collection of TUI (Terminal User Interface) utility modules written in C++. The initial focus is on the integrated **ICS Calendar Module**. This module fetches, parses, and displays iCal calendar events from `https://ical.nbtca.space/nbtca.ics` using `ncurses` to show upcoming activities within the next month.
### 依赖
- CMake ≥ 3.15
- C++17 编译器macOS 上建议 `clang`
- `ncurses`
- `libcurl`
#### 在 macOS (Homebrew) 安装依赖
```bash
brew install cmake ncurses curl
```
### 构建
在项目根目录执行:
```bash
mkdir -p build
cd build
cmake ..
cmake --build .
```
生成的可执行文件为 `nbtca_tui`
### 运行
`build` 目录中运行:
```bash
./nbtca_tui
```
程序会:
1. 通过 `libcurl` 请求 `https://ical.nbtca.space/nbtca.ics`
2. 解析所有 VEVENT 事件,提取开始时间、结束时间、标题、地点、描述
3. 过滤出从当前时间起未来 30 天内的事件
4. 使用 ncurses TUI 滚动展示列表
### TUI 操作说明
- `↑` / `↓`:上下移动选中事件
- `q`:退出程序
### Developer Guide
For contributors and developers, follow these guidelines:
1. **Clone the Repository:**
```bash
git clone https://github.com/m1ngsama/TUT.git
cd TUT
```
2. **Build Environment Setup:** Ensure all [Dependencies](#dependencies) are installed.
3. **Local Build:** Follow the [构建](#构建) instructions.
4. **Code Style:** Adhere to the existing code style in `src/`.
5. **Testing:** Currently, there are no automated tests. Please manually verify changes.
6. **Contributing:** Submit Pull Requests for new features or bug fixes.
### 版本 (Version)
- `v0.0.1`