गीत
मैं सम्मानित हबर समुदाय के लिए अच्छे दिन की कामना करता हूं।
इसलिए पहला सितंबर बीत गया। पहली घंटी दफनाई गई, छुट्टी की गेंदों को लंगड़ा कर दिया गया, एक कोठरी में सफेद धनुष छिपाए गए थे। सुबह के शासकों ने शोर मचाया, आस-पास के आंगनों के माध्यम से एक तेज-तर्रार गूँज सुनाई दी और, बार-बार घरों की दीवारों से परिलक्षित हुआ, गीत "
स्कूल में पढ़ाओ " गर्म शरद ऋतु के आकाश में भंग हो गया। शिक्षकों की मेज पर सुगंधित गुलदस्ते, फूलों ने अपने सिर को अलग-अलग दिशाओं में गिरा दिया, इसके बावजूद कि एस्पिरिन को पानी में रोज जोड़ा जाता है।
सप्ताह के अंत में, ग्रे, नीरस, केवल तथ्य यह है कि आज
शुक्रवार है, उन्हें थोड़ा उज्ज्वल कर सकता है। शरद ऋतु के पहले महीने के कठिन सप्ताह का पहला शुक्रवार।
जाहिरा तौर पर उदासीनता ने मुझे मारा, या शायद पुराने आलस्य ने एक सेकंड के लिए जाने दिया, लेकिन मुझे मॉनिटर से विभिन्न साहित्य पढ़ने की गुणवत्ता में सुधार करने का विचार मिला। बेशक, हर कोई कहेगा - जो अभी स्क्रीन से कुछ पढ़ रहा है? देखें कि आप किन उपकरणों को केवल उपयोग नहीं करते हैं, इसका उपयोग करें और किसी भी चीज़ के बारे में चिंता न करें। हालांकि, ऐसे समय होते हैं जब आप सिर्फ इस दूसरे को पढ़ना चाहते हैं, और पाठ डिजाइन की गुणवत्ता निराशाजनक है।
मैं वास्तव में पढ़ना पसंद करता हूं। अक्सर मुझे दिलचस्प कामों के लिंक मिलते हैं जो मैं तुरंत खोल देता हूं और ... मैं खुद को यह विश्वास दिलाता हूं कि आधे घंटे से अधिक समय बीत चुका है, और मैं इस जागरूकता के बाद खुद को दूर नहीं कर सकता हूं और दूसरा आधा घंटा बीत जाता है।
आखिरकार अपने आप पर हावी हो गया, मैं डाउनलोड करता हूं, अगर उपलब्ध है, तो fb2 संस्करण और फिर मैंने इसे मानवीय रूप से पढ़ा। लेकिन एक सुपाच्य रूप में सही काम करना हमेशा संभव नहीं होता है, और यह हमेशा इस रचनात्मकता का शिकार नहीं होता है, आपको बस "तिरछे" और उस सभी को देखना होगा। लेकिन आंखें आधिकारिक नहीं हैं।
मैंने अपने साहस को इकट्ठा किया और अपने घुटने पर एक छोटी सी पटकथा लिखी जिससे मुझे लंबे समय तक स्क्रीन से काफी आराम से पढ़ने में मदद मिली। और जो
संसाधन बहुत पहले नहीं था, उसे सॉफ्टलिंक के उपयोगकर्ता द्वारा हैबर पर
घोषित किया गया था
, मुझे इस विचार के लिए प्रेरित किया।
इस तरह की उपयोगी साइट को कैसे अनुकूलित किया जाए, यह सोचने में मुझे लंबा समय लगा और जब पढ़ने के साथ अगली कड़ी मेरे स्काइप पर गिर गई, तो मेरे सिर में मोज़ेक के सभी तत्व बन गए।
मैं अपने प्रयासों को उन सभी के साथ साझा करना चाहता हूं जो स्क्रीन से पढ़ना पसंद करते हैं।
सिद्धांत
मेरे कार्यस्थल में तीन ब्राउज़र लगातार खुले हैं
(चौथा एक जिसे मैं शायद ही कभी चालू करता हूं और फिर छड़ी के नीचे से) , उन सभी में मनमाने ढंग से जावास्क्रिप्ट कोड चलाने या उपयोगकर्ता स्क्रिप्ट को जोड़ने की क्षमता है। मैंने इस विशेष सुविधा का उपयोग किया।
पहली चीज़ जो मुझे करनी थी, वह उन संसाधनों की एक सूची संकलित करना था जिन पर मैं
ग्रेड देता हूँ, यहाँ कोई समस्या नहीं थी, यहाँ मेरी सूची है:
हैबर ,
गद्य ,
प्रवाह ,
कामवासना , आप जारी रख सकते हैं, लेकिन यह प्रयोगों के लिए पर्याप्त है।
मैंने विकास के साधनों को चालू किया और उन पृष्ठ तत्वों को चुना जिनके लिए मेरे रचनात्मक हस्तक्षेप की आवश्यकता होती है
(पाठ के थोक वाले ब्लॉक) ।
दूसरा है फोंट की एक सूची बनाना, जिसे देखने में मुझे मज़ा आएगा। इस क्षण में कोई कठिनाई नहीं है।
और फिर सब कुछ prosaic है और हर रोज, मैं कोड करने के लिए ले गया।
अभ्यास
स्क्रिप्ट का सार सामान्य है, पृष्ठ के शीर्ष पर मैं एक पैनल को हुक करता हूं जिसमें मैं फ़ॉन्ट और इसके आकार के लिए चयनकर्ताओं को डालता हूं, और इसलिए कि इंटरफ़ेस का यह हिस्सा पढ़ने के दौरान मुझे परेशान नहीं करता है, मैंने एक छोटे से ब्लॉक को संकुचित करके छिपाने की क्षमता जोड़ी है। ओह हाँ, मैं सुंदरता के बारे में भूल गया! बेशक मैं एक छाया जोड़ा!
एक अन्य बिंदु, सभी संसाधनों में jQuery जुड़ा हुआ नहीं है, और मैं अच्छाईयों को मना नहीं करना चाहता, इसलिए मैं इसे हुक करता हूं, यदि आवश्यक हो, तो पृष्ठ पर।
सब कुछ सही काम किया और बहुत ज्यादा डिबगिंग के बिना। काम लो।
EULAस्पॉइलर खोलकर आप निम्नलिखित शर्तों को स्वीकार करते हैं:
- लेखक, गुआदेलूप के स्थानीय निवासियों की तुलना में अंग्रेजी को बहुत खराब बोलते हैं,
- गोवनोकोडा की राशि (अंग्रेजी से। केवल-कोड) रोल ओवर,
- लेखक यह सब देखने में आपकी मदद करने में सक्षम नहीं होगा
फ़ॉन्ट स्विचरvar webFontBar = function webFontBar() { var fonts = { 'Hattori' : [ 'HattoriHanzoLight' ], 'Ubuntu' : [ 'UbuntuBold', 'UbuntuCondensedRegular', 'UbuntuLightRegular', 'UbuntuLightBold', 'UbuntuRegular' ], 'Blagovest' : [ 'blagovest' ], 'PTSans' : [ 'PTSansCaptionBold', 'PTSansNarrowRegular', 'PTSansRegular' ], 'Cuprum' : [ 'CuprumRegular', 'CuprumBold' ], 'PTMono' : [ 'Pt_monoregular' ], 'PTSerif' : [ 'PTSerifRegular', 'PTSerifBold', 'PTSerifCaptionRegular' ] }, sizes = { 'Force' : [ '16pt', '18pt', '20pt', '22pt', '24pt', '26pt' ], 'Standard' : [ 'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large' ], 'Percent' : [ '0.8em', '1.0em', '1.2em', '1.4em', '1.6em', '1.8em', '2.0em', '2.2em' ] }, selector = function selector(sel, text) { var name = ''; name += '<p>Choose ' + text + ': <select>'; jQuery.each(sel, function (key, val) { name += '<optgroup label="' + key + '">'; jQuery.each(val, function () { name += '<option>' + this + '</option>'; }); name += '</optgroup>'; }); name += '</select></p>'; return name; }, curFontGroup = '', curFont = '', curSize = '', myStyle = function myStyle(fntGrp) { return '<style id="myWebFont" type="text/css">@import "http://webfont.ru/font/import/' + fntGrp.toLowerCase() + '.css";</style>'; }, myContainer = ''; switch (window.location.hostname) { case 'flibusta.net' : myContainer = '#main'; break; case 'habrahabr.ru' : myContainer = '.content'; break; case 'www.proza.ru' : case 'proza.ru' : myContainer = '.text'; break; case 'lib.ru' : myContainer = 'pre'; break; default : myContainer = 'body'; break; } jQuery('#webfont').remove(); jQuery('<div></div>') .attr('id', 'webfont') .appendTo('body') .css({ 'position' : 'fixed', 'width' : '96%', 'top' : '0px', 'right' : '2%', 'display' : 'fixed', 'text-align' : 'center', 'background-color' : '#ffcc66', 'padding' : '0.1em 0.1em', 'font-family' : 'sans-serif', 'font-size' : '16px', 'overflow' : 'hidden', 'margin' : '0px 0px', 'box-shadow' : '0.1em 0.1em 0.3em 0.1em #333' }); jQuery('<span>[_]</span> ' + '<input type="text" value="' + myContainer + '" /> ' + '<p><a href="http://webfont.ru" target="_blank">webfont.ru</a> welcomes you! </p>' + selector(fonts, 'font') + ' ' + selector(sizes, 'size') ).appendTo('#webfont'); jQuery('#webfont').children().css({ 'margin' : '0px 0px', 'display' : 'inline' }); jQuery('#webfont span') .attr('title', 'Minimize') .css({ 'cursor' : 'pointer', 'font-weight' : 'bold', 'color' : '#36f' }) .toggle(function () { jQuery(this) .parent('#webfont') .width('2em') .children() .not('span') .css('display', 'none'); jQuery(this).attr('title', 'Maximize'); jQuery(this).text('[#]'); }, function () { jQuery(this) .parent('#webfont') .width('96%') .children() .css('display', 'inline'); jQuery(this).attr('title', 'Minimize'); jQuery(this).text('[_]'); }); jQuery('#webfont select') .change(function () { curFontGroup = jQuery('#webfont select:first option:selected').parent().attr('label'); curFont = jQuery('#webfont select:first option:selected').val(); curSize = jQuery('#webfont select:last option:selected').val(); var myPreviousStyle = jQuery('head style#myWebFont'); if(myPreviousStyle.text() !== '') { if(myPreviousStyle.text().match('.*import/(.*).css')[1] !== curFontGroup.toLowerCase()) { myPreviousStyle.remove(); jQuery(myStyle(curFontGroup)).appendTo('head'); } } else { jQuery(myStyle(curFontGroup)).appendTo('head'); } jQuery(jQuery('#webfont input').val()) .css({ 'font-family' : curFont, 'font-size' : curSize, 'line-height' : '1.4em' }); }); }, startMyFontSwitcher = function startMyFontSwitcher() { if (window.jQuery === undefined) { var jq = document.createElement('script'); jq.setAttribute('type', 'text/javascript'); jq.setAttribute('src', 'http://code.jquery.com/jquery.min.js'); document.head.appendChild(jq); jq.addEventListener('load', function () { webFontBar(); }, false); } else { webFontBar(); } }; startMyFontSwitcher();
बोनस
आप अपनी परियोजनाओं में इस कोड का उपयोग कर सकते हैं, जिसमें खुले फोंट का उपयोग करने, सूची को सही करने और व्यक्तिगत रूप से इसे सॉर्ट करने की आवश्यकता है, जब तक कि स्क्रीन पर सद्भाव प्रकट न हो।
और सबसे महत्वपूर्ण बात यह है कि
मिथोलोल ने एक स्पार्कलिंग ओल्ड बिलीवर भाषण के साथ एक टिप्पणी छोड़ने के लिए इंतजार करने के बाद,
ब्लागॉवेस्ट फ़ॉन्ट को ब्लॉक पर रखा, और न केवल फॉर्म जटिलता और भाषण के लचीलेपन की प्रशंसा करते हैं, बल्कि नेत्रहीन इसे मेल खाते हैं
(बुराई से नहीं, बस असली मामले थे जब मैं खुद को उचित रूप से बनाई गई समीक्षाओं से दूर नहीं कर सका, तो मैंने तीन बार फिर से पढ़ा) ।
इच्छा-सूची
यदि यह "टूल" मेरे अलावा किसी और के लिए रुचि रखता है, तो मैं इसे उपयोगकर्ता स्क्रिप्ट में उपयोगकर्ता स्क्रिप्ट के रूप में पोस्ट करूंगा।
अगर वेबफ़ोनर डेवलपर को यह हैक पसंद है, तो मैं फोंट की पूरी सूची प्राप्त करने के लिए कुछ सरल एपीआई करना चाहूंगा, तो आप हमेशा हाथ पर अप-टू-डेट आधार रख सकते हैं और
सीटीआर ,
सी और
वी कुंजी का उपयोग नहीं कर सकते हैं।
मैं आप सभी को एक सुखद सप्ताहांत और रोचक पुस्तकों की शुभकामनाएँ देता हूँ।