lang add manifest file

I would like to know how to add the manifest file to node.js site with jade-lang and express. I found this as an issue 239 in github. My question is how can I add some data into the buffer without while we wait for the resolution of the issue.

Thank's!


I'm going to need this in one of my projects soon, so I was curious to give it a try. There is effectively a problem if you try to do it in a single file:

!!! 5
if useManifest
    html(lang="en", manifest="cache.manifest")
else
    html(lang="en")

    head
        title sample title
    body
        p some content...

This renders a messed up HTML. However, the following seems to work just fine (it's definitely a workaround):

In routesindex.js :

exports.index = function(req, res){
  res.render('testJade', { layout: false, useManifest: true })
};

In viewstestJadeInclude.jade :

!!!5
if useManifest
    html(lang="en", manifest="cache.manifest")
        block content
else
    html(lang="en")
        block content

And finally, in viewstestJade.jade :

include testJadeInclude
    block append content
        head
            title sample title
        body
            p some content

Then based on whatever you wish (such as if the client is a mobile browser, or whatever), you set useManifest to true or false.

And I just tested another possibility, which is kind of the other way around. Instead of including the doctype and html tag in your content file (via a block append), you include the content file in the doctype-html file, so it looks like this:

!!! 5
if useManifest
    html(lang="en", manifest="cache.manifest")
        include contentFile
else
    html(lang="en")
        include contentFile

There's a simple way to do this in jade: Just try this

html(manifest=_condition_ ? "cache.manifest" : undefined)

This code checks if condition is true. If it is, manifest is set to "cache.manifest". Otherwise it'll be set to undefined and dropped.

链接地址: http://www.djcxy.com/p/60616.html

上一篇: 为什么不表达

下一篇: lang添加清单文件