使用Symfony2和assetic中的deps管理Twitter Bootstrap存储库

时间:2012-05-08 10:04:35

标签: git symfony twitter-bootstrap assetic

我想在Symfony2中使用deps文件管理Twitter Bootstrap git repository。所以我添加了以下几行:

[TwitterBootstrap]
    git=https://github.com/twitter/bootstrap.git
    target=/twitter
    version=v2.0.3

并将存储库克隆到Symfony2\vendor\twitter\bootstrap

我坚持这个:我如何使用assetic导入相关的css / js和 cssrewrite规则如何工作,而不是将图片放入Symfony2\vendor\twitter\bootstrap\img Symfony2\app\Resources\public\img

 {% stylesheets '????????????????' filter='cssrewrite' %}
     <link rel="stylesheet" type="text/css" href="{{ asset_url }}" />
 {% endstylesheets %}

4 个答案:

答案 0 :(得分:2)

您是否尝试使用MopaBootstrapBundle实现了对symfony2的Twitter捆绑? https://github.com/phiamo/MopaBootstrapBundle

我也正致力于在http://Initializr.com分支上通过https://github.com/nysander/MopaBootstrapBundle/tree/initializr生成HTML5Boilerplate + TwitterBundle

答案 1 :(得分:2)

以下是我将Bootstrap的LESS编译为CSS的方法:

{% block stylesheets %}
    {% stylesheets
        '../vendor/bootstrap/less/bootstrap.less'
        output='css/bootstrap.css'
    %}
        <link href="{{ asset_url }}" rel="stylesheet">
    {% endstylesheets %}
{% endblock %}

我已经安装了lessphp - 您可以使用Node.js - 作为供应商并像这样激活它:

assetic:
    debug: %kernel.debug%
    use_controller: false
    filters:
        cssrewrite: ~
        lessphp:
            apply_to: "\.less$"
            file: %kernel.root_dir%/../vendor/lessphp/lessc.inc.php

对于cssrewrite过滤器,在这种情况下您不需要它。如果以某种方式将Bootstrap映像添加到web/img文件夹,它将起作用。我还在寻找一个简洁的解决方案。

答案 2 :(得分:0)

我通过在我的网络目录中创建与vendor / twitter-bootstrap的符号链接来实现这一点(如果不这样做,图像将永远无法访问)。但我不记得使用twitter-bootstrap图像。

我不会在我的twig模板中导入bootstrap,但是在我的项目的less文件中,如下所示:

@import "../../../twitter-bootstrap/less/bootstrap";

但是我对这种方法感到很头疼。请参阅我写的这个错误报告:https://github.com/kriswallsmith/assetic/issues/202

答案 3 :(得分:0)

如@nysander所说,MopaBootstrapBundle似乎更灵活。

如果你想要一个没有任何助手的twitter-bootstrap的原始实现,这个存储库旨在通过将它包装在一个公共文件夹中来提供Twitter Bootstrap作为Symfony的资产:https://github.com/chasen/bootstrap