我正在使用 Sphinx 和 ReadTheDocs 来构建我的项目的文档。
我想向我的最终用户显示多个版本,所以我在我的管理区域建立了几个分支:
但是当我在浏览器中显示文档时 (https://sepal-ui.readthedocs.io/en/v_1.1.0/),我无法单击弹出菜单并更改版本。
这是否正常以及如何使其发挥作用? 我使用
readthedocs.yml
文件(link)。我错过了什么吗?
我有完全相同的问题。
我可以通过在我的
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。它的答案并不完美并且有不一致之处,但至少它让我想到了这个。