acidjazz/larpug

Adds the power of Pug to Laravel

v0.2.2 2017-02-07 20:07 UTC

This package is auto-updated.

Last update: 2024-04-18 06:17:54 UTC


README

Allows you to use native Pug (formerly Jade) seamlessly in Laravel 5 and Lumen

Total Downloads Latest Stable Version License Build Status Dependency Status codecov

Join the chat at https://gitter.im/acidjazz/larpug

Requirements

Installation

Require this package with Composer

composer require acidjazz/larpug

Install the needed node modules to run pug

npm i --prefix vendor/acidjazz/larpug/node/

Laravel

Once Composer has installed or updated your packages you need to register larpug with Laravel itself. Open up config/app.php and find the providers key, towards the end of the file, and add 'larpug\LarpugServiceProvider', to the end:

'providers' => [
  ...
    Larpug\ServiceProvider::class,
],

Lumen

For usage with Lumen, add the service provider in bootstrap/app.php.

$app->register(Larpug\ServiceProvider::class);

Usage

Using this is exactly the same way as using Blade templates, place your pug files in your views folder (usually in resources/views) and render them using view()

namespace App\Controllers;

class Pages extends Controller
{
  public function index()
  {
    return view('pages.index', ['name' => 'kevin', 'title' => 'test title']);
  }

}

This will look for resources/views/pages/index.pug

doctype
html(lang='en')
  head
    title Title: #{self.title}
  body
    .page.index 
      .name=self.name

Which will render something like

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Title: test title </title>
  </head>
  <body>
    <div class="page index">
      <div class="name">Kevin</div>
    </div>
  </body>
</html>';