Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/chocolateboy/wax

A CLI tool which adds HTTP support to other CLI tools
https://github.com/chocolateboy/wax

cache cli command-combinator command-line command-line-tool http httpify https mirror uri url web webify

Last synced: 2 days ago
JSON representation

A CLI tool which adds HTTP support to other CLI tools

Awesome Lists containing this project

README

        

NAME

wax - webify your CLI

SYNOPSIS

wax [OPTIONS] program [OPTIONS] ...

e.g.:

$ wax vim -R https://registry.npmjs.org/left-pad/-/left-pad-1.2.0.tgz

runs:

$ vim -R /tmp/wax_abcd1234.tgz

DESCRIPTION

wax is a command-line program which runs other command-line programs and
converts their URL arguments to local file paths. By default, the files are
removed after the command has exited.

As well as adding transparent support for remote resources to commands that
don't support them natively, wax can be used to:

- add support for HTTPS (and any other protocols supported by LWP [1]) to programs that only support HTTP [2]
- add a mirroring layer to network requests (remote resources are only fetched if they've been updated)
- add a caching layer to network requests (remote resources are only fetched once)

For more details, see the wax man page.

INSTALL

Install cpanminus [3] if it's not already installed, then:

cpanm App::Wax

UPDATE

cpanm App::Wax

UNINSTALL

cpanm --uninstall App::Wax

EXAMPLES

espeak

$ alias espeak="wax espeak"
$ espeak -f http://www.setec.org/mel.txt

grep

$ wax grep -B1 demons http://www.mplayerhq.hu/DOCS/man/en/mplayer.1.txt

jsview

Browse files in Node module tarballs

#!/bin/sh

# usage: jsview e.g. jsview left-pad
wax --cache vim -R $(npm info --json "$@" | jq -r .dist.tarball)

nman

Node.js man-page viewer

#!/bin/sh

# usage: nman e.g. nman util
node_version=${NODE_VERSION:-`node --version`}
docroot="https://cdn.jsdelivr.net/gh/nodejs/node@$node_version/doc/api"
wax --cache -D pandoc --standalone --from markdown --to man "$docroot/$1.md" | man -l -

ripgrep

Get the default key bindings for mpv:

$ wax rg -r '$1' '^#(\S.+)$' https://git.io/JfYlz | sort

VERSION

2.4.1

COMPATIBILITY

- perl >= v5.10

SEE ALSO

Tools

- zsh completion script [4]

Links

- The Parrot Virtual File System [5] - a filesystem which provides transparent access to web resources
- SSHFS [6] - a filesystem which provides transparent access to SSH shares
- tmpin [7] - add stdin support to any CLI app that accepts file input

AUTHOR

chocolateboy

COPYRIGHT AND LICENSE

Copyright (c) 2010-2020 by chocolateboy.

This is free software; you can redistribute it and/or modify it under the terms of the Artistic License 2.0. [8]

[1] https://metacpan.org/pod/LWP
[2] https://github.com/jgm/pandoc/issues/1266
[3] https://github.com/miyagawa/cpanminus/tree/devel/App-cpanminus#readme
[4] https://github.com/chocolateboy/wax/wiki/Zsh-completion-script
[5] https://ccl.cse.nd.edu/software/parrot/
[6] https://github.com/libfuse/sshfs
[7] https://github.com/sindresorhus/tmpin
[8] https://www.opensource.org/licenses/artistic-license-2.0.php