Less.js: @import๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ์ˆ˜ํ–‰ํ•  ๋•Œ ์ค‘๋ณต๋œ ์†์„ฑ(์ค‘์ฒฉ๋œ @import)

์— ๋งŒ๋“  2010๋…„ 06์›” 25์ผ  ยท  49์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: less/less.js

๋งˆ์Šคํ„ฐ @imports A & B,
B @์ˆ˜์ž… A

๋งˆ์Šคํ„ฐ ํŒŒ์ผ์—์„œ A์˜ ๋ฏน์Šค์ธ์„ ์‚ฌ์šฉํ•  ๋•Œ ์†์„ฑ์ด ์ค‘๋ณต๋ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๊ตฌ์„ฑ: ์šฐ๋ถ„ํˆฌ 10.04์˜ lessc cli ๋ฒ„์ „ 1.0.21

๋ชจ๋“  49 ๋Œ“๊ธ€

๋ฌธ์ œ๋Š” ํŒŒ์ผ์„ ๋‘ ๋ฒˆ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ธ๋ฐ, ์ด๊ฒƒ์ด ๋ฏน์Šค์ธ์˜ ์˜ฌ๋ฐ”๋ฅธ ๋™์ž‘์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

ํŒŒ์ผ์„ ๋‘ ๋ฒˆ ๊ฐ€์ ธ์™€์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์‹ญ๋‹ˆ๊นŒ? ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ์ƒ๋Œ€ URL๋„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด

// in main.less
<strong i="6">@import</strong>: imports/import1.less;
<strong i="7">@import</strong>: imports/import2.less;

// in imports/import1.less
<strong i="8">@import</strong>: import2.less; // don't import this
<strong i="9">@import</strong>: imports/import2.less; // do import this

ํ , ํŒŒ์ผ์ด ๋‹ค๋ฅธ ํŒŒ์ผ๊ณผ ๊ฐ™์€์ง€ ํ™•์ธํ•˜๋Š” ๋” ์‰ฌ์šด ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. ํ—ค๋”์— ๋ฌด์–ธ๊ฐ€๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŒŒ์ผ ํฌ๊ธฐ๋Š” ๊ฐ’์‹ผ ์ง€ํ‘œ์ด๋ฉฐ ์ฃผ์–ด์ง„ ์†Œ์Šค ํŒŒ์ผ ์„ธํŠธ์—์„œ ๊ณ ์œ ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ํฝ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋™์ผํ•œ ํฌ๊ธฐ์˜ ํŒŒ์ผ์ด 2๊ฐœ ์žˆ๋Š” ๊ฒƒ์€ _๊ฐ€๋Šฅ_ํ•ฉ๋‹ˆ๋‹ค.

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋‚ ์งœ๊ฐ€ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์„œ๋ฒ„๊ฐ€ ETag ํ—ค๋”๋ฅผ ์„ค์ •ํ•˜๋ฉด ๊ทธ๊ฒƒ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค/์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์บ์‹ฑํ•  ๋•Œ ํŒŒ์ผ ๋‚ด์šฉ์˜ MD5 ํ•ด์‹œ๋ฅผ ํ‚ค๋กœ ์‚ฌ์šฉํ•˜์ง€๋งŒ ๊ฐœ์ธ์ ์œผ๋กœ ๊ทธ๊ฑด ๋ฌด๋ฆฌ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

ํ , ๋„ค ๋ฌธ์ œ๋Š” ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ์— ๊ธฐ๋ณธ MD5๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๊ทธ๊ฒƒ์„ ์‚ฌ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
ETag๊ฐ€ ์ด์ƒ์ ์ด์ง€๋งŒ ์ผ๋ถ€ ์„œ๋ฒ„๋Š” ์„ค์ •ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๊ฒƒ์— ๋Œ€ํ•ด ์ƒ๊ฐํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

ํŒŒ์ผ์„ ๋‘ ๋ฒˆ ๊ฐ€์ ธ์˜ค๋ฉด ์•ˆ ๋œ๋‹ค๋Š” ๋ฐ ๋™์˜ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ•ญ์ƒ ์‚ฌ์‹ค์ž…๋‹ˆ๊นŒ? (์ฆ‰, ๋ฒ”์œ„์˜ ๋„์›€์œผ๋กœ mixim์œผ๋กœ ๊ฐ€์ ธ์˜ค๊ธฐ๊ฐ€ ๊ดœ์ฐฎ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋ผ์šฐ๋“œ ํ—ค๋“œ๋Š” ์ด๊ฒƒ์— ๋Œ€ํ•ด ๋‚˜๋ณด๋‹ค ๋” ์ž˜ ๋Œ€๋‹ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค).

๋งŽ์€ ์–ธ์–ด์—์„œ ์ด๋ฏธ ์ด ๋ฌธ์ œ๋ฅผ ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

  • C -> #ifndef / #define / #endif
  • PHP -> include_once()

"C ๋ฐฉ์‹"์€ ๊ตฌํ˜„ํ•˜๊ธฐ๊ฐ€ ์กฐ๊ธˆ ๋” ์–ด๋ ค์šธ ์ˆ˜ ์žˆ์ง€๋งŒ ์กฐ๊ฑด๋ฌธ์€ ๋‹ค๋ฅธ ํ›Œ๋ฅญํ•œ ๊ฐ€๋Šฅ์„ฑ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

"PHP ๋ฐฉ์‹"์ด ์„ ํƒ๋˜๋ฉด ํŒŒ์ผ์„ ๊ตฌ๋ณ„ํ•˜๋Š” ๋ฐฉ์‹์„ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ ˆ๋Œ€ URL์€ ์ข‹์€ ์„ ํƒ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค(์ง์ ‘ ๋˜๋Š” document.location + ์ƒ๋Œ€ URL์„ ํ†ตํ•ด ์„ ํƒ) - HTTP ์š”์ฒญ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ํฌ๊ธฐ / ๊ธธ์ด / MD5๋ณด๋‹ค ๋‚ซ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ URL์€ ๋‹จ์ผ ํŒŒ์ผ์— ๋งคํ•‘๋˜์ง€๋งŒ ๊ฐ ํŒŒ์ผ์€ ์—ฌ๋Ÿฌ URL์— ๋งคํ•‘๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ ์ƒˆ ํ‚ค์›Œ๋“œ @<strong i="16">@name</strong>: <unique name> ๋„์ž…ํ•˜๋ฉด ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@import_once ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ ˆ๋Œ€ URL์„ ์•„์ง ๊ฐ€์ ธ์˜ค์ง€ ์•Š์€ ๊ฒฝ์šฐ ํŒŒ์ผ์„ ๊ฐ€์ ธ์˜ค๊ณ  @ @name ์ด ์ด๋ฏธ ๊ฐ€์ ธ์˜จ ์ƒํƒœ์ธ์ง€ ํ™•์ธํ•˜๊ณ  ํŒŒ์ผ์„ ๊ฐ€์ ธ์˜ค์ง€ ์•Š์€ ๊ฒฝ์šฐ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋™์˜ํ•œ๋‹ค. ๋‹จ์ผ ์š”์ฒญ์˜ ์ปจํ…์ŠคํŠธ ๋‚ด์—์„œ ๋ฆฌ์†Œ์Šค๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ ˆ๋Œ€ URL์€ ์ถฉ๋ถ„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํŒŒ์ผ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ™•์ธํ•˜๋Š” ๊ฒƒ์€ ๋˜ ๋‹ค๋ฅธ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ์›๋ž˜ @import๊ฐ€ ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹์ด๊ธฐ ๋•Œ๋ฌธ์— @import import๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ์œ ์ง€ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” @vicb ์˜ PHP์™€ ๊ฐ™์€ ์†”๋ฃจ์…˜์„ ์ข‹์•„ํ•˜์ง€๋งŒ @import_once ๋Œ€์‹  'comment'์—์„œ ๋” ๋‚˜์€ ๊ฒƒ์„ ์ข‹์•„ํ•˜๋ฏ€๋กœ ์—ฌ์ „ํžˆ ์›๋ž˜ CSS ๊ตฌ๋ฌธ๊ณผ ํ˜ธํ™˜๋ฉ๋‹ˆ๋‹ค.

.less ํŒŒ์ผ ์ƒ๋‹จ์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
/_! ํ•„์š”:url (./abc.less)_/

์ €๋„ ์ด ๋ฌธ์ œ๋ฅผ ๊ฒช๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด ํ”„๋กœ์ ํŠธ์—๋Š” ๋‹จ์ผ .css ํŒŒ์ผ๋กœ ์ปดํŒŒ์ผ๋˜๋Š” LESS ํŒŒ์ผ ๊ณ„์ธต์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ํŒŒ์ผ์— ํฌํ•จ๋œ ํ•˜๋‚˜์˜ ์œ ํ‹ธ๋ฆฌํ‹ฐ LESS ํŒŒ์ผ์ด ์žˆ์œผ๋ฉฐ, ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋ชจ๋“  ๋ฏน์Šค์ธ์€ ํ•ด๋‹น ์œ ํ‹ธ๋ฆฌํ‹ฐ ํŒŒ์ผ์„ ๊ฐ€์ ธ์˜จ ํšŸ์ˆ˜๋งŒํผ ๋ณต์ œ๋ฉ๋‹ˆ๋‹ค.

@import_once ๋˜๋Š” ์•„๋งˆ๋„ @import : Once url('url'); ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ํ”„๋กœ์ ํŠธ์—์„œ @NielsJanssen ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ์— ์ง๋ฉดํ•ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๊ฐ€ ์–ธ์ œ ์ˆ˜์ •๋ ์ง€ ์•Œ ์ˆ˜

๋˜ํ•œ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋ˆ„๊ตฌ๋“ ์ง€ ํ•ด๊ฒฐ์ฑ…์„ ์•Œ์•„๋‚ด์…จ์Šต๋‹ˆ๊นŒ?

์—ฌ๊ธฐ์— ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•œ ์†”๋ฃจ์…˜์„ ์ฐพ์„ ์ˆ˜ ์—†์—ˆ๊ณ  ๋‘ ๋ฒˆ ๊ฐ€์ ธ์˜ค์ง€ ์•Š๋„๋ก ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ๋‹ค์‹œ ์ •๋ ฌํ–ˆ์Šต๋‹ˆ๋‹ค.

node.js๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ Stylus๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ž ์‹œ ๋™์•ˆ LESS๋ฅผ ์‚ฌ์šฉํ•˜๋‹ค๊ฐ€ ์™„์ „ํžˆ ๊ฐœ๋ฐœ๋˜์ง€ ์•Š์€ ๊ฒƒ์— ์ขŒ์ ˆํ•˜๊ณ  SASS ๋กœ ์ „ํ™˜ํ•œ ๋‹ค์Œ ๋งˆ์นจ๋‚ด Stylus๋กœ ์ „ํ™˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ์„ ์ œ๋Œ€๋กœ ๊ตฌํ˜„ํ•˜๊ณ  ๊ตฌ๋ฌธ์€ ์„ ํƒ ์‚ฌํ•ญ์ด๋ฉฐ(์ €๋Š” ์ค‘๊ฐ„ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค) ๋งค์šฐ ๊ฐ•๋ ฅํ•˜๋ฉฐ TJ๋Š” ์ •๋ง ๋ฐ˜์‘์ด ๋น ๋ฅธ ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค.

node.js๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์—๋„ ์Šคํƒ€์ผ๋Ÿฌ์Šค๋ฅผ ๋ฃจ๋น„์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๊ณ  ์ปดํ“จํ„ฐ์—์„œ ์ปดํŒŒ์ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ์ด์œ ๋กœ๋“  Stylus๊ฐ€ ๋งˆ์Œ์— ๋“ค์ง€ ์•Š๋Š”๋‹ค๋ฉด SASS/SCSS๋„ ์ข‹์€ ๋Œ€์•ˆ์ด๋ฉฐ ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธด ์ด์•ผ๊ธฐ ์š”์•ฝ: LESS๋Š” ์žฅ๊ธฐ์ ์œผ๋กœ ์ข‹์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์•„์ฃผ ๋‚˜์œ ํƒœ๋„ ๋‚จ์ž.

์—ฌ๊ธฐ์— ํ•ด๋‹น bs๋ฅผ ๊ฒŒ์‹œํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์šฐํŽธ์ด๋‚˜ ์ด์™€ ์œ ์‚ฌํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์— ๋Œ€ํ•ด "์ •๋ง ๋ฐ˜์‘์ด ๋น ๋ฅธ ๊ฐœ๋ฐœ์ž"๋ฅผ ์›ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๋†’์€ ๊ธฐ์ค€์„ ๊ฐ€์งˆ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ ˆ๋Œ€์ ์œผ๋กœํ•˜์ง€.

๋‚˜๋Š” LESS๋ฅผ ์ฒ˜์Œ ์ฐพ์•˜์„ ๋•Œ ๊ทธ ์กฐ์–ธ์„ ์ข‹์•„ํ–ˆ์„ ๊ฒƒ์ด๋ฏ€๋กœ ์ต์ˆ™ํ•ด์ง€๊ณ  ๊ฒฐ๊ตญ ๋– ๋‚  ๋•Œ ๊ทธ๊ฒƒ์œผ๋กœ ์ „ํ™˜ํ•˜๋Š” ๋ฐ ๋ช‡ ์ฃผ๋ฅผ ๋‚ญ๋น„ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋‹ซํžŒ ๋ฌธ์ œ๋ณด๋‹ค ๋ฏธํ•ด๊ฒฐ ๋ฌธ์ œ๊ฐ€ ๋” ๋งŽ๊ณ  ๋Œ€๋ถ€๋ถ„์ด ์‘๋‹ต๋˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด๊ฐ€ ๋จผ์ € ๊ทธ๊ฒƒ์„ ์•Œ์•„์ฐจ๋ ธ์–ด์•ผ ํ–ˆ์Œ์„ ์ธ์ •ํ•ฉ๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๊ณ  ๊ฐ€์งˆ ์ˆ˜ ์—†๋Š” ๊ธฐ์ค€์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋” ๋‚˜์€ ๋Œ€์•ˆ์ด ์žˆ์„ ๋•Œ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๊ฒฝ๊ณ ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๋‚˜๋Š” ๋‚ด "BS"๋ฅผ ์ง€ํ‚ค๊ณ  ์‚ฌ๋žŒ๋“ค์ด ๊ฒฝ๊ณ ๊ฐ€ ๋„์›€์ด๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

@ianstormtailor : ํ”„๋กœ์ ํŠธ๊ฐ€ "์žฅ๊ธฐ์ ์œผ๋กœ๋Š” ์ข‹์ง€ ์•Š๋‹ค"๊ณ  ๋งํ•˜๋Š” ๊ฒƒ์€ ์•ฝ๊ฐ„ ํžˆ์Šคํ…Œ๋ฆฌ์ ์ž…๋‹ˆ๋‹ค.

์ด๊ฒƒ๋„ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ‘ธ.๋ฆฌ์Šค

<strong i="7">@import</strong> "bar.less";
<strong i="8">@import</strong> "baz.less";

๋ฐ”.๋ฆฌ์Šค

<strong i="12">@import</strong> "mixins.less";
.bar {
  .mixer
}

๋ฐ”์ฆˆ.๋ฆฌ์Šค

<strong i="16">@import</strong> "mixins.less";
.baz {
  .mixer
}

mixins.less

.mixer {
  color: 000;
  border: 2px solid #fff;
}
$ lessc foo.less
.mixer {
  color: 000;
  border: 2px solid #fff;
}
.bar {
  color: 000;
  border: 2px solid #fff;
  color: 000;
  border: 2px solid #fff;
}
.mixer {
  color: 000;
  border: 2px solid #fff;
}
.baz {
  color: 000;
  border: 2px solid #fff;
  color: 000;
  border: 2px solid #fff;
}

๋‚˜๋Š” ์ด์ „์— ์ด ํ† ๋ก ์— ์ฐธ์—ฌํ•˜์ง€ ์•Š์•˜์ง€๋งŒ ์ง€๊ธˆ์€ ๋™์ผํ•œ ๋ฌธ์ œ์— ์ง๋ฉดํ•ด ์žˆ์Šต๋‹ˆ๋‹ค ... @ianstormtaylor ๊ฐ€ ์ „ํ˜€ ํžˆ์Šคํ…Œ๋ฆฌ

@cloudhead ๋Š” ๋‚ด๊ฐ€ ํ•˜๋Š” ๋ชจ๋“  ์˜๊ฒฌ์„ ๋Œ€๋ถ€๋ถ„ ๋ฌด์‹œํ•œ๋‹ค๋Š” ์ธ์ƒ์„

๋ชจ๋“  ๊ฐ€์ ธ์˜ค๊ธฐ๊ฐ€ ํฌํ•จ๋œ main.less ํŒŒ์ผ์ด _๊ฐ€๋Šฅ_ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์ œ๋Š” ํŠธ์œ„ํ„ฐ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค(๋ฉ”์ธ ํŒŒ์ผ์€ bootstrap.less ).

๋‚ด๊ฐ€ (์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ) ๊ฐ€์ ธ์˜ค๋Š” ์ ์€ ํŒŒ์ผ ์ค‘ ์ผ๋ถ€๋Š” ๋…๋ฆฝ ์‹คํ–‰ํ˜•์œผ๋กœ ์ปดํŒŒ์ผํ•  ์ˆ˜ ์žˆ๋„๋ก ์ž‘์„ฑ๋˜์–ด ๊ฐ๊ฐ์— ๊ณตํ†ต variables.less ๋˜์–ด ์žˆ๊ณ  ๋‚ด๊ฐ€ ๋ณด๊ณ  ์žˆ๋Š” ๋ฌธ์ œ๋Š” ๊ฐ ํŒŒ์ผ์„ ๊ฐ€์ ธ์˜ค๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ ์€ ์ˆ˜์˜ ํŒŒ์ผ์„ ํ•˜๋‚˜์˜ ๋ฉ”์ธ ํŒŒ์ผ๋กœ ๋งŒ๋“  ๋‹ค์Œ ํ•ด๋‹น ํŒŒ์ผ์„ ์ปดํŒŒ์ผํ•˜๋ฉด ๋ฏน์Šค์ธ์ด ํฌํ•จ๋˜๋Š” ํšŸ์ˆ˜๋งŒํผ ๊ฐ ๋ฏน์Šค์ธ์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค(์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ํฌํ•จํ•˜๋Š” ๋ชจ๋“  ํŒŒ์ผ์— ๋Œ€ํ•ด ํ•œ ๋ฒˆ).

๋‹น์‹ ์ด ๋งž์•„์š” - ๋‹น์‹ ์ด ์ œ์•ˆํ•˜๊ณ  ๋‚œ ๋‚ด๊ฐ€ ์™„๋ฒฝํ•˜๊ฒŒ ์ œ์–ด ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๊ทธ ์ฝ”๋“œ์—์„œ ๊ฐ™์€ ์ผ์„ํ•˜๊ณ  _am_์ฒ˜๋Ÿผ ๋‚ด๊ฐ€ ๋ญ”๊ฐ€๋ฅผ ํ•  _could_ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค ํ‰๊ท  ๋ชจ๋‘๊ฐ€ ๊ทธ๋Ÿฐ ์‹์œผ๋กœ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•(ํƒ€์‚ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ _only_)์€ ์ด๊ฒƒ์ด ๋ฒ„๊ทธ๋ผ๋Š” ๊ฒƒ์„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋œ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์— ์ƒ๋‹นํžˆ ์ต์ˆ™ํ•ด์กŒ์ง€๋งŒ ์ด์™€ ๊ฐ™์€ ๋ฒ„๊ทธ๊ฐ€ ๊ฑฐ์˜ 18๊ฐœ์›” ๋™์•ˆ ์—ด๋ ค ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์ด ๋‹ต๋‹ตํ•ฉ๋‹ˆ๋‹ค. ( @wlangstroth ๋‚˜๋Š” ๊ทธ๊ฒƒ์ด _๋‹น์‹ ์˜_ ์ž˜๋ชป์ด ์•„๋‹ˆ๋ผ๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค)

๊ด€์‹ฌ ์žˆ๋Š” ์‚ฌ๋žŒ์„ ์œ„ํ•ด #431์— ๋Œ€ํ•œ ๋Œ“๊ธ€์— ๋ถ™์—ฌ๋„ฃ์€ ๋ฌด์ฐจ๋ณ„ ๋Œ€์ž… ์ˆ˜์ •( @vicb ์˜ ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•ด ํ…Œ์ŠคํŠธ๋˜์ง€ ์•Š์•˜์ง€๋งŒ ์ž‘๋™ํ•ด์•ผ ํ•จ)์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œ๊ฐ„์ด ์ข€ ๋” ์žˆ์œผ๋ฉด ๋” ๋‚˜์€ ์†”๋ฃจ์…˜์„ ์ฐพ์œผ๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฐ™์€ ๋ฌธ์ œ๊ฐ€

๋˜ํ•œ ์ด ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์ง€๋งŒ ๋‚ด ๋ฏน์Šค์ธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ bootstrap.less๋กœ ๊ฐ€์ ธ์™€์„œ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ›„์† ๊ฐ€์ ธ์˜ค๊ธฐ์—์„œ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๋ชฐ๋ž์ง€๋งŒ ์ดํ•ด๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

fyi #431์€ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์ž…๋‹ˆ๋‹ค.

@cloudhead ์ด์— ๋Œ€ํ•œ ์ˆ˜์ • ์‚ฌํ•ญ์„ ์ ์šฉํ•  ์ˆ˜

๊ฐ™์€ ๋ฌธ์ œ :-(

์ด ๋ฌธ์ œ๋กœ ์–ด๋ ค์›€์„ ๊ฒช๊ณ  ์žˆ๋Š” ์‚ฌ๋žŒ์—๊ฒŒ ์ œ์•ˆํ•˜๊ธฐ ์œ„ํ•ด Alexis๊ฐ€ Twitter์— ๋ฉ”์‹œ์ง€๋ฅผ ๊ฒŒ์‹œํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. Alexis๋Š” ์ด์ „์— ์—ฌ๋Ÿฌ ํ‹ฐ์ผ“์—์„œ ๋ชจ๋“  ๋ฌธ์ œ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ์‹ฌ๊ฐ์„ฑ์„ ์•Œ๊ฒŒ ๋œ ๊ฒฝ์šฐ์—๋งŒ ์ˆ˜์ •ํ•œ๋‹ค๊ณ  ๋งํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๊ฒƒ์ด ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ Twitter์—์„œ Alexis์˜ ๊ด€์‹ฌ์„ ๋Œ ์ˆ˜๋Š” ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

์–ด์ฉŒ๋ฉด ๋‹ค๋ฅธ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๋” ์šด์ด ์ข‹์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŠธ์œ„ํ„ฐ: https://twitter.com/#!/cloudhead

๊ทธ๋ฆฌ๊ณ  ์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ๋“œ๋กญ ํ•˜์„ธ์š” :

@cloudhead ์ ์ ˆ ๋ชจ๋‘๊ฐ€ ๊ทธ๊ฒƒ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋„๋ก ํ•  ๋” ๋งŽ์€ ์ด์œ ๋Š” ๊ทธ ๋‹ค์Œ์ด ํ”„๋กœ์ ํŠธ์˜ ๋ฌธ์ œ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋ง ํ•  ์ˆ˜์—†๋Š” ๊ฒฝ์šฐ @Kalyse. ์‚ฌ๋žŒ๋“ค์€ ๊ทธ๊ฐ€ ๋ฌธ์ œ์˜ ๋ฐฑ๋กœ๊ทธ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค„ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์„ ์ง€๋ช…ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ œ์•ˆํ–ˆ์ง€๋งŒ ๋‹ค์‹œ ์‘๋‹ต์ด ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์ด์Šˆ์—์„œ ์–ธ๊ธ‰ํ–ˆ์„ ๋•Œ ์ด๋ฏธ ์•Œ๋ฆผ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋žŒ์˜ ๊ด€์‹ฌ์„ ๋Œ๊ธฐ ์œ„ํ•ด ํŠธ์œ„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? @cloudhead ๊ฐ€ 2๋…„ ๋™์•ˆ ๊ณต๊ฐœ๋œ ๋ฌธ์ œ์— ์‘๋‹ตํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์€ ๋ถ€๋„๋Ÿฌ์šด ์ผ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Š” ์ตœ์†Œํ•œ ์ž์‹ ์ด ์‹ ๋ขฐํ•˜๋Š” ๋‘ ์‚ฌ๋žŒ์„ ์ฐพ์•„ ๋ฏธํ•ด๊ฒฐ ๋ฌธ์ œ์˜ ๋ฐฑ๋กœ๊ทธ๋ฅผ ํ†ตํ•ด ์ž‘์—…์„ ์‹œ์ž‘ํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ์ ์–ด๋„ ์ค‘๋ณต์„ ๋‹ซ๊ณ  ๊ทธ๋ฅผ ์œ„ํ•ด ๋ฏธํ•ด๊ฒฐ ๋ฌธ์ œ์˜ ์ˆ˜๋ฅผ ์ค„์ด๋Š” ๋ฐ ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

github ์•Œ๋ฆผ ์‹œ์Šคํ…œ์€ ์™„์ „ํžˆ ์“ธ๋ชจ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ํ•˜๋ฃจ์— ์•ฝ 70-100๊ฐœ์˜ ์•Œ๋ฆผ์„ ๋ฐ›๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ƒฅ ๋ฌด์‹œํ•˜๋Š” ๊ฒƒ์„ ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฑฐ ์กฐ์‚ฌํ•ด๋ณผ๊ฒŒ..

์ž, @import-once ์ง€์‹œ๋ฌธ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒฝ๋กœ๊ฐ€ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ๋งŒ ํ•˜๋ฏ€๋กœ ๋งค์šฐ ๊ธฐ์ดˆ์ ์ด์ง€๋งŒ ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ๋‹ค๋ฃจ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

@cloudhead ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด

์ €๋Š” ๊ฐœ์ธ์ ์œผ๋กœ pull ์š”์ฒญ์ด ๊ณ ๋ ค๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋„ ์ด ํ”„๋กœ์ ํŠธ๊ฐ€ Github์— ์žˆ๋Š” ์ด์œ  ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฌด์‹œ๋˜๋Š” ๊ฒฝ์šฐ์—๋„ ์ด์Šˆ ํŠธ๋ž˜์ปค๊ฐ€ ์‹คํ–‰๋˜๋Š” ์ด์œ ๋ฅผ ๊ฐœ์ธ์ ์œผ๋กœ ์ดํ•ดํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

์‰ฌ์šด ์‚ฌ๋žŒ๋“ค! ํ•œ ์‚ฌ๋žŒ์ด ์ด๋ ‡๊ฒŒ ์ธ๊ธฐ ์žˆ๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋ฉด ๊ทธ๋“ค์€ ๊ฐ™์€ ๋ฐฐ๋ฅผ ํƒ€๊ณ  ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. @cloudhead ๋Š” ํ›Œ๋ฅญํ•œ ์ผ์„

์‚ฌ๋žŒ๋“ค์€ ๋•Œ๋•Œ๋กœ ๋ช‡ ๋…„ ์ „์— ๋งŽ์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์‘๋‹ต์ด ์—†๋Š” 74๊ฐœ์˜ ๋ฏธํ•ด๊ฒฐ pull ์š”์ฒญ ์ค‘ ํ•˜๋‚˜๋ฅผ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ด ๋ฌธ์ œ์—๋Š” 2๋…„ ์ „์œผ๋กœ ๊ฑฐ์Šฌ๋Ÿฌ ์˜ฌ๋ผ๊ฐ€๋Š” ๋งŽ์€ ์†์ž„์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค(์˜ˆ: #324 #71). ๋‹ค์Œ์€ ์ด ๋ฌธ์ œ๋ฅผ ์•„์ฃผ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์ž…๋‹ˆ๋‹ค. https://github.com/cloudhead/less.js/pull/431 ์ปค๋ฏธํ„ฐ๊ฐ€ ํ”ผ๋“œ๋ฐฑ์„ ์š”์ฒญํ–ˆ์ง€๋งŒ ๋ฌต๋ฌต๋ถ€๋‹ต์ด์—ˆ์ง€๋งŒ ๊ฒฐ๊ตญ ํฌ๊ธฐํ–ˆ์Šต๋‹ˆ๋‹ค.

@cloudhead - Alexis, ์ด๊ฒƒ์€ ํŒŒ์†์— ๋น ์ง€๊ธฐ์—๋Š” ๋„ˆ๋ฌด ํ›Œ๋ฅญํ•œ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์ด ์œ„์—์„œ ์–ธ๊ธ‰ํ•œ ์ข…๋ฅ˜๋ฅผ ๋ณผ ๋•Œ ํ”„๋กœ์ ํŠธ๊ฐ€ ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๊ฑฐ๋‚˜ ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์ธ์ƒ์„ ์ค๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์€ ๋ถˆํ•„์š”ํ•ฉ๋‹ˆ๋‹ค! github์˜ ๋งˆ๋ฒ•์€ ํ›Œ๋ฅญํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ํ”„๋กœ์ ํŠธ์— ์ฐธ์—ฌํ•˜๋Š” ๋ฐ ๊ด€์‹ฌ์ด ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์„ ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ์กฐ์ •ํ•˜๊ณ  ์š”์ฒญ์„ ๋Œ์–ด์˜ค๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š”์ง€ ์ข‹์€ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๋ฌผ์–ด๋ณด์„ธ์š”.

์šฐ๋ฆฌ ๋ชจ๋‘๋Š” ๋‹น์‹ ์˜ ์ผ์„ ์‚ฌ๋ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ปค๋ฎค๋‹ˆํ‹ฐ๋Š” ๋„์›€์„ ์›ํ•ฉ๋‹ˆ๋‹ค. ๋„์™€๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค!

@jeremyricketts ์ข‹์€ ์ง€์ ์ž…๋‹ˆ๋‹ค.

@jeremyricketts์— ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ์ œ๊ฐ€ ์ผํ•˜๋Š” ํšŒ์‚ฌ์—์„œ ์ด

@cloudhead @import-once ์ง€์‹œ๋ฌธ์ด ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์ œ ํ…Œ์ŠคํŠธ ์‚ฌ๋ก€์ž…๋‹ˆ๋‹ค.

// a.less
.gain-bfc() {
  overflow: hidden;
  *zoom: 1;
}

// b.less
@import-once "a.less";

// c.less
@import-once "a.less";
@import-once "b.less";

div {
  .gain-bfc();
}

c.less ์ปดํŒŒ์ผ ํ›„ ์˜ˆ์ƒ ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

div {
  overflow: hidden;
  *zoom: 1;
}

ํ•˜์ง€๋งŒ ๋‚˜๋Š” ์ค‘๋ณต๋œ ์†์„ฑ์„ ์–ป์—ˆ๋‹ค

div {
  overflow: hidden;
  *zoom: 1;
  overflow: hidden;
  *zoom: 1;
}

+1 ์ œ๋ ˆ๋ฏธ๋ฆฌ์ผ€์ธ 

๋ˆ„๊ตฌ๋‚˜ ํ•œ ๋‹จ๊ณ„ ์˜ฌ๋ผ๊ฐ€๊ณ  ์‹ถ์–ด - https://twitter.com/#!/neonstalwart/status/183247994072735744

์‹ค์ œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ž˜ํ•˜๋Š” ์‚ฌ๋žŒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋‚ด ์„ธ์ƒ์€ PSD, ์—ฐํ•„๊ณผ ์ข…์ด, html CSS์™€ ๊ฐ€๋ฒผ์šด jQuery ์ž‘์—…์ž…๋‹ˆ๋‹ค.

๋ฌธ์ œ๋ฅผ ๋ถ„๋ฅ˜ํ•˜๊ณ  pull ์š”์ฒญ์„ ํ•˜๋Š” ๋ฐ๋งŒ ๋ช‡ ์‚ฌ๋žŒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๊ณ  ๋ฒ„๊ทธ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์‚ฌ๋ก€๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.
์ตœ์†Œํ•œ ๊ทธ ์ผ์„ ๋•๊ธฐ ์œ„ํ•ด ์ž์›ํ•˜์—ฌ
์ž‘์€ ๋ฒ„๊ทธ๋„ ๋‹ซ์Šต๋‹ˆ๋‹ค.
2012๋…„ 3์›” 23์ผ ์˜คํ›„ 1์‹œ 28๋ถ„, "Jeremy Ricketts" <
๋‹ต์žฅ@reply.github.com>
์ผ๋‹ค:

์‹ค์ œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ž˜ํ•˜๋Š” ์‚ฌ๋žŒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋‚ด ์„ธ์ƒ์€ PSD,
์—ฐํ•„๊ณผ ์ข…์ด, html CSS์™€ ๊ฐ€๋ฒผ์šด jQuery๊ฐ€ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.


์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ฑฐ๋‚˜ GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/cloudhead/less.js/issues/49#issuecomment -4667283

@cloudhead ์ด๊ฒƒ ์— ๋Œ€ํ•œ ์ข‹์€ ํ•ด๊ฒฐ์ฑ…์ด ์ƒ๊ฐ ์–ผ๋งˆ์ „ ์—

๊ธฐ๋ณธ์ ์œผ๋กœ ํ˜„์žฌ ์†์„ฑ๊ณผ ๋™์ผํ•œ ๊ฐ’์„ ๊ฐ€์ง„ ๊ธฐ์กด ๊ทœ์น™์ด ์žˆ๋Š” ๊ฒฝ์šฐ ๊ทœ์น™์„ ์„ ํƒ๊ธฐ์— ์ถ”๊ฐ€ํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ๋ฐฐ๊ฒฝ์˜ ๊ฒฝ์šฐ ๋ธŒ๋ผ์šฐ์ €๋งˆ๋‹ค ๋‹ค๋ฅด๊ฒŒ ์ฒ˜๋ฆฌ๋˜๋ฏ€๋กœ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋‹ค๋ฅธ ๋ฐฐ๊ฒฝ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์†์„ฑ ๊ฐ’๋„ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด ์†”๋ฃจ์…˜ @cloudhead์— ๋Œ€ํ•ด ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•˜์„ธ์š”?
์•ž์œผ๋กœ ๋‚˜์•„๊ฐˆ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๊นŒ?

์ด๊ฒƒ์„ ์ˆ˜์ •ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์€ ๋‹ค์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

1) ํŒŒ์ผ์ด ํ•„์š”ํ•œ ๊ฒƒ๋ณด๋‹ค ํฝ๋‹ˆ๋‹ค.
2) ๋ฏน์Šค์ธ๋„ ํฌํ•จํ•˜๋Š” ์ถ”๊ฐ€ ํŒŒ์ผ์„ ํฌํ•จํ•  ๋•Œ๋งˆ๋‹ค ํ•ด๋‹น ๋ฏน์Šค์ธ์˜ ๊ฐ’์„ ๋‹ค์‹œ ์ถ”๊ฐ€ํ•˜๊ธฐ ๋•Œ๋ฌธ์— CSS๋ฅผ ์—ฌ๋Ÿฌ ํŒŒ์ผ์— ํผ๋œจ๋ฆฌ๊ณ  ๋กœํŠธ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์€ ๋ฐ”๋žŒ์งํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์•„๋งˆ๋„ 80๊ฐœ์˜ lessCSS ์Šคํƒ€์ผ์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ์ด๊ฒƒ์€ ๋‚ด๊ฐ€ .background() ๊ทธ๋ผ๋””์–ธํŠธ ๋ฏน์‹ฑ์„ ํ•  ๋•Œ ๊ฐ ์„ ํƒ๊ธฐ์— ๋Œ€ํ•ด 80 * 6๊ฐœ์˜ ์ถ”๊ฐ€ ์Šคํƒ€์ผ์„ ์ƒ์„ฑํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. (6์€ ๋ชจ๋“  ๋‹ค๋ฅธ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค).
3) ๋˜ํ•œ ํŽ˜์ด์ง€ ๋ Œ๋”๋ง ์†๋„๊ฐ€ ๋Š๋ ค์ง‘๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ์Šคํƒ€์ผ๋กœ ์ธํ•ด ์ดˆ๋‹น ๊ทธ๋ฆฌ๊ธฐ/์ƒˆ๋กœ ๊ณ ์นจ์ด ๊ทน์ ์œผ๋กœ ๋–จ์–ด์ง‘๋‹ˆ๋‹ค.

์ƒ๊ฐ @cloudhead ?
๊ฑด๋ฐฐ.

@cloudhead ์ตœ์‹  ์ปค๋ฐ‹์—์„œ ์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ pull ์š”์ฒญ์„ ํ•˜๋ฉด ๋ณ‘ํ•ฉ์„ ๋ณผ ๊ฑด๊ฐ€์š”?

์ˆ˜์ • ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. https://github.com/cloudhead/less.js/commit/cb789334233e377bd91a17d3118a0424ad167929

@Kalyse ์ €์—๊ฒŒ ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? [email protected]

๊ฑด๋ฐฐ

pull ์š”์ฒญ์„ ์Šน์ธํ•  ์ˆ˜ ์žˆ๋Š” ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ถ”๊ฐ€ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•„์š”ํ• ๊นŒ์š”?

@cloudhead ์ €๋Š” WinLess๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ LESS ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผํ•ฉ๋‹ˆ๋‹ค... WinLess๋Š” less.js์˜ ์ตœ์‹  ๋ฐฐํฌํŒ๊ณผ ํ•จ๊ป˜ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค(https://github.com/marklagendijk/WinLess/issues/14 ์ฐธ์กฐ). ) ์ตœ์‹  ๋ฆด๋ฆฌ์Šค์— ์ถ”๊ฐ€๋ฉ๋‹ˆ๊นŒ?

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค(ํ›Œ๋ฅญํ•œ ์ œํ’ˆ).

๊ทธ๋ž˜์„œ, ์–ด... ์šฐ๋ฆฌ๋Š” ์–ด๋–ป๊ฒŒ ํ•˜๊ณ  ์žˆ๋‚˜์š”?

@jreading ์ปค๋ฐ‹ cb7893 ์œผ๋กœ git์—์„œ ์ˆ˜์ •๋˜์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ˆ˜์ •๋œ ๊ฒƒ์œผ๋กœ ๋ณด์ด๋ฉฐ(๋˜๋Š” ์ตœ์†Œํ•œ ์›๋ž˜ ๋ฌธ์ œ๋Š” ์žˆ์Œ) ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ ๋ฒ„๊ทธ๊ฐ€ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰