kss-php/bridge-bundle

KSS的Symfony2实现:一种用于文档化和生成样式指南的CSS文档方法

v1.0.0 2016-12-09 21:40 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:58:46 UTC


README

此包提供了一个简单的kss-php库集成到Symfony2的方法。KSS是一种用于文档化和生成样式指南的方法。您可以在http://warpspire.com/kss/找到有关KSS的更多信息。

安装

通过composer安装此包是最简单的方法。在您的Symfony2项目文件夹中,输入以下命令:

$ composer require kss/bridge-bundle

这将安装包以及包运行所需的全部依赖。

接下来,您需要通过将其添加到您的Kernel中启用此包

<?php
// app/AppKernel.php

public function registerBundles()
{
    $bundles = array(
        // ...

        new Kss\Bundle\KssBundle\KssBridgeBundle(),
    );
}

最后,如果您想尝试包中提供的示例,您需要将以下内容添加到您的symfony2路由中。

# app/config/routing_dev.yml
kss_bridge:
    resource: @KssBridgeBundle/Controller/
    type:     annotation
    prefix:   /_kssExample

基本用法

要输出动态生成的样式指南,您需要在控制器中创建一个\Kss\Parser,并将其传递包含您的样式表的目录。

<?php

namespace Kss\Bundle\BridgeBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Kss\Parser;

class ExampleController extends Controller
{
    /**
     * @Route("/styleguide")
     * @Template
     */
    public function styleguideAction()
    {
        $kss = new Parser($this->getRequest()->server->get('DOCUMENT_ROOT') . '/bundles/kssbridge/css');
        return array(
            'kss' => $kss,
        );
    }
}

然后在您的视图中,当您想要输出样式指南部分时,使用以下twig include:

{% include 'KssBridgeBundle:Blocks:block.html.twig' with
    {
        'section' : kss.getSection('1.1')
    }
%}

最后,您需要包含一个小JavaScript文件来帮助渲染样式指南中的伪类,如:hover、:disabled等。这可以在您的布局或视图中通过以下行完成:

{% javascripts '@KssBridgeBundle/Resources/public/js/*' %}
    <script src="{{ asset_url }}"></script>
{% endjavascripts %}

如果您愿意,您可以创建自己的块样式,或者使用包含的样式。要使用包含的样式,请将以下内容添加到您的布局或视图中:

{% stylesheets 'bundles/kssbridge/css/*' %}
    <link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}

对于完整示例,请参阅包含的[示例控制器](https://github.com/kss-php/KssBridgeBundle/blob/master/Controller)、[视图](https://github.com/kss-php/KssBridgeBundle/blob/master/Resources/views)和[样式表](https://github.com/kss-php/KssBridgeBundle/blob/master/Resources/public/css)。