ã³ãŒãããŒã¹ã®å šäœçãªä¿å®æ§ãåäžãããããã«ãfreeCodeCampã®CSSã¹ã¿ã€ã«ã¬ã€ããææ¡ããããšæããŸãã FreeCodeCampã«ã¯å€ãã®è²¢ç®è ãããŠãCSSã®èšè¿°æ¹æ³ã¯äººã«ãã£ãŠç°ãªããŸãã ãŸããCSSã®ããŸããŸãªèšè¿°æ¹æ³ã远跡ããããšã¯å°é£ã§ãã
æ°ããLESSãã¡ã€ã«ãéå§ãããšãã«ã³ã¡ã³ããè¿œå ããŠãéçºè ãäœãæ±ã£ãŠããããææ¡ã§ããããã«ããŸãããŸããã³ãŒããããã¯ã«é¢é£ããæ°ããã»ã¯ã·ã§ã³ãéå§ãããšãã«ã³ã¡ã³ããè¿œå ããŸããããã¯ãèªã¿ãããã«åœ¹ç«ã¡ãŸãã以äžã®äŸãåç §ããŠãã ããïŒç§ã¯ééããŸããïŒã³ãŒãããŒã¹å šäœã§ãããã®ã¹ã¿ã€ã«ã®ã³ã¡ã³ãããããããæ°ããã¹ã¿ã€ã«ãææ¡ããã®ã§ã¯ãªããæžãç¶ããããšæããŸãïŒ
äŸ1-æ°ããLESSãã¡ã€ã«ãéå§ããå ŽåïŒ
//
// Navigation
// --------------------
//
// Navigation - Mobile Styles
// ------------------------------
ããããã£ã®åŸã«ã¹ããŒã¹ãè¿œå ãããšããã®ãããªã³ãŒãããŒã¹ã®èªã¿åããšä¿å®ãã¯ããã«ç°¡åã«ãªããŸãã 以äžã®äŸãåç §ããŠãã ããã
äŸ1-æ£ããæ¹æ³
p {
color: #fff;
}
p {
color:#fff;
}
倧æåã§ã¯ãªãå°æåãåªå ããŸãã çŸåšãCSSå šäœã§ãè²¢ç®è ã¯äž¡æ¹ãæ··ãåãããŠããŸãã å°æåã¯æžã蟌ã¿ãéããèªã¿åããç°¡åã§ãã CSSã«äžè²«ããèŠåãããå Žåã¯ãå šäœçãªä¿å®æ§ãåã³åäžããŸãã ãŸããå¯èœã§ããã°ã16é²å€ãçãããŠãã ããã 以äžã®äŸãåç §ããŠãã ããã
äŸ1-æ£ããæ¹æ³
p {
color: #fff;
}
p {
color: #FFFFFF;
}
å€ã®åŸã«ã¹ããŒã¹ãè¿œå ãããšãèªã¿ããããåäžããŸãã 以äžã®äŸãåç §ããŠãã ããã
äŸ1-æ£ããæ¹æ³
p {
color: rgba(123, 123, 0, 0.1);
}
p {
color: rgba(123,123,0,0.1);
}
box-shadowãªã©ã®ããããã£ã§ã0ã®å€ãèšå®ããå Žåã¯ããŠããããè¿œå ããªãããã«ããå¿ èŠããããŸãã 以äžã®äŸãåç §ããŠãã ããã
äŸ1-æ£ããæ¹æ³
p {
box-shadow: 1px 1px 0 rgb(0, 0, 0);
}
p {
box-shadow: 1px 1px 0px rgb(0, 0, 0);
}
@raisedadeadã©ãæããŸããïŒ
ããããšããããªãã¯ãããã糞ããã«ããããšãã§ããæ¹æ³ãç¥ã£ãŠããŸããïŒ ãªã³ã¿ãŒã䜿çšããŠããŸããïŒ
@raisedadead @tomasvnç§ã«ãããšãCSSã¹ã¿ã€ã«ã¬ã€ããäœæããŠããã«åºå·ããããã»ã¹ã¯ãé·æçã«ã¯æçšãªçµæããããããªãã§ãããã ReactãYarnãBabelãããã³ä»ã®å€ãã®ãªãŒãã³ãœãŒã¹ãããžã§ã¯ãã¯ãCSSã¹ã¿ã€ã«ã®ãã©ãŒãããã«Prettier
ããã³ä»ã®åæ§ã®æ¡åŒµæ©èœã䜿çšããŠããŸãã
ã¹ã¿ã€ã«ã¬ã€ããäœæãã代ããã«ã å¯çš¿è
ã«ãIDE /ã³ãŒããšãã£ã¿ã«Prettier
ãã€ã³ã¹ããŒã«ããããã«æ瀺ããå¿
èŠããããŸãã
@raisedadeadãã
ããããšããããªãã¯ãããã糞ããã«ããããšãã§ããæ¹æ³ãç¥ã£ãŠããŸããïŒ ãªã³ã¿ãŒã䜿çšããŠããŸããïŒ
ãããã«åäœããŸã;ïŒã CSSã¹ã¿ã€ã«ã®ã«ãŒã«ã«éåãããšèŠåã衚瀺ãããŸãã
ã¹ã¿ã€ã«ã¬ã€ããäœæãã代ããã«ã å¯çš¿è ã«IDE /ã³ãŒããšãã£ã¿ã«Prettierãã€ã³ã¹ããŒã«ããããã«æ瀺ããå¿ èŠããããŸãã
åé¡ãã身ãé ãããšã¯èª°ã«ã圹ç«ã¡ãŸããã§ãã...ð ïŒ
ç§ã¯ãã©ãŒããã¿ãŒãé¿ãã代ããã«ãªã³ã¿ãŒã䜿çšããããšã«åŒ·ãè³æã§ãã èªååã¯ã¯ãŒã«ã§ç°¡åã«èãããŸãããæšæºã³ãŒããæžãéã®èŠç¹ã倱ãããŸãã
ç§èŠã§ãããåŠç¿ãåãå·»ãã³ãã¥ããã£ã§ããç§ãã¡ã¯ããªã³ã¿ãŒãææããã³ãŒãã¹ã¿ã€ã«ã®åé¡ãä¿®æ£ããããšãèºèºããã¹ãã§ã¯ãããŸããã
ãŸããPrettierã¯_Opinionated_ã³ãŒããã©ãŒããã¿ãŒã§ããããšã«æ³šæããŠãã ãã
ç§ã«ãããšãCSSã¹ã¿ã€ã«ã¬ã€ããäœæããŠããã«åºå·ããããã»ã¹ã¯ãé·æçã«ã¯æçšãªçµæããããããªãã§ãããã
ããã¯ééã£ãè°è«ã ãšæããŸãïŒçµ±èšãããå Žåã¯ãç§ãééã£ãŠããããšã蚌æããŠãã ããïŒã
Airbnb JSã¹ã¿ã€ã«ã¬ã€ããJSStandardãªã©ããã§ãã¯ãããšããã«ããŒã«æšæºã³ãŒããæžããŠããããäœåãã®äŒæ¥ãéçºè ã«æ¯æ¥äœ¿ãããŠããŸãã
@raisedadeadç§ãã¡ã¯åé¡ããé ããŠããŸãã...ïŒ ãªã³ã¿ãŒã䜿çšããããšã¯ã§ããŸãããPrettierã䜿çšããåäžã®ããŒãã€ã³ãã£ã³ã°ã§åãã¿ã¹ã¯ãå®è¡ã§ããã®ã§ããªããããé·æéå®è¡ããããšããŠããã®ã§ããããã
ããã¯ééã£ãè°è«ã ãšæããŸãïŒçµ±èšãããå Žåã¯ãç§ãééã£ãŠããããšã蚌æããŠãã ããïŒã
Airbnb JSã¹ã¿ã€ã«ã¬ã€ããJSStandardãªã©ããã§ãã¯ãããšããã«ããŒã«æšæºã³ãŒããæžããŠããããäœåãã®äŒæ¥ãéçºè ã«æ¯æ¥äœ¿ãããŠããŸãã
ç§ã¯ããã«ã€ããŠããªãã«åŒ·ãåæããŸãïŒ åœŒãã®JSã¹ã¿ã€ã«ã¬ã€ãã¯æ¬åœã«ãšãŠã圹ã«ç«ã¡ãŸãã
ç§ãã¡ã¯åé¡ãã身ãé ããŠããŸãã...ïŒ ãªã³ã¿ãŒã䜿çšããããšã¯ã§ããŸãããPrettierã䜿çšããåäžã®ããŒãã€ã³ãã£ã³ã°ã§åãã¿ã¹ã¯ãå®è¡ã§ããã®ã§ããªããããé·æéå®è¡ããããšããŠããã®ã§ããããã
ãªããªããæšæºã³ãŒããæžãããã®ã§ããïŒ å¯çš¿è ã¯å¥œããªããŒã«ãèªç±ã«äœ¿çšã§ããŸãããã¬ã€ããå¿ èŠãªããšããããã§ã¯ãããŸããã
ãšã«ãããã¬ã€ãã«é¢ãã建èšçãªãã£ãŒãããã¯ã®ããã«ãã®ã¹ã¬ãããä¿æããŸãããã代ããã«ããã£ããã§ãã€ã§ããã£ã¹ã«ãã·ã§ã³ãè¡ãããšãã§ããŸãã
@tomasvn RFCã¯é¢çœããã§ãããã£ãŒãããã¯ã«èå³ãããã®ã§ãç§ãã¡ãã€ã³ã¹ãã¬ãŒã·ã§ã³ãåŸãããšãã§ããããã€ãã®ç¢ºç«ãããã¹ã¿ã€ã«ã¬ã€ããšããŒã«ã調ã¹ãããšãå¯èœã«ãªããšæããŸããã
ãªããªããæšæºã³ãŒããæžãããã®ã§ããïŒ å¯çš¿è ã¯å¥œããªããŒã«ãèªç±ã«äœ¿çšã§ããŸãããã¬ã€ããå¿ èŠãªããšããããã§ã¯ãããŸããã
ç§ãããã§ããªããšäžç·ã§ãã ããŠãã¹ã¿ã€ã«ã¬ã€ãã䜿ã£ãŠã¿ãŸããããã¹ã¿ã€ã«ãªã³ãããªã³ã¿ãŒãšããŠäœ¿çšã§ããŸãã
@raisedadeadstylelintã¯åé¡ãªãããã§ãðããã¯åœŒã®ããã¥ã¡ã³ãå šäœã®ççŸã«ã€ããŠå¯çš¿è ã«èŠåããã®ã§
@tomasvnæ°ããã«ãªãã¥ã©ã ãšåŠç¿ãã©ãããã©ãŒã ãç«ã¡äžããŸããã ããªãã¯ãŸã ãããæäŒãããšã«èå³ããããŸããïŒ
ãã¹ãŠã®CSSã«ã¯é©åãªãªãã¡ã¯ã¿ãªã³ã°ãå¿ èŠã§ããããã¯ãã¹ã¿ã€ã«ã¬ã€ããäœæããã ãã§ãªããåããå€ããŠããã«ãããžã§ã¯ãã«é©çšãããã¹ãŠã®ãªããžããªãããã«æºæ ããŠããããšã確èªããè¯ãæ©äŒã§ãã
@QuincyLarson確ãã«ãfreecodecampã¯éåžžã«å€§ããªã³ãŒãããŒã¹ã§ãããããæéããããŠCSSã®ãªãã¡ã¯ã¿ãªã³ã°ãæ¯æŽã§ããŸããã©ãããå§ããã°ãããæããŠãã ããã
@tomasvnããã¯çŽ æŽãããã§ãããïŒ
freeCodeCampã«ã¯ããã»ã©å€ãã®CSSããããŸããã freeCodeCampã®CSSã¯ãäž»ã«ãmain.lessãã«ãããŸãã ãããŠãBootstrap3.0ã䜿çšããŠããŸãã
æçµçã«ã¯Bootstrap4.0ã«ç§»è¡ããããCSSãæžãæããŠFlexboxã䜿çšããå¯èœæ§ããããŸãã ãã ããåœé¢ã®éãããã€ãã®ã¢ããªã±ãŒã·ã§ã³ã§React Bootstrapã䜿çšããŠãããçŸåšã¯Bootstrap3.0ã«ããã¯ãããŠããŸãã ãããã£ãŠãmain.lessã®æ¢åã®ã«ã¹ã¿ã CSSã«ã¢ã¯ã»ã¹ããŠã¯ãªãŒã³ã¢ããããåé·æ§ãæžãããŠè«ççã«é 眮ããããšããå§ãããŸãã
@QuincyLarsonãååŸããmain.lessã¯client / less / main.lessã«ãããŸãããããã¯æ£ãããã¡ã€ã«ã§ããïŒ
@tomasvnã
@tomasvnããã«ã€ããŠå©ããå¿ èŠã§ããïŒ åãã§è²¢ç®ãããŠããã ããŸã
@tomasvnããã«åãçµã¿å§ããæ©äŒã¯@ borisyordanovã¯ã-ããã§ããªãã®è²¢ç®ãæè¿ããŸãã
@borisyordanové 延ããŠç³ãèš³ãããŸããããå ã«é²ãã§
@tomasvnç§ã¯ããªãã«ã¡ãŒã«ãéããŸããããã£ããã§äŒã£ãŠãããèšç»ããŸãããã ãããžã§ã¯ãã®å®è¡ã«åé¡ãããå Žåã¯ããŸã ã¬ã€ããèªãã§ããªãã
ããã§ãå¿ èŠãããå Žåã¯ããããæäŒãããšãã§ããŸã
@ Jgriebel1990 tomasvnãšé£çµ¡ãåããªãã£ãã®ã§ãç§ãç¥ãéããé²å±ã¯ãããŸããã§ããã ãæ°è»œã«åŒãç¶ãã§ãã ãã
@ jgriebel1990ãæ°è»œã«
@tomasvn @ Jgriebel1990ãš@borisyordanovã¯ããã«åãçµãæ©äŒãåŸãŠããªãããã§ã-ããªãã¯ãŸã ãããæäŒãããšã«èå³ããããŸããïŒ
@QuincyLarson Windowsã§åäœããããã«ããŸãããå®è¡ã«åé¡ããããŸããç°å¢ãèšå®ã§ããªãå Žåã¯ãã¹ã¬ãããéããŠãã ããã
@tomasvnå¿é ãããŸãã-ããŒã«ã«ã§å®è¡ã§ããããã«ãªããŸãããïŒ
é¢é£ïŒ https ïŒ
@QuincyLarsonéãæªããããŒã«ã«ã§å®è¡ãã
@tomasvnããŒã«ã«ã§ã»ããã¢ãããããšãã«ãã©ã®ãããªåé¡ã«
@tomasvnãããèªãã§ãã ããïŒ//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ããããã£ã¯ã衚瀺ããå¢çç·ã®çš®é¡ãæå®ããŸãã
次ã®å€ãèš±å¯ãããŸãã
ç¹ç·-ç¹ç·ã®å¢çç·ãå®çŸ©ããŸã
ç Žç·-ç Žç·ã®å¢çç·ãå®çŸ©ããŸã
solid-å®ç·ã®å¢çç·ãå®çŸ©ããŸã
double-äºéå¢çç·ãå®çŸ©ããŸã
æº-3Dã®æºä»ãå¢çç·ãå®çŸ©ããŸãã å¹æã¯å¢çç·ã®è²ã®å€ã«ãã£ãŠç°ãªããŸã
ridge-3Dã®éèµ·ããå¢çç·ãå®çŸ©ããŸãã å¹æã¯å¢çç·ã®è²ã®å€ã«ãã£ãŠç°ãªããŸã
ã¯ã蟌ã¿-3Dã¯ã蟌ã¿å¢çç·ãå®çŸ©ããŸãã å¹æã¯å¢çç·ã®è²ã®å€ã«ãã£ãŠç°ãªããŸã
outset-3Dã®éå§å¢çç·ãå®çŸ©ããŸãã å¹æã¯å¢çç·ã®è²ã®å€ã«ãã£ãŠç°ãªããŸã
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ãã¡ã€ã«ãå€æŽããŠããªããžããªã«ãšã©ãŒããªãããšã確èªããŸãã
@madabdolsahebããŸãïŒ
@ahmadabdolsahebåŸ ã£ãŠããªããžããªã«è¿œå ãããšã¯ã©ãããæå³ã§ããïŒ
eslintããã§ã«ããããã«ããªã³ã¿ãŒãäŸåé¢ä¿ãšããŠã€ã³ã¹ããŒã«ããŸããïŒ
ãŸãã¯ãgithubèªäœã«ãã¹ããã€ã³ã¹ããŒã«ããæ¹æ³ãããã®ã§ãã¹ã¿ã€ã«ã¬ã€ãã«åŸããªãéãããŒãžã§ããŸãããïŒ
ããããŸãããstylelintèªäœãè¯ããªãã·ã§ã³ã®ããã§ãã ç§ã¯ãããã€ã³ã¹ããŒã«ããŠããŸãã
å®éšã®ããã«ãOPãææ¡ããã«ãŒã«ãèšå®ããŸãã 次ã«ããã¹ãŠã®ã«ãŒã«ãåé€ããŠãPRãéããŸãã ãã®åŸãã«ãŒã«ã«ã€ããŠè©±ãåããèšå®ã§ããŸã
https://stylelint.io/user-guide/rules/about
ãã®ãªã³ã¯ãèŠãŠãèšå®ã§ããã«ãŒã«ã®çš®é¡ã確èªã§ããŸãã
çŸåšãprettierã䜿çšããlintïŒcssã³ãã³ãããã§ã«ãããŸãã stylelintã䜿çšããããã«å€æŽã§ããŸãã
ãšã«ãããç§ã¯ãããã€ã³ã¹ããŒã«ããŸããããããŠããã¯èšå®ãããã«ãŒã«ã«åºã¥ããŠãšã©ãŒãéŠå°Ÿããæ€åºããŸãã PRãéããŸããããã
prettierãåé€ããå¿ èŠã¯ãããŸãããprettierã«ã¯ãprettieræ§æãã¡ã€ã«ãæ¡åŒµããããã«äœ¿çšã§ããstylelintã«ãŒã«ã®æ§æããããŸãã
é©ãã°ããã ææ¥ã¯ããã«åãçµã¿ãŸãã
stylelintã«ãŒã«ã®ããããããªæ§æïŒãŸãã¯ãã®æ¹æ³ïŒãèŠã€ãããŸããã§ããããçŸåšã競åããã§ãã¯ãã競åããã«ãŒã«ããªãã«ããå¥ã®ããã±ãŒãžstylelint-config-prettierãã€ã³ã¹ããŒã«ããŸããã
ç§ãèããŠããã®ã¯lintïŒcssã³ãã³ãã§ãstylelintã³ãã³ãããããããã«å®è¡ããããšãã§ããŸãã
ïŒæèŠïŒfccã«ãšã£ãŠæå³ã®ãããã®ã«åºã¥ããŠããã¹ãŠã®ã«ã¹ã¿ã stylelintã«ãŒã«ãèšè¿°ã§ããããã«ããããªãã®ãå®å šã«åé€ã§ãããšæããŸãã ããã¯åãªãæèŠã§ããã決å®ããã®ã¯çããã«ä»»ãããŠããŸãã
é²æç¶æ³ã«ã€ããŠ@ManasMahanandã«æè¬ããŸãã ã»ã«ã³ããªãããªã³ã®ããã«@ojeytonwilliamsã«ã¿ã°ãä»ããŠããŸãã
prettierã¯ãã©ãŒãããã§ããŸããããšæãã®ã§ããããç¶æããããšæããŸãã https://github.com/prettier/stylelint-prettierã䜿çšããå Žåãprettierã¯stylelintã®ãã©ã°ã€ã³ãšããŠäœ¿çšãããäž¡æ¹ã®é·æã掻çšã§ããŸãã
ããã¯ãJavaScriptãªã³ãã£ã³ã°ã«ãã§ã«äœ¿çšããŠããã¢ãããŒããåæ ããŠããŸãã
æãåèã«ãªãã³ã¡ã³ã
@raisedadead @tomasvnç§ã«ãããšãCSSã¹ã¿ã€ã«ã¬ã€ããäœæããŠããã«åºå·ããããã»ã¹ã¯ãé·æçã«ã¯æçšãªçµæããããããªãã§ãããã ReactãYarnãBabelãããã³ä»ã®å€ãã®ãªãŒãã³ãœãŒã¹ãããžã§ã¯ãã¯ãCSSã¹ã¿ã€ã«ã®ãã©ãŒãããã«
Prettier
ããã³ä»ã®åæ§ã®æ¡åŒµæ©èœã䜿çšããŠããŸããã¹ã¿ã€ã«ã¬ã€ããäœæãã代ããã«ã å¯çš¿è ã«ãIDE /ã³ãŒããšãã£ã¿ã«
Prettier
ãã€ã³ã¹ããŒã«ããããã«æ瀺ããå¿ èŠããããŸãã@raisedadeadãã