Skip to main content

Modify valid rst text to fit within given width

Project description

Dependencies

Installation

>>> sudo pip install reflowrst

Usage

Modify valid rst text to fit within a given space

For example:

>>> from reflowrst import reflow
>>> text = '''
    +------------------------+------------+----------+----------+
    | Header row, column 1   | Header 2   | Header 3 | Header 4 |
    | (header rows optional) |            |          |          |
    +========================+============+==========+==========+
    | body row 1, column 1   | column 2   | column 3 | column 4 |
    +------------------------+------------+----------+----------+
    | body row 2             | Cells may span columns.          |
    +------------------------+------------+---------------------+
    | body row 3             | Cells may  | - Table cells       |
    +------------------------+ span rows. | - contain           |
    | body row 4             |            | - body elements.    |
    +------------------------+------------+---------------------+
    '''
>>> print(reflow(text, 65))
>>>
    +------------------------------+----------+----------+----------+
    | Header row, column 1 (header | Header 2 | Header 3 | Header 4 |
    | rows optional)               |          |          |          |
    +==============================+==========+==========+==========+
    | body row 1, column 1         | column 2 | column 3 | column 4 |
    +------------------------------+----------+----------+----------+
    | body row 2                   | Cells may span columns.        |
    +------------------------------+----------+---------------------+
    | body row 3                   | Cells    | - Table cells       |
    +------------------------------+ may span | - contain           |
    | body row 4                   | rows.    | - body elements.    |
    +------------------------------+----------+---------------------+

You can also get the longest possible form of the rst text by using 0 for the space. For example:

>>> paragraph = '\n'.join(['line 1',
                           'line 2'])
>>> print(reflow(paragraph, 0))
>>> 'line 1 line 2'

Todo

  • ☑ Titles

  • ☐ Transitions

  • ☑ Paragraphs

  • ☑ Bullet Lists

  • ☑ Enumerated Lists

  • ☑ Definitions

  • ☑ Fields

  • ☑ Options

  • ☐ Literal Blocks

  • ☐ Quoted Literal Blocks

  • ☐ Line Blocks

  • ☑ Block Quotes

  • ☐ Doctest Blocks

  • ☑ Grid Tables

  • ☐ Simple Tables

  • ☑ Footnotes

  • ☐ Citations

  • ☐ Hyperlink Targets

  • ☐ Directives

  • ☐ Substitution Definitions

  • ☐ Comments

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

reflowrst-1.0.1.tar.gz (13.3 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page