我有一个项目,我记录了我最终得到的结构
docs/
conf.py
development/
architecture.rst
uimockups/
index.html
static/
<supporting css and js files>
mockup1/
index.html
ui1.html
ui2.html
mockup2/
index.html
ui1.html
ui2.html
uimockups
下的所有内容都只是一个静态网站。出于组织原因,我真的希望保留文件夹结构,并希望直接将uimockups
复制到build/development/uimockups
,这样我就可以从architecture.rst
文件链接到它。
我已经在网上搜索过,但我能找到的大部分内容都与用于自定义CSS的_static
文件夹有关。我想要的只是将整个文件夹复制到HTML构建输出中的相应位置。如果没有编写自定义扩展,这可能吗? sphinx可以通过单独的配置执行这个简单的任务吗?
答案 0 :(得分:1)
好吧,我想出了一个解决方案,但这不是我认为的最佳解决方案。
由于我希望能够在python -m http.server
文件夹中执行docs/development/uimockups
并使其正常工作,我最终:
docs/development/uimockups/static
重命名为docs/development/uimockups/_static
。.html
个文件以引用./_static
或../_static
中的文件,而不是使用绝对/static
路径。'development/uimockups'
添加到html_static_path
conf.py
变量
醇>
这最后一步相当于添加cp development/uimockups/* $BUILD/_static/
,所以虽然不是很理想但我最终还是
$BUILD/
_static/
_static/ # From uimockups/
<supporting files>
index.html # From uimockups/
mockup1/
ui1.html
ui2.html
mockup2/
ui1.html
ui2.html
然后我可以在我的第一个文件中使用`link text </_static/index.html>`_
链接到此。
我真的不喜欢我只需将其推入$BUILD/_static
文件夹,我不能只将其显示在$BUILD/development/uimockups
中,但这并不需要我至少写任何代码。它绝对不可扩展,如果我有多个“静态子站点”,那么它们可能会踩到彼此的资源。解决这个问题的一种方法是
docs/
development/
uimockups-site/
uimockups/
index.html
mockup1/
mockup2/
_static/
然后将development/uimockups-site
添加到我的html_static_path
列表中,以便输出
$BUILD/
_static/
uimockups/
index.html
mockup1/
mockup2/
_static/