|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'

A very very long link

' >>> 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'

A very very long link

') 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 `_. Contributes ----------- You can send a pull reueqst on `GitHub `_. .. |Build Status| image:: https://img.shields.io/travis/tonyseek/html5lib-truncation.svg?style=flat :target: https://travis-ci.org/tonyseek/html5lib-truncation :alt: Build Status .. |Coverage Status| image:: https://img.shields.io/coveralls/tonyseek/html5lib-truncation.svg?style=flat :target: https://coveralls.io/r/tonyseek/html5lib-truncation :alt: Coverage Status .. |Wheel Status| image:: https://img.shields.io/pypi/wheel/html5lib-truncation.svg?style=flat :target: https://warehouse.python.org/project/html5lib-truncation :alt: Wheel Status .. |PyPI Version| image:: https://img.shields.io/pypi/v/html5lib-truncation.svg?style=flat :target: https://pypi.python.org/pypi/html5lib-truncation :alt: PyPI Version