Как передать переменные конфигурации libsass в пакет flask_assets?

Моя цель - установить LIBSASS_STYLE="expanded" с помощью flask_assets.Bundle, В документации libsass webassets сказано, что я могу это сделать, но не сказано как.

Мой базовый контроллер приложения выглядит следующим образом.

from flask import Flask, render_template
from flask_assets import Environment, Bundle

app = Flask(__name__)

# ... Typical flask controller stuff

if __name__ == "__main__": 
    assets = Environment(app)

    css = Bundle(
        'sass/*.scss',         # input scss files
        filters='libsass',     # to be compiled by libsass
        output='css/style.css' # and outputed to style.css
    )

    assets.register("asset_css", css)

    app.run(debug=True)

Это выводит действительный файл CSS (который великолепен), но не в желаемом формате, так как я просто не представляю, где я могу найти какие-либо варианты libsass.

Любая помощь по этому вопросу приветствуется. Спасибо!

1 ответ

Вам нужно явно создать libsass фильтр для передачи ему опций

from flask_assets import Bundle
from webassets.filter import get_filter

libsass = get_filter(
    'libsass',
    as_output=True,
    style='compressed',
)

css = Bundle(
    'sass/*.scss',
    filters=(libsass),
    output='css/style.css'
)
Другие вопросы по тегам