Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: thombashi/pytablewriter
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.0.0
Choose a base ref
...
head repository: thombashi/pytablewriter
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v1.1.0
Choose a head ref

Commits on Jul 1, 2023

  1. Unverified

    This user has not yet uploaded their public signing key.
    Copy the full SHA
    a254128 View commit details
  2. Unverified

    This user has not yet uploaded their public signing key.
    Copy the full SHA
    bd0c018 View commit details
  3. Replace a screenshot: #59

    thombashi committed Jul 1, 2023
    Copy the full SHA
    76e53c6 View commit details
  4. Copy the full SHA
    a32b2ab View commit details
  5. Copy the full SHA
    49f9da7 View commit details

Commits on Sep 16, 2023

  1. Apply auto formatter

    thombashi committed Sep 16, 2023
    Copy the full SHA
    0b6d310 View commit details
  2. Copy the full SHA
    16381a8 View commit details
  3. Bump pypy version of CI

    thombashi committed Sep 16, 2023
    Copy the full SHA
    904b3ab View commit details
  4. Improve type annotations

    thombashi committed Sep 16, 2023
    Copy the full SHA
    91de9d4 View commit details
  5. Copy the full SHA
    04d255f View commit details
  6. Update docstrings

    thombashi committed Sep 16, 2023
    Copy the full SHA
    cf5062c View commit details
  7. Copy the full SHA
    9ed934e View commit details
  8. Update test_requirements

    thombashi committed Sep 16, 2023
    Copy the full SHA
    b1bdb55 View commit details
  9. Remove an unused variable

    thombashi committed Sep 16, 2023
    Copy the full SHA
    4f6e6a2 View commit details
  10. Copy the full SHA
    7dd5be5 View commit details
  11. Modify release target

    thombashi committed Sep 16, 2023
    Copy the full SHA
    d36a24e View commit details
  12. Update MANIFEST.in

    thombashi committed Sep 16, 2023
    Copy the full SHA
    137f76e View commit details
  13. Copy the full SHA
    8bda16a View commit details
  14. Update [tool.mypy]

    thombashi committed Sep 16, 2023
    Copy the full SHA
    bd425bf View commit details
  15. Fix a test case

    thombashi committed Sep 16, 2023
    Copy the full SHA
    28054e3 View commit details

Commits on Sep 23, 2023

  1. Update pypy version of CI

    thombashi committed Sep 23, 2023
    Copy the full SHA
    095a476 View commit details
  2. Modify concurrency.group

    thombashi committed Sep 23, 2023
    Copy the full SHA
    2847eda View commit details
  3. Fix CI

    thombashi committed Sep 23, 2023
    Copy the full SHA
    994f055 View commit details
  4. Add type annotations

    thombashi committed Sep 23, 2023
    Copy the full SHA
    119eee9 View commit details
  5. Copy the full SHA
    c8d27a0 View commit details
  6. Modify a test case

    thombashi committed Sep 23, 2023
    Copy the full SHA
    d958238 View commit details
  7. Update classifiers

    thombashi committed Sep 23, 2023
    Copy the full SHA
    0610849 View commit details

Commits on Sep 24, 2023

  1. Copy the full SHA
    619c225 View commit details
  2. Add FontStyle.TYPEWRITER

    thombashi committed Sep 24, 2023
    Copy the full SHA
    1796358 View commit details
  3. Add support for styles for Latex writers

    - Style.decoration_line: DecorationLine.STRIKE, DecorationLine.LINE_THROUGH
    - Style.decoration_line: DecorationLine.UNDERLINE
    thombashi committed Sep 24, 2023
    Copy the full SHA
    e66e580 View commit details
  4. Add support for styles for Latex writers

    - Style.fg_color
    thombashi committed Sep 24, 2023
    Copy the full SHA
    499582e View commit details
  5. Update keywords

    thombashi committed Sep 24, 2023
    Copy the full SHA
    1db3fca View commit details
  6. Copy the full SHA
    9969d84 View commit details
  7. Update examples

    thombashi committed Sep 24, 2023
    Copy the full SHA
    ae811b1 View commit details
  8. Update examples

    thombashi committed Sep 24, 2023
    Copy the full SHA
    4c6da9c View commit details
  9. Modify type annotations

    thombashi committed Sep 24, 2023
    Copy the full SHA
    12d31de View commit details
  10. Copy the full SHA
    79307c2 View commit details
  11. Copy the full SHA
    610bc0b View commit details
  12. Copy the full SHA
    209395b View commit details
  13. Update docs

    thombashi committed Sep 24, 2023
    Copy the full SHA
    539bae3 View commit details
  14. Update README

    thombashi committed Sep 24, 2023
    Copy the full SHA
    2e56aeb View commit details
  15. Bump version

    thombashi committed Sep 24, 2023
    Copy the full SHA
    038475c View commit details
Showing with 970 additions and 443 deletions.
  1. +20 −20 .github/workflows/ci.yml
  2. +0 −1 MANIFEST.in
  3. +2 −3 Makefile
  4. +94 −8 README.rst
  5. +15 −3 docs/make_readme.py
  6. +10 −4 docs/pages/examples/jupyter_notebook/jupyter_notebook_example.txt
  7. +5 −0 docs/pages/examples/output/markdown/gfm.md
  8. +7 −0 docs/pages/examples/output/markdown/style_filter.md
  9. +1 −1 docs/pages/examples/table_format/text/index.rst
  10. +0 −11 docs/pages/examples/table_format/text/markdown.rst
  11. +19 −0 docs/pages/examples/table_format/text/markdown/markdown.rst
  12. 0 docs/pages/examples/table_format/text/{markdown_example.txt → markdown/md_example.txt}
  13. +27 −0 docs/pages/examples/table_format/text/markdown/md_example_with_flavor.txt
  14. +3 −3 ...amples/table_format/text/{markdown_example_with_margin.txt → markdown/md_example_with_margin.txt}
  15. +49 −0 docs/pages/examples/table_format/text/markdown/md_example_with_style_filter.txt
  16. +33 −31 examples/ipynb/jupyter_notebook_example.ipynb
  17. +146 −46 examples/ipynb/pytablewriter_examples.ipynb
  18. +41 −33 pyproject.toml
  19. +1 −1 pytablewriter/__version__.py
  20. +5 −5 pytablewriter/_function.py
  21. +9 −6 pytablewriter/_logger/_logger.py
  22. +3 −0 pytablewriter/_logger/_null_logger.py
  23. +8 −16 pytablewriter/_table_format.py
  24. +1 −0 pytablewriter/style/_font.py
  25. +47 −29 pytablewriter/style/_style.py
  26. +109 −23 pytablewriter/style/_styler.py
  27. +2 −2 pytablewriter/style/_theme.py
  28. +4 −4 pytablewriter/writer/_elasticsearch.py
  29. +7 −5 pytablewriter/writer/_interface.py
  30. +5 −1 pytablewriter/writer/_msgfy.py
  31. +5 −4 pytablewriter/writer/_null.py
  32. +37 −37 pytablewriter/writer/_table_writer.py
  33. +22 −27 pytablewriter/writer/binary/_excel.py
  34. +12 −12 pytablewriter/writer/binary/_excel_workbook.py
  35. +4 −3 pytablewriter/writer/binary/_interface.py
  36. +9 −6 pytablewriter/writer/binary/_pandas.py
  37. +9 −4 pytablewriter/writer/binary/_sqlite.py
  38. +2 −2 pytablewriter/writer/text/_asciidoc.py
  39. +2 −1 pytablewriter/writer/text/_borderless.py
  40. +3 −3 pytablewriter/writer/text/_css.py
  41. +2 −2 pytablewriter/writer/text/_csv.py
  42. +2 −2 pytablewriter/writer/text/_html.py
  43. +1 −1 pytablewriter/writer/text/_interface.py
  44. +3 −3 pytablewriter/writer/text/_json.py
  45. +3 −1 pytablewriter/writer/text/_jsonlines.py
  46. +4 −4 pytablewriter/writer/text/_latex.py
  47. +4 −2 pytablewriter/writer/text/_ltsv.py
  48. +4 −4 pytablewriter/writer/text/_markdown.py
  49. +2 −2 pytablewriter/writer/text/_mediawiki.py
  50. +8 −8 pytablewriter/writer/text/_rst.py
  51. +2 −1 pytablewriter/writer/text/_spacealigned.py
  52. +10 −10 pytablewriter/writer/text/_text_writer.py
  53. +6 −5 pytablewriter/writer/text/_toml.py
  54. +3 −1 pytablewriter/writer/text/_tsv.py
  55. +3 −2 pytablewriter/writer/text/_unicode.py
  56. +2 −2 pytablewriter/writer/text/_yaml.py
  57. +3 −3 pytablewriter/writer/text/sourcecode/_javascript.py
  58. +2 −2 pytablewriter/writer/text/sourcecode/_pandas.py
  59. +3 −3 pytablewriter/writer/text/sourcecode/_python.py
  60. +3 −6 pytablewriter/writer/text/sourcecode/_sourcecode.py
  61. +1 −1 requirements/requirements.txt
  62. +1 −2 requirements/test_requirements.txt
  63. +2 −0 setup.py
  64. BIN ss/jupyter_notebook.png
  65. +1 −0 test/test_style.py
  66. +16 −0 test/test_styler.py
  67. +54 −5 test/writer/text/test_latex_matrix_writer.py
  68. +3 −3 test/writer/text/test_latex_table_writer.py
  69. +41 −11 test/writer/text/test_markdown_writer.py
  70. +3 −2 tox.ini
40 changes: 20 additions & 20 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -3,14 +3,14 @@ name: CI
on:
push:
paths-ignore:
- '.gitignore'
- '.readthedocs.yaml'
- 'README.rst'
- ".gitignore"
- ".readthedocs.yaml"
- "README.rst"
pull_request:
paths-ignore:
- '.gitignore'
- '.readthedocs.yaml'
- 'README.rst'
- ".gitignore"
- ".readthedocs.yaml"
- "README.rst"

env:
PYTEST_DISCORD_WEBHOOK: ${{ secrets.PYTEST_DISCORD_WEBHOOK }}
@@ -26,7 +26,7 @@ jobs:
image: ghcr.io/thombashi/python-ci:3.11

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- run: make build

@@ -40,42 +40,42 @@ jobs:
image: ghcr.io/thombashi/python-ci:3.11

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- run: make docs

lint:
runs-on: ubuntu-latest
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-lint
group: ${{ github.event_name }}-${{ github.workflow }}-${{ github.ref_name }}-lint
cancel-in-progress: true
timeout-minutes: 20
container:
image: ghcr.io/thombashi/python-ci:3.11

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- run: make check

unit-test:
runs-on: ${{ matrix.os }}
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-ut-${{ matrix.os }}-${{ matrix.python-version }}
group: ${{ github.event_name }}-${{ github.workflow }}-${{ github.ref_name }}-ut-${{ matrix.os }}-${{ matrix.python-version }}
cancel-in-progress: true
strategy:
fail-fast: false
matrix:
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', 'pypy-3.8']
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "pypy-3.8"]
os: [ubuntu-latest, macos-latest, windows-latest]
exclude:
- os: macos-latest
python-version: 'pypy-3.8'
python-version: "pypy-3.8"
- os: windows-latest
python-version: 'pypy-3.8'
python-version: "pypy-3.8"

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
@@ -100,17 +100,17 @@ jobs:
coverage:
runs-on: ubuntu-latest
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-coverage
group: ${{ github.event_name }}-${{ github.workflow }}-${{ github.ref_name }}-coverage
cancel-in-progress: true
timeout-minutes: 20

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
python-version: "3.10"
cache: pip
cache-dependency-path: |
setup.py
@@ -137,12 +137,12 @@ jobs:
cancel-in-progress: true
timeout-minutes: 20
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
python-version: "3.11"
cache: pip
cache-dependency-path: |
setup.py
1 change: 0 additions & 1 deletion MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
include LICENSE
include README.rst
include setup.cfg
include tox.ini
include docs/pages/introduction/summary.txt
include */py.typed
5 changes: 2 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
@@ -7,7 +7,6 @@ AUTHOR := thombashi
PACKAGE := pytablewriter

DOCS_DIR := docs
DOCS_BUILD_DIR := $(DOCS_DIR)/_build
BUILD_WORK_DIR := _work
PKG_BUILD_DIR := $(BUILD_WORK_DIR)/$(PACKAGE)

@@ -70,7 +69,7 @@ readme:

.PHONY: release
release:
cd $(PKG_BUILD_DIR) && $(PYTHON) setup.py release --verbose --search-dir $(PACKAGE)
cd $(PKG_BUILD_DIR) && $(PYTHON) setup.py release --sign --verbose --search-dir $(PACKAGE)
$(MAKE) clean

.PHONY: setup-actionlint
@@ -92,4 +91,4 @@ setup: setup-actionlint setup-ci setup-shellcheck

.PHONY: test
test:
@tox --verbose -e py
$(PYTHON) -m tox --verbose -e py
102 changes: 94 additions & 8 deletions README.rst
Original file line number Diff line number Diff line change
@@ -159,16 +159,16 @@ Write a Markdown table

Rendered markdown at GitHub

Write a Markdown table with a margin
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Write a Markdown table with margins
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:Sample Code:
.. code-block:: python
from pytablewriter import MarkdownTableWriter
def main():
writer = MarkdownTableWriter(
table_name="write an example with a margin",
table_name="write a table with margins",
headers=["int", "float", "str", "bool", "mix", "time"],
value_matrix=[
[0, 0.1, "hoge", True, 0, "2017-01-01 03:04:05+0900"],
@@ -186,7 +186,7 @@ Write a Markdown table with a margin
:Output:
.. code-block::
# write an example with a margin
# write a table with margins
| int | float | str | bool | mix | time |
| --: | ----: | ---- | ----- | -------: | ------------------------ |
| 0 | 0.10 | hoge | True | 0 | 2017-01-01 03:04:05+0900 |
@@ -196,6 +196,86 @@ Write a Markdown table with a margin
``margin`` attribute can be available for all of the text format writer classes.

Write a GitHub Flavored Markdown (GFM) table
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
If you set ``flavor`` keyword argument of ``MarkdownTableWriter`` class to ``"github"`` or ``"gfm"``, the writer will output markdown tables with GitHub flavor.
GFM can apply some additional styles to tables such as ``fg_color`` (text color).

:Sample Code:
.. code-block:: python
from pytablewriter import MarkdownTableWriter
from pytablewriter.style import Style
writer = MarkdownTableWriter(
column_styles=[
Style(fg_color="red"),
Style(fg_color="green", decoration_line="underline"),
],
headers=["A", "B"],
value_matrix=[
["abc", 1],
["efg", 2],
],
margin=1,
flavor="github",
enable_ansi_escape=False,
)
writer.write_table()
Rendered results can be found at `here <https://github.com/thombashi/pytablewriter/blob/master/docs/pages/examples/output/markdown/gfm.md>`__

Apply styles to GFM table with programmatically
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
You can apply styles to specific cells by using style filters.
Style filters will be written as functions.
Example of a style filter function are as follows:

:Sample Code:
.. code-block:: python
from typing import Any, Optional
from pytablewriter import MarkdownTableWriter
from pytablewriter.style import Cell, Style
def style_filter(cell: Cell, **kwargs: Any) -> Optional[Style]:
if cell.is_header_row():
return None
if cell.col == 0:
return Style(font_weight="bold")
value = int(cell.value)
if value > 80:
return Style(fg_color="red", font_weight="bold", decoration_line="underline")
elif value > 50:
return Style(fg_color="yellow", font_weight="bold")
elif value > 20:
return Style(fg_color="green")
return Style(fg_color="lightblue")
writer = MarkdownTableWriter(
table_name="style filter example",
headers=["Key", "Value 1", "Value 2"],
value_matrix=[
["A", 95, 40],
["B", 55, 5],
["C", 30, 85],
["D", 0, 69],
],
flavor="github",
enable_ansi_escape=False,
)
writer.add_style_filter(style_filter)
writer.write_table()
Rendered results can be found at `here <https://github.com/thombashi/pytablewriter/blob/master/docs/pages/examples/output/markdown/style_filter.md>`__

Write a Markdown table to a stream or a file
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`Refer an example <https://github.com/thombashi/pytablewriter/blob/master/examples/py/stream/configure_stream.py>`__
@@ -581,13 +661,19 @@ Make tables for specific applications
---------------------------------------
Render a table on Jupyter Notebook
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
https://nbviewer.jupyter.org/github/thombashi/pytablewriter/blob/master/examples/ipynb/jupyter_notebook_example.ipynb
All table writer class instances in ``pytablewriter`` can render in Jupyter Notebook.
To render writers at notebook cells, you will require the dependency packages to be installed either by:

- ``pip install pytablewriter[html]`` or
- ``pip install pytablewriter[all]``

Jupyter Notebook code examples can be found `here <https://nbviewer.jupyter.org/github/thombashi/pytablewriter/blob/master/examples/ipynb/jupyter_notebook_example.ipynb>`__:

.. figure:: https://cdn.jsdelivr.net/gh/thombashi/pytablewriter@master/docs/pages/examples/jupyter_notebook/ss/jupyter_notebook.png
.. figure:: https://cdn.jsdelivr.net/gh/thombashi/pytablewriter@master/ss/jupyter_notebook.png
:scale: 100%
:alt: https://github.com/thombashi/pytablewriter/blob/master/docs/pages/examples/jupyter_notebook/ss/jupyter_notebook.png
:alt: https://github.com/thombashi/pytablewriter/blob/master/ss/jupyter_notebook.png

Table formatting for Jupyter Notebook
Table rendering results of Jupyter Notebook

Multibyte character support
-----------------------------
18 changes: 15 additions & 3 deletions docs/make_readme.py
Original file line number Diff line number Diff line change
@@ -25,12 +25,24 @@ def write_examples(maker: ReadmeMaker) -> None:
maker.inc_indent_level()

maker.write_chapter("Write a Markdown table")
maker.write_file(examples_root.joinpath("table_format", "text", "markdown_example.txt"))
maker.write_file(examples_root.joinpath("table_format", "text", "markdown", "md_example.txt"))

with maker.indent():
maker.write_chapter("Write a Markdown table with a margin")
maker.write_chapter("Write a Markdown table with margins")
maker.write_file(
examples_root.joinpath("table_format", "text", "markdown_example_with_margin.txt")
examples_root.joinpath("table_format", "text", "markdown", "md_example_with_margin.txt")
)

maker.write_chapter("Write a GitHub Flavored Markdown (GFM) table")
maker.write_file(
examples_root.joinpath("table_format", "text", "markdown", "md_example_with_flavor.txt")
)

maker.write_chapter("Apply styles to GFM table with programmatically")
maker.write_file(
examples_root.joinpath(
"table_format", "text", "markdown", "md_example_with_style_filter.txt"
)
)

with maker.indent():
14 changes: 10 additions & 4 deletions docs/pages/examples/jupyter_notebook/jupyter_notebook_example.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
https://nbviewer.jupyter.org/github/thombashi/pytablewriter/blob/master/examples/ipynb/jupyter_notebook_example.ipynb
All table writer class instances in ``pytablewriter`` can render in Jupyter Notebook.
To render writers at notebook cells, you will require the dependency packages to be installed either by:

.. figure:: https://cdn.jsdelivr.net/gh/thombashi/pytablewriter@master/docs/pages/examples/jupyter_notebook/ss/jupyter_notebook.png
- ``pip install pytablewriter[html]`` or
- ``pip install pytablewriter[all]``

Jupyter Notebook code examples can be found `here <https://nbviewer.jupyter.org/github/thombashi/pytablewriter/blob/master/examples/ipynb/jupyter_notebook_example.ipynb>`__:

.. figure:: https://cdn.jsdelivr.net/gh/thombashi/pytablewriter@master/ss/jupyter_notebook.png
:scale: 100%
:alt: https://github.com/thombashi/pytablewriter/blob/master/docs/pages/examples/jupyter_notebook/ss/jupyter_notebook.png
:alt: https://github.com/thombashi/pytablewriter/blob/master/ss/jupyter_notebook.png

Table formatting for Jupyter Notebook
Table rendering results of Jupyter Notebook
5 changes: 5 additions & 0 deletions docs/pages/examples/output/markdown/gfm.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Markdown table with GitHub flavor
| A | B |
| --------------------------------- | --------------------------------------------: |
| $$\textcolor{#cd3131}{\tt{abc}}$$ | $$\textcolor{#0dbc79}{\underline{\tt{1}}}$$ |
| $$\textcolor{#cd3131}{\tt{efg}}$$ | $$\textcolor{#0dbc79}{\underline{\tt{2}}}$$ |
7 changes: 7 additions & 0 deletions docs/pages/examples/output/markdown/style_filter.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# style filter example
|Key|Value 1|Value 2|
|---|------:|------:|
|**A**|$$\textcolor{#cd3131}{\underline{\tt{\bf{95}}}}$$|$$\textcolor{#0dbc79}{\tt{40}}$$|
|**B**|$$\textcolor{#e5e510}{\tt{\bf{55}}}$$|$$\textcolor{#3b8eea}{\tt{5}}$$|
|**C**|$$\textcolor{#0dbc79}{\tt{30}}$$|$$\textcolor{#cd3131}{\underline{\tt{\bf{85}}}}$$|
|**D**|$$\textcolor{#3b8eea}{\tt{0}}$$|$$\textcolor{#e5e510}{\tt{\bf{69}}}$$|
2 changes: 1 addition & 1 deletion docs/pages/examples/table_format/text/index.rst
Original file line number Diff line number Diff line change
@@ -9,7 +9,7 @@ Text formats
ltsv
html
json
markdown
markdown/markdown
mediawiki
rst/index
sourcecode/index
11 changes: 0 additions & 11 deletions docs/pages/examples/table_format/text/markdown.rst

This file was deleted.

19 changes: 19 additions & 0 deletions docs/pages/examples/table_format/text/markdown/markdown.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
.. _example-markdown-table-writer:

Markdown
----------------------------
|MarkdownTableWriter| class can write a table to the |stream| with Markdown table format from a data matrix.

.. include:: md_example.txt

Markdown with margins
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. include:: md_example_with_margin.txt

GitHub flavored Markdown (GFM)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. include:: md_example_with_flavor.txt

Apply styles to GFM table with programmatically
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. include:: md_example_with_style_style.txt
Loading