# hyperlinker

> Write hyperlinks in the terminal.

Latest version **1.0.0** (published 2017-11-28) · MIT license · 0 weekly downloads

## Install

```sh
npm install hyperlinker
pnpm add hyperlinker
yarn add hyperlinker
bun add hyperlinker
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.0 |
| Published | 2017-11-28 |
| First published | 2017-11-28 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=4 |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 89 |
| Author | James Talmage |
| Maintainers | jamestalmage |
| Keywords | terminal, link, hyperlink, cli |

## Links

- npm: https://www.npmjs.com/package/hyperlinker
- Repository: https://github.com/jamestalmage/hyperlinker
- Homepage: https://github.com/jamestalmage/hyperlinker#readme
- Issues: https://github.com/jamestalmage/hyperlinker/issues
- npm.io page: https://npm.io/package/hyperlinker

## Alternatives

- [@salesforce/cli](https://npm.io/package/@salesforce/cli.md) — 389.7K weekly downloads
- [@mintlify/cli](https://npm.io/package/@mintlify/cli.md) — 208.9K weekly downloads
- [@grafana/e2e-selectors](https://npm.io/package/@grafana/e2e-selectors.md) — 128.7K weekly downloads
- [mintlify](https://npm.io/package/mintlify.md) — 112.0K weekly downloads
- [@intlayer/cli](https://npm.io/package/@intlayer/cli.md) — 22.8K weekly downloads

## Recent versions

- 1.0.0 (latest) — 2017-11-28

## README

# hyperlinker [![Build Status](https://travis-ci.org/jamestalmage/hyperlinker.svg?branch=master)](https://travis-ci.org/jamestalmage/hyperlinker) [![codecov](https://codecov.io/gh/jamestalmage/hyperlinker/badge.svg?branch=master)](https://codecov.io/gh/jamestalmage/hyperlinker?branch=master)

> Write hyperlinks in the terminal.

Terminal emulators are [starting to support hyperlinks](https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda). While many terminals have long detected URL's and linkified them, allowing you to Command-Click or Control-Click them to open a browser, you were forced to print the long unsightly URL's on the screen. As of spring 2017 [a few terminals](https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda) began supporting HTML like links, where the link text and destination could be specified separately.

This module will create hyperlinks when printed to a supported terminal.

## Install

```
$ npm install hyperlinker
```


## Usage

```js
const hyperlinker = require('hyperlinker');

console.log(hyperlinker('some text', 'https://example.com') + '   <--- command + click here!');
// some text    <-- command + click here!

```

Note that this module does not check to see if hyperlinks are supported in the current Terminal. In unsupported terminals, users will likely only see the `text` command. You should use module [`supports-hyperlinks`](https://github.com/jamestalmage/supports-hyperlinks) if you want to provide an alternate presentation based on Terminal support.

```js
const supportsHyperlinks = require('supports-hyperlinks');
const hyperlinker = require('hyperlinker');

if (supportsHyperlinks.stdout) {
    console.log(hyperlinker('click here', 'https://example.com'));
} else {
    console.log('Copy and paste the following in your browser: \n\t https://example.com');
}
```

## API

### hyperlinker(text, uri, [params])

#### text

Type: `string`

The text that will be visible in the link. This is equivalent to the text between the opening `<a>` and closing `</a>` tags in HTML.

#### uri

Type: `string`

A URI (i.e `https://example.com`) where the link will point to. This is equivalent to the context of the `href` attribute in an HTML `<a>` tag.

#### params

Type: `Object`<br>
*Optional*

A collection of key value pairs, that will be printed as hidden `params`. There's not a lot of use for these right now, except for maybe [an id param](https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda#hover-underlining-and-the-id-parameter). It is intended to allow extension of the spec in the future.


## License

MIT © [James Talmage](https://github.com/jamestalmage)

---
_Source: https://npm.io/package/hyperlinker · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
