Fonts 未使用python livereload正确提供字体

Fonts 未使用python livereload正确提供字体,fonts,tornado,python-sphinx,livereload,Fonts,Tornado,Python Sphinx,Livereload,我正在使用Sphinx构建一个文档项目。我创建此脚本是为了监视目录,并在发生更改时触发Sphinx构建: import os import sys from livereload import Server, shell wd = os.path.dirname(sys.argv[0]) server = Server() server.watch(wd, shell('make.bat clean && make.bat html', cwd=wd), delay=1)

我正在使用Sphinx构建一个文档项目。我创建此脚本是为了监视目录,并在发生更改时触发Sphinx构建:

import os
import sys
from livereload import Server, shell

wd = os.path.dirname(sys.argv[0])

server = Server()

server.watch(wd, shell('make.bat clean && make.bat html', cwd=wd), delay=1)

server.serve(root='../_build/html', port=8000, host='localhost')
这非常有效,但是主题(ReadTheDocs)中的所有web字体都是通过
内容类型:text/html
传输的,Chrome开发者控制台显示:

Failed to decode downloaded font: http://localhost:8000/_static/fonts/Lato-Regular.ttf
Failed to decode downloaded font: http://localhost:8000/_static/fonts/fontawesome-webfont.woff?v=4.2.0
Failed to decode downloaded font: http://localhost:8000/_static/fonts/Lato-Bold.ttf
Failed to decode downloaded font: http://localhost:8000/_static/fonts/RobotoSlab-Bold.ttf
Failed to decode downloaded font: http://localhost:8000/_static/fonts/RobotoSlab-Regular.ttf
Failed to decode downloaded font: http://localhost:8000/_static/fonts/fontawesome-webfont.ttf?v=4.2.0
然而,一个指向同一目录的本地IIS网站可以正常工作。我假设这是TornadServer的一个问题——可能将未知MIME类型默认为
text/html
。有人能解决这个问题吗


我使用ASP.NET文档作为起点:。当遵循他们的贡献指南(使用
sphinxautobuild
)时,这也存在同样的问题。

Tornado从python标准库中获取静态文件的mime类型。您需要确保您的系统mimetypes数据库(通常为
/etc/mime.types
。您的问题表明您使用的是Windows,它不是Tornado的官方支持平台。我不知道Windows是否有一个等效的数据库)包括您想要服务的所有文件类型,或者手动添加模拟类型。添加类型

太棒了!添加
mimetypes.add_type(“application/x-font-woff”,“.woff”)
mimetypes.add_type(“application/octet stream”,“.ttf”)
到我的Python脚本中。非常感谢。