Layout specific text truncator considering line length, content height or character length.
You can install truncator from npm.
$ npm install truncator --save
If you are using module loader such as Rollup or Webpack:
import { truncate } from 'truncator';
Also, you can use it from unpkg:
<!-- Normal build -->
<script src="https://unpkg.com/truncator"></script>
<!-- Minified build -->
<script src="https://unpkg.com/truncator/dist/truncator.min.js"></script>
var truncate = Truncator.truncate;
Just call truncate
function then the specified text will be truncated.
var truncator = truncate(el, text, options);
el
:HTMLElement
that will be inputtext
.text
: Truncate targetstring
.options
: Truncate optionsobject
.line
,height
orcount
ellipsis
: Ellipsis symbol.null
indicates no symbol will be added. default:'...'
The returned object has the following methods:
recalc()
: Retry to truncate the initially givenel
andtext
on the current state. It is useful if you want to adapt resizing the container element.restoreText()
: Restore the original text onel
.
// Re-truncate the text
truncator.recalc();
// Restore the original text
truncator.restoreText();
var el = document.getElementById('wrapper');
var truncator = truncate(el, 'Target text', { line: 3, ellipsis: null });
window.addEventListener('resize', function () {
truncator.recalc();
});
MIT