• Stars
    star
    186
  • Rank 207,316 (Top 5 %)
  • Language
    Python
  • License
    MIT License
  • Created about 9 years ago
  • Updated about 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A python client for tldr: simplified and community-driven man pages.

tldr.py

Latest Version Build Status Coverage Status Python Versions

Yet another python client for tldr.

Intro

tldr.py is a python client for tldr: simplified and community-driven man pages. Instead of the long man pages:

tar-man-page

tldr will give you several simple yet powerful examples:

tar-tldr-page

The command examples are not good? Don't worry, you can set up your own 'tldr'! They are just markdown files and you can modify them at your ease. Don't forget to Share them with the community!

One more thing, tldr is just a simple version for the man page, it's NOT an alternative. Sometimes, you should read the man pages patiently ;)

Features highlight

  • use local file, fast.
  • support custom the output color.
  • support fetch the latest tldr pages.
  • support rebuild the index.

Install

$ (sudo) pip install tldr.py

Usage

Initialize with script

$ curl -s https://raw.githubusercontent.com/lord63/tldr.py/master/install.sh | bash

Or you can initialize by hand

  • firstly, clone the tldr repo to somewhere(e.g. ~/code/tldr). We will use it when we look for a command usage.

    $ cd ~/code
    $ git clone https://github.com/tldr-pages/tldr.git
    
  • then, init the configuration file, the default location for the configuration file is your home directory, you can use the TLDR_CONFIG_DIR environment variable to point it to another folder(e.g. $HOME/.config)

    $ tldr init
    Input the tldr repo path: (e.g. /home/lord63/code/tldr/)
    Input your platform(linux, osx or sunos): (e.g. linux)
    Initializing the config file at ~/.tldrrc
    

and you configuration file should look like this:

colors:
   command: cyan
   description: blue
   usage: green
platform: linux
repo_directory: /home/lord63/code/tldr

Don't worry about the colors option, it is for the output when you look for a command, you can custom it by yourself.(Note that the color should be in ['black', 'red', 'green', 'yellow', 'blue', 'magenta', 'cyan', 'white'])

  • finally, build the index. Tldr.py will find the command via the index.json. After a new fresh clone or when you add some new pages, remember to rebuild the index.

    $ tldr reindex
    Rebuild the index.
    

Use tldr

look for a command usage:

$ tldr find {{command}}

check for updates(so that we can get the latest man pages):

$ tldr update

rebuild the index.json after you add some new pages:

$ tldr reindex

locate the command man page:

$ tldr locate {{command}}

Or you can use tldr --help to get the help message.

FAQ

Q: I want to add some custom command usages to a command, how to do it?

A: Find the location of the command page; add the command usages; done.

Q: I want to add some custom command pages, how?

A: Add the command pages to the right folder(e.g. /tldrrepo/pages/linux); rebuild the index; done.

Q: I want a short command like tldr COMMAND, not tldr find COMMAND.

A: I'm afraid not, but you can add an alias: alias howto='tldr find', then use howto tar.

Q: I want fuzzy find command usage.

A : Opition one: tldr list | grep KEYWORD, option two(suggested way): install fzf first, then use tldr list | fzf | xargs -I{} tldr find {}, you will love it.

Q: I don't like the default color theme, how to change it?

A: Edit the tldr configuration file at ~/.tldrrc; modify the color until you're happy with it.

Q: I faided to update the tldr pages, why?

A: Actually, tldr.py just tries to pull the latest tldr pages for you, no magic behinds it. So the reason why you faided to update is that tldr.py failed to pull the latest upstream, check the failing output and you may know the reason, e.g. you make some changes and haven't commit them yet. You can pull the pages by hand so you can have a better control on it.

Q: Why use the git repo instead of the assets packaged by the official?

A: In fact, you can use the offical assets if you want, download the assets and extract it somewhere, but tldr.py don't support update it using tldr update.

Use a git repo, you can:

  • do the version control, yeah, use git.
  • better for customization, just edit the pages and add new pages, they belongs to you. You can even maintain your own 'tldr'. If use the official assets, you'll always get the latest pages.

Contributing

  • It sucks? Why not help me improve it? Let me know the bad things.
  • Want a new feature? Feel free to file an issue for a feature request.
  • Find a bug? Open an issue please, or it's better if you can send me a pull request.

Contributions are always welcome at any time! ✨ 🍰 ✨

License

MIT.

More Repositories

1

awesome-python-decorator

A curated list of awesome python decorator resources.
733
star
2

py-spin

Terminal spinner package for Python. (This library is not the one from FLIR)
Python
182
star
3

pyhipku

Encode any IP address as a haiku, funny and lovely. TRY IT NOW: http://pyhipku.lord63.com
Python
91
star
4

choosealicense-cli

Bring http://choosealicense.com to your terminal
Python
72
star
5

isitup

Check whether a website is up or down.
Python
65
star
6

v2ex_daily_mission

V2EX 签到 python 版本实现。支持签到,查询连续登录天数,查询签到日志。
Python
42
star
7

licen

Generate your license. Yet another lice, but implement with Jinja2 and docopt.
Groff
38
star
8

pyemojify

Substitutes emoji aliases to emoji raw characters. Simple but sweet 😄
Python
35
star
9

wonderful_bing

Set bing's picture as wallpaper, support cinnamon, gnome, xfce, mate.
Python
22
star
10

wangyi_music_top100

网易云音乐歌单 TOP 100 . Try it now:
Python
15
star
11

me-api

An extensible, personal API with custom integrations. It's a python port.
Python
15
star
12

ascii_art

Draw ascii art(bar, chart, histogram) in your terminal.
Python
11
star
13

a_bunch_of_code

A bunch of code that I wrote before.
Python
9
star
14

zimuzu

字幕组 (http://www.zimuzu.tv) python 版本命令行签到工具.
Python
8
star
15

caniuse

Can I use this name for my python package on PyPI ?
Python
7
star
16

five.py

Gives you five, funny and lovely.
Python
6
star
17

figlet_web

Generate text to ASCII art! TRY IT NOW: http://text2ascii.lord63.com/
JavaScript
5
star
18

rb_colors

Yet another ruby library that deals with colors.
Ruby
1
star
19

zhihudaily

又一个知乎日报的网页版... https://zhihudaily.lord63.com
CSS
1
star