Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

tweet-parser

A JS module for parsing tweets into an array of entities.

Huge thanks go to Vincent Loy and his TweetParser.js project, for which the regexes this package uses were originally taken from. Vincent's project is great but works on tweets in the DOM, and I needed something that could take the raw text.

For example, given a tweet with this content:

Migrating from Angular to React- an honest case study on @songkick by @Jack_Franklin. Watch here- http://bit.ly/2gD80W1  #reactlondon

We get an array of entities:

[
  { type: 'TEXT', content: 'Migrating from Angular to React- an honest case study on ' },
  {
    type: 'USER',
    content: '@songkick',
    url: 'https://www.twitter.com/songkick',
  },
  { type: 'TEXT', content: ' by ' },
  {
    type: 'USER',
    content: '@Jack_Franklin',
    url: 'https://www.twitter.com/Jack_Franklin',
  },
  { type: 'TEXT', content: '. Watch here- ' },
  {
    type: 'LINK',
    content: 'http://bit.ly/2gD80W1',
    url: 'http://bit.ly/2gD80W1',
  },
  { type: 'TEXT', content: '  ' },
  {
    type: 'HASH',
    content: '#reactlondon',
    url: 'https://twitter.com/search?q=%23reactlondon',
  },
]

Why?

A side project I was working on had to render tweets from an API and I wanted a nice way of being able to style different parts of the tweet based on if they were a link, hashtag, user reference or just plain text.

Installation and Usage

$ npm install tweet-parser

$ yarn add tweet-parser
import tweetParser from 'tweet-parser'

const result = tweetParser('My fun tweet');

console.log(result)
// [ { type: 'TEXT', content: 'My fun tweet' } ]

About

Parsing tweets into lists of entities.

Resources

Releases

No releases published

Packages

No packages published