man / jade
Laravel Jade 模板引擎,从原生 Jade 二进制文件为 Mac OSX/Linux/Unix 设计
dev-master
2014-01-15 06:33 UTC
Requires
- php: >=5.3.0
- illuminate/support: 4.1.*
This package is not auto-updated.
Last update: 2024-09-24 06:46:35 UTC
README
这是我为朋友的毕业设计项目写的第一个 Laravel 扩展包,希望你会喜欢。
要求
- Laravel 4
- Jade 可执行文件(使用 sudo npm install -g jade 安装)
- *可能在 Windows 机器上无法使用(你可以尝试使用 cygwin 等类似软件)
安装
在你的 composer.json 中添加 "man/jade": "dev-master" 到 require 部分
composer.json
{
//...
"require": {
"laravel/framework": "*",
"man/jade": "dev-master"
},
//...
}
在终端中运行命令 composer update
bash
composer update
之后,在 app/config/app.php 中将 'Man\Jade\JadeServiceProvider' 添加到 'providers',并将 'Jade' => 'Man\Jade\Jade' 添加到别名
app.php
<?php 'providers' => array( //...... 'Illuminate\Workbench\WorkbenchServiceProvider', 'Man\Jade\JadeServiceProvider' ), 'aliases' => array( //....... 'View' => 'Illuminate\Support\Facades\View', 'Jade' => 'Man\Jade\Jade' ),
使用示例
首先创建一个 app/jade 文件夹
routes.php
<?php Route::get("/example",function(){ $data = [ "hello" => "You are welcome.", "welcome"=>true, "list"=>["item1,item2,item3"], "escapetxt"=>"<b>bold tags</b>" return Jade::render("example/index",$data); });
注意,View::make('blah') 仍然可以使用。
app/jade/example/index.jade
if welcome ul for item in list li item h1 #{hello} p= escapetxt p!= escapetxt else h1 PLEASE LEAVE
HTML 结果
<ul> <li>item 1</li> <li>item 2</li> <li>item 3</li> </ul> <h1>You are welcome.</h1> <p><p>bold tags</p></p> <p><b>bold tags</b></p>
错误报告
如果你在 jade 文件中犯错,它将输出错误。####示例
command:
'/usr/bin/jade' < '/opt/lampp/htdocs/laravel/app/jade/index.jade' --path /opt/lampp/htdocs/laravel/app/jade/d --obj '{"some":"params"}'
params:{
"some": "params"
}
Issue:
/usr/lib/node_modules/jade/lib/runtime.js:202
throw err;
^
Error: /opt/lampp/htdocs/laravel/app/jade/d:1
> 1| !!!
2| h1 deprecated error above ^_^
`!!!` is deprecated, you must now use `doctype`
at Object.Lexer.doctype (/usr/lib/node_modules/jade/lib/lexer.js:246:13)
at Object.Lexer.next (/usr/lib/node_modules/jade/lib/lexer.js:827:15)
at Object.Lexer.lookahead (/usr/lib/node_modules/jade/lib/lexer.js:111:46)
at Parser.lookahead (/usr/lib/node_modules/jade/lib/parser.js:111:23)
at Parser.peek (/usr/lib/node_modules/jade/lib/parser.js:88:17)
at Parser.parse (/usr/lib/node_modules/jade/lib/parser.js:126:26)
at parse (/usr/lib/node_modules/jade/lib/jade.js:95:62)
at Object.exports.compile (/usr/lib/node_modules/jade/lib/jade.js:152:9)
at ReadStream. (/usr/lib/node_modules/jade/bin/jade.js:126:21)
at ReadStream.EventEmitter.emit (events.js:117:20)
自定义
修改 vendor/Man/Jade/Jade.php,你可以编辑 jade 二进制文件的存储位置和 app/jade 文件夹以显示视图
Jade.php
$jade_bin = "/usr/bin/jade"; // if you don't know what it is type `which jade` in your terminal $jade_tpl_path = app_path() . '/jade/'; //enter your template path here,defaulted for laravel at app/jade/
许可协议
MIT