Coder Social home page Coder Social logo

waples / tldr-python-client Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tldr-pages/tldr-python-client

0.0 1.0 0.0 168 KB

Python command-line client for tldr pages

Home Page: https://pypi.org/project/tldr/

License: MIT License

Python 100.00%

tldr-python-client's Introduction

tldr-python-client

PyPI Release Build

Python command-line client for tldr pages.

tldr screenshot

Installation

from PyPI

pip install tldr

from Arch Linux repository

sudo pacman -S tldr

from Fedora packages repository

sudo dnf install tldr

Usage

usage: tldr [-u] [-p PLATFORM] [-s SOURCE] [-c] [-r] [-L LANGUAGE] command

Python command line client for tldr

positional arguments:
  command               command to lookup

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit
  -u, --update_cache    Update the local cache of pages and exit
  -p PLATFORM, --platform PLATFORM
                        Override the operating system [linux, osx, sunos,
                        windows, common]
  -s SOURCE, --source SOURCE
                        Override the default page source
  -c, --color           Override color stripping
  -r, --render          Render local markdown files
  -l, --list            List all available commands for operating system    
  -L LANGUAGE, --language LANGUAGE
                        Override the default language

Configuration

You can configure the behavior and output of the tldr client by setting environment variables. For example, in the .bashrc file:

export TLDR_COLOR_NAME="cyan"
export TLDR_COLOR_DESCRIPTION="white"
export TLDR_COLOR_EXAMPLE="green"
export TLDR_COLOR_COMMAND="red"
export TLDR_COLOR_PARAMETER="white"
export TLDR_CACHE_ENABLED=1
export TLDR_CACHE_MAX_AGE=720
export TLDR_PAGES_SOURCE_LOCATION="https://raw.githubusercontent.com/tldr-pages/tldr/master/pages"
export TLDR_DOWNLOAD_CACHE_LOCATION="https://tldr-pages.github.io/assets/tldr.zip"

Cache

Cache is downloaded from TLDR_DOWNLOAD_CACHE_LOCATION (defaults to the one described in the client specification), unzipped and extracted into the local cache directory. Pages are loaded directly from TLDR_PAGES_SOURCE_LOCATION if tldr <command> is used.

  • TLDR_CACHE_ENABLED (default is 1):
    • If set to 1, the client will first try to load from cache, and fall back to fetching from the internet if the cache doesn't exist or is too old.
    • If set to 0, the client will fetch from the internet, and fall back to the cache if the page cannot be fetched from the internet.
  • TLDR_CACHE_MAX_AGE (default is 24): maximum age of the cache in hours to be considered as valid when TLDR_CACHE_ENABLED is set to 1.

Cache location

In order of precedence:

  • $XDG_CACHE_HOME/tldr
  • $HOME/.cache/tldr
  • ~/.cache/tldr

If you are experiencing issues with tldr, consider deleting the cache files before trying other measures.

Autocomplete

argcomplete is required for autocompletion. See the argcomplete docs for how to enable argcomplete. Cache will also need to be enabled and downloaded.

SSL Inspection

For networks that sit behind a proxy, it may be necessary to disable SSL verification for the client to function. Setting the following:

  • TLDR_ALLOW_INSECURE=1

will disable SSL certificate inspection. This should be avoided unless absolutely necessary.

Colors

Values of the TLDR_COLOR_x variables may consist of three parts:

  • Font color: blue, green, yellow, cyan, magenta, white, grey, red
  • Background color: on_blue, on_cyan, on_magenta, on_white, on_grey, on_yellow, on_red, on_green
  • Additional effects, which depends on platform: reverse, blink, dark, concealed, underline, bold

You may specify as many additional effects as you want, while only one of font and background color.

Any of the values of above may be omitted. For example, you can do similar things as the following:

  • TLDR_COLOR_NAME="" use default system font color with default background color without any effects
  • TLDR_COLOR_DESCRIPTION="white" for white text on default system background color without any effects
  • TLDR_COLOR_NAME="cyan dark" for dark cyan text on default system background color
  • TLDR_COLOR_NAME="on_red" for default system font color on red background color
  • TLDR_COLOR_PARAMETER="red on_yellow underline" for underlined red text on yellow background
  • TLDR_COLOR_NAME="bold underline" for default system font and background colors with underline and bolded effects

Language

The language that tldr will use is dependent on a number of factors. If you specify a language via the --language flag, tldr will attempt to use that language and only that language. Otherwise, it will default to language set using LANGUAGE and LANG (ignoring the value C and POSIX). If neither are set, then tldr will always attempt to get the en page. Finally, if LANG is set, it uses LANGUAGE, if set, first as the priority list to try languages in, followed by LANG if not included in LANGUAGE and en as fallback (assuming it does not already appear somewhere in LANGUAGE or LANG). All language values should be set to a value that follows RFC 1766, with the special exception of C and POSIX which is ignored.

Remote source

If you wish to use your own instance of the tldr pages instead of the default repository, you can either use the --source flag when using tldr or by specifying the following environment variables:

  • TLDR_PAGES_SOURCE_LOCATION to control where to get individual pages from
    • defaults to https://raw.githubusercontent.com/tldr-pages/tldr/master/pages
    • it can also point to local directory using file:///path/to/directory
  • TLDR_DOWNLOAD_CACHE_LOCATION to control where to pull a zip of all pages from
    • defaults to https://tldr-pages.github.io/assets/tldr.zip

tldr-python-client's People

Contributors

anakimluke avatar anmol-singh-jaggi avatar bl-ue avatar bwh1te avatar columbarius avatar felixonmars avatar franga2000 avatar frenzymadness avatar hugovk avatar igorshubovych avatar iliakonnov avatar jacobcallahan avatar jcgoran avatar jeeftor avatar juanpabloaj avatar lots0logs avatar lucasoshiro avatar masterodin avatar matusf avatar mdshw5 avatar mohammad7t avatar onovy avatar pacohh avatar ramwin avatar samuel-w avatar shrayasr avatar torsava avatar waldyrious avatar wcheang avatar zlatanvasovic avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.