No description
Find a file
m1ngsama 2fedcebc25 feat: Add HTML parser and content extraction
Implement HTML parser for extracting readable content:
- Parse HTML structure (headings, paragraphs, lists, links)
- Extract and decode HTML entities
- Smart content area detection (article, main, body)
- Relative URL to absolute URL conversion
- Support for both absolute and relative paths
- Filter out scripts, styles, and non-content elements

The parser uses regex-based extraction optimized for
text-heavy websites and documentation.
2025-12-05 14:59:02 +08:00
.github/workflows fix: Add contents write permission for release job 2025-11-20 11:50:43 +08:00
src feat: Add HTML parser and content extraction 2025-12-05 14:59:02 +08:00
.gitignore Add build/ to .gitignore and remove build directory from Git tracking. 2025-11-19 17:32:41 +08:00
CMakeLists.txt ci: Auto release on push to main with multi-platform builds 2025-11-20 11:45:50 +08:00
README.md docs: Add developer guide to README.md 2025-11-19 17:58:34 +08:00

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) 安装依赖

brew install cmake ncurses curl

构建

在项目根目录执行:

mkdir -p build
cd build
cmake ..
cmake --build .

生成的可执行文件为 nbtca_tui

运行

build 目录中运行:

./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:
    git clone https://github.com/m1ngsama/TUT.git
    cd TUT
    
  2. Build Environment Setup: Ensure all 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