https://github.com/foliant-docs/foliantcontrib.multilinetables
Preprocessor for Foliant that converts tables in project markdown files to multiline format
https://github.com/foliant-docs/foliantcontrib.multilinetables
Last synced: 5 months ago
JSON representation
Preprocessor for Foliant that converts tables in project markdown files to multiline format
- Host: GitHub
- URL: https://github.com/foliant-docs/foliantcontrib.multilinetables
- Owner: foliant-docs
- License: mit
- Created: 2018-08-21T10:43:09.000Z (almost 8 years ago)
- Default Branch: develop
- Last Pushed: 2020-07-09T10:27:53.000Z (almost 6 years ago)
- Last Synced: 2025-10-31T23:15:48.294Z (7 months ago)
- Language: Python
- Homepage:
- Size: 10.7 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.md
- License: LICENSE
Awesome Lists containing this project
README
# Multiline and grid tables for Foliant
This preprocessor converts tables to multiline and grid format before creating document (very useful especially for pandoc processing). It helps to make tables in doc and pdf formats more proportional — column with more text in it will be more wide. Also it helps whith processing of extremely wide tables with pandoc. Convertation to the grid format allows arbitrary cell' content (multiple paragraphs, code blocks, lists, etc.).
## Installation
```shell
$ pip install foliantcontrib.multilinetables
```
## Config
To enable the preprocessor with default options, add `multilinetables` to `preprocessors` section in the project config:
```yaml
preprocessors:
- multilinetables
```
The preprocessor has a number of options (best values set by default):
```yaml
preprocessors:
- multilinetables:
rewrite_src_files: false
min_table_width: 100
keep_narrow_tables: true
table_columns_to_scale: 3
enable_hyphenation: false
hyph_combination: '
'
convert_to_grid: false
targets:
- docx
- pdf
```
`rewrite_src_file`
: You can update source files after each use of preprocessor. Be careful, previous data will be deleted.
`min_table_width`
: Wide markdown tables will be shrinked to this width in symbols. This parameter affects scaling - change it if table columns are merging.
`keep_narrow_tables`
: If `true` narrow tables will not be stretched to minimum table width.
`table_columns_to_scale`
: Minimum amount of columns to process the table.
`enable_hyphenation`
: Switch breaking text in table cells with the tag set in `hyph_combination`. Good for lists, paragraphs, etc.
`hyph_combination`
: Custom tag to break a text in multiline tables.
`convert_to_grid`
: If `true` tables will be converted to the grid format, that allows arbitrary cell' content (multiple paragraphs, code blocks, lists, etc.).
`targets`
: Allowed targets for the preprocessor. If not specified (by default), the preprocessor applies to all targets.
## Usage
Just add preprocessor to the project config and enjoy the result.