npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

typesplit

v1.0.0

Published

Simple js utility that splits plain text into dom nodes so indivual characters, words, linescan be animated

Downloads

22

Readme

SplitType

A javascript plugin that "splits" plain text into indivudual lines, words and characters, which can each be animated and styled independly. This makes it easy to create complex typographic animations without the use of canvas. Compatible with GSAP and Velocity

How To Use:

SplitType attaches a global function to the window object, which can be called at any time to split the text in one or more elements. SplitType is a constructor; it returns a new SplitType instance that contains several properties and methods for interacting with the split text.

It takes two arguments:

  • elements: the target element(s). This can be a selector string, DOM node, nodelist, jQuery object or array
  • options: (optional) An object containing custom settings for the splitType call (see below for a list of available options)
// The basic syntax is:
var instance = new SplitType( elements, [ options ] ); 

SpliType works taking plain text and wrapping each line, word, and character in an element, without modifying the visual appearance or formatting of the text. By default it uses inline-block elements and relative positioning. This allows the split text to still reflow naturally when the viwport is resized. However, its also possible to apply absolute positioning to all split text elements.

options:

split: {string} (default: 'lines, words, chars') defines how the text will be split up. takes a comma separated list.

position: {string} (default: 'relative') the css positioning used for split text elements choices: 'relative' | 'absolute'

tag: {string} (default: 'div') the type of HTML element that split text will be wrapped in

lineClass: {string} (default: 'split-line') the css class that is added to all split lines

wordClass: {string} (default: 'split-word') the css class added to all split words

charClass: {string} (default: 'split-char') the css class added to all split characters

splitClass: {string} (default: '') a css class for all split text elements

Properties And Methods:
var instance = new SplitType('#some-element');
// an array of the split lines in the splitType instance (DOM nodes)
instance.lines 
// an array of the split words in the splitType instance
instance.words 
// an array of the split chars in the splitType instance 
instance.chars 

// METHODS
instance.split(options) 

instance.revert() 

Using splitType with Velocity

// This splits the text in '.banner h1' into both words and characters,
// using absolute positioning. 
var instance = new SplitType('.banner h1', {
	split: 'words, chars', 
	position: 'absolute'
});

// Pass the split characters directly into a Velocity
// TIP: using Velocity's features like stagger, drag, and backwards is 
Velocity( instance.chars, 'transition.slideDownBigIn', { duration: 1000, stagger: 100 })