在Python sphinx中,如何链接到_static目录中的文件

时间:2011-12-12 14:30:43

标签: python-sphinx

我有一些代码和数据样本我复制到_static目录,我想链接到文档中的那些文件,如:

.. _pca-run.py: _static/example.data

但问题是sphinx没有为这个文件创建一个正确的相对链接,只是按原样复制值。因此,对于_static不在同一目录中的嵌套文件,链接不起作用。

2 个答案:

答案 0 :(得分:11)

您想要的是:download:文字角色。 (正如米塔尔在评论中提到的那样)。

http://www.sphinx-doc.org/en/1.6/markup/inline.html#role-download

使用它将告诉Sphinx将给定文件复制到“_downloads”目录并创建一个指向它的超链接。这最初打算用于可下载的文件,例如PDF(在html输出中)或tarball,或者其他什么。它适用于任何其他非ReST文件。

如果你真的想要,你可以写一个扩展来做到这一点,但我从来没有看到过需要,因为:download:完全符合我的要求。

答案 1 :(得分:7)

图片找到正确答案:使用import javafx.application.Application; import javafx.concurrent.Service; import javafx.concurrent.Task; import javafx.scene.Scene; import javafx.scene.control.ProgressBar; import javafx.scene.layout.StackPane; import javafx.stage.Stage; public class Main extends Application { @Override public void start(Stage primaryStage) throws Exception { ProgressBar progressBar = new ProgressBar(); StackPane root = new StackPane(progressBar); Scene scene = new Scene(root, 200, 200); primaryStage.setScene(scene); primaryStage.show(); Service service = new Service() { @Override protected Task createTask() { return new Task() { @Override protected Object call() throws Exception { for(int i=0; i<100; i++){ updateProgress(i, 100); try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } return null; } }; } }; progressBar.progressProperty().bind(service.progressProperty()); service.start(); } public static void main(String[] args) { Application.launch(args); } } 预先制作目标文件的路径。对于从/

引用的图像
automodule

将引用相对于当前正在处理的python文件的文件.. image:: some_file.png ,而

some_file.png

将引用相对于.. image:: /some_file.png 位置的文件some_file.png。这样,就不需要用图像污染源层次结构。