欢迎访问宙启技术站
智能推送

使用sphinx_gallery.sorting.ExplicitOrder()根据指定顺序对示例进行排序

发布时间:2024-01-04 02:58:10

sphinx_gallery.sorting.ExplicitOrder()是sphinx_gallery库中用于指定示例排序顺序的一个函数。该函数可以接受一个字符串列表作为参数,每个字符串代表一个示例的文件名。

sphinx_gallery是一个用于在Sphinx文档中展示代码示例的扩展库,它可以帮助我们自动生成代码示例的文档。在文档中展示的示例可以按照默认顺序或者自定义顺序进行排序,这就是我们要使用sphinx_gallery.sorting.ExplicitOrder()函数的原因。

下面我们来详细说明如何使用sphinx_gallery.sorting.ExplicitOrder()函数。

首先,我们需要安装sphinx_gallery库。可以使用pip来安装:

pip install sphinx_gallery

接下来,我们需要在Sphinx的配置文件(conf.py)中指定示例排序方式。在进行配置之前,确保你已经创建了示例文件,并将其放置在Sphinx项目目录的合适位置。

在conf.py文件中添加以下代码:

from sphinx_gallery.sorting import ExplicitOrder

# 示例排序顺序
example_sort_order = [
    'example-1.py',
    'example-2.py',
    'example-3.py',
    ...
]

# 配置示例排序方式
sphinx_gallery_conf = {
    ...
    'gallery_dirs': 'examples', # 示例目录
    'filename_pattern': '^example-', # 示例文件名模式
    'line_numbers': True, # 是否显示示例代码行号
    'within_subsection_order': ExplicitOrder(example_sort_order), # 按照指定顺序排序示例
    ...
}

在以上代码中,我们首先创建了一个字符串列表example_sort_order,其中包含了示例文件的顺序。然后,我们将该列表作为参数传递给sphinx_gallery.sorting.ExplicitOrder()函数,用于指定示例的排序顺序。最后,在配置文件中将within_subsection_order参数设置为我们创建的ExplicitOrder实例。

通过这样的配置,Sphinx将会按照我们指定的顺序对示例进行排序。示例文件会被按照example_sort_order列表中的顺序进行展示。

需要注意的是,排序顺序在示例目录下的子目录之间也是有效的。这意味着如果你在示例目录下有多个子目录,它们之间的示例也会按照我们指定的顺序进行排序。

总结来说,sphinx_gallery.sorting.ExplicitOrder()函数是sphinx_gallery库中用于指定示例排序顺序的函数。通过在Sphinx的配置文件中将within_subsection_order参数设置为一个ExplicitOrder实例,我们可以实现对示例的自定义排序。这个函数对于有多个示例并且需要按照特定顺序展示的项目非常有用。