Ikkontribwixxi
Għin biex tiżviluppa Bootstrap bid-dokumentazzjoni tagħna tibni skripts u testijiet.
Setup tal-għodda
Bootstrap juża skripts npm biex jibni d-dokumentazzjoni u jikkompila fajls tas-sors. Il- pakkett.json tagħna fih dawn l-iskripts għall-kompilazzjoni tal-kodiċi, it-tmexxija tat-testijiet, u aktar. Dawn mhumiex maħsuba għall-użu barra mir-repożitorju u d-dokumentazzjoni tagħna.
Biex tuża s-sistema tal-bini tagħna u tħaddem id-dokumentazzjoni tagħna lokalment, ikollok bżonn kopja tal-fajls sors u Node ta' Bootstrap. Segwi dawn il-passi u inti għandek tkun lest biex rock:
- Niżżel u installa Node.js , li nużaw biex niġġestixxu d-dipendenzi tagħna.
- Jew niżżel is-sorsi ta' Bootstrap jew irażżel ir-repożitorju ta' Bootstrap .
- Innaviga lejn id-direttorju tal-għeruq
/bootstrap
u mexxinpm install
biex tinstalla d-dipendenzi lokali tagħna elenkati f'package.json .
Meta titlesta, tkun tista' tmexxi d-diversi kmandi pprovduti mil-linja tal-kmand.
Bl-użu ta 'skripts npm
Il- pakkett.json tagħna jinkludi bosta kompiti għall-iżvilupp tal-proġett. Mexxi npm run
biex tara l-iskripts npm kollha fit-terminal tiegħek. Il-kompiti primarji jinkludu:
Kompitu | Deskrizzjoni |
---|---|
npm start |
Jikkompila CSS u JavaScript, tibni d-dokumentazzjoni, u tibda server lokali. |
npm run dist |
Joħloq id- dist/ direttorju b'fajls ikkumpilati. Jeħtieġ Sass , Autoprefixer , u terser . |
npm test |
Tmexxi testijiet lokalment wara li taħdemnpm run dist |
npm run docs-serve |
Jibni u jmexxi d-dokumentazzjoni lokalment. |
Sass
Bootstrap juża Dart Sass għall-kompilazzjoni tal-fajls tas-sors Sass tagħna f'fajls CSS (inklużi fil-proċess tal-bini tagħna), u nirrakkomandaw li tagħmel l-istess jekk tkun qed tikkompila Sass billi tuża l-pipeline tal-assi tiegħek stess. Preċedentement użajna Node Sass għal Bootstrap v4, iżda LibSass u pakketti mibnija fuqu, inkluż Node Sass, issa huma deprecati .
Dart Sass juża preċiżjoni ta' arrotondament ta' 10 u għal raġunijiet ta' effiċjenza ma jippermettix aġġustament ta' dan il-valur. Aħna ma nnaqqsux din il-preċiżjoni waqt l-ipproċessar ulterjuri tas-CSS iġġenerat tagħna, bħal waqt il-minifikazzjoni, imma jekk għażilt li tagħmel hekk nirrakkomandaw li żżomm preċiżjoni ta' mill-inqas 6 biex tevita problemi bl-arrotondament tal-browser.
Autoprefisser
Bootstrap juża Autoprefixer (inkluż fil-proċess tal-bini tagħna) biex iżid awtomatikament prefissi tal-bejjiegħ għal xi proprjetajiet CSS fil-ħin tal-bini. Jekk tagħmel hekk tiffranka ħin u kodiċi billi tippermettilna niktbu partijiet ewlenin tas-CSS tagħna darba waħda filwaqt li telimina l-ħtieġa għal mixins tal-bejjiegħ bħal dawk misjuba f'v3.
Aħna nżommu l-lista ta 'browsers appoġġjati permezz ta' Autoprefixer f'fajl separat fi ħdan ir-repożitorju GitHub tagħna. Ara .browserslistrc għad-dettalji.
RTLCSS
Bootstrap juża RTLCSS biex jipproċessa CSS ikkumpilat u jikkonvertihom għal RTL - bażikament jissostitwixxi proprjetajiet konxji tad-direzzjoni orizzontali (eż. padding-left
) bl-oppost tagħhom. Jippermettilna niktbu biss is-CSS tagħna darba waħda u nagħmlu tweaks minuri billi tuża direttivi ta 'kontroll u valur RTLCSS .
Dokumentazzjoni lokali
It-tmexxija tad-dokumentazzjoni tagħna lokalment teħtieġ l-użu ta 'Hugo, li jiġi installat permezz tal- pakkett hugo-bin npm. Hugo huwa ġeneratur ta 'sit statiku blazingly veloċi u pjuttost estensibbli li jipprovdilna: jinkludi bażiku, fajls ibbażati fuq Markdown, mudelli, u aktar. Hawn kif tibda:
- Mexxi s- setup tal-għodda hawn fuq biex tinstalla d-dipendenzi kollha.
- Mid-
/bootstrap
direttorju tal-għeruq, mexxinpm run docs-serve
fil-linja tal-kmand. - Iftaħ
http://localhost:9001/
fil-browser tiegħek, u voilà.
Tgħallem aktar dwar l-użu ta' Hugo billi taqra d- dokumentazzjoni tiegħu .
Issolvi l-problemi
Jekk tiltaqa' ma' problemi bl-installazzjoni tad-dipendenzi, iddiżinstalla l-verżjonijiet tad-dipendenza preċedenti kollha (globali u lokali). Imbagħad, erġa' wettaq npm install
.