如何激活 RTD 弹出菜单?

问题描述 投票:0回答:1

我正在使用 Sphinx 和 ReadTheDocs 来构建我的项目的文档。

我想向我的最终用户显示多个版本,所以我在我的管理区域建立了几个分支:

但是当我在浏览器中显示文档时 (https://sepal-ui.readthedocs.io/en/v_1.1.0/),我无法单击弹出菜单并更改版本。

这是否正常以及如何使其发挥作用? 我使用

readthedocs.yml
文件(link)。我错过了什么吗?

python-sphinx read-the-docs
1个回答
0
投票

我有完全相同的问题。

我可以通过在我的

flyout.js
目录中添加一个脚本(我们称之为
docs/source/_static
)来解决它:

$(document).ready(function() {
    var dropdownToggle = $('.sidebar-nav li a.has-dropdown');
    
    dropdownToggle.on('click', function(e) {
      e.preventDefault();
      var thisLink = $(this);
      var thisParent = thisLink.parent();
  
      if (thisParent.hasClass('open')) {
        thisParent.removeClass('open');
      } else {
        $('.sidebar-nav li').removeClass('open'); 
        thisParent.addClass('open');
      }
    });

    $(document).on('click', function(e) {
      if (!$(e.target).closest('.sidebar-nav li').length) {
        $('.sidebar-nav li').removeClass('open');
      }
    });
});

此脚本获取弹出下拉菜单并向其添加打开/关闭功能。

完成后,您必须将对此脚本的引用添加到您的

conf.py
,以及对其依赖项的引用:

html_js_files = [
    'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js', 
    '_static/flyout.js'
]

这对我有用。我必须承认这不是我自己发现的。我被困住了,经过大量不成功的研究后,我最终问了 ChatGPT。它的答案并不完美并且有不一致之处,但至少它让我想到了这个。

© www.soinside.com 2019 - 2024. All rights reserved.