Freecodecamp: freeCodeCamp์˜ CSS ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ ๋งŒ๋“ค๊ธฐ

์— ๋งŒ๋“  2018๋…„ 01์›” 08์ผ  ยท  47์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: freeCodeCamp/freeCodeCamp

์ฝ”๋“œ๋ฒ ์ด์Šค์˜ ์ „๋ฐ˜์ ์ธ ์œ ์ง€ ๊ด€๋ฆฌ๋ฅผ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด freeCodeCamp์˜ CSS ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ๋ฅผ ์ œ์•ˆํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. FreeCodeCamp์—๋Š” ๋งŽ์€ ๊ธฐ์—ฌ์ž๊ฐ€ ์žˆ์œผ๋ฉฐ ๋ชจ๋“  ์‚ฌ๋žŒ์ด CSS๋ฅผ ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  CSS๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ์ถ”์ ํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

์ดˆ๊ธฐ ๊ถŒ์žฅ ์‚ฌํ•ญ :

์ฝ”๋ฉ˜ํŠธ

  • ์ฃผ์„ ์ถ”๊ฐ€, ์ƒˆ LESS ํŒŒ์ผ์„ ์‹œ์ž‘ํ•  ๋•Œ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์—…์ค‘์ธ ๋‚ด์šฉ์„ ์•Œ ์ˆ˜ ์žˆ๋„๋ก ์ฝ”๋“œ ๋ธ”๋ก๊ณผ ๊ด€๋ จ๋œ ์ƒˆ ์„น์…˜์„ ์‹œ์ž‘ํ•  ๋•Œ ์ฃผ์„์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๊ฐ€๋…์„ฑ์— ๋„์›€์ด๋ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ์˜ˆ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. ์ด๋Ÿฌํ•œ ์Šคํƒ€์ผ์˜ ์ฃผ์„์€ ์ฝ”๋“œ๋ฒ ์ด์Šค์— ๊ฑธ์ณ ์žˆ์œผ๋ฏ€๋กœ ์ƒˆ๋กœ์šด ์Šคํƒ€์ผ์„ ์ œ์•ˆํ•˜๋Š” ๋Œ€์‹  ๊ณ„์† ์ž‘์„ฑํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค)

  • ์˜ˆ 1-์ƒˆ LESS ํŒŒ์ผ์„ ์‹œ์ž‘ํ•  ๋•Œ :

//
// Navigation
// --------------------
  • ์˜ˆ 2-ํƒ์ƒ‰๊ณผ ๊ด€๋ จ๋œ ์„น์…˜์„ ์ถ”๊ฐ€ ํ•  ๋•Œ
//
// Navigation - Mobile Styles
// ------------------------------

๊ฐ„๊ฒฉ

  • ์†์„ฑ ๋’ค์— ๊ณต๋ฐฑ์„ ์ถ”๊ฐ€ํ•˜๋ฉด ์ด๋Ÿฌํ•œ ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ์ฝ๊ณ  ์œ ์ง€ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ์‰ฝ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ์˜ˆ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

  • ์˜ˆ 1-์˜ฌ๋ฐ”๋ฅธ ๋ฐฉ๋ฒ•

p {
  color: #fff;
}
  • ์˜ˆ 2-์ž˜๋ชป๋œ ๋ฐฉ๋ฒ•
  • ๋ญ๊ฐ€ ์ž˜๋ชป ๋˜์—ˆ ๋‹ˆ?
    ์ฝœ๋ก  ๋’ค์— ๊ณต๋ฐฑ ์—†์Œ
p {
  color:#fff;
}

๊ทธ๋ฆผ ๋ฌผ๊ฐ

  • ๋Œ€๋ฌธ์ž ๋Œ€์‹  ์†Œ๋ฌธ์ž๋ฅผ ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ CSS ์ „๋ฐ˜์— ๊ฑธ์ณ ๊ธฐ์—ฌ์ž๋“ค์ด ๋‘ ๊ฐ€์ง€๋ฅผ ํ˜ผํ•ฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์†Œ๋ฌธ์ž๋Š” ์“ฐ๊ธฐ๊ฐ€ ๋น ๋ฅด๊ณ  ์ฝ๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค. CSS์— ์ผ๊ด€๋œ ๊ทœ์น™์ด์žˆ๋Š” ๊ฒฝ์šฐ ๋‹ค์‹œ ์ „๋ฐ˜์ ์ธ ์œ ์ง€ ๊ด€๋ฆฌ ๊ฐ€๋Šฅ์„ฑ์ด ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ฐ€๋Šฅํ•˜๋ฉด 16 ์ง„์ˆ˜ ๊ฐ’์„ ์ค„์ด์‹ญ์‹œ์˜ค. ์•„๋ž˜์˜ ์˜ˆ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

  • ์˜ˆ 1-์˜ฌ๋ฐ”๋ฅธ ๋ฐฉ๋ฒ•

p {
  color: #fff;
}
  • ์˜ˆ 2-์ž˜๋ชป๋œ ๋ฐฉ๋ฒ•
  • ๋ญ๊ฐ€ ์ž˜๋ชป ๋˜์—ˆ ๋‹ˆ?
    ๋‹จ์ถ•๋˜์ง€ ์•Š์€ ๋Œ€๋ฌธ์ž 16 ์ง„์ˆ˜ ๊ฐ’
p {
  color: #FFFFFF;
}

RGBA ๋˜๋Š” RGB ์ƒ‰์ƒ

  • ๊ฐ’ ๋’ค์— ๊ณต๋ฐฑ์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๊ฐ€๋…์„ฑ์ด ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ์˜ˆ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

  • ์˜ˆ 1-์˜ฌ๋ฐ”๋ฅธ ๋ฐฉ๋ฒ•

p {
  color: rgba(123, 123, 0, 0.1);
}
  • ์˜ˆ 2-์ž˜๋ชป๋œ ๋ฐฉ๋ฒ•
  • ๋ญ๊ฐ€ ์ž˜๋ชป ๋˜์—ˆ ๋‹ˆ?
    ๊ฐ’ ๋’ค์— ๊ณต๋ฐฑ ์—†์Œ
p {
  color: rgba(123,123,0,0.1);
}

0 ์„ ์–ธ์‹œ ๋‹จ์œ„ ์—†์Œ

  • box-shadow์™€ ๊ฐ™์€ ์†์„ฑ์—์„œ 0 ๊ฐ’์„ ์„ค์ •ํ•˜๋ฉด ๋‹จ์œ„ ์ถ”๊ฐ€๋ฅผ ํ”ผํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ์˜ˆ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

  • ์˜ˆ 1-์˜ฌ๋ฐ”๋ฅธ ๋ฐฉ๋ฒ•

p {
  box-shadow: 1px 1px 0 rgb(0, 0, 0);
}
  • ์˜ˆ 2-์ž˜๋ชป๋œ ๋ฐฉ๋ฒ•
  • ๋ญ๊ฐ€ ์ž˜๋ชป ๋˜์—ˆ ๋‹ˆ?
    0 ์ดํ›„ ๋‹จ์œ„
p {
  box-shadow: 1px 1px 0px rgb(0, 0, 0);
}

๋ถ€๋™ ์ˆซ์ž ํ”ผํ•˜๊ธฐ

  • ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด CSS์—์„œ ๋‹ค๋ฅธ ํฌ๊ธฐ๋กœ ๋ถ€๋™ ์ˆซ์ž๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์•ฝ๊ฐ„ ๋‹ค๋ฅด๊ฒŒ ๋ Œ๋”๋ง ๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์•„๋ž˜ ์ฒจ๋ถ€ ๋œ ๋งํฌ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

๋ธŒ๋ผ์šฐ์ € ๋ฐ˜์˜ฌ๋ฆผ

help wanted docs on the roadmap

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

@raisedadead @tomasvn ๋‚˜์— ๋”ฐ๋ฅด๋ฉด CSS ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ๋ฅผ ๋งŒ๋“ค๊ณ ์ด๋ฅผ ๊ณ ์ˆ˜ํ•˜๋Š” ๊ณผ์ •์€ ์žฅ๊ธฐ์ ์œผ๋กœ ์œ ์šฉํ•œ ๊ฒฐ๊ณผ๋ฅผ ์–ป์ง€ ๋ชปํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. React, Yarn, Babel ๋ฐ ๊ธฐํƒ€ ๋งŽ์€ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ๋Š” Prettier ๋ฐ ๊ธฐํƒ€ ์œ ์‚ฌํ•œ ํ™•์žฅ์„ CSS ์Šคํƒ€์ผ ํ˜•์‹์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์Šคํƒ€์ผ ๊ฐ€์ด๋“œ๋ฅผ ๋งŒ๋“œ๋Š” ๋Œ€์‹ . ๊ธฐ์—ฌ์ž์—๊ฒŒ IDE / ์ฝ”๋“œ ํŽธ์ง‘๊ธฐ์— Prettier ์„ ์„ค์น˜ํ•˜๋ผ๊ณ  ์•Œ๋ ค์•ผํ•ฉ๋‹ˆ๋‹ค.
@raisedadead ์ด๊ฒƒ์— ๋Œ€ํ•œ ์ƒ๊ฐ?

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

@raisedadead ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•˜์„ธ์š”?

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋ณดํ’€์ด ์ผ์ง€ ์•Š๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ  ๊ณ„์‹ญ๋‹ˆ๊นŒ? ๋ฆฐํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ๋‹ˆ๊นŒ?

@raisedadead @tomasvn ๋‚˜์— ๋”ฐ๋ฅด๋ฉด CSS ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ๋ฅผ ๋งŒ๋“ค๊ณ ์ด๋ฅผ ๊ณ ์ˆ˜ํ•˜๋Š” ๊ณผ์ •์€ ์žฅ๊ธฐ์ ์œผ๋กœ ์œ ์šฉํ•œ ๊ฒฐ๊ณผ๋ฅผ ์–ป์ง€ ๋ชปํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. React, Yarn, Babel ๋ฐ ๊ธฐํƒ€ ๋งŽ์€ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ๋Š” Prettier ๋ฐ ๊ธฐํƒ€ ์œ ์‚ฌํ•œ ํ™•์žฅ์„ CSS ์Šคํƒ€์ผ ํ˜•์‹์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์Šคํƒ€์ผ ๊ฐ€์ด๋“œ๋ฅผ ๋งŒ๋“œ๋Š” ๋Œ€์‹ . ๊ธฐ์—ฌ์ž์—๊ฒŒ IDE / ์ฝ”๋“œ ํŽธ์ง‘๊ธฐ์— Prettier ์„ ์„ค์น˜ํ•˜๋ผ๊ณ  ์•Œ๋ ค์•ผํ•ฉ๋‹ˆ๋‹ค.
@raisedadead ์ด๊ฒƒ์— ๋Œ€ํ•œ ์ƒ๊ฐ?

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋ณดํ’€์ด ์ผ์ง€ ์•Š๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ  ๊ณ„์‹ญ๋‹ˆ๊นŒ? ๋ฆฐํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ๋‹ˆ๊นŒ?

์˜ˆ์˜๊ฒŒ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค;). CSS ์Šคํƒ€์ผ ๊ทœ์น™์„ ์œ„๋ฐ˜ํ•˜๋ฉด ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

์Šคํƒ€์ผ ๊ฐ€์ด๋“œ๋ฅผ ๋งŒ๋“œ๋Š” ๋Œ€์‹ . ๊ธฐ์—ฌ์ž์—๊ฒŒ IDE / ์ฝ”๋“œ ํŽธ์ง‘๊ธฐ์— Prettier๋ฅผ ์„ค์น˜ํ•˜๋ผ๊ณ  ์•Œ๋ ค์•ผํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ์—์„œ ์ˆจ๋Š” ๊ฒƒ์€ ๋ˆ„๊ตฌ์—๊ฒŒ๋„ ๋„์›€์ด๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค ... ๐Ÿ˜…!

๋‚˜๋Š” ํฌ๋งคํ„ฐ๋ฅผ ํ”ผํ•˜๊ณ  ๋Œ€์‹  ๋ฆฐํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ฐ•๋ ฅํžˆ ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค. ์ž๋™ํ™”๋Š” ๋ฉ‹์ง€๊ณ  ์‰ฌ์šด ๊ฒƒ์ฒ˜๋Ÿผ ๋“ค๋ฆฌ์ง€๋งŒ ํ‘œ์ค€ ์ฝ”๋“œ ์ž‘์„ฑ์˜ ์š”์ ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

IMHO, ์šฐ๋ฆฌ๋Š” ํ•™์Šต์„ ์ค‘์‹ฌ์œผ๋กœ ํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฆฐํ„ฐ๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฝ”๋“œ ์Šคํƒ€์ผ๋กœ ๋ฌธ์ œ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์„ ์ฃผ์ €ํ•ด์„œ๋Š” ์•ˆ๋ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ Prettier๋Š” _Opinionated_ Code Formatter์ž…๋‹ˆ๋‹ค.

๋‚˜์— ๋”ฐ๋ฅด๋ฉด CSS ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ๋ฅผ ๋งŒ๋“ค๊ณ ์ด๋ฅผ ๊ณ ์ˆ˜ํ•˜๋Š” ๊ณผ์ •์€ ์žฅ๊ธฐ์ ์œผ๋กœ ์œ ์šฉํ•œ ๊ฒฐ๊ณผ๋ฅผ ์–ป์ง€ ๋ชปํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ด๊ฒƒ์€ ์ž˜๋ชป๋œ ์ฃผ์žฅ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค (ํ†ต๊ณ„๊ฐ€ ์žˆ์œผ๋ฉด ํ‹€๋ ธ๋‹ค๋Š” ๊ฒƒ์„ ์ž์œ ๋กญ๊ฒŒ ์ฆ๋ช…ํ•˜์‹ญ์‹œ์˜ค).

Airbnb JS ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ, JS Standard ๋“ฑ์„ ํ™•์ธํ•˜๋ฉด ํ‘œ์ค€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋„์šฐ๋ฏธ๊ฐ€ ์žˆ์œผ๋ฉฐ ์ˆ˜์ฒœ ๊ฐœ์˜ ํšŒ์‚ฌ์™€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋งค์ผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

@raisedadead ์šฐ๋ฆฌ๋Š” ๋ฌธ์ œ์—์„œ ์ˆจ์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค ...! ์šฐ๋ฆฌ๋Š” linters๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ Prettier๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹จ์ผ ํ‚ค ๋ฐ”์ธ๋”ฉ์œผ๋กœ ๋™์ผํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์™œ ์šฐ๋ฆฌ๊ฐ€ ๊ทธ๊ฒƒ์— ๋Œ€ํ•ด ์žฅ๊ธฐ์ ์œผ๋กœ ์‹œ๋„ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

๋‚˜๋Š” ์ด๊ฒƒ์€ ์ž˜๋ชป๋œ ์ฃผ์žฅ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค (ํ†ต๊ณ„๊ฐ€ ์žˆ์œผ๋ฉด ํ‹€๋ ธ๋‹ค๋Š” ๊ฒƒ์„ ์ž์œ ๋กญ๊ฒŒ ์ฆ๋ช…ํ•˜์‹ญ์‹œ์˜ค).
Airbnb JS ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ, JS Standard ๋“ฑ์„ ํ™•์ธํ•˜๋ฉด ํ‘œ์ค€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋„์šฐ๋ฏธ๊ฐ€ ์žˆ์œผ๋ฉฐ ๋งค์ผ ์ˆ˜์ฒœ ๊ฐœ์˜ ํšŒ์‚ฌ์™€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ด๊ฒƒ์— ๋Œ€ํ•ด ๋‹น์‹ ๊ณผ ๊ฐ•๋ ฅํžˆ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค! ๊ทธ๋“ค์˜ JS ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ๋Š” ์ •๋ง ๋„์›€์ด๋ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋ฌธ์ œ์—์„œ ๋ฒ—์–ด๋‚˜์ง€ ์•Š๊ณ ์žˆ๋‹ค ...! ์šฐ๋ฆฌ๋Š” linters๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ Prettier๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹จ์ผ ํ‚ค ๋ฐ”์ธ๋”ฉ์œผ๋กœ ๋™์ผํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์™œ ์šฐ๋ฆฌ๊ฐ€ ๊ทธ๊ฒƒ์— ๋Œ€ํ•ด ์žฅ๊ธฐ์ ์œผ๋กœ ์‹œ๋„ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

์™œ๋ƒํ•˜๋ฉด ์šฐ๋ฆฌ๋Š” ํ‘œ์ค€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๊นŒ? ๊ธฐ์—ฌ์ž๋Š” ์›ํ•˜๋Š” ๋„๊ตฌ๋ฅผ ์ž์œ ๋กญ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๊ฐ€์ด๋“œ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค๋Š” ์˜๋ฏธ๋Š” ์•„๋‹™๋‹ˆ๋‹ค.

์–ด์จŒ๋“ , ๊ฐ€์ด๋“œ์— ๋Œ€ํ•œ ๊ฑด์„ค์ ์ธ ํ”ผ๋“œ๋ฐฑ์„ ์œ„ํ•ด์ด ์Šค๋ ˆ๋“œ๋ฅผ ์œ ์ง€ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ์ฑ„ํŒ…์—์„œ ํ•ญ์ƒ ํ† ๋ก ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@tomasvn RFC๋Š” ํฅ๋ฏธ๋กœ์›Œ ๋ณด์ด๋ฉฐ ํ”ผ๋“œ๋ฐฑ์— ๊ด€์‹ฌ์ด ์žˆ์œผ์‹œ๊ธฐ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ๊ฐ€ ์˜๊ฐ์„ ์–ป์„ ์ˆ˜์žˆ๋Š” ํ™•๋ฆฝ ๋œ ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ์™€ ๋„๊ตฌ๋ฅผ ์ฐพ์•„ ๋ณด๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹ญ๋‹ˆ๊นŒ?

์™œ๋ƒํ•˜๋ฉด ์šฐ๋ฆฌ๋Š” ํ‘œ์ค€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๊นŒ? ๊ธฐ์—ฌ์ž๋Š” ์›ํ•˜๋Š” ๋„๊ตฌ๋ฅผ ์ž์œ ๋กญ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๊ฐ€์ด๋“œ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค๋Š” ์˜๋ฏธ๋Š” ์•„๋‹™๋‹ˆ๋‹ค.

๋‚˜๋„ ์ด๊ฒƒ์— ๋Œ€ํ•ด ๋‹น์‹ ๊ณผ ํ•จ๊ป˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ข‹์Šต๋‹ˆ๋‹ค. ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ stylelint ๋ฅผ ๋ฆฐํ„ฐ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@raisedadead stylelint๋Š” ๊ดœ์ฐฎ์•„ ๋ณด์ž…๋‹ˆ๋‹ค

@tomasvn ๋ฐฉ๊ธˆ ์ƒˆ๋กœ์šด ์ปค๋ฆฌํ˜๋Ÿผ๊ณผ ํ•™์Šต ํ”Œ๋žซํผ์„ ์ถœ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ์•„์ง๋„์ด ์ผ์„ ๋•๊ณ  ์‹ถ์œผ์‹ญ๋‹ˆ๊นŒ?

์šฐ๋ฆฌ์˜ ๋ชจ๋“  CSS์—๋Š” ์ข‹์€ ๋ฆฌํŒฉํ„ฐ๋ง์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ๋ฅผ ๋งŒ๋“ค๋ฟ๋งŒ ์•„๋‹ˆ๋ผ์ด๋ฅผ ํ”„๋กœ์ ํŠธ์— ์ฆ‰์‹œ ์ ์šฉํ•˜๊ณ  ๋ชจ๋“  ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๊ฐ€ ์ด์— ๋ถ€ํ•ฉํ•˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” ์ข‹์€ ๊ธฐํšŒ๊ฐ€ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@QuincyLarson ๋ฌผ๋ก ์ž…๋‹ˆ๋‹ค. freecodecamp๋Š” ๊ฝค ํฐ ์ฝ”๋“œ๋ฒ ์ด์Šค์ด๊ธฐ ๋•Œ๋ฌธ์— ์‹œ๊ฐ„์„๋‚ด์–ด CSS๋ฅผ ๋ฆฌํŒฉํ† ๋งํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@tomasvn ๊ต‰์žฅ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค!

freeCodeCamp์—๋Š” ๊ทธ๋‹ค์ง€ ๋งŽ์€ CSS๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. freeCodeCamp์˜ CSS๋Š” ์ฃผ๋กœ "main.less"์— ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” Bootstrap 3.0์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๊ฒฐ๊ตญ Bootstrap 4.0์œผ๋กœ ์ด๋™ํ•˜๊ฑฐ๋‚˜ Flexbox๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก CSS๋ฅผ ๋‹ค์‹œ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‹น๋ถ„๊ฐ„ ์šฐ๋ฆฌ๋Š” ์—ฌ๋Ÿฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ React Bootstrap์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ํ˜„์žฌ Bootstrap 3.0์— ๊ณ ์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ main.less์—์žˆ๋Š” ๊ธฐ์กด ์‚ฌ์šฉ์ž ์ •์˜ CSS๋ฅผ ์ •๋ฆฌํ•˜๊ณ  ์ค‘๋ณต์„ ์ค„์ด๊ณ  ๋…ผ๋ฆฌ์ ์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

@QuincyLarson ์ด ๊ฐ€์ ธ ์™”๊ณ  main.less๋Š” client / less / main.less์— ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์˜ฌ๋ฐ”๋ฅธ ํŒŒ์ผ์ž…๋‹ˆ๊นŒ?

@tomasvn ์–‘ํ•ด

@tomasvn ์ด๊ฒƒ์— ๋„์›€์ด ํ•„์š”ํ•˜์‹ญ๋‹ˆ๊นŒ? ๊ธฐ๊บผ์ด ๊ธฐ์—ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค

@tomasvn ์•„์ง์ด ์ž‘์—…์„ ์‹œ์ž‘ํ•  ๊ธฐํšŒ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด @borisyordanov ์˜ˆ-์šฐ๋ฆฌ๋Š” ์ด๊ฒƒ์— ๋Œ€ํ•œ ๊ท€ํ•˜์˜ ๊ธฐ์—ฌ๋ฅผ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค.

@borisyordanov ์ง€์—ฐ ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. Windows์—์„œ dev env๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด ๋ฌผ๊ฑด์„ ๊ณ ์น  ๋•Œ ๋ฆฌํŒฉํ† ๋งํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@tomasvn ๋‚ด๊ฐ€ ๋‹น์‹ ์—๊ฒŒ ์ด๋ฉ”์ผ์„ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค. ์ฑ„ํŒ…์—์„œ ๋งŒ๋‚˜์„œ ์ด๊ฒƒ์„ ๊ณ„ํšํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉด ๊ฐ€์ด๋“œ ๋ฅผ ์‚ดํŽด ๋ณด๊ฑฐ๋‚˜ Gitter์—์„œ ๋„์›€์„ ์š”์ฒญ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์—ฌ์ „ํžˆ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์ด ์ž‘์—…์„ ๋„์™€ ๋“œ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@ Jgriebel1990 ๋‚˜๋Š”

@ jgriebel1990 ์ž์œ ๋กญ๊ฒŒ ๋งŒํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

@tomasvn @ Jgriebel1990 ๊ณผ @borisyordanov๊ฐ€์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ๊ธฐํšŒ๋ฅผ ์–ป์ง€ ๋ชปํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ๋“ค๋ฆฝ๋‹ˆ๋‹ค.

@QuincyLarson Windows์—์„œ ์ž‘๋™ํ•˜๋„๋ก ๋…ธ๋ ฅํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์—ฌ์ „ํžˆ ์‹คํ–‰ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ™˜๊ฒฝ์„ ์„ค์ •ํ•  ์ˆ˜์—†๋Š” ๊ฒฝ์šฐ ์Šค๋ ˆ๋“œ๋ฅผ ๋‹ซ์œผ์‹ญ์‹œ์˜ค.

@tomasvn ๊ฑฑ์ •ํ•˜์ง€ ๋งˆ์„ธ์š”-๋กœ์ปฌ์—์„œ ์‹คํ–‰๋˜๋Š” ๋ฐ ํ–‰์šด์ด ์žˆ์Šต๋‹ˆ๊นŒ?

@QuincyLarson ์šด์ด

@tomasvn ๋กœ์ปฌ๋กœ ์„ค์ •ํ•  ๋•Œ ์–ด๋–ค ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ ํ–ˆ์Šต๋‹ˆ๊นŒ?

@tomasvn์ด ์ฝ์–ด์ฃผ์‹ญ์‹œ์˜ค - https://github.com/freeCodeCamp/freeCodeCamp/blob/master/docs/how-to-setup-freecodecamp-locally.md

@raisedadead https://github.com/freeCodeCamp/design-style-guide ์—…๋ฐ์ดํŠธ๋กœ์ด ๋ฌธ์ œ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๊นŒ?

๋กœ๋“œ๋งต์— ๋” ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ UI ๊ตฌ์„ฑ ์š”์†Œ์˜ ์ค‘์‹ฌ ๋ฆฌ์†Œ์Šค๊ฐ€ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

CSS ํ…Œ๋‘๋ฆฌ ์Šคํƒ€์ผ
border-style ์†์„ฑ์€ ํ‘œ์‹œ ํ•  ํ…Œ๋‘๋ฆฌ ์ข…๋ฅ˜๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ๊ฐ’์ด ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค.

dots-์ ์„  ํ…Œ๋‘๋ฆฌ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
ํŒŒ์„ -ํŒŒ์„  ํ…Œ๋‘๋ฆฌ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
solid-์‹ค์„  ํ…Œ๋‘๋ฆฌ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
double-์ด์ค‘ ํ…Œ๋‘๋ฆฌ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋ฃจ๋ธŒ-3D ๊ทธ๋ฃจ๋ธŒ ํ…Œ๋‘๋ฆฌ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ํšจ๊ณผ๋Š” ํ…Œ๋‘๋ฆฌ ์ƒ‰์ƒ ๊ฐ’์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.
์œต๊ธฐ-3D ์œต๊ธฐ ํ…Œ๋‘๋ฆฌ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ํšจ๊ณผ๋Š” ํ…Œ๋‘๋ฆฌ ์ƒ‰์ƒ ๊ฐ’์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.
์‚ฝ์ž…-3D ์‚ฝ์ž… ํ…Œ๋‘๋ฆฌ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ํšจ๊ณผ๋Š” ํ…Œ๋‘๋ฆฌ ์ƒ‰์ƒ ๊ฐ’์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.
outset-3D outset ํ…Œ๋‘๋ฆฌ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ํšจ๊ณผ๋Š” ํ…Œ๋‘๋ฆฌ ์ƒ‰์ƒ ๊ฐ’์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.
none-ํ…Œ๋‘๋ฆฌ๋ฅผ ์ •์˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
hidden-์ˆจ๊ฒจ์ง„ ํ…Œ๋‘๋ฆฌ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
border-style ์†์„ฑ์€ 1-4 ๊ฐœ์˜ ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (์œ„์ชฝ ํ…Œ๋‘๋ฆฌ, ์˜ค๋ฅธ์ชฝ ํ…Œ๋‘๋ฆฌ, ์•„๋ž˜์ชฝ ํ…Œ๋‘๋ฆฌ ๋ฐ ์™ผ์ชฝ ํ…Œ๋‘๋ฆฌ).

์˜ˆ-
p.dotted {border-style: dotted;} p.dashed {border-style: dashed;} p.solid {border-style: solid;} p.double {border-style: double;} p.groove {border-style: groove;} p.ridge {border-style: ridge;} p.inset {border-style: inset;} p.outset {border-style: outset;} p.none {border-style: none;} p.hidden {border-style: hidden;} p.mix {border-style: dotted dashed solid double;}

์•ผ! ์ด๊ฒƒ์— ๋Œ€ํ•œ ์ง„์ „์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๋„์™€ ๋“œ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!

@ManasMahanand , ๊ด€์‹ฌ์„ ๊ฐ€์ ธ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ CSS ๋ฆฐํ„ฐ๋ฅผ ์‚ดํŽด๋ณด๊ณ  ๋น„๊ตํ•˜์—ฌ stylelint๋ณด๋‹ค ๋” ๋‚˜์€ ๊ฒƒ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋ฆฐํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  CSS ํŒŒ์ผ์„ ๋ณ€๊ฒฝํ•˜์—ฌ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋ฆฐํŒ… ์˜ค๋ฅ˜๊ฐ€ ์—†๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

ํŠธ์œ— ๋‹ด์•„ ๊ฐ€๊ธฐ

@ahmadabdolsaheb ๋ ˆํฌ์— ์ถ”๊ฐ€ํ•œ๋‹ค๋Š” ์˜๋ฏธ๊ฐ€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

eslint๊ฐ€ ์ด๋ฏธ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ linter๋ฅผ ์ข…์†์„ฑ์œผ๋กœ ์„ค์น˜ ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

์•„๋‹ˆ๋ฉด github ์ž์ฒด์— ํ…Œ์ŠคํŠธ๋ฅผ ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์œผ๋ฏ€๋กœ ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ๋ฅผ ๋”ฐ๋ฅด์ง€ ์•Š๋Š” ํ•œ ๋ณ‘ํ•ฉ์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ?

์ข‹์•„, stylelint ์ž์ฒด๊ฐ€ ์ข‹์€ ์˜ต์…˜ ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ์„ค์น˜ํ•˜๊ณ ์žˆ๋‹ค.

์‹คํ—˜์„ ์œ„ํ•ด OP์—์„œ ์ œ์•ˆํ•œ ๊ทœ์น™์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ชจ๋“  ๊ทœ์น™์„ ์ œ๊ฑฐํ•˜๊ณ  ํ™๋ณด๋ฅผ ์—ฝ๋‹ˆ ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ทœ์น™์„ ๋…ผ์˜ํ•˜๊ณ  ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

https://stylelint.io/user-guide/rules/about

์ด ๋งํฌ์—์„œ ์„ค์ •ํ•  ์ˆ˜์žˆ๋Š” ๊ทœ์น™ ์œ ํ˜•์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

image

ํ˜„์žฌ ์ด๋ฏธ ๋” ์˜ˆ์˜๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” lint : css ๋ช…๋ น์ด ์žˆ์Šต๋‹ˆ๋‹ค. stylelint๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์–ด์จŒ๋“  ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ์„ค์น˜ํ–ˆ์œผ๋ฉฐ ๊ทœ์น™ ์„ธํŠธ์— ๋”ฐ๋ผ ์˜ค๋ฅ˜๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ๊ฐ์ง€ํ•ฉ๋‹ˆ๋‹ค. PR์„ ์—ด๊นŒ์š”?

๋” ์˜ˆ์œ ๊ฒƒ์„ ์ œ๊ฑฐ ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋” ์˜ˆ์œ ๊ตฌ์„ฑ ํŒŒ์ผ์„ ํ™•์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜์žˆ๋Š” stylelint ๊ทœ์น™์— ๋Œ€ํ•œ ๊ตฌ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋Œ€๋ฐ•. ๋‚ด์ผ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

stylelint ๊ทœ์น™ (๋˜๋Š” ๊ทธ ๋ฐฉ๋ฒ•)์— ๋Œ€ํ•œ ๋” ์˜ˆ์œ ๊ตฌ์„ฑ์„ ์ฐพ์ง€ ๋ชปํ–ˆ์ง€๋งŒ ํ˜„์žฌ ์ถฉ๋Œ์„ ํ™•์ธํ•˜๊ณ  ์ถฉ๋Œํ•˜๋Š” ๊ทœ์น™์„ ํ•ด์ œํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ stylelint-config-prettier ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ์€ lint : css ๋ช…๋ น์— ์žˆ์œผ๋ฉฐ stylelint ๋ช…๋ น๋„ ๋” ์˜ˆ์˜๊ฒŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

(์˜คํ”ผ๋‹ˆ์–ธ) fcc์— ๋งž๋Š” ๊ฒƒ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ชจ๋“  ์ปค์Šคํ…€ ์Šคํƒ€์ผ ๋ฆฐํŠธ ๊ทœ์น™์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ณ  ์‹ฌ์ง€์–ด๋Š” ๋” ์˜ˆ์œ ๊ฒƒ์„ ์™„์ „ํžˆ ์ œ๊ฑฐ ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋‹จ์ง€ ์˜๊ฒฌ ์ผ ๋ฟ์ด๋ฉฐ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์€ ์—ฌ๋Ÿฌ๋ถ„์˜ ๋ชซ์ž…๋‹ˆ๋‹ค.

์ง„ํ–‰ ์ƒํ™ฉ์— ๋Œ€ํ•ด @ManasMahanand ์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ ์˜๊ฒฌ์„ ์œ„ํ•ด @ojeytonwilliams ๋ฅผ ํƒœ๊ทธํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋” ์˜ˆ๋ป์„œ ์„œ์‹์„ ์ž˜ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. https://github.com/prettier/stylelint-prettier ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด prettier๊ฐ€ stylelint์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์œผ๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ ๋‘ ๊ฐ€์ง€ ์žฅ์ ์„ ๋ชจ๋‘ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ์šฐ๋ฆฌ๊ฐ€ ์ด๋ฏธ JavaScript linting์— ์‚ฌ์šฉํ•˜๋Š” ์ ‘๊ทผ ๋ฐฉ์‹์„ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค.

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