我正在为我们的一种硬件产品制作一些项目文档。该文档供内部使用,位于网络驱动器上:\\ourserver\projects\project1-doc
我们目前进行版本控制的方式,我们有一些文件夹,如下所示:
\\ourserver\projects\project1-A
\\ourserver\projects\project1-B
\\ourserver\projects\project1-C
我希望能够制作一个
:download:
从文档链接到这些文件夹之一中的 pdf。有什么办法可以做文件的绝对路径吗?我尝试了很多东西,例如::download:`schematic <file://///ourserver/projects/project1-C/schematic.pdf>`
:download:`schematic //ourserver/projects/project1-C/schematic.pdf>`
但我无法让它与 Sphinx 一起工作。我怎样才能链接到这个文件?
最佳答案
文档托管在网络上,但是你是通过网络上的sphinx构建的吗?使用 :download: 指令时,sphinx 会将文件复制到 _downloads 下的 _build/html 目录,并在那里链接到它们。因此,如果您要在本地构建 sphinx 文档并且在构建过程中找不到要复制和链接的正确文件,那么它不会创建链接,如果路径错误也是如此。
无论如何,由于您要链接到版本控制下的文件,您可能希望使用 .. raw:: 指令创建一个绝对路径,以便您始终链接到最新版本。
.. raw:: html
<p><a class="reference download internal" href="/ourserver/projects/project1-C/schematic.pdf">
<tt class="xref download docutils literal">
Project 1-C Schematic
</tt></a><p>
如果您想链接到 pdf 并通过 sphinx 使用创建的 pdf 启动它。您可以使用 .. raw:: latex 指令。
.. raw:: latex
\href{run:/ourserver/projects/project1-C/schematic.pdf}{Project 1-C Schematic}
还可以构建自定义指令以使其更加流畅。
关于hyperlink - 如何链接到 :download: file on a network drive in Sphinx?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22389793/