5

各ファイルが自己完結型のページである Web ページのスクラッチ ファイルのディレクトリを作成できるようにしたいと考えています。

これは、通常の 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.jsnibを使用して、より効果的に色を試してみたいと思います。

head
    :stylus
        @import 'nib'
        p
            color CIELCH(20.470, 74.265, 314.113)
            background-color linear-gradient(white, black)
body
    p lololol

私が現在使用している回避策


これらの行を次のように変更することで、ジェイドをフォークできます。

  /**
   * 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


しかし、メンテナンス上の理由から、Jade のメイン ブランチに留まりたいと考えています。

4

1 に答える 1

1

アップデート:

これが私が見つけた最良の方法です:

例として保存~/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しますが、ペン先などを使用してスタイラスをコンパイルするためにコードを使用する点が異なります。


古い答え:

次のようにすることをお勧めします。

var jade = require('jade');

jade.filters.stylus = // your code from above

jade.compile( /* ... */ );

jade コマンド ライン スクリプトは使えませんが、jade master に依存しながら、この方法でファイルをコンパイルできるはずです。

于 2012-09-05T10:27:28.617 に答える