थीमिंग बूटस्ट्रैप
सुलभथीमिंग् तथा घटकपरिवर्तनार्थं वैश्विकशैलीप्राथमिकतानां कृते अस्माकं नूतननिर्मितसास्सचरैः सह Bootstrap 4 अनुकूलितं कुर्वन्तु।
Bootstrap 3 इत्यस्मिन्, theming बहुधा LESS इत्यस्मिन् variable overrides, custom CSS, तथा च पृथक् theme stylesheet इत्यनेन चालितम् आसीत् यत् वयं अस्माकं dist
सञ्चिकासु समाविष्टवन्तः । किञ्चित् प्रयत्नेन कोऽपि कोर-सञ्चिकाः न स्पृशन् Bootstrap 3 इत्यस्य रूपं पूर्णतया पुनः परिकल्पयितुं शक्नोति स्म । बूटस्ट्रैप् ४ परिचितं, परन्तु किञ्चित् भिन्नं दृष्टिकोणं प्रदाति ।
अधुना, Theming Sass variables, Sass maps, custom CSS इत्यनेन च सम्पाद्यते । तत्र अधिकं समर्पितं विषयशैलीपत्रकं नास्ति; तस्य स्थाने, भवन्तः अन्तःनिर्मितं विषयं ग्रेडिएण्ट्, छाया, इत्यादीनि योजयितुं सक्षमं कर्तुं शक्नुवन्ति ।
चर, नक्शा, मिक्सिन्, इत्यादीनां लाभं ग्रहीतुं अस्माकं स्रोत Sass सञ्चिकानां उपयोगं कुर्वन्तु ।
यदा यदा सम्भवं तदा Bootstrap इत्यस्य मूलसञ्चिकानां परिवर्तनं परिहरन्तु । Sass कृते, तस्य अर्थः अस्ति यत् Bootstrap इत्यस्य आयातं कृत्वा स्वस्य stylesheet रचयतु येन भवान् तत् परिवर्तयितुं विस्तारयितुं च शक्नोति । भवान् npm इव संकुलप्रबन्धकं उपयुङ्क्ते इति कल्पयित्वा, भवतां समीपे एतादृशी सञ्चिकासंरचना भविष्यति ।
यदि भवान् अस्माकं स्रोतसञ्चिकाः अवतरितवान् अस्ति तथा च संकुलप्रबन्धकस्य उपयोगं न करोति तर्हि भवान् तस्याः संरचनायाः सदृशं किमपि मैन्युअल् रूपेण सेटअप कर्तुम् इच्छति, Bootstrap इत्यस्य स्रोतसञ्चिकाः स्वस्य सञ्चिकाभ्यः पृथक् स्थापयित्वा
भवतः custom.scss
, भवन्तः Bootstrap इत्यस्य स्रोतः Sass सञ्चिकाः आयातयिष्यन्ति । भवतः समीपे द्वौ विकल्पौ स्तः: Bootstrap इत्यस्य सर्वाणि समाविष्टानि, अथवा भवतः आवश्यकानि भागानि चिन्वन्तु । वयं उत्तरं प्रोत्साहयामः, यद्यपि अवगताः भवन्तु यत् अस्माकं घटकेषु काश्चन आवश्यकताः आश्रयाः च सन्ति । अस्माकं प्लगिन्स् कृते भवद्भिः अपि किञ्चित् जावास्क्रिप्ट् समाविष्टं कर्तव्यं भविष्यति ।
तत् सेटअप स्थाने कृत्वा, भवान् स्वस्य custom.scss
. // Optional
आवश्यकतानुसारं विभागस्य अधः Bootstrap इत्यस्य भागान् योजयितुं अपि आरभुं शक्नुवन्ति । अस्माकं bootstrap.scss
सञ्चिकातः पूर्णं import stack इत्यस्य उपयोगं भवतः आरम्भबिन्दुरूपेण कर्तुं वयं सुचयामः ।
Bootstrap 4 इत्यस्मिन् प्रत्येकं Sass चरं !default
ध्वजं समावेशयति यत् भवन्तं Bootstrap इत्यस्य स्रोतसङ्केतं परिवर्तयित्वा स्वस्य Sass मध्ये चरस्य पूर्वनिर्धारितमूल्यं अधिलिखितुं शक्नोति आवश्यकतानुसारं चरानाम् प्रतिलिपिं कृत्वा चिनोतु, तेषां मूल्यानि परिवर्तयन्तु, !default
ध्वजं च निष्कासयन्तु । यदि कश्चन चरः पूर्वमेव नियुक्तः अस्ति, तर्हि Bootstrap मध्ये पूर्वनिर्धारितमूल्यैः पुनः नियुक्तः न भविष्यति ।
एकस्मिन् एव Sass सञ्चिकायाः अन्तः चर-अभिलेखाः पूर्वनिर्धारित-चरानाम् पूर्वं वा पश्चात् वा आगन्तुं शक्नुवन्ति । तथापि, Sass सञ्चिकासु ओवरराइड् करणसमये, Bootstrap इत्यस्य Sass सञ्चिकानां आयातात् पूर्वं भवतः ओवरराइड् अवश्यमेव आगन्तुं भवति ।
अत्र एकं उदाहरणं यत् npm मार्गेण Bootstrap आयातं संकलनं च कुर्वन् background-color
and color
for the परिवर्तयति:<body>
Bootstrap इत्यस्मिन् कस्यापि चरस्य कृते यथा आवश्यकं पुनरावृत्तिं कुर्वन्तु, अधः वैश्विकविकल्पाः अपि सन्ति ।
Bootstrap 4 इत्यस्मिन् Sass मानचित्रस्य मुष्टिभ्यां, कुञ्जीमूल्ययुग्मानि सन्ति ये सम्बन्धित-CSS-परिवारानाम् उत्पन्नं सुलभं कुर्वन्ति । वयं अस्माकं वर्णानाम्, ग्रिड् ब्रेकपॉइण्ट्, इत्यादीनां कृते Sass maps इत्यस्य उपयोगं कुर्मः । Sass चर इव सर्वेषु Sass मानचित्रेषु !default
ध्वजः समाविष्टः भवति तथा च अधिलिखितुं विस्तारयितुं च शक्यते ।
अस्माकं केचन Sass maps पूर्वनिर्धारितरूपेण रिक्तेषु विलीनाः भवन्ति । एतत् दत्तस्य Sass मानचित्रस्य सुलभविस्तारस्य अनुमतिं दातुं क्रियते, परन्तु मानचित्रात् वस्तूनि निष्कासयितुं किञ्चित् कठिनं कर्तुं व्ययेन आगच्छति
अस्माकं मानचित्रे विद्यमानं वर्णं परिवर्तयितुं $theme-colors
, स्वस्य कस्टम् Sass सञ्चिकायां निम्नलिखितम् योजयन्तु ।
-इत्यत्र नूतनं वर्णं $theme-colors
योजयितुं नूतनं कीलं मूल्यं च योजयन्तु :
$theme-colors
, अथवा अन्यस्मात् मानचित्रात् वर्णं निष्कासयितुं , : उपयुज्यताम् map-remove
:
Bootstrap Sass maps अन्तः केषाञ्चन विशिष्टानां कीलानां उपस्थितिं गृह्णाति यथा वयं स्वयमेव एतान् उपयुज्य विस्तारयामः । यथा भवन्तः समाविष्टानि मानचित्राणि अनुकूलयन्ति तथा तथा भवन्तः त्रुटयः सम्मुखीकुर्वन्ति यत्र विशिष्टस्य Sass मानचित्रस्य कुञ्जी उपयुज्यते ।
यथा, वयं लिङ्क्, बटन्, फार्म स्टेट्स् इत्येतयोः कृते primary
, success
, तथा च danger
कीलानि उपयुञ्ज्महे । $theme-colors
एतेषां कीलानां मूल्यानि प्रतिस्थापयित्वा कोऽपि समस्याः न उपस्थापनीयाः, परन्तु तान् निष्कासयितुं Sass संकलनसमस्याः उत्पद्यन्ते । एतेषु दृष्टान्तेषु, भवद्भिः तानि मूल्यानि उपयुज्यमानं Sass कोड् परिवर्तयितुं आवश्यकं भविष्यति ।
बूटस्ट्रैप् अनेकाः Sass कार्याणि उपयुज्यते, परन्तु सामान्यविषयीकरणे केवलं उपसमूहः एव प्रयोज्यः भवति । वर्णमानचित्रेभ्यः मूल्यानि प्राप्तुं वयं त्रीणि कार्याणि समाविष्टवन्तः:
एते भवन्तं Sass मानचित्रात् एकं वर्णं चिन्वितुं शक्नुवन्ति यथा भवान् v3 तः वर्णचरस्य उपयोगं कथं करिष्यति ।
नक्शातः वर्णस्य विशेषस्तरं प्राप्तुं अस्माकं अन्यत् कार्यं अपि अस्ति । $theme-colors
नकारात्मकस्तरमूल्यानि वर्णं प्रकाशयिष्यन्ति, उच्चस्तराः तु कृष्णवर्णं करिष्यन्ति ।
व्यवहारे, भवान् फंक्शन् आह्वयति तथा च द्वौ पैरामीटर् मध्ये पारयिष्यति: $theme-colors
(उदा., प्राथमिकं वा खतरा वा) तः वर्णस्य नाम तथा च संख्यात्मकस्तरः ।
अतिरिक्तकार्यं भविष्ये योजितुं शक्यते अथवा अतिरिक्त Sass मानचित्रस्य कृते स्तरकार्यं निर्मातुं स्वस्य कस्टम् Sass योजितुं शक्यते, अथवा सामान्यं अपि यदि भवान् अधिकं वर्बोस् भवितुम् इच्छति।
एकं अतिरिक्तं कार्यं वयं Bootstrap मध्ये समाविष्टं कुर्मः color contrast function, color-yiq
. इदं निर्दिष्टस्य आधारवर्णस्य आधारेण स्वयमेव प्रकाशं ( ) अथवा गहरे ( ) विपरीतवर्णं प्रत्यागन्तुं YIQ वर्णस्थानस्य उपयोगं करोति । इदं कार्यं विशेषतया mixins अथवा loops कृते उपयोगी भवति यत्र भवान् बहुवर्गान् जनयति ।#fff
#111
यथा, अस्माकं $theme-colors
मानचित्रात् वर्णस्य नमूनानि जनयितुं :
एकवारं विपरीतता आवश्यकतानां कृते अपि अस्य उपयोगः कर्तुं शक्यते:
अस्माकं color map functions इत्यनेन अपि भवान् आधारवर्णं निर्दिष्टुं शक्नोति:
$enable-*
अस्माकं निर्मित-अनुकूल-चर-सञ्चिकायाः सह Bootstrap 4 अनुकूलितं कुर्वन्तु तथा च नूतन- Sass-चर- सहितं वैश्विक-CSS-प्राथमिकताम् सहजतया टॉगलं कुर्वन्तु । चरस्य मूल्यं अधिलिखयन्तु npm run test
तथा आवश्यकतानुसारं सह पुनः संकलयन्तु ।
_variables.scss
अस्माकं सञ्चिकायां मुख्यवैश्विकविकल्पानां कृते एतानि चराः अन्वेष्टुं अनुकूलितुं च शक्नुवन्ति ।
चर इति | मूल्यानि | वर्णनम् |
---|---|---|
$spacer |
1rem (पूर्वनिर्धारित), अथवा किसी भी मान > 0 |
अस्माकं स्पेसर उपयोगितानि प्रोग्रामेटिकरूपेण जनयितुं पूर्वनिर्धारितं स्पेसर मूल्यं निर्दिशति | |
$enable-rounded |
true (पूर्वनिर्धारित) orfalse |
विभिन्नघटकानाम् उपरि पूर्वनिर्धारितशैल्याः सक्षमीकरणं करोति border-radius । |
$enable-shadows |
true अथवा false (पूर्वनिर्धारित) . |
विभिन्नघटकानाम् उपरि पूर्वनिर्धारितशैल्याः सक्षमीकरणं करोति box-shadow । |
$enable-gradients |
true अथवा false (पूर्वनिर्धारित) . |
background-image विभिन्नघटकानाम् उपरि शैल्याः माध्यमेन पूर्वनिर्धारितप्रवणतां सक्षमं करोति । |
$enable-transitions |
true (पूर्वनिर्धारित) orfalse |
विभिन्नघटकानाम् उपरि पूर्वनिर्धारितं transition s सक्षमं करोति । |
$enable-hover-media-query |
true अथवा false (पूर्वनिर्धारित) . |
अप्रचलित |
$enable-grid-classes |
true (पूर्वनिर्धारित) orfalse |
ग्रिड्-प्रणाल्याः कृते CSS-वर्गाणां जननं सक्षमं करोति (उदा., .container , .row , .col-md-1 , इत्यादि) । |
$enable-caret |
true (पूर्वनिर्धारित) orfalse |
पर छद्म तत्व caret सक्षम करता है .dropdown-toggle । |
$enable-print-styles |
true (पूर्वनिर्धारित) orfalse |
मुद्रणस्य अनुकूलनार्थं शैल्याः सक्षमीकरणं करोति । |
Bootstrap इत्यस्य बहवः विविधाः घटकाः उपयोगिताश्च Sass मानचित्रे परिभाषितवर्णानां श्रृङ्खलायाः माध्यमेन निर्मिताः सन्ति । एतत् मानचित्रं Sass मध्ये लूप् कृत्वा शीघ्रं नियमसमूहानां श्रृङ्खलां जनयितुं शक्यते ।
Bootstrap 4 इत्यस्मिन् उपलभ्यमानाः सर्वे वर्णाः, अस्माकं scss/_variables.scss
सञ्चिकायां Sass variables इत्यस्य रूपेण अपि च Sass map इत्यस्य रूपेण उपलभ्यन्ते । अतिरिक्तछायाः योजयितुं अनन्तरेषु लघुविमोचनेषु एतत् विस्तारितं भविष्यति, यथा वयं पूर्वमेव समाविष्टं ग्रेस्केल-पैलेट् ।
अत्र भवन्तः स्वस्य Sass मध्ये एतानि कथं उपयोक्तुं शक्नुवन्ति:
सेट् कृते अपि च वर्ण उपयोगिता वर्गाः उपलभ्यन्ते color
तथा च background-color
.
भविष्ये वयं प्रत्येकस्य वर्णस्य छायानां कृते Sass maps तथा variables प्रदातुं लक्ष्यं करिष्यामः यथा वयं अधः grayscale वर्णैः सह कृतवन्तः ।
वयं सर्वेषां वर्णानाम् उपसमूहस्य उपयोगं कुर्मः यत् वर्णयोजनानि जनयितुं लघुतरं वर्णपैलेट् निर्मातुं शक्नुमः, यत् अस्माकं scss/_variables.scss
सञ्चिकायां Sass variables इति अपि उपलभ्यते तथा च Sass map इति ।
ग्रे चरानाम् एकः विस्तृतः समुच्चयः तथा च scss/_variables.scss
भवतः परियोजनायां ग्रे इत्यस्य सुसंगतछायाणां कृते एकः Sass map in।
, इत्यस्य अन्तः _variables.scss
भवन्तः अस्माकं color variables तथा Sass map इत्येतत् प्राप्नुवन्ति । $colors
अत्र सास् मानचित्रस्य उदाहरणम् अस्ति :
अन्येषु बह्वीषु घटकेषु तेषां उपयोगः कथं भवति इति अद्यतनीकर्तुं नक्शे अन्तः मूल्यानि योजयन्तु, निष्कासयन्तु, परिवर्तयन्तु वा । दुर्भाग्येन अस्मिन् समये प्रत्येकं घटकम् अस्य Sass मानचित्रस्य उपयोगं न करोति । भविष्ये अद्यतनसूचनानि अस्मिन् सुधारयितुम् प्रयतन्ते। तावत्पर्यन्तं ${color}
चरानाम् अस्य च Sass map इत्यस्य उपयोगं कर्तुं योजनां कुर्वन्तु ।
Bootstrap इत्यस्य बहवः घटकाः उपयोगिताश्च @each
लूप् इत्यनेन सह निर्मिताः सन्ति ये Sass मानचित्रस्य उपरि पुनरावृत्तिं कुर्वन्ति । अस्माकं द्वारा घटकस्य रूपान्तराणि जनयितुं $theme-colors
प्रत्येकस्य भङ्गबिन्दुस्य कृते प्रतिक्रियाशीलरूपान्तराणि निर्मातुं च एतत् विशेषतया सहायकं भवति । यथा भवान् एतानि Sass मानचित्राणि अनुकूलितं करोति पुनः संकलयति च तथा तथा भवान् स्वयमेव एतेषु लूप्स् मध्ये प्रतिबिम्बितानि स्वपरिवर्तनानि पश्यति ।
Bootstrap इत्यस्य बहवः घटकाः आधार-संशोधकवर्ग-पद्धत्या निर्मिताः सन्ति । अस्य अर्थः अस्ति यत् स्टाइलिंग् इत्यस्य बृहत् भागः आधारवर्गे (उदा., .btn
) समाविष्टः भवति यदा शैलीविविधताः परिवर्तकवर्गेषु (उदा., .btn-danger
) सीमिताः सन्ति । $theme-colors
एते modifier classes अस्माकं modifier classes इत्यस्य संख्यां नाम च अनुकूलनं कर्तुं map तः निर्मिताः सन्ति ।
अत्र द्वौ उदाहरणौ स्तः यत् वयं कथं $theme-colors
map इत्यस्य उपरि लूप् कृत्वा घटकं प्रति परिवर्तकान् जनयितुं .alert
शक्नुमः तथा च अस्माकं सर्वाणि .bg-*
पृष्ठभूमि-उपयोगितानि सन्ति ।
एते Sass लूप्स् केवलं वर्णनक्शेषु एव सीमिताः न सन्ति, अपि च । भवान् स्वघटकानाम् अथवा उपयोगितानां प्रतिक्रियाशीलविविधतां अपि जनयितुं शक्नोति । उदाहरणार्थं अस्माकं responsive text alignment utilities गृह्यताम् यत्र वयं Sass map @each
कृते एकं loop $grid-breakpoints
इत्येतत् media query include इत्यनेन सह मिश्रयामः ।
यदि भवन्तः $grid-breakpoints
स्वस्य परिवर्तनं कर्तुं प्रवृत्ताः भवेयुः तर्हि तस्य मानचित्रस्य उपरि पुनरावृत्तिं कुर्वन्तः सर्वेषु लूप्स् मध्ये भवतः परिवर्तनानि प्रवर्तन्ते ।
Bootstrap 4 इत्यस्य संकलिते CSS इत्यस्मिन् प्रायः द्वौ दर्जनौ CSS कस्टम् गुणाः (चराः) समाविष्टाः सन्ति । एते भवतः ब्राउजर्-निरीक्षके, कोड-सैण्डबॉक्स-मध्ये, सामान्य-प्रोटोटाइपिङ्ग्-करणं वा कार्यं कुर्वन् अस्माकं विषय-रङ्गाः, ब्रेक-पॉइण्ट्-इत्यादीनि प्राथमिक-फॉन्ट-स्टैक्स् इत्यादीनां सामान्यतया प्रयुक्तानां मूल्यानां सुलभ-प्रवेशं प्रदास्यन्ति
अत्र वयं समाविष्टाः चराः सन्ति (ध्यायन्तु यत् the :root
आवश्यकम् अस्ति) । ते अस्माकं _root.scss
सञ्चिकायां स्थिताः सन्ति।
CSS चराः Sass इत्यस्य चरानाम् समानं लचीलतां प्रदास्यन्ति, परन्तु ब्राउजर् प्रति सेवितुं पूर्वं संकलनस्य आवश्यकतां विना । यथा, अत्र वयं अस्माकं पृष्ठस्य font तथा link styles CSS variables इत्यनेन पुनः सेट् कुर्मः ।
भवान् अस्माकं breakpoint variables इत्यस्य अपि उपयोगं स्वस्य media queries इत्यत्र कर्तुं शक्नोति: