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.

Files for reflowrst, version 1.0.1
Filename, size File type Python version Upload date Hashes
Filename, size reflowrst-1.0.1.tar.gz (13.3 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page