#tl-dr #tldr-pages

bin+lib tldrx

A tldr pages client support private pages

2 unstable releases

0.2.0 Dec 3, 2022
0.1.0 Sep 12, 2022

#4 in #tl-dr

MIT OR MulanPSL-2.0

125KB
843 lines

TLDRx

GitHub CI License License

English | 简体中文

screenshot

Features

  • Support private tldr pages repo.
  • Support editing private tldr pages.
  • Show pages with platform info attached.
  • Adheres to tldr-pages client specification.[^1]
  • Offline caching official tldr pages repo.
  • Configurable official tldr pages archive download link.
  • Honor HTTP_PROXY and HTTPS_PROXY system proxies (handy for regulation area).
  • Advanced configuration: color style, platform, editor...
  • Support new tldr pages syntax.[^2]

Usages

Show pages for git commit:

tldrx git commit

Update local cache(Required for the first time before showing official pages):

tldrx --update

Edit or create private page for git commit:

tldrx -e git commit

For more:

tldrx --help

Installation

Assume you have rust cargo installed:

cargo install tldrx

Benchmarks

Benchmarked in a Docker container(Dockerfile) on a GitHub Acions machine(2C-7GB-SSD) using hyperfine with 100 round against each client.

Client 2022-10-05 Build Flags Mean [ms] Min [ms] Max [ms] Relative
outfieldr -Drelease-safe 23.0 ± 2.6 18.5 36.6 1.00
tldrx --release 30.2 ± 3.0 25.5 43.0 1.32 ± 0.20
tealdeer --release 32.9 ± 3.5 27.3 45.4 1.43 ± 0.22
tldr c client -O3 76.8 ± 5.8 63.8 106.4 3.34 ± 0.45

P.S. Studies shows that response within 100ms time frame human brain would treat it as an instantaneous reaction^3. Recommendation here is chose a client base on the provided features that suits you while the response time is within 100ms. If you want more performance, build tldrx as a static binary that would reduce the dynamic library load time.

Configuration

The location of the configuration file .tldrxrc varies by platform

  • Linux ~/.tldrxrc
  • MacOS ~/.tldrxrc
  • Windows %USERPROFILE%\.tldrxrc

Create one if not there.

Template .tldrxrc

  • [-] option Optional.
  • <+> option Required only if that feature you want.

# [-] Path to cache official tldr-pages
official_pages_dir = "/path/to/official/tldr-pages"

# <+> Path to private tldr-pages
private_pages_dir = "/path/to/private/tldr-pages"

# [-] Show pages for the given platform. Option: [osx | linux | ...]
platform = "linux"

# [-] Colorlize the output pages Choice: [auto | on | off]
sytled = "auto"

# [-] Editor to edit private tldr-pages
editor = "vi"

License

This project is dual-licensed under MIT license and MulanPSL-2.0 license. You can freely choose one or the other that suits you.

[^1]: Use tldrx instead of tldr.

[^2]: The new syntax for tldr-pages is an experimental RFC.

Dependencies

~8–20MB
~287K SLoC