我希望能够创建一个目录的网页划痕文件,其中每个文件是一个自成一体的网页。
对于常规的HTML/CSS/JS来说,这是非常容易的:
<head>
<style>
p {
color: red;
}
</style>
</head>
<body>
<p>lololol</p>
</body>Jade/Stylus/CoffeeScript也同样容易实现:
head
:stylus
p
color red
body
p lololol问题是,没有明确的方式使用这种方式的Stylus插件。具体来说,我想使用colorspaces.js和nib来更有效地实验颜色:
head
:stylus
@import 'nib'
p
color CIELCH(20.470, 74.265, 314.113)
background-color linear-gradient(white, black)
body
p lololol我目前正在使用的解决方法
您可以通过这样更改这些线来分叉Jade:
/**
* Transform stylus to css, wrapped in style tags.
*/
stylus: function(str, options){
+ colorspaces = require('colorspaces');
+ nib = require('nib');
var ret;
str = str.replace(/\\n/g, '\n');
var stylus = require('stylus');
- stylus(str, options).render(function(err, css){
+ stylus(str, options).use(colorspaces()).use(nib()).render(function(err, css){
if (err) throw err;
ret = css.replace(/\n/g, '\\n');
});
return '<style type="text/css">' + ret + '</style>';
},如果安装Jade的依赖项(我必须安装npm install commander和npm install mkdirp),则可以导航到/jade_fork/bin/并执行./jade name_of_file.jade。
但出于维修的原因,我宁愿呆在翡翠的主干道上。
发布于 2012-09-05 10:27:28
更新:
这是我发现的最好的方法:
保存为例如~/bin/jade
#!/usr/bin/env node
var jade = require('jade');
jade.filters.stylus = // your code from above
require('jade/bin/jade');它将与/usr/local/bin/jade完全一样工作,但它将使用您的代码编译手写笔,与nib等。
旧答案:
我建议你这样做:
var jade = require('jade');
jade.filters.stylus = // your code from above
jade.compile( /* ... */ );你输在玉石命令行脚本,但你应该能够以这种方式编译你的文件,而取决于玉石大师。
https://stackoverflow.com/questions/12272936
复制相似问题