उपयोगकर्ताओं के हिसाब से फ़ेविकॉन बनाना

अडैप्टिव फ़ेविकॉन बनाने के तरीके के बारे में बुनियादी जानकारी.

इस पोस्ट में, हम SVG की मदद से अडैप्टिव फ़ेविकॉन बनाने के तरीके के बारे में बताना चाहते हैं. डेमो आज़माएं.

macOS सिस्टम की लाइट और डार्क थीम में हुए बदलावों के हिसाब से, ब्राउज़र टैब में हुए बदलाव दिखाए गए हैं. डेमो आज़माएं

अगर आपको वीडियो देखना पसंद है, तो यहां इस पोस्ट का YouTube वर्शन दिया गया है:

खास जानकारी

पसंद के मुताबिक बनाया गया फ़ेविकॉन, किसी वेब प्रोजेक्ट को बेहतर बनाने का शानदार तरीका है. यह डेस्कटॉप ब्राउज़र के टैब पर दिखता है. साथ ही, "बाद में पढ़ने के लिए सेव करें", आपकी साइट से लिंक की गई अन्य ब्लॉग पोस्ट वगैरह में भी दिखता है. आम तौर पर, ऐसा .ico फ़ाइल टाइप की मदद से किया जाता है. हालांकि, हाल ही में ब्राउज़र ने SVG फ़ाइल का इस्तेमाल करने की अनुमति दी है. यह वेक्टर फ़ॉर्मैट होता है. धीरे-धीरे बेहतर बनाने की सुविधा का इस्तेमाल करके, .ico फ़ैविकॉन दिखाए जा सकते हैं. साथ ही, अगर उपलब्ध हो, तो .svg पर अपग्रेड किया जा सकता है.

SVG फ़ाइलों को क्वालिटी में बदलाव किए बिना, बड़े और छोटे किए जा सकते हैं. साथ ही, इनका साइज़ बहुत छोटा हो सकता है. इनमें एम्बेड की गई सीएसएस और मीडिया क्वेरी भी हो सकती हैं. इसका मतलब है कि अगर किसी रीडर ऐप्लिकेशन या बुकमार्क बार में SVG फ़ैविकन का इस्तेमाल किया जाता है, तो हो सकता है कि उपयोगकर्ता को थीम के हिसाब से (हल्का या गहरा) आइकॉन दिखे. ऐसा, SVG में दी गई गहरे रंग की प्राथमिकता वाली स्टाइल की वजह से होता है. इसके बाद, एसवीजी, उपयोगकर्ता की पसंद के हिसाब से लाइट और डार्क मोड में बदल जाता है.

हल्के और गहरे रंग वाले फ़ेविकॉन के उदाहरण, जिनमें बड़े और आसानी से अंतर किए जा सकते हैं.

हर ब्राउज़र में लाइट और डार्क टैब, जो ऊपर से नीचे तक, 
    अडैप्टिव आइकॉन की खास जानकारी देते हैं: 
    Safari, Firefox, Chrome.
हर ब्राउज़र में हल्के और गहरे रंग के टैब, ऊपर से नीचे तक अडैप्टिव आइकॉन की खास जानकारी देते हैं: Safari, Firefox, Chrome.

मार्कअप

SVG मार्कअप XML है, जो .svg फ़ाइल टाइप एक्सटेंशन का इस्तेमाल करता है. इसकी मदद से, यह ज़्यादा डाइनैमिक टाइप के कोड को होल्ड कर सकता है.

favicon.svg बनाकर शुरू करें

favicon.svg नाम से नई फ़ाइल बनाएं और इसमें ये चीज़ें जोड़ें:

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 400">

</svg>

यह रही मेरी SVG फ़ाइल. मैंने अपने आर्टवर्क के हिसाब से viewBox का साइज़ तय किया है:

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 447 428">

</svg>

आकार और पाथ जोड़ना

इसके बाद, SVG पाथ कोड जोड़ें. आम तौर पर, इसका मतलब है कि SVG को कोड एडिटर में खोलना, लेकिन आम तौर पर वह कोड लोगों के लिए आसान नहीं होता. डिज़ाइन टूल से SVG एक्सपोर्ट करने और उसे ऑप्टिमाइज़ करने के बारे में बताने वाली एक बेहतरीन गाइड यहां दी गई है.

इस जीयूआई चैलेंज का आर्टवर्क, एक ऐसे डिज़ाइनर ने बनाया है जिसने इसे Adobe Illustrator में बनाया था. मैंने इसे काफ़ी बेहतर बनाया है. मैंने इसे SVGOMG के ज़रिए चलाया और फिर मैन्युअल तरीके से उसमें मौजूद ग़ैर-ज़रूरी चीज़ों को हटाया.

यहां मेरे skull आर्टवर्क पाथ ग्रुप का उदाहरण दिया गया है. इसमें, ग़ैर-ज़रूरी वर्णों को हटाने के बाद का डेटा दिख रहा है:

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 447 428">
  <g id="skull">
    <path id="skull-outline" class="favicon-stroke" stroke-linejoin="round" d="M19.62 188.39A166.62 166.62 0 0 1 186.24 21.77c115.25 0 166.61 74.59 166.61 166.62 0 1.83-.08 3.64-.13 5.46h.13s.68 175.09.68 178.65c0 30.11-16.26 41.67-36.32 41.67-12.7 0-35.22-3.93-36.22-32.69h-.2c-1 28.76-16.81 32.69-36.22 32.69-18 0-32.87-6.78-35.77-32.53-2.9 25.75-17.8 32.53-35.8 32.53-20.06 0-36.32-11.56-36.32-41.67 0-2.48.36-24.88.36-24.88A166.68 166.68 0 0 1 19.62 188.39Z" />
    <path id="eyes-and-nose" d="M180.77 205.76c0 23.64 12.84 42.81 28.68 42.81s28.68-19.17 28.68-42.81-12.84-42.82-28.68-42.82-28.68 19.17-28.68 42.82M275 205.76c0 23.64 12.84 42.81 28.68 42.81s28.68-19.17 28.68-42.81-12.84-42.82-28.68-42.82S275 182.11 275 205.76M264.51 276.85s-29.26 43.53-20.12 49.23c7.07 4.41 20.49-16.71 20.49-16.71s12.82 22.58 16.76 20c16.24-10.71-17.13-52.5-17.13-52.5"/>
    <path id="jawline" class="favicon-stroke" fill="none" stroke-linecap="round" d="M114.92 284.33c22.54-1 22 7 22 62.48" />
  </g>
</svg>

#eyes-and-nose जैसे आईडी सिलेक्टर और .favicon-stroke जैसी क्लास पर ध्यान दें. इन्हें आसानी से पढ़ा जा सकता है. ये सीएसएस के लिए तैयार किए गए, मेरे हाथ से किए गए बदलाव हैं. आपके एसवीजी को अडैप्टिव फ़ैविकॉन बनाने के लिए, क्लास और आईडी जोड़ने की ज़रूरत नहीं है.

अपने एचटीएमएल के <head> टैग में, .ico फ़ेविकॉन के बाद, यह जोड़ें:

<link rel="icon" href="/favicon.ico" sizes="any">
<link rel="icon" href="/favicon.svg" type="image/svg+xml">

नया आइकॉन, .ico वर्शन जैसा दिख सकता है. इसलिए, पुष्टि करें कि इसका इस्तेमाल किया जा रहा है. DevTools का नेटवर्क पैनल खोलें. इमेज के हिसाब से फ़िल्टर करें और फ़ैविकन खोजें:

DevTools के नेटवर्क पैनल का स्क्रीनशॉट, जिसमें फ़ेविकॉन के लिए खोज करने वाला फ़िल्टर और फ़ेविकॉन.svg रिसॉर्स हाइलाइट किया गया है.

स्टाइल

एचटीएमएल की तरह, मार्कअप में <style> टैग जोड़ा जा सकता है, ताकि उस दस्तावेज़ के दायरे के लिए उसका इस्तेमाल किया जा सके:

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 447 428">
  <style>
    
  </style>
  …
</svg>

हल्के रंग वाली थीम का वर्शन, मेरे फ़ैविकॉन SVG का डिफ़ॉल्ट रंग होगा. मैंने इसके लिए ज़्यादातर स्ट्रोक और भरने के रंग वाले स्टाइल लिखे थे:

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 447 428">
  <style>
    .favicon-stroke {
      stroke-width: 8px;
      stroke: #8929ff;
    }
    #skull-outline { fill: white }
    #eyes-and-nose, #hat-outline { fill: #8929ff }
    #hat-fill, #hat-bill { fill: #e662e6 }
  </style>
  
</svg>

हल्के रंग वाली थीम में फ़ैविकॉन की झलक का उदाहरण.

इसके बाद, सबसे मज़ेदार हिस्सा आता है. इसमें आपको अपने फ़ेविकॉन के डार्क थीम वर्शन को स्टाइल करना होता है. इसके लिए, स्टाइल टैग में मौजूद मीडिया क्वेरी में स्टाइल शामिल होंगी:

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 447 428">
  <style>
    
    @media (prefers-color-scheme: dark) {
      /* dark theme styles */
    }
  </style>
  
</svg>

DevTools का स्क्रीनशॉट, जिसमें गहरे रंग वाली थीम वाली मीडिया क्वेरी दिख रही है. यह SVG की आंखों और नाक के रंग को ओवरराइट कर रही है.

मेरा वीडियो कुछ ऐसा दिखता है:

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 447 428">
  <style>
    
    @media (prefers-color-scheme: dark) {
      .favicon-stroke { stroke: #343a40 }
      #skull-outline { fill: #adb5bd }
      #hat-outline { fill: #343a40 }
      #eyes-and-nose { fill: #343a40 }
    }
  </style>
  
</svg>

गहरे रंग वाली थीम के फ़ेविकॉन की झलक का उदाहरण.

मैंने चमकीले बैंगनी बॉर्डर को बदलकर, गहरे धूसर (#343a40) रंग का बॉर्डर चुना. साथ ही, खोपड़ी की हड्डी के रंग को सफ़ेद से हल्के धूसर (#adb5bd) रंग में बदला. हालांकि, मैंने पिंक रंग के ऐक्सेंट वाले टोपी को नहीं बदला.

हल्के और गहरे रंग वाले फ़ेविकॉन लोगो की साथ-साथ झलक देखें.

नतीजा

अब आपको पता है कि मैंने यह कैसे किया, तो आप कैसे करेंगे‽ 🙂

आइए, अलग-अलग तरीकों का इस्तेमाल करके, वेब पर कॉन्टेंट बनाने के सभी तरीके जानें. डेमो बनाएं और मुझे ट्वीट करें लिंक भेजें. हम इसे कम्यूनिटी रीमिक्स सेक्शन में जोड़ देंगे!

कम्यूनिटी रीमिक्स

  • मुझे इस तकनीक के बारे में यह पता चला: अपने ब्लॉग पर @tomayac