gpt4 book ai didi

html - 在 html 输出中使用 rst 和 python-sphinx 对表进行排序

转载 作者:行者123 更新时间:2023-12-05 03:48:22 26 4
gpt4 key购买 nike

我想为访问者提供一种可能性,即使用 python-sphinx 对从 RST 生成的 HTML 页面中的表格中的单元格进行排序。假设我有一个这样的表:

.. list-table:: A fancy name table
:header-rows: 1

* - Family name
- Given name
* - Smith
- Samuel
* - Johnson
- John

这呈现得很好,并按照输入的顺序显示名称。现在我想生成一个 HTML 输出并为用户提供将名称重新排序为字母顺序的可能性。有standalone examples和库来实现这个,我想知道哪个解决方案已经在 Sphinx 中实现了(如果有的话)。最好的办法是包含一个最小的扩展并修改所有表(或我希望能够排序的表)的属性以包含此功能。

您能否建议扩展和最佳实践如何做?我宁愿自己做尽可能少的 CSS 和 JS 代码/文件操作。

最佳答案

受一些已经提供的答案的启发,我创建了以下使用数据表的解决方案。我正在使用已经包含 jquery 的 html 主题“经典”(我不确定其他模板)。

conf.py 中添加额外的 css 和 js 文件:

html_static_path = ['_static']

html_css_files = [
'https://cdn.datatables.net/1.10.23/css/jquery.dataTables.min.css',
]

html_js_files = [
'https://cdn.datatables.net/1.10.23/js/jquery.dataTables.min.js',
'main.js',
]

创建文件 _static/main.js 并添加以下行(我选择使用类“datatable”在表上显式启用此功能):

$(document).ready( function () {
$('table.datatable').DataTable();
} );

在您的第一个文档中,您现在可以创建一个漂亮的表格:

.. table::
:class: datatable

===== ===== =======
A B A and B
===== ===== =======
False False False
True False False
False True False
True True True
===== ===== =======

:class: datatable 将一个类添加到表格元素,因此 DataTable javascript 应用于此表格。

关于html - 在 html 输出中使用 rst 和 python-sphinx 对表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64443832/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com