首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在html输出中使用rst和python-sphinx排序表

在html输出中使用rst和python-sphinx排序表
EN

Stack Overflow用户
提问于 2020-10-20 19:02:50
回答 2查看 270关注 0票数 2

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

代码语言:javascript
复制
.. list-table:: A fancy name table
   :header-rows: 1
   
   * - Family name
     - Given name
   * - Smith
     - Samuel
   * - Johnson
     - John

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

你能建议一个扩展和如何做的最佳实践吗?我更喜欢自己进行尽可能少的CSS和JS代码/文件操作。

EN

回答 2

Stack Overflow用户

发布于 2021-03-09 18:01:07

受已经提供的一些答案的启发,我创建了以下使用dataTables的解决方案。我使用的是html主题'classic‘,它已经包含了jquery (其他模板我不太确定)。

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

代码语言:javascript
复制
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“类在表上显式启用此功能):

代码语言:javascript
复制
$(document).ready( function () {
    $('table.datatable').DataTable();
} );

在您的第一个文档中,您现在可以创建一个花哨的表:

代码语言:javascript
复制
.. table::
   :class: datatable

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

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

票数 1
EN

Stack Overflow用户

发布于 2021-01-20 05:09:16

我一直都在这么做。Example

这可能不是最好的方法,但是我在.. raw:: html下插入了一个常规的html表,并在我的layout.html模板中添加了一个指向JS的链接。查看源代码以查看我的html代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64443832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档