|Build Status| |Coverage Status| |PyPI Version| |Wheel Status| html5lib-truncation =================== ``html5lib-truncation`` is a html5lib_ filter implementation, which can truncate HTML to specific length in display, but never breaks HTML tags. There is a shortcut function, the simplest way to use it: .. code-block:: python >>> from html5lib_truncation import truncate_html >>> >>> html = u'
' >>> truncate_html(html, 8) u'A very' >>> truncate_html(html, 8, break_words=True) u'
A very ve' >>> truncate_html(html, 20, end='...') u'
A very very...' >>> truncate_html(html, 20, end='...', break_words=True) u'
A very very lon...' .. _html5lib: https://github.com/html5lib/html5lib-python Installation ------------ :: pip install html5lib-truncation Don't forget to put it into your ``requirements.txt`` or ``setup.py``. API Overview ------------ The core API of html5lib-truncation is the filter: .. code-block:: python import html5lib from html5lib_truncation import TruncationFilter etree = html5lib.parse(u'
') walker = html5lib.getTreeWalker('etree') stream = walker(etree) stream = TruncationFilter(stream, 20, end='...', break_words=True) serializer = html5lib.serializer.HTMLSerializer() serialized = serializer.serialize(stream) print(u''.join(serialized).strip()) The output is ``A very very lon...``.
Issues
------
If you want to report bugs or other issues, please create issues on
`GitHub Issues