改变epydoc的favicon - 怎么样?

时间:2013-02-01 07:11:32

标签: favicon epydoc

一切都在问题中: 如何更改epydoc生成的html页面图标?

注意:我看到了如何自定义css内容,但没有关于自定义输出html文件......

非常感谢。

1 个答案:

答案 0 :(得分:0)

好的,所以经过一场小小的头脑风暴(和我一起),我找到了一条路:

由于我们可以使用--navlink选项向epydoc注入一些html(最初设计用于在导航栏中自定义项目的链接),我使用了一个javascript技巧在文档的标记中动态添加以下内容。

以下是javascript代码:

var link = parent.document.createElement('link'); 
link.id = 'dynamic-favicon'; 
link.type = 'image/png'; 
link.rel = 'shortcut icon'; 
link.href = '../logo-fav.png'; parent.document.head.appendChild(link);
parent.document.head = parent.document.head || 
                           parent.document.getElementsByTagName('head')[0];

这是完整的epydoc命令行:

epydoc -v --name "My Project" -o ./html \
--css epydoc.css --url http://www.my-project.org --inheritance listed \
--graph all --no-private --docformat epytext \
    --navlink "<a href=\"http://www.my-project.org\"><img src=\"../logo.png\" style=\"margin:10px;\" /></a>
        <script>
            var link = parent.document.createElement('link'); 
            link.id = 'dynamic-favicon'; 
            link.type = 'image/png'; 
            link.rel = 'shortcut icon'; 
            link.href = '../logo-fav.png'; 
            parent.document.head.appendChild(link); 
            parent.document.head = parent.document.head || parent.document.getElementsByTagName('head')[0];
        </script>
        " \
    my_py_module

这可用于自定义整个文档,但仍然是hacky。还奇怪的是,他们无法在像epydoc这样的成熟工具中使用某些模板......