帮酷LOGO
  • 显示原文与译文双语对照的内容
Pug view adapter for Laravel

  • 源代码名称:laravel-pug
  • 源代码网址:http://www.github.com/BKWLD/laravel-pug
  • laravel-pug源代码文档
  • laravel-pug源代码下载
  • Git URL:
    git://www.github.com/BKWLD/laravel-pug.git
  • Git Clone代码到本地:
    git clone http://www.github.com/BKWLD/laravel-pug
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/BKWLD/laravel-pug
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • Laravel Pug

    PackagistBuild StatusStyleCIcodecovCode ClimateLicense

    添加支持将 Pug ( Jade ) 模板编译为 Laravel的小包,通过 Pug.php ( 请参见完整的文档文档。) 。 视图中支持vanilla和刀片语法

    安装

    首先,如果你还没有 Composer,则需要: https://getcomposer.org/download/

    现在在 Laravel 项目的root 处打开一个终端。 如果是一个新项目,请使用以下方法创建它: composer create-project --prefer-dist laravel/laravel my-new-project ( 用你自己的项目名替换 my-new-project参见文档以获得进一步的信息

    然后运行 composer require bkwld/laravel-pug

    要在标准的Laravel 错误显示中正确设置pug源文件的行和偏移量格式,显示错误,我们建议你在你的app/Exceptions/ExceptionHandler 中实现以下步骤:

    <?phpnamespaceAppExceptions;useBkwldLaravelPugExceptionHandlerTrait;useException;useIlluminateFoundationExceptionsHandlerasExceptionHandler;classHandlerextendsExceptionHandler{useExceptionHandlerTrait;/*.. . *//** * Render an exception into an HTTP response. * * @param IlluminateHttpRequest $request * @param Exception $exception * @return IlluminateHttpResponse*/publicfunctionrender($request, Exception$exception) {return$this->filterErrorResponse($exception, $request, parent::render($request, $exception)); }}

    注意:这将适用于纯 .pug 文件,而不是 .pug.blade,因为错误将发生在blade引擎中。

    用法

    任何扩展名为 .pug的文件都将被编译为pug模板。 Laravel 还可以使用 Laravel 。.pug.blade.jade.blade.jade.blade.php 扩展注册 .pug.php.jade.php 。和扩展,highly使用clean和标准扩展 .pug 来实现大多数系统都能识别的干净标准的扩展。 它以与Blade模板相同的方式编译Pug模板;已经编译的模板将放入存储目录中。 因此,你不会在每次页面加载时都会遇到编译时间。

    换句话说,只需将Pug文件放在常规视图目录中,并将它们命名为 whatever.pug 。 你可以像往常一样在 Laravel 中引用它们:

    • Laravel 4: View::make('home.whatever') 用于 app/views/home/whatever.pug
    • Laravel 5: view('home.whatever') 用于 resources/views/home/whatever.pug

    Pug视图文件可以使用普通的PHP视图来运行 side-by-side 。 要在Pug中使用刀片模板,只需使用 .pug.blade 或者 .pug.blade.php 扩展命名文件。 这个特性是为了转换目的而设计的,因为每个叶片特性都在pug中可以用,你不需要。 请注意,这个模式首先使用pug呈现模板,然后给出要呈现到叶片的输出,这意味着必须有一个有效的pug语法。 这也意味着刀片指令只能通过pug文本输出获得,请参见下面的示例:

    | @if ($one === 1)
    div $one = 1
    | @endif
    p {{ $two }}

    如果使用以下值进行渲染: ['one' => 1, 'two' => 2] 你将得到:

    <div>$one = 1</div>
    <p>2</p>

    注:注意,你将得到与以下纯pug代码相同的输出:

    if one ===1 div $one = 1
    p=two

    在流明中的使用

    register 在 bootstrap/app.php ( 。register 服务提供商部分是专用的地点) 中的服务:

    $app->register(BkwldLaravelPugServiceProvider::class);

    然后你可以将它与 view() 一起使用:

    $router->get('/', function () use ($router) {// will render resources/views/test.pugreturn view('test', ['name'=>'Bob', ]);});

    故障排除

    如果未呈现 .pug 文件,则可以检查提供程序是否已经设置。 Laravel 5 + 始终是这种情况。 在旧版本中,自动脚本应该自动添加。 如果由于某些原因失败,在执行 Composer 安装时,应该在控制台中显示错误,请求或者更新命令。 但是你仍然可以手动添加它:

    • Laravel 4: 你的/app/config/app.php 文件( 如果没有创建) 中必须有一个 'providers'=> array() 条目。 在这里 array 中添加 'BkwldLaravelPugServiceProvider',
    • Laravel 5: 你的/config/app.php 文件( 如果没有创建) 中必须有一个 'providers'=> [] 条目。 并添加 BkwldLaravelPugServiceProvider::class, 在这里数组中。

    配置

    通过配置 array 文件passed所有的 Pug.php 命令行选项都可以通过你的Laravel 版本编辑:

    • Laravel 4:/app/config/packages/bkwld/laravel-pug/config. php
    • Laravel 5:/config/laravel-pug. php

    如果由于某种原因,配置文件丢失,只需运行以下命令:

    • Laravel 4:php artisan config:publish bkwld/laravel-pug
    • Laravel 5:php artisan vendor:publish --provider="BkwldLaravelPugServiceProvider"

    扩展布局/包含子视图

    模板的默认 root 目录是 resources/views,因这里从目录中任意深度的模板中可以以使用绝对路径来从 root 获取它的他pug文件: extends/layouts/main 将扩展文件 resources/views/layouts/main.(pug|jade)include/partial/foo/bar,将包括 resources/views/partial/foo/bar.(pug|jade) 可以使用 basedir 选项将 root 设置为其他目录。 不以斜杠开头的路径将相对于当前模板文件解析。

    历史

    阅读Github的发布版本 notes 。




    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语