Allows you to use native Pug (formerly Jade) seamlessly in Laravel 5 and Lumen
Require this package with Composer
composer require acidjazz/larpug
Install the needed node modules to run pug
npm i --prefix vendor/acidjazz/larpug/node/
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,
],
For usage with Lumen, add the service provider in bootstrap/app.php
.
$app->register(Larpug\ServiceProvider::class);
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>';