break-tweet-autolink
TypeScript icon, indicating that this package has built-in type declarations

0.3.1 • Public • Published

Break Auto Links in Tweet

This repository provides a library and tools to remove auto links in tweet text.

Tweet form in https://twitter.com or https://mobile.twitter.com automatically links many things such as screen names, hashtags, URLs. The library and tools provide the capability to remove these links programmatically by inserting zero-width space (\u200B).

Why?

Did you experience various stuffs are linked unintentionally? For example,

  • method call such as receiver.foo()
  • markdown file name such as README.md
  • C's preprocessor macros such as #include
  • Ruby's instance variable @foo and/or global variables $bar

If you experienced and felt it annoying, tools or library provided by this repository would help you.

Usage

Web

As the easiest way to access the feature provided by this repository, small web app is hosted on GitHub pages.

Screenshot for website

  1. Cut your tweet to clipboard at twitter.com or mobile.twitter.com
  2. Visit https://rhysd.github.io/unlink-tweet
  3. Click button
  4. Back to Twitter and paste clipboard text

This site utilizes navigator.clipboard for accessing clipboard. When you click the button at first time, your browser will ask your permission.

If your browser does not support navigator.clipboard, it falls back to <textarea>. Please paste your tweet text to the text area and click the button, then cut the text in text area.

This site is implemented here.

Chrome Extension

If you use the feature frequently, this repository offers a Chrome Extension.

Screenshot for Chrome extension

You can easily remove auto links in selected text at twitter.com or mobile.twitter.com. The easiest way is using a context menu item.

  1. Select your tweet text in a tweet form at twitter.com or mobile.twitter.com.
  2. Right click
  3. Choose 'Unlink Tweet Text' item

It automatically update selected text with unlinked text.

The extension is implemented here. Please read its README.md for more details.

CLI

If you're terminal junky and post tweets from command line, this repository even offers a command line tool to remove auto links in tweet text. Node.js is necessary.

To use the tool, install it via npm

$ npm install -g unlink-tweet-cli
$ unlink-tweet --help

Or running the command without installing the npm package thanks to npx is also supported.

$ npx unlink-tweet-cli --help

Interface of the CLI is

unlink-tweet {text}

or

unlink-tweet [options] -- {text}

{text} can be multiple arguments. In the case, all arguments are joined with one white space. And it outputs unlinked text to STDOUT.

The CLI tool is implemented here. Please read its README.md for more details.

Library

npm package is available. It can be used programmatically from JavaScript.

npm install --save break-tweet-autolink

Please import TweetAutoLinkBreaker class and construct instance with configuration.

const { TweetAutoLinkBreaker } = require('break-tweet-autolink');
 
const b = new TweetAutoLinkBreaker({
    hashtag: true,       // Break hashtag links such as #hashtag
    urlNoScheme: true,   // Break URLs with no scheme such as example.com
    urlWithScheme: true, // Break URLs with scheme such as https://example.com
    cashtag: true,       // Break cashtag links such as $TWTR
    mention: true,       // Break mentions such as @foo
    list: true,          // Break list mentions such as @foo/bar
});
 
const text = 'This #text has $MANY @autolinks please remove it.com';
const unlinked = b.breakAutoLinks(text);
 
console.log('Unlinked:', text);

The package also contains TypeScript type definitions. Please see index.d.ts in the installed package to know APIs.

License

Library and all tools are distributed under the MIT License.

Package Sidebar

Install

npm i break-tweet-autolink

Weekly Downloads

0

Version

0.3.1

License

MIT

Unpacked Size

16.5 kB

Total Files

7

Last publish

Collaborators

  • rhysd