Django-compressor: рдЗрдХрдЯреНрдард╛ рдХрд░реЗрдВ, рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░реЗрдВ рдФрд░ *рдлрд┐рд░* рдлрд╝рд┐рд▓реНрдЯрд░ рдореЗрдВ рдкрд╛рд╕ рдХрд░реЗрдВ?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 15 рдЕрдкреНрд░реИрд▓ 2011  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: django-compressor/django-compressor

рдирдорд╕реНрддреЗ! рдХреНрдпрд╛ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдмреНрд▓реЙрдХ рдореЗрдВ рд╕реАрдПрд╕рдПрд╕ рдпрд╛ рдЬреЗрдПрд╕ рдХреЛ рдЗрдХрдЯреНрдард╛ рдФрд░ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реИрд╕реЗ рднреА рд╣реИ рдФрд░ _then_ рдЗрд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╛рд╕ рдХрд░реЗрдВ? рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдореИрдВ рдЕрдкрдиреЗ рдПрд╕рд╕реАрдПрд╕рдПрд╕ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП pyScss рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореИрдВрдиреЗ pySCSSFilter рд╡рд┐рд╕реНрддрд╛рд░ FilterBase , рдФрд░ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рдРрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ:

{% compress css %}
<link rel="stylesheet" type="text/css" media="screen" href="{{ MEDIA_URL }}css/mixins.scss" />
<link rel="stylesheet" type="text/css" media="screen" href="{{ MEDIA_URL }}css/base.scss" />
<link rel="stylesheet" type="text/css" media="screen" href="{{ MEDIA_URL }}css/other.scss" />
{% endcompress %}

рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реА рдлрд╛рдЗрд▓реЗрдВ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдЕрд▓рдЧрд╛рд╡ рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВред

рдХреНрдпрд╛ рдПрдХ рд░рд╛рд╕реНрддрд╛ рд╣реИ?

рдЪреАрдпрд░реНрд╕!

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╕реАрдПрд╕рдПрд╕ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░реЛрдВ рдХрд╛ рдЗрддрдирд╛ рдХрдо рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдЗрд╕рдХреА 'рдХреЛрд░' рд╡рд┐рд╢реЗрд╖рддрд╛ рдорд┐рд╢реНрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд░рд╣реА рд╣реИред рдЗрд╕рд▓рд┐рдП рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рдПрдХ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИред рдХреНрдпрд╛ @jannon рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рджреЗрд╡ рд╢рд╛рдЦрд╛ django_compressor рдореЗрдВ рдорд░реНрдЬ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рд╣реИ?

рд╕рднреА 6 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╣рдореНрдо рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдореИрдВ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ред

рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╡реЗ рдПрдХ рд╣реА рдЖрдзрд╛рд░ рдкрде рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рд╕рдорд╛рди @import рдХрдерди рд╣реИрдВ рд▓реЗрдХрд┐рди рд╡рд┐рднрд┐рдиреНрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрдереЛрдВ рдореЗрдВ рд╣реИрдВред

рдЕрднреА @import рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рдкрд╛рд╕ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдореИрдВ рдХрд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдПрдХ-рдПрдХ рдХрд░рдХреЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╕рдВрдХрд▓рди рдХреЗ рд▓рд┐рдП рд╕рднреА рд╕рдВрджрд░реНрдн рд╕рд╣реА рд╣реЛрдВред

рдореИрдВ рдкреВрд░реНрд╡-рд╕рдВрдХрд▓рди рд╕реЗ рдкрд╣рд▓реЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реЛрдЯ рджреВрдВрдЧрд╛ред рдХрдо рдЖрджрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рдмрд╣реБрдд рдорджрджрдЧрд╛рд░ рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рд╕реНрдЯреИрдВрдбрд╡реЗ рдорд┐рдХреНрд╕рд┐рди рдФрд░ рдЧреНрд▓реЛрдмрд▓ рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рдПрдХ рдлрд╛рдЗрд▓ рдореЗрдВ рд░рдЦрдирд╛ рдФрд░ рдЗрд╕реЗ рдХрдВрдкрд╛рдЗрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдорд░реНрдЬ рдХрд░рдирд╛ рд╣реИред рдЕрднреА рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рд╕реАрдПрд╕рдПрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЙрди рд╡рд░реНрд░реЛрдВ рдФрд░ рдорд┐рд╢реНрд░рдгреЛрдВ рдХреЛ рджреЛрд╣рд░рд╛рдирд╛ рд╣реЛрдЧрд╛ рдпрд╛рдиреА рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рддреНрд╡рдЪрд╛ рдХреЗ рд░рдВрдЧ рдХреЗ рд╡реИрд╢реНрд╡рд┐рдХ рд╡рд░реНрд░реНрд╕ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ рдЬреЛ рдПрдХрд╛рдзрд┐рдХ рд╕реАрдПрд╕рдПрд╕ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдПрд╕рдПрдПрд╕ рдпрд╛ рдЙрд╕рд╕реЗ рдХрдо рдЬреИрд╕реЗ рд╕реАрдПрд╕рдПрд╕ рдврд╛рдВрдЪреЗ рдореЗрдВ рд╡реИрд╢реНрд╡рд┐рдХ рд╡рд░реНрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рдмрд░реНрдмрд╛рдж рдХрд░ рджреЗрддрд╛ рд╣реИ , рдЬрдм рддрдХ рдХрд┐ рдЖрдк рд╕рдм рдХреБрдЫ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рди рд░рдЦреЗрдВред

рдореИрдВ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВ hvdklauw рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдкреАрдбрд╝рд┐рдд рдмреНрд▓реЙрдХ рдЧреАрд▓реЗрд░ рдкрд░ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реЛ рдпрд╛ рдкреВрд░реНрд╡-рд╕рдВрдХрд▓рди рд╕реЗ рдкрд╣рд▓реЗ рдпрд╛ рдмрд╛рдж рдореЗрдВ рд╡рд┐рд▓рдп рди рд╣реЛ?

@gensmann рд╕реЗрдХ рдмреНрд▓реЙрдХ рдореЗрдВ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝рдирд╛ рдПрдХ рдпреЛрдЬрдирд╛ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ, рд╣рд╛рдБред

рд╕реАрдПрд╕рдПрд╕ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░реЛрдВ рдХрд╛ рдЗрддрдирд╛ рдХрдо рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдЗрд╕рдХреА 'рдХреЛрд░' рд╡рд┐рд╢реЗрд╖рддрд╛ рдорд┐рд╢реНрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд░рд╣реА рд╣реИред рдЗрд╕рд▓рд┐рдП рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рдПрдХ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИред рдХреНрдпрд╛ @jannon рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рджреЗрд╡ рд╢рд╛рдЦрд╛ django_compressor рдореЗрдВ рдорд░реНрдЬ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рд╣реИ?

Sass рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг sass рдмрд╛рдЗрдирд░реА рдХреЗ рд▓рд┐рдП рд╕рднреА рд╢рд╛рдорд┐рд▓рдкрдереЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рд╣реИ, рдлрд┐рд░ @import рдореЗрд░реА scss рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓реЗрдВ:

# app/settings/common.py
...
scss_args = " ".join(["--include-path %s/vendor/bourbon/app/assets/stylesheets/" % VENDOR_ROOT,
                      "--include-path %s/vendor/bootstrap-sass-official/vendor/assets/stylesheets/" % VENDOR_ROOT])
...

COMPRESS_PRECOMPILERS = (
    ('text/coffeescript', 'node_modules/.bin/coffee --compile --stdio'),
    ('text/x-scss', 'node_modules/.bin/node-sass %s {infile} {outfile}' % scss_args)
)
...
// app/common/static/css/screen.scss
<strong i="9">@import</strong> url("http://fonts.googleapis.com/css?family=Montserrat:400,700");
<strong i="10">@import</strong> "./vendor.scss";
<strong i="11">@import</strong> "./elements.scss";
<strong i="12">@import</strong> "./pages.scss";

body, html {
    font-family: 'Montserrat';
}
// app/common/static/css/vendor.scss
<strong i="15">@import</strong> "_bourbon.scss";
<strong i="16">@import</strong> "bootstrap.scss";
<! -- app/common/templates/base.html -->
...
{% compress css %}
<link href="{% static 'css/screen.scss' %}" type='text/x-scss' media='screen, projector' rel='stylesheet'>
{% endcompress %}
...

@airtonix рдореИрдВрдиреЗ рдпрд╣ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА @import 'ed рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рджреЗрдЦрд╛ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЙрдирдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╕реАрдПрд╕рдПрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдХрд┐рдВрдбрд╛ рдЪрдХрд┐рдд рд╣реИ рдХрд┐ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЕрднреА рддрдХ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИред рд╡реЗрдмрд╕реЗрдЯреНрд╕ рдиреЗ рдЗрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛, рдЬрд┐рд╕рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ SASS_AS_OUTPUT = True , рдЬреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдкрд╣рд▓реЗ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдорд╛рдкреНтАНрдд рдХрд░рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

polmuz picture polmuz  ┬╖  20рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

markstahler picture markstahler  ┬╖  17рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

badbye picture badbye  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

amosjyng picture amosjyng  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

wjdp picture wjdp  ┬╖  11рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ