跳转到主要内容

为Morepath提供的有观点的Webassets集成。

项目描述

Webassets | Morepath

此包与more.static有些相似,它将bowerstatic集成到Morepath中。目前它实际上没有被用于任何地方,所以你可能应该坚持使用more.static

既然你已经被充分劝阻不要使用more.webassets,以下是它可能对你有用的原因

  • 你不必学习JavaScript包管理器(即Bower)。

  • 你可以即时编译你的资产。

  • 你的样式表在顶部渲染,你的脚本在底部。无需配置。

如果你已经熟悉webassets:此包可能没有你习惯的那么强大。它目前灵活性很小。这也是作者第一次使用webassets,所以事情可能不正确。

如果你以与我不同的方式使用Webassets,并且想让你的方式与more.webassets一起工作,请提出一个问题。我很乐意将其变成更强大的东西。

使用方法

以下应用程序从assets/js/jquery.js(相对于代码)提供压缩的jquery。

from more.webassets import WebassetsApp

class App(WebassetsApp):
    pass

@App.webasset_path()
def get_asset_path():
    return 'assets/js'

@App.webasset_output()
def get_output_path():
    return 'assets/bundles'

@App.webasset_filter('js')
def get_js_filter():
    return 'rjsmin'

@App.webasset('jquery')
def get_jquery_asset():
    yield 'jquery.js'

@App.path('')
class Root(object):
    pass

@App.html(model=Root)
def index(self, request):
    request.include('jquery')

    return '<html><head></head><body>hello</body></html>'

这将产生以下HTML(格式化以提高可读性)

<html>
    <head></head>
    <body>
        hello
        <script type="text/javascript" src="./assets/jquery.bundle.js?1234"></script>
    </body>
</html>

为了使其工作,你需要在定义“MyApp”的Python文件同一目录下有一个名为“assets/js”的文件夹,并且在该文件夹中有一个“jquery.js”文件。

调试模式

要激活webassets调试模式,请使用以下环境变量

MORE_WEBASSETS_DEBUG=1

文档

大多数文档目前都位于源代码中。请查看指令文件中的注释

运行测试

安装tox并运行它

pip install tox
tox

限制测试到特定的Python版本

tox -e py27

约定

More Webassets 尽可能遵循PEP8。要测试它,请运行

tox -e pep8

More Webassets 使用语义版本控制

构建状态

Build Status

覆盖率

Project Coverage

最新的PyPI版本

Latest PyPI Release

许可证

more.webassets采用修订版的BSD许可证发布

变更日志

0.5.1 (2017-07-12)

  • 修复了默认过滤器覆盖特定资产过滤器的情况。[链接]

0.5.0 (2017-07-12)

  • 阻止默认过滤器覆盖特定资产过滤器。[链接]

  • 添加了在资产上定义过滤器列表(链)的能力。[链接]

0.4.0 (2017-07-10)

  • 添加了链式输出过滤器(即jsx -> jss -> minified)的能力。[链接]

0.3.4 (2017-05-03)

  • 在body元素内部而不是之后渲染script标签。

    这使得输出成为有效的HTML。像以前那样在body元素外部渲染它是技术上有效的,但不符合规范。[链接]

0.3.3 (2016-10-04)

  • 添加Python 3.5并将其作为默认测试环境。

  • 更新以与Morepath 0.16兼容。

0.3.2 (2016-04-11)

  • 确保webasset_path始终是一个绝对路径。[链接]

0.3.1 (2016-04-11)

  • 添加了一个用于激活webasset调试模式的调试环境变量。[链接]

  • 如果没有指定,则使用临时默认输出目录。[链接]

0.3.0 (2016-04-08)

  • 重大变更 - 这个版本改变了所有内容!

    资产不再通过应用上的特殊方法注册,而是使用正确的Morepath指令。这使资产的重用更好,减少了冗余,并支持了继承(现在可以拥有定义资产的程序和使用这些资产的子程序)。

    请查看readme指令文件中的注释,了解变更内容。

    如果您需要帮助迁移现有的设置,请不要犹豫,提出问题。

0.2.0 (2016-04-06)

  • 添加了对morepath 0.13的兼容性。[链接]

0.1.1 (2016-01-24)

  • 如果启用调试模式,则禁用webassets URL缓存。[链接]

0.1.0 (2016-01-24)

  • 支持webassets调试模式(之前会触发异常)。[链接]

0.0.3 (2015-08-07)

  • 缓存资源URL以提高速度。请注意,由于此更改,需要重新加载应用程序才能获取更新的JavaScript文件。

    如果您对此有问题,请提出意见,我们可能会添加一个调试标志。[链接]

0.0.2 (2015-05-18)

  • 添加了更多检查,以确保我们永远不会在资产目录之外提供任何内容。[链接]

0.0.1 (2015-04-29)

  • 初始发布 [链接]

项目详情


下载文件

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

源代码分发

more.webassets-0.5.1.tar.gz (14.2 kB 查看散列)

上传时间 源代码

构建分发

more.webassets-0.5.1-py3-none-any.whl (21.0 kB 查看散列值)

上传时间 Python 3

由以下支持