Open source · Pocketknife
A portable Blade engine, written in Go.
Pocketknife renders a carefully chosen subset of Laravel Blade from one fast, dependency-free binary — and proves every byte of its output against real Laravel.
greeting.blade.php
@props(['name' => 'Blade'])
<x-card>
<h1>Hello, {{ $name }}</h1>
@if ($name === 'Blade')
<p>Rendered without PHP.</p>
@endif
</x-card>
output.html
<div class="card">
<h1>Hello, Blade</h1>
<p>Rendered without PHP.</p>
</div>
The engine
Blade templates, anywhere you can run a binary
Blade is the nicest way to write HTML — but until now it came bundled with a whole framework. Pocketknife distills it into a single tool you can embed in anything.
- One static binary
- Written in Go and dependency-free — render Blade anywhere, no PHP or Composer required.
- Proven against Laravel
- A conformance suite compiles every template through real Laravel and byte-compares the output.
- A closed, predictable subset
- Components, slots, props, and the core directives — the Blade you write, without arbitrary code execution.
- Built for embedding
- A simple JSON protocol over stdin and stdout makes it a drop-in engine for any stack.
- It powers DevDojo Sites
- Every published site renders through Pocketknife — battle-tested on real traffic.
- Free and open source
- Built in the open on GitHub, alongside the rest of the DevDojo toolbox.
Paste some Blade. Watch it render.
The playground compiles through the real engine, right in your browser.