• This repository has been archived on 08/Dec/2022
  • Stars
    star
    110
  • Rank 316,770 (Top 7 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 12 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Dead simple HTML-safe truncation via the DOM.

Build Status

Usage

jQuery.truncate(html, options)

> jQuery.truncate('<p>Stuff and <i>Nonsense</i></p>', {
  length: 13
});
'<p>Stuff and <i>No…</i></p>'

$el.truncate(options)

> jQuery('<p>Stuff and <i>Nonsense</i></p>').truncate({
  length: 13
}).html();
'<p>Stuff and <i>No…</i></p>'

Options

Default options are stored on jQuery.truncate.defaults.

length

Default: Infinity

The maximum length (including the ellipsis) of the truncated html.

stripTags

Default: false

If stripTags is truthy all html tags will be stripped, leaving only the text.

> jQuery.truncate('<p>Stuff and <i>Nonsense</i></p>', {
  length: 13,
  stripTags: true
});
'Stuff and No…'

words

Default: false

If words is truthy the input will only be truncated at word boundaries.

> jQuery.truncate('<p>Stuff and <i>Nonsense</i></p>', {
  length: 13,
  words: true
});
'<p>Stuff and…</p>'

keepFirstWord

Default: false

When words and keepFirstWord are both truthy the input will contain at least one word beside the ellipsis even if it's longer than a target length.

> jQuery.truncate('<p>Stuff and <i>Nonsense</i></p>', {
  length: 4,
  words: true,
  keepFirstWord: true
});
'<p>Stuff…</p>'

finishBlock

Default: false

When finishBlock is true it will always truncate the content at the end of the block.

> jQuery.truncate('<p>Stuff and <i>Nonsense</i> and something else</p>', {
  length: 13,
  finishBlock: true,
});
'<p>Stuff and <i>Nonsense…</i></p>'

noBreaks

Default: false

If noBreaks is truthy the input will contain no break elements.

> jQuery.truncate('<p>Stuff and<br><i>Nonsense</i></p>', {
  length: 13,
  noBreaks: true
});
'<p>Stuff and <i>No…</i></p>'

ellipsis

Default: '…'

The ellipsis setting is used to provide a different character for the ellipsis.

> jQuery.truncate('<p>Stuff and <i>Nonsense</i></p>', {
  length: 13,
  ellipsis: '~'
});
'<p>Stuff and <i>No~</i></p>'