You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/howto/alternatives.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -39,7 +39,7 @@ Downsides:
39
39
40
40
## Execute python during build
41
41
42
-
You could also choose to insert the markdown for tables dynamically, using packages like [markdown-exec]() or [mkdocs-macros-plugin](https://mkdocs-macros-plugin.readthedocs.io/).
42
+
You could also choose to insert the markdown for tables dynamically, using packages like [markdown-exec](https://pypi.org/project/markdown-exec/).
Any keyword arguments you give to <code>\{\{ read_csv('path_to_your_table.csv') \}\}</code> will be matched and passed the corresponding [pandas.read_csv()](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html) and/or
15
+
{% raw %}
16
+
Any keyword arguments you give to `{{ read_csv('path_to_your_table.csv') }}` will be matched and passed the corresponding [pandas.read_csv()](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html) and/or
Pandas's `.to_markdown()` uses the [tabulate](https://pypi.org/project/tabulate/) package and any keyword arguments that are passed to it. Tabulate in turn offers many customization options, see [library usage](https://github.com/astanin/python-tabulate#library-usage).
19
21
@@ -23,21 +25,33 @@ Text columns will be aligned to the left [by default](https://github.com/astanin
@@ -47,21 +61,33 @@ If you use [mkdocs-material](https://squidfunk.github.io/mkdocs-material), you c
47
61
48
62
You can use [tabulate](https://pypi.org/project/tabulate/)'s [number formatting](https://github.com/astanin/python-tabulate#number-formatting). Example:
Copy file name to clipboardExpand all lines: docs/howto/preprocess_tables.md
+6-2Lines changed: 6 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,7 @@
1
1
# Preprocess input tables
2
2
3
+
{% raw %}
4
+
3
5
`mkdocs>=1.4` supports [hooks](https://www.mkdocs.org/user-guide/configuration/#hooks), which enable you to run python scripts on `mkdocs serve` or `mkdocs build`.
4
6
5
7
Here are some example of workflows that use hooks and the `table-reader` plugin:
@@ -26,7 +28,7 @@ Here are some example of workflows that use hooks and the `table-reader` plugin:
@@ -74,7 +76,7 @@ Here are some example of workflows that use hooks and the `table-reader` plugin:
74
76
75
77
<code>
76
78
My table:
77
-
\{\{ read_csv("docs/assets/nyc_data.csv") \}\}
79
+
{{ read_csv("docs/assets/nyc_data.csv") }}
78
80
</code>
79
81
80
82
=== "mkdocs.yml"
@@ -101,3 +103,5 @@ Here are some example of workflows that use hooks and the `table-reader` plugin:
101
103
```
102
104
103
105
Note that during development when you use `mkdocs serve` and autoreload, you might not want to run this hook every time you make a change. You could use an environment variable inside your hook, for example something like `if os.environ['disable_hook'] == 1: return None`.
Copy file name to clipboardExpand all lines: docs/howto/use_jinja2.md
+7-11Lines changed: 7 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,5 @@
1
1
# Use jinja2 for automation
2
+
{% raw %}
2
3
3
4
`table-reader` supports [`mkdocs-macros-plugin`](https://mkdocs-macros-plugin.readthedocs.io/en/latest/), which enables you to use jinja2 syntax inside markdown files (among other things).
4
5
@@ -14,17 +15,19 @@ Now you can do cool things like:
14
15
15
16
## Dynamically load a list of tables
16
17
18
+
17
19
```markdown
18
20
# index.md
19
21
20
22
{% set table_names = ["basic_table.csv","basic_table2.csv"] %}
21
23
{% for table_name in table_names %}
22
24
23
-
{{ read_csv(table_name) }}
25
+
{{ read_csv(table_name) }}
24
26
25
27
{% endfor %}
26
28
```
27
29
30
+
28
31
## Insert tables into content tabs
29
32
30
33
If you inserted content has multiple lines, then indentation will be not be retained beyond the first line. This means things like [content tabs](https://squidfunk.github.io/mkdocs-material/reference/content-tabs/#usage) will not work as expected.
@@ -39,7 +42,7 @@ To fix that, you can use the custom _filter_ `add_indendation` (a filter add to
Copy file name to clipboardExpand all lines: docs/options.md
+5-2Lines changed: 5 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,7 @@ hide:
4
4
---
5
5
6
6
# Options
7
+
{% raw %}
7
8
8
9
You can customize the plugin by setting options in `mkdocs.yml`. For example:
9
10
@@ -24,7 +25,7 @@ Default is `.`. Set a default path to the searched directories in order to short
24
25
25
26
Given a file path, `table-reader` will search for that file relative to your your project's `mkdocs.yml` and relative to your `docs/` folder. If you use a folder for all your table files you can shorten the path specification by setting the `data_path`.
26
27
27
-
For example, if your table is located in `docs/assets/tables/basic_table.csv`, you can set `data_path` to `docs/assets/tables/`. Then you will be able to use <code>\{\{ read_csv("basic_table.csv") \}\}</code> instead of <code>\{\{ read_csv("docs/assets/tables/basic_table.csv") \}\}</code> inside any markdown page.
28
+
For example, if your table is located in `docs/assets/tables/basic_table.csv`, you can set `data_path` to `docs/assets/tables/`. Then you will be able to use `{{ read_csv("basic_table.csv") }}` instead of `{{ read_csv("docs/assets/tables/basic_table.csv") }}` inside any markdown page.
28
29
29
30
!!! info
30
31
@@ -57,4 +58,6 @@ Which enables you to disable the plugin locally using:
0 commit comments