TUT/README.md
m1ngsama 354133b500 docs: Rewrite README as Unix man page, remove Chinese comments
Following Unix philosophy and documentation standards:
- Rewrite README.md in man page format (NAME, SYNOPSIS, DESCRIPTION, etc.)
- Remove all Chinese comments from source code
- Keep code clean and self-documenting
- Add PHILOSOPHY section explaining Unix principles
- Include proper EXIT STATUS, ENVIRONMENT, and FILES sections
- Reference related tools in SEE ALSO section
2025-12-08 16:11:39 +08:00

256 lines
4.9 KiB
Markdown

TUT(1) - Terminal User Interface Browser
========================================
NAME
----
tut - vim-style terminal web browser
SYNOPSIS
--------
**tut** [*URL*]
**tut** **-h** | **--help**
DESCRIPTION
-----------
**tut** is a text-mode web browser designed for comfortable reading in the
terminal. It extracts and displays the textual content of web pages with a
clean, centered layout optimized for reading, while providing vim-style
keyboard navigation.
The browser does not execute JavaScript or display images. It is designed
for reading static HTML content, documentation, and text-heavy websites.
OPTIONS
-------
*URL*
Open the specified URL on startup. If omitted, displays the built-in
help page.
**-h**, **--help**
Display usage information and exit.
KEYBINDINGS
-----------
**tut** uses vim-style keybindings throughout.
### Navigation
**j**, **Down**
Scroll down one line.
**k**, **Up**
Scroll up one line.
**Ctrl-D**, **Space**
Scroll down one page.
**Ctrl-U**, **b**
Scroll up one page.
**gg**
Jump to top of page.
**G**
Jump to bottom of page.
**[***count***]G**
Jump to line *count* (e.g., **50G** jumps to line 50).
**[***count***]j**, **[***count***]k**
Scroll down/up *count* lines (e.g., **5j** scrolls down 5 lines).
### Link Navigation
**Tab**
Move to next link.
**Shift-Tab**, **T**
Move to previous link.
**Enter**
Follow current link.
**h**, **Left**
Go back in history.
**l**, **Right**
Go forward in history.
### Search
**/**
Start search. Enter search term and press **Enter**.
**n**
Jump to next search match.
**N**
Jump to previous search match.
### Commands
Press **:** to enter command mode. Available commands:
**:q**, **:quit**
Quit the browser.
**:o** *URL*, **:open** *URL*
Open *URL*.
**:r**, **:refresh**
Reload current page.
**:h**, **:help**
Display help page.
**:***number*
Jump to line *number*.
### Other
**r**
Reload current page.
**q**
Quit the browser.
**?**
Display help page.
**ESC**
Cancel command or search input.
LIMITATIONS
-----------
**tut** does not execute JavaScript. Modern single-page applications (SPAs)
built with React, Vue, Angular, or similar frameworks will not work correctly,
as they require JavaScript to render content.
To determine if a site will work with **tut**, use:
curl https://example.com | less
If you can see the actual content in the HTML source, the site will work.
If you only see JavaScript code or empty div elements, it will not.
Additionally:
- No image display
- No CSS layout support
- No form submission
- No cookie or session management
- No AJAX or dynamic content loading
EXAMPLES
--------
View the built-in help:
tut
Browse Hacker News:
tut https://news.ycombinator.com
Read Wikipedia:
tut https://en.wikipedia.org/wiki/Unix_philosophy
Open a URL, search for "unix", and navigate:
tut https://example.com
/unix<Enter>
n
DEPENDENCIES
------------
- ncurses or ncursesw (for terminal UI)
- libcurl (for HTTPS support)
- CMake >= 3.15 (build time)
- C++17 compiler (build time)
INSTALLATION
------------
### From Source
**macOS (Homebrew):**
brew install cmake ncurses curl
mkdir -p build && cd build
cmake ..
cmake --build .
sudo install -m 755 tut /usr/local/bin/
**Linux (Debian/Ubuntu):**
sudo apt-get install cmake libncursesw5-dev libcurl4-openssl-dev
mkdir -p build && cd build
cmake ..
cmake --build .
sudo install -m 755 tut /usr/local/bin/
**Linux (Fedora/RHEL):**
sudo dnf install cmake gcc-c++ ncurses-devel libcurl-devel
mkdir -p build && cd build
cmake ..
cmake --build .
sudo install -m 755 tut /usr/local/bin/
### Using Makefile
make
sudo make install
FILES
-----
No configuration files are used. The browser is stateless and does not
store history, cookies, or cache.
ENVIRONMENT
-----------
**tut** respects the following environment variables:
**TERM**
Terminal type. Must support basic cursor movement and colors.
**LINES**, **COLUMNS**
Terminal size. Automatically detected via ncurses.
EXIT STATUS
-----------
**0**
Success.
**1**
Error occurred (e.g., invalid URL, network error, ncurses initialization
failure).
PHILOSOPHY
----------
**tut** follows the Unix philosophy:
1. Do one thing well: display and navigate text content from the web.
2. Work with other programs: output can be piped, URLs can come from stdin.
3. Simple and minimal: no configuration files, no persistent state.
4. Text-focused: everything is text, processed and displayed cleanly.
The design emphasizes keyboard efficiency, clean output, and staying out
of your way.
SEE ALSO
--------
lynx(1), w3m(1), curl(1), vim(1)
BUGS
----
Report bugs at: https://github.com/m1ngsama/TUT/issues
AUTHORS
-------
m1ngsama <contact@m1ng.space>
Inspired by lynx, w3m, and vim.
LICENSE
-------
MIT License. See LICENSE file for details.