跳转到主要内容

适用于Web应用的灵活静态资源

项目描述

Fanstatic

Fanstatic是一个用于Python的智能静态资源发布器。有关更多信息以及如何使用它,请参阅:https://fanstatic.org

https://github.com/zopefoundation/fanstatic/actions/workflows/tests.yml/badge.svg

CHANGES

1.4 (2023-09-19)

1.3 (2022-12-21)

  • 增加对Python 3.9和3.10的支持。对旧版Python版本的shutil.which提供条件支持。

  • 修复Trove分类器。

  • 将测试移动到GitHub Actions。

  • 使文档能够在Python 3上构建。

1.2 (2022-03-11)

功能

  • 使用打包版本解析来确定是否从开发包安装了fanstatic库,并相应地设置库版本。

不兼容的更改

  • 停止支持Python 2、3.5、3.6和3.7。

文档

  • 更新文档以反映GitHub上仓库的当前位置。

1.1 (2019-01-22)

不兼容的更改

  • 停止支持Python 2.6、3.2和3.3。

其他更改

  • 增加对Python 3.5、3.6和3.7的支持。

1.0.0 (2018-01-16)

  • 修复对新版依赖项和更改合约的测试。这也提高了Python 3的兼容性。

1.0a7 (2015-11-07)

  • 确保在仅使用发布者的情况下,进程内部已准备注册表。

  • 修复与rollups和slots相关的bug。

1.0a6 (2015-10-21)

  • 允许在定义之后但使用之前修改资源的依赖项。这允许在泛型定义的包中添加后来需要的可选依赖项。这需要彻底重构依赖机制。

  • 修复slot,以便在定义编译器后可以使用。

  • 删除fanstatic.codegen。在足够多的案例中不适用。

1.0a5 (2014-02-09)

  • 修复问题#87 “install-error-with-python3”

    Fanstatic现在在可用时依赖于shutil.which(Python 3.3+)或在其他情况下使用shutilwhich库。这是因为which.py不再受支持。感谢Ivan Bulanov。

    感谢Ivan Bulanov。

1.0a4 (2013-09-24)

  • 同时设置用于HEAD请求的注入器。我们不希望我们包装的应用程序因DummyNeededResources抛出的NotImplementedError而窒息。

  • 更新入口点,以便使用作为应用程序而不是过滤器使用的fanstatic Publisher,例如在paste.urlmap配置中。

    http://pythonpaste.org/modules/urlmap.html

1.0a3 (2013-08-12)

  • 将NeededResources重构为可插拔的注入器系统。Fanstatic用户现在可以自定义如何将资源注入HTML中。

    我们尽量保持这些更改与使用官方API的用户向后兼容。鼓励使用fanstatic内部的人员更新他们的代码。

  • 引入“包含”对象;与打包、编译、调试/压缩模式以及rollup相关的责任从NeededResources类转移到Inclusion类。

1.0a2 (2013-05-25)

  • 将包含的注入从元素的开头移动到末尾。另请参阅

    https://groups.google.com/forum/?fromgroups#!topic/fanstatic/VT_WasfDtL4

    此更改可能会破坏您的代码,但将资源包含在的末尾可能是一个好主意。

  • 在sdist_compile中修复bug:编译分布中包含的所有包中的资源。

  • 修复tox/travis设置并更新到buildout v2。

1.0a (2013-04-18)

  • 添加对编译器和压缩器的支持。

    默认情况下,fanstatic附带sass/less和coffeescript编译器和mincss/minjs/google closure压缩器。

0.16 (2012-12-10)

  • 更新Bundle对象以共享Resource的API。

  • 更新注入器以处理未在其头部显式设置字符集的HTML页面。

0.15 (2012-11-08)

  • 在Slot中添加“默认”参数,以指定在need()中未指定其他资源时将填充的资源。感谢nilo。

  • 确保发布的捆绑包携带正确的Content-Type头部。以前,所有捆绑包都使用text/html交付。感谢David Beitey。

0.14 (2012-10-30)

  • Alex Grönholm添加了python3和pypy支持。

  • 使用tox在python2.6/2.7/3.2/3.3/pypy上进行测试。

  • 将bitbucket仓库镜像到github,以便在travis-ci上运行测试

    https://travis-ci.org/#!/fanstatic/fanstatic

0.14a (2012-10-07)

  • 移除了对Paste的依赖,用webob.static替代。

  • 发布者不再发送ETags,这似乎是个不错的想法。根据Yahoo加速网站的最佳实践表示

    如果你没有充分利用ETags提供的灵活验证模型,最好完全移除ETag。

  • 更新了包设置,以兼容运行python setup.py test

  • 为跨Python版本测试添加了tox设置。

0.13.3 (2012-09-12)

0.13.2 (2012-08-23)

  • 修复了问题#78:“fanstatic.checksum.md5不可保证”,感谢takanao ENDOH。

0.13.1 (2012-08-16)

  • 修复了由字符串‘快捷方式’创建的模式资源没有继承渲染器、捆绑、依赖参数的问题。

0.13 (2012-08-15)

  • DummyNeededResources没有使用slots参数。

  • 尽管有文档说明,Resource.need()没有处理slots参数。

  • 向Group.need().添加了slots参数。

0.12 (2012-08-05)

  • 在代码示例中修复了文档,感谢Toby Dacre。

  • 修复问题#74,除非force_bottom,否则不会在底部提供最小化.js,感谢Toby Dacre。

  • 合并了请求#1“支持挂载在-/之外的WSGI应用”,感谢Éric Lemoine。

  • 添加了打印CSS渲染器。

0.11.4 (2012-01-14)

  • 当涉及多个库时,在应用资源排序时又出现了另一个问题。这次改变了library_nr的计算方式,以防止再次发生。

    library_nr的目的是使其始终比该库所基于的任何库的最大library_nr高1。

    在实践中,这并不总是会发生,因为每个资源都有自己的library_nr。在某些情况下,依赖于其他库的库中的资源会得到一个太低的library_nr,因为它们基于的资源也有太低的library_nr,即使在该库中可能存在具有更高library_nr的其他资源。这可能导致该库中所有资源的library_nr都太低。

    现在已修复,将library_nr移到它最初应该保持的位置:库本身。现在每个库只计算一次,在应用程序运行期间第一次对资源进行排序之前。由于在需要排序资源时所有资源都已知晓,因此可以正确计算library_nr。

0.11.3 (2011-11-11)

0.11.2 (2011-05-19)

  • 更新readthedocs.org的文档。

0.11.1 (2011-04-13)

  • 在应用模式之前,合并资源(查找汇总)。

0.11 (2011-04-11)

  • 添加捆绑支持:捆绑是一组资源,可以在一个HTTP请求中提供。捆绑URL由fanstatic注入器构建并由fanstatic发布者提供。

  • 从Resource中移除了eager_superseder参数,因为这个参数未使用。

  • 将Resource、Group、Bundle的功能抽象到基类Renderable和Dependable中。

  • 改进了资源排序以包含在网页上。这是为捆绑支持做准备。排序现在更一致,无论资源以何种顺序_needed()。只要正确标记了依赖项,这不应破坏应用程序;如果现在资源的包含顺序不正确,请修复资源依赖项。

  • 不再需要base_url(与过去不同);改进了base_url管理API,以便像zope.fanstatic这样的集成包有更明确的方式来管理此信息。

  • 资源会检查它们所引用的文件是否存在。如果文件不存在,你会得到一个UnknownResourceError。

  • 将UnknownResourceExtension异常重命名为UnknownResourceExtensionError。旧的异常名称仍然可用以保持向后兼容。

  • 在开发过程中使用mtime代替md5来确定版本,以加快版本计算速度。对于不信任其文件系统的用户,仍然可以通过versioning_use_md5参数使用哈希方法。

0.10.1 (2011-02-06)

  • 修复了问题#49。

0.10 (2011-01-19)

  • 重命名为。除非包以开发模式安装,否则使用Python包的版本作为库的版本标识符。如果没有版本或处于开发状态,则使用库目录内容的哈希作为版本标识符。

  • 将资源模式合并为

  • 仅当请求方法为GET或POST时,注入器组件才会设置所需的资源。

  • 已将devmode参数重命名为recompute_hashes,以便更准确地反映其行为。当recompute_hashes为True时,会为每个请求重新计算哈希 - 这是默认行为。

0.9b (2011-01-06)

Fanstatic是对hurry.resource的基本重写。因此,Fanstatic与hurry.resource不兼容。以下是从hurry.resource 0.10版本以来的一些重要变更列表

  • 基本的API清理和更改。

  • Fanstatic不再依赖于ZTK包,并提供了一些“纯”WSGI组件。这允许在不同基于WSGI的框架中实现更大的重用。

  • zope.fanstatic(hurry.zoperesource的重写)提供了Fanstatic与ZTK的集成。

  • Fanstatic添加了一个用于服务资源的WSGI组件,将其从应用程序框架中卸载。

  • Fanstatic通过为每个资源的每个版本计算一个唯一的URL来添加“无限”缓存功能。

  • Fanstatic使用py.test进行测试发现和执行。

  • 在Fanstatic的文档方面投入了大量努力。

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

fanstatic-1.4.tar.gz (81.8 kB 查看哈希)

上传于

构建分发

fanstatic-1.4-py3-none-any.whl (53.9 kB 查看哈希值)

上传于 Python 3

由以下支持