Tag: pug

Jade – 根据环境设置基本目录

我有一个玉页,我做的第一件事是设置一个variables,它决定了所有链接使用的基础目录。 if ! base base = '/klog/' // base = '/website-clear/klog/' 这实际上是一个GitHub页面,所以每次我把页面渲染到HTML,我不得不记住要改变基地,然后再次改回它进行本地编辑。 必须有一个更好的方式来做到这一点。 目前,我正在考虑在本地副本中包含一个未跟踪的文件,其中包含基础 – 但是这是非常必要的吗? 处理这个问题的最好方法是什么?

玉模板,包括variables范围

我正在使用翡翠(没有快递,只是为了静态HTML模板) – 我理解为能够创buildpartials,意思范围不是一个问题,但这似乎并非如此,我可以find没有参考这个用法-案件。 master.jade !!! 5 html block vars – var slug= 'home' head block pagetitle title Static HTML link(rel='stylesheet', href='css/styles.css') body(class= slug) .wrapper include includes/header 包括/ header.jade .header ul li(class= slug) 我已经尝试了包括#{slug}语法变体,并且总是在includes/header.jade文件中得到错误“slug is not defined” – 是否可以这样做? 编辑:所以在下面的评论中,由戴夫·韦尔登给出的答案是,当包含在master.jade中的variables是可用的,但我的编译命令编译所有的玉文件包括自己的包括,在这一点上的variables当然不是定义。

翡翠filter嵌套失败

我有一些filter: var jade = require('jade'); jade.filters.Posts = function(block) { return '{block:Posts}'+jade.render(block)+'{/block:Posts}'; }; jade.filters.Audio = function(block) { return '{block:Audio}'+jade.render(block)+'{/block:Audio}'; }; jade.filters.Video = function(block) { return '{block:Video}'+jade.render(block)+'{/block:Video}'; }; 并有一些input :Posts Posts :Audio | Audio :Video | Video 所以我有一个错误: >> unknown filter ":Audio" 我可以处理或解决这个问题吗? PS你可以看看这个仓库中的代码 – 我使用的是grunt和grunt-contrib-jade插件,但是强制grunt-contrib-jade与你应该编辑的filter一起工作./node_modules/grunt-contrib-jade/tasks/ jade.js来反映这个拉取请求的 变化 。 PS2 :我find了绊脚石 。 当我在filter中使用render()方法时,我从本地的jade实例中调用它,它不知道任何关于filter的信息,但是全局的jade实例(来自Gruntfile.js)拥有关于这个filter的所有信息。 这就是为什么主要问题是: 我怎样才能把全局的Jade实例抛出使用filter? PS3 :我不知道如何为这种情况创build小提琴。 […]

遍历jade / pugjs中的对象数组

我有以下json对象: var partners =[{ "name":"partnerx", "image": "imagex" }, { "name": "partnery", "image": "imagey" }] 我想用玉来放入一个ul对象,我试过了: ul#slides.swiper-wrapper mixin partners(name, image) li.swiper-slide img(src=#{image} , alt=#{name}) 这不起作用。

从Jade模板的把手条件检查财产

我希望我的把手模板可以提供给客户端 <input type='checkbox' checked={{isChecked}}> 要么 <input type='checkbox' {{#if isChecked}}checked{{/if}}> 我怎样才能编写一个Jade模板来编译呢? 从他们的文档中,如果分配的值是真实的,但是实际上不包括该值,那么将检查的属性包括在内: input(type="checkbox", checked="{{isChecked}}") 编译 <input type='checkbox' checked> 我也试过: input(type="checkbox", checked={{isChecked}}) 和 input(type="checkbox", {{#if isChecked}}checked{{/if}}) 这只是不能编译,我明白

如何在翡翠中包含一个css文件(无需链接)

我有这个玉文件: !!! 5 html head title test include style(type='text/css') //- DOES NOT WORK! include test.css body //- works include test.css div //- works include test.css 输出: $ jade -P test.jade rendered test.html $ cat test.html <!DOCTYPE html> <html> <head> <title>test include</title> <style type="text/css"> //- DOES NOT WORK! include test.css </style> </head> <body>body { color: peachpuff; […]

节点说翡翠没有方法“renderFile”,为什么?

我安装了玉器(npm install jade),然后转到他们的github页面来获取一些例子。 这是我想要执行的: code.jade: – var title = "Things" h1= title ul#users – each user, name in users – if (user.isA == "ferret") li(class: 'user-' + name) #{name} is just a ferret – else li(class: 'user-' + name) #{name} #{user.email} code.js: var jade = require('jade'); var options = { locals: { users: { tj: […]

多行数组文字

在我的Jade模板中,我试图创build一个这样的数组: – var myArray = [ 'one', 'two', 'three' ] 但它不编译。 任何人知道为什么 能够有一个可以用作mixin参数的多行数组会使我的代码更加冗长。

如何在玉石模板中使用下划线

我想在玉石模板中使用下划线function,就像这样 p= _.keys(user) 不适合客户端JavaScript,用于重复。 通过我在app.js中确实需要'下划线',没有相处得很好。 当然,它在app.js中正常工作。 ReferenceError: xxxxxxx _ is not defined 这是模板错误消息。 任何想法? 谢谢

如何将内容从模板传递到Express中的布局?

我有一个基本的Express服务器: // server.js: var Express = require('express'); app = Express.createServer(); app.configure(function(){ app.set('views', Path.join(__dirname, 'views')); app.set('view engine', 'jade'); app.set('view options'); }); app.get('/', function (request, response) { response.render('welcome', { locals: {some: 'Locals'} }); }); 基本的玉石布局: // views/layout.jade: !!! 5 html(lang='en') head title= pageTitle body h1= pageTitle aside(id="sidebar")= sidebarContent #content #{body} 和一个简单的页面: # views/welcome.jade: // How do I […]