μΆκ°λ λΉλλ tufle.min.css
λΌλ CSSμμ μΆμλ λ²μ μ λ§λ€ μ μμΌλ©° Autoprefixer/PostCSSλ₯Ό ν΅ν΄ νμν λͺ¨λ 곡κΈμ
체 μ λμ¬λ₯Ό μλμΌλ‘ μΆκ°ν μλ μμ΅λλ€.
μ΄ λͺ¨λ μμ μ μννλ €λ©΄ λ κ°μ§ λ°©λ²μΌλ‘ μνν μ μμ΅λλ€.
λ§μ€ν°κ° μ
λ°μ΄νΈλ λλ§λ€ λ°μνλλ‘ Travisμ ν¨κ» μ΄μμ μΌλ‘λ gh-pages
λΆκΈ°μ λΉλνλ λ§μ€ν° λΆκΈ°λ₯Ό λ§λλλ€.
μμ€λ₯Ό ν¬ν¨νλ src
ν΄λμ λΉλ μν°ν©νΈλ₯Ό ν¬ν¨νλ dest
λΌλ μΆλ ₯ ν΄λλ₯Ό λ§λλλ€. κ·Έλ° λ€μ HTMLμμ dest λ²μ μ κ°λ¦¬ν΅λλ€. npmμ μ€μΉνκ³ λΉλ νμΌμ μ§μ 컀λ°ν΄μΌ ν μ μμ΅λλ€.
λ²μ 1μ κΆμ₯νκ³ λλΆλΆμ PRμ μ€μ ν μ μμ΅λλ€. κ·Έλ¬λ λΆκΈ°λ₯Ό ꡬμ±νλ €λ©΄ κΈ°μ¬μ/μμ μκ° νμν©λλ€. κ·Έλ¬λ μ΄κ²μ΄ λ΄ λ§μμ κ°μ₯ μ’μ ν΄κ²°μ± μ΄ λ κ²μ λλ€. 무μμ μ νΈνλμ§ μλ €μ£ΌμΈμ.
#119μ λ¬Έμ λ μ΄κ²μΌλ‘λΆν° ν° λμμ λ°μ κ²μ λλ€. κ·Έλ¦¬κ³ μ΄ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νλ €λ μ¬λλ€μ μ΅μ νλ λ²μ μ μ¬μ©ν μλ μμ΅λλ€.
μ΄κ²μ λν LESS λλ SCSSμ κ°μ νλ‘μΈμλ₯Ό μ¬μ©ν κ°λ₯μ±μ μΆκ°νμ§λ§ μ΄ νλ‘μ νΈμ ν¬κΈ°κ° λ§€μ° μκΈ° λλ¬Έμ μ΄λ κ³Όλν μ μμ΅λλ€. κ·Έλμ λλ μ΄κ²μ μ λ§λ‘ μΆμ²νμ§ μμ κ²μ λλ€.
μΆμλ κΈκΌ΄ νμΌμ΄ μλ tufte.css
μλ§ μν₯μ λ―ΈμΉκ² μ£ ?
λ΄ ν μ€νΈλ ~4kbλ₯Ό μ μ½νλ κ²μΌλ‘ λνλ¬μ΅λλ€.
μ ν
μ€νΈμμ 12172 bytes
λ°μ΄νΈμμ 7839 bytes
λ°λμμ΅λλ€. μ΄κ²μ λ§μ κ²μ²λΌ λ€λ¦¬μ§ μμ μλ μμ§λ§ λͺ¨λ κ²μ΄ μ€μν©λλ€. autoprefixer -part λ μ΄λ₯Ό μ΅μννκ³ μ μ§ κ΄λ¦¬νλ λ° λμμ΄ λ κ²μ΄λΌκ³ μκ°ν©λλ€.
νμ¬ μ¬μ©νμ§ μλ 곡κΈμ 체 μ λμ¬λ₯Ό λ§μ΄ μ μνκ³ μμ΅λλ€. μ΄λ¬ν μ λμ¬λ Google λ° Firefoxμ μμ£Ό μ€λλ λ²μ μμλ§ μ¬μ©λλ©° μ체μ μΌλ‘ μ λ°μ΄νΈλλ―λ‘ μ΄μ λ²μ μ μ¬μ©νλ λ³Έλ¬Έμ κ±°μ μμ΅λλ€. μ΄κ²μ CSS νμΌμ λΆν릴 λΏμ΄λ©° CSSλ νμ΄μ§ λ λλ§μ λ§€μ° μ€μν©λλ€.
κΈκΌ΄μ μν₯μ λ°μ§ μμΌλ©° woff2
λ μ΄λ―Έ μμΆλμ΄ μμ΅λλ€. κ·Έλ¬λ Google Font λλ λ€λ₯Έ μλΉμ€μ μ‘΄μ¬νλ κ²½μ° μΊμ±μ ν΅ν΄ μ½κ°μ μ΄λμ μ»μ μ μμ΅λλ€. μ΄λ κ² νλ©΄ λ€λ₯Έ μ¬λλ€μ΄ κΈκΌ΄μ λ μ½κ² μ‘μΈμ€ν μ μμ΅λλ€. μ§κΈ λΉμ₯ λ€μ΄λ‘λν΄μΌ νμ§λ§ CDN(Content Delivery Network)μμ κΈκΌ΄μ μ¬μ©ν μ μμ μλ μμ΅λλ€.
μλ§λ κ°μ₯ ν° μ΄μ μ μΉ μ¬μ΄νΈμ Critical CSSλ₯Ό htmlμ μΈλΌμΈνλ κ²μ λλ€. μ΄λ λΉλ λ¨κ³μμλ μνν μ μμ§λ§ μ€νμΌμ μ¬μ©νλ λ€λ₯Έ μ¬λλ€μκ²λ λμμ΄ λμ§ μμ΅λλ€.
λ§μ μΉ νλ‘μ νΈλ μ΄μ npmμ ν¨ν€μ§ κ΄λ¦¬μλ‘ μ¬μ©ν©λλ€. λΉλ λ¨κ³μ ν¨κ» package.json νμΌμ ν¬ν¨νκ³ ν¨ν€μ§λ₯Ό npm λ μ§μ€νΈλ¦¬μ κ²μνλ©΄ μ’μ κ²μ λλ€. μ΄λ κ² νλ©΄ μ½κ² μ€μΉ, κ°μ Έμ€κΈ° λ° μ κ·Έλ μ΄λν μ μμ΅λλ€.
@Saturate λ°©κΈ κ·νμ μ견μμ μ΄ λΆλΆμ μμ ν μμμ°¨λ Έμ΅λλ€.
νμ¬ μ¬μ©νμ§ μλ 곡κΈμ 체 μ λμ¬λ₯Ό λ§μ΄ μ μνκ³ μμ΅λλ€. μ΄λ¬ν μ λμ¬λ Google λ° Firefoxμ μμ£Ό μ€λλ λ²μ μμλ§ μ¬μ©λλ©° μ체μ μΌλ‘ μ λ°μ΄νΈλλ―λ‘ μ΄μ λ²μ μ μ¬μ©νλ λ³Έλ¬Έμ κ±°μ μμ΅λλ€. μ΄κ²μ CSS νμΌμ λΆν리λ κ²λΏμ λλ€.
Tuft CSSκ° μ΄ μμ
μ μννλ μμΉλ₯Ό μ μ μμ΅λλ€. μλ μ λμ¬λ₯Ό ν΅ν΄ μ€ννλ©΄ μΌλΆ background-size
λ§ μμ λ©λλ€. μ¬κΈ°μ μ μ¬μ μΌλ‘ μμ λ μ½λκ° λ μμ΅λκΉ?
κ°μ₯ μ μ©ν λκΈ
λ§μ μΉ νλ‘μ νΈλ μ΄μ npmμ ν¨ν€μ§ κ΄λ¦¬μλ‘ μ¬μ©ν©λλ€. λΉλ λ¨κ³μ ν¨κ» package.json νμΌμ ν¬ν¨νκ³ ν¨ν€μ§λ₯Ό npm λ μ§μ€νΈλ¦¬μ κ²μνλ©΄ μ’μ κ²μ λλ€. μ΄λ κ² νλ©΄ μ½κ² μ€μΉ, κ°μ Έμ€κΈ° λ° μ κ·Έλ μ΄λν μ μμ΅λλ€.