break-tweet-autolink
v0.3.1
Published
Break auto links in tweet text
Downloads
17
Readme
Break Auto Links in Tweet
This repository provides a library and tools to remove auto links in tweet text.
- Library: break-tweet-autolink
- Tools:
- GitHub pages: https://rhysd.github.io/break-tweet-autolink/
- Chrome Extension: Unlink Tweet
- CLI: unlink-tweet-cli
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, // 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.