wecodepixels/premailer-bundle

Premailer 的 Symfony 扩展包

安装数量: 15,335

依赖项: 0

建议者: 0

安全: 0

星标: 1

关注者: 5

分支: 0

开放问题: 0

类型:symfony-bundle

v0.1.0 2014-05-11 01:37 UTC

This package is not auto-updated.

Last update: 2021-10-11 11:49:01 UTC


README

这是一个用于 Premailer 项目的 Symfony2 扩展包,该项目使用 Premailer CLI(命令行界面)。

先决条件

您需要按照官方说明安装 Premailer 珍宝。在撰写本文时,以下代码在 Ubuntu 12.04 LTS 安装上运行正常:

sudo apt-get install ruby-dev
sudo gem install premailer nokogiri

安装

下载扩展包

如果您使用 Composer 作为包管理器,您可以直接使用以下命令:

composer require wecodepixels/premailer-bundle:dev-master

或者如果您更喜欢手动编辑您的 composer.json 文件

{
    "require": {
	    "wecodepixels/premailer-bundle": "dev-master"
    }
}

然后运行 composer update wecodepixels/premailer-bundle

启用扩展包

在您的 AppKernel.php 文件中添加扩展包

<?php
// app/AppKernel.php

registerBundles()
{
    $bundles = array(
        // ...
		new WeCodePixels\PremailerBundle\WeCodePixelsPremailerBundle(),
    );
}

所需配置

您需要在您的 config.yml 文件中指定 Premailer 二进制文件(或 config_dev.ymlconfig_prod.yml 等)。以下是一个在 Ubuntu 12.04 LTS 安装上运行正常的示例。

we_code_pixels_premailer:
    bin: /usr/bin/premailer

提示:您可以通过在控制台中执行 where premailer 来定位您的 premailer 二进制文件。

用法

以下是一个简单的示例

$html = '<h1>My HTML which contains one or more style tags</h1>';
$premailer = $this->container->get('we_code_pixels_premailer.premailer');
$premailer->setRemoveClasses(true);
$htmlWithInlinedCss = $premailer->execute($html);

还有一些其他设置器可用,它们直接链接到 Premailer CLI 选项

  • setMode
  • setBaseUrl
  • setQueryString
  • setCss
  • setRemoveClasses
  • setRemoveScripts
  • setLineLength
  • setEntities
  • setIoExceptions