は、PythonのWeb開発のためのWebAssets/Github
資産管理アプリケーションをチェックしてください。
それはあなたの質問に
が特定など、cssmin、cssutils、yui_css、以下、SASS、clevercss、コンパス、SCSS、CoffeeScriptの、gzipのためのフィルタ/プリコンパイルが含まれています
cssrewrite CSSファイルの相対URLを書き換えるソースフィルタ。
CSSでは、CSS ファイルの場所を基準にしたURLを指定できます。ただし、圧縮されたアセットをソースファイルと異なる場所に に保存するか、別の場所にある のソースファイルをマージすることができます。これにより、ベースURLが変更されたため、これらの相対的なCSS の参照が破損します。
このフィルタは、 ソースファイル内のCSS url()命令をトランスペアレントに書き換えて、出力パスの場所を基準にします。 これはソースフィルタとして機能します。つまり、マージされる前に、それぞれのソースファイルに個別に適用されます。
設定は不要です。
フィルタは、手動モードをサポートします。これは、代わりに接頭辞として/カスタム/パスを使用するold_directory内のファイルを指すすべてのURLを書き換えます
get_filter('cssrewrite', replace={'old_directory', '/custom/path/'})
を。
一般的な使用法:あなたのjsのoutput
とsrc
を置き換えます。この場合
from webassets import Environment
my_env = Environment('../static/media', '/media')
""""As you can see, the environment requires two arguments,
the path in which your media files are located, as well as
the url prefix under which the media directory is available.
This prefix will be used when generating output urls. Next,
you need to define your assets, in the form of so called
bundles, and register them with the environment. The easiest
way to do it is directly in code:""""
from webassets import Bundle
js = Bundle('common/jquery.js', 'site/base.js', 'site/widgets.js', filters='jsmin', output='gen/packed.js')
my_env.register('js_all', js)
。
directory: ../static
url: /media
debug: True
updater: timestamp
bundles:
bundle-name:
filters: sass,cssutils
output: cache/default.css
contents:
- css/jquery.ui.calendar.css
- css/jquery.ui.slider.css
はまたジャンゴ、フラスコ、Jinja2の、WERKZEUGのための特別なフックを持ってい
Documentation is here.・ホープ、このことができます..:ここ 代替表記があります!
SASSやLESSがどのように役立つ可能性があるのか本当に分かりません。あなたのスクリプトは少なくとも試行されていますが、一般的なケースはまったく解決されていません。これは、市販のソフトウェアがやることを望んでいたものです。 – Domenic
私の編集をご覧ください。スクリプトが問題を解決できないかどうかはわかりません。なぜなら、単純な問題に対する簡単で移植可能なソリューションのように思えるからです。 – Liam
私はそれがちょうどうつ病だと思うので、私はそのような車輪を再発明する必要があります。 – Domenic