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.
- Cut your tweet to clipboard at twitter.com or mobile.twitter.com
- Visit https://rhysd.github.io/unlink-tweet
- Click button
- 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.
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.
- Select your tweet text in a tweet form at twitter.com or mobile.twitter.com.
- Right click
- 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,
urlNoScheme: true,
urlWithScheme: true,
cashtag: true,
mention: true,
list: true,
});
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.