์๋ ํ์ธ์, Bootstrap 4 alpha 6์ ์ฌ์ฉํ๋ ๋์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. BS4๊ฐ ํฌํจ ๋ ์ดํ์ ๋ชจ๋ CSS๊ฐ ๋ธ๋ผ์ฐ์ ์์ ๋ฌด์๋๋ค๋ ์ฌ์ค์ ๋ฐ๊ฒฌํ์ต๋๋ค. ๋ ๊น์ด ํ๊ณ ์์ฑ ๋ CSS์ ๊ตฌ๋ฌธ ๋ถ์ ์ค๋ฅ๋ฅผ ๋ฐ๊ฒฌํ์ต๋๋ค.
Django 1.8.17, Compressor 2.1.1, Sass 3.4.22๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
๋ด๊ฐ ์ฐพ์ ์ฒซ ๋ฒ์งธ ๊ตฌ๋ฌธ ๋ถ์ ์ค๋ฅ๋ฅผ ์ฌ๊ธฐ์ ๋ฌธ์ํํ๊ฒ ์ต๋๋ค.
์ค๋ฅ๋ stroke='rgba(0, 0, 0, 0.5")',
์ ํฐ ๋ฐ์ดํ "
stroke='rgba(0, 0, 0, 0.5")',
์ด์ง๋ง stroke='rgba(0, 0, 0, 0.5)'
์ด์ด์ผํฉ๋๋ค. ์ด๋ก ์ธํด ๋ฌธ์์์ ๊ตฌ๋ฌธ ๋ถ์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
.navbar-light .navbar-toggler-icon {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5")' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E"); }
.navbar-light .navbar-toggler-icon {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E"); }
์ฌ์ ์ปดํ์ผ ๋ ๋ฒ์ ๊ณผ ์ผ์นํฉ๋๋ค.
$navbar-light-toggler-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E"), "#", "%23") !default;
$navbar-light-color: rgba($black,.5) !default;
$black: #000 !default;
{% compress css %}
<link rel="stylesheet" type="text/x-scss" media="screen" charset="utf-8"
href="/static/bootstrap/scss/bootstrap.scss" />
{% endcompress %}
COMPRESS_PRECOMPILERS = (
('text/coffeescript', 'coffee --compile --stdio'),
('text/x-sass', 'sass {{infile}} {{outfile}} --load-path {}'.format(LIB_PATH)),
('text/x-scss', 'sass --scss {{infile}} {{outfile}} --load-path {}'.format(LIB_PATH)),
)
๊ฝค ๋๋น ๋ณด์ ๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋์์ ์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค. ์์ผ๋ก ๋ช ์ฃผ ๋์์ ์๊ฐ์ด ์์ ๊ฒ์ ๋๋ค.
๊ฐ๋ณผ ๊ฒ์. ๋๋ ๋น์ ์ ์ฝ๋๋ฒ ์ด์ค์ ์ต์ํ์ง ์๊ธฐ ๋๋ฌธ์ ์ด๋์๋ถํฐ ์์ ํด์ผํ ์ง / ์ด๋ค ์ง๊ฐ์ ๋ํ ํฌ์ธํฐ๋ ๋งค์ฐ ๊ฐ์น๊ฐ์์ ๊ฒ์ ๋๋ค.
๋ช ๊ฐ์ง ์๊ฐ :
COMPRESS_ENABLED = False
ํฉ๋๊น?@carltongibson :
COMPRESS_ENABLED = False
์ด๋ฏธ ์คํ ์ค์ด๋ฉฐ True
์ค์ ์ ๋์ผํ ๊ฒฐ๊ณผ๊ฐ ๊ด์ฐฐ๋์์ต๋๋ค.$ sass -v
Sass 3.4.22 (Selective Steve)
์ปดํ๋ ์ ๋ธ๋ก์ sass ๋ฒ์ ๋๋ ๋ฏธ๋ฆฌ ๋น๋ ๋ bootstrap.css ํ์ผ์ ํฌํจํ๊ณ ๊ทธ ๋ค์ ์ ํจํ / ํ์ฑ ๊ฐ๋ฅํ CSS์ ๋ํ ์ฒดํฌ ๋ผ์ดํธ๋ก body b ackground : green ์ ํฌํจํ๋ ํ์ผ์ ํฌํจํ๋ ค๊ณ ์๋ํ์ต๋๋ค. ์ฌ์ ๋น๋ ๋ .css ๋ฒ์ ์ ๋ํด์๋ '๋ น์'์ด ํ์๋์ง๋ง ์์ถ๊ธฐ๊ฐ ๋ถํธ ์คํธ๋ฉ์ ๋น๋ํ๋ .sass์๋ ํด๋น๋์ง ์์ต๋๋ค.
@wjdp ํ์ธ ๊ฐ์ฌํฉ๋๋ค. ํ .
์ด ๊ฒฝ์ฐ Compressor.precompile
์ค๋จ ์ ์ ๋ฃ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋จผ์ content
์ด ์ฌ๋ฐ๋ฅด๊ฒ ์ ๋ฌ ๋์์ต๋๊น?
๊ทธ๋ฌ๋ฉด hunks()
์์ ํ๋ฆฌ ์ปดํ์ผ๋ฌ์์ ๋ฐํ ๋ value
๋ง์ต๋๊น?
๋๋ ์ง๊ธ ์ด๊ฒ์ ์กฐ์ฌํ๊ณ ์๋ค. ๋ฌธ์ ๋ # 764์ ๋์ผํฉ๋๋ค. CssAbsoluteFilter๋ r'url\(([^\)]+)\)'
๋ฅผ ์ฌ์ฉํ์ฌ URL์ ์ผ์น ์ํค๋ฏ๋ก ์ฒซ ๋ฒ์งธ ๋ซ๋ ๊ดํธ์์ ์ค์ง๋ฉ๋๋ค. ์ ๊ท์์ ์์์ ์์ ์ค์ฒฉ ๋ ๊ดํธ๋ฅผ ์ฒ๋ฆฌ ํ ์ โโ์๊ธฐ ๋๋ฌธ์ ์ธ ๊ฐ์ง ์ต์
์ด ํ์๋ฉ๋๋ค.
๋๋ ์ด๊ฒ์ ๋ง์ ์๊ฐ์ ์๋นํ๊ณ ์ถ์ง ์๊ณ ์ต์ 1์ ์ฐพ๊ณ ์์ต๋๋ค. ๋๊ตฐ๊ฐ๊ฐ ๋ ๊ฐ๋ ฅํ ์๋ฃจ์ ์ ๋ง๋ค๊ณ ์ถ๋ค๋ฉด ๊ทธ๊ฒ์ ๊ฒํ ํ๊ฒ๋์ด ๊ธฐ์ฉ๋๋ค.
# 828์์ ์ ์ ๋ ์์ ์ฌํญ. ์ค์ ๋ก ์ค์ฒฉ ๋ ๊ดํธ๋ฅผ ์ ํ ์ฒ๋ฆฌํ์ง ์์ต๋๋ค. ์ฌ๋ ๊ดํธ๊ฐ์๋ ๊ฒฝ์ฐ ( url("data:...stroke='rgba(0, 0, 0, 0.5)
์ผ์นํ์ง ์์) ๋ซ๋ ๋ฐ์ดํ ๋ง ์์ํ๊ณ ์์ ์ ์ํด data-uris๋ ๋ชจ๋ ๋ฌด์๋ฉ๋๋ค.
@wjdp # 828์ ์๋ํด ์ฃผ์๊ฒ ์ต๋๊น? ํ์ํ ์์ ์ ์ํํด์ผํ์ง๋ง ํ ์คํธ ์คํ์ ์ข์ ํ์ธ์ด ๋ ๊ฒ์ ๋๋ค.
ํ ๊ฒ์ด๋ค
@carltongibson PR์ด์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋์ง ํ์ธํ ์ ์์ต๋๋ค. ๋งค์ฐ ๋น ๋ฅธ ์์ ์ ๋ํด @karyon ์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค! :๋ฏธ์:
๊ฐ์ฌํฉ๋๋ค ๐๐ฝ ํ์ ์กฐ์น์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.