free-programming-books/docs/CONTRIBUTING-hi.md

34 KiB

इसे अन्य भाषाओं में पढ़ें

योगदानकर्ता लाइसेंस अनुबंध

योगदान देकर, आप इस रिपॉजिटरी के LICENSE से सहमत हैं।

योगदानकर्ता आचार संहिता

योगदान देकर, आप इस रिपॉजिटरी के आचार संहिता का सम्मान करने के लिए सहमत हैं। (translations)

संक्षेप में

  1. "किसी पुस्तक को आसानी से डाउनलोड करने के लिए लिंक" हमेशा मुफ़्त पुस्तक का लिंक नहीं होता। कृपया केवल मुफ़्त सामग्री का योगदान दें। सुनिश्चित करें कि यह मुफ़्त हो। हम उन पृष्ठों के लिंक स्वीकार नहीं करते हैं जिनके लिए पुस्तकें प्राप्त करने के लिए कार्यशील ईमेल पते की आवश्यकता होती है, लेकिन हम उन लिस्टिंग का स्वागत करते हैं जो उनका अनुरोध करती हैं।

  2. आपको Git जानने की ज़रूरत नहीं है: अगर आपको कोई ऐसी चीज़ मिली है जो इस रिपो में पहले से मौजूद नहीं है, तो कृपया अपने लिंक प्रस्तावों के साथ एक इश्यू खोलें।

    • अगर आप Git जानते हैं, तो कृपया रिपो को फ़ॉर्क करें और पुल रिक्वेस्ट (PR) भेजें।
  3. हमारे पास 6 तरह की सूचियाँ हैं। सही चुनें:

    • पुस्तकें: PDF, HTML, ePub, gitbook.io आधारित साइट, Git रिपो, आदि।
    • कोर्स: कोर्स एक शिक्षण सामग्री है जो किताब नहीं है। यह एक कोर्स है.
    • इंटरैक्टिव ट्यूटोरियल: एक इंटरैक्टिव वेबसाइट जो उपयोगकर्ता को कोड या कमांड टाइप करने देती है और परिणाम का मूल्यांकन करती है ("मूल्यांकन" से हमारा मतलब "ग्रेड" नहीं है)। उदाहरण: हास्केल आज़माएँ, गिट आज़माएँ.
    • प्लेग्राउंड: प्रोग्रामिंग सीखने के लिए ऑनलाइन और इंटरैक्टिव वेबसाइट, गेम या डेस्कटॉप सॉफ़्टवेयर हैं। कोड स्निपेट लिखें, संकलित करें (या चलाएँ), और साझा करें। प्लेग्राउंड अक्सर आपको कोड के साथ खेलकर फ़ॉर्क करने और अपने हाथों को गंदा करने की अनुमति देते हैं।
    • पॉडकास्ट और स्क्रीनकास्ट: पॉडकास्ट और स्क्रीनकास्ट।
    • समस्या सेट और प्रतिस्पर्धी प्रोग्रामिंग: एक वेबसाइट या सॉफ़्टवेयर जो आपको कोड समीक्षा के साथ या उसके बिना, अन्य उपयोगकर्ताओं के साथ परिणामों की तुलना के साथ या उसके बिना, सरल या जटिल समस्याओं को हल करके अपने प्रोग्रामिंग कौशल का आकलन करने देता है।
  4. नीचे दिए गए दिशा-निर्देशों का पालन करना सुनिश्चित करें और फ़ाइलों के मार्कडाउन फ़ॉर्मेटिंग का सम्मान करें।

  5. GitHub क्रियाएँ यह सुनिश्चित करने के लिए परीक्षण चलाएँगी कि आपकी सूचियाँ वर्णानुक्रम में हैं और फ़ॉर्मेटिंग नियमों का पालन किया जाता हैसुनिश्चित करें कि आपके परिवर्तन परीक्षणों में सफल होते हैं।

दिशा-निर्देश

  • सुनिश्चित करें कि पुस्तक मुफ़्त है। यदि आवश्यक हो तो दोबारा जाँच करें। यदि आप PR में टिप्पणी करते हैं कि आपको क्यों लगता है कि पुस्तक मुफ़्त है, तो यह व्यवस्थापकों की मदद करता है।

  • हम Google Drive, Dropbox, Mega, Scribd, Issuu और अन्य समान फ़ाइल अपलोड प्लेटफ़ॉर्म पर होस्ट की गई फ़ाइलों को स्वीकार नहीं करते हैं।

  • अपने लिंक को वर्णानुक्रम में डालें, जैसा कि नीचे वर्णित है।

  • सबसे अधिक आधिकारिक स्रोत वाले लिंक का उपयोग करें (जिसका अर्थ है कि लेखक की वेबसाइट संपादक की वेबसाइट से बेहतर है, जो किसी तीसरे पक्ष की वेबसाइट से बेहतर है)।

  • कोई फ़ाइल होस्टिंग सेवाएँ नहीं (इसमें ड्रॉपबॉक्स और Google ड्राइव लिंक शामिल हैं (लेकिन इन्हीं तक सीमित नहीं हैं)।

  • हमेशा http लिंक की तुलना में https लिंक को प्राथमिकता दें -- जब तक कि वे एक ही डोमेन पर हों और एक ही सामग्री प्रदान करते हों।

  • रूट डोमेन पर, अंतिम स्लैश हटाएँ: http://example.com/ के बजाय http://example.com

  • हमेशा सबसे छोटे लिंक को प्राथमिकता दें: http://example.com/dir/ http://example.com/dir/index.html से बेहतर है।

  • कोई URL शॉर्टनर लिंक नहीं।

  • आमतौर पर "संस्करण" लिंक की तुलना में "वर्तमान" लिंक को प्राथमिकता दें: http://example.com/dir/book/current/ http://example.com/dir/book/current/ से बेहतर है http://example.com/dir/book/v1.0.0/index.html

  • यदि किसी लिंक में कोई समाप्त प्रमाणपत्र/स्व-हस्ताक्षरित प्रमाणपत्र/किसी अन्य प्रकार की SSL समस्या है:

    1. यदि संभव हो तो इसे इसके http समकक्ष से बदलें (क्योंकि मोबाइल डिवाइस पर अपवादों को स्वीकार करना जटिल हो सकता है)।
    2. यदि कोई http संस्करण उपलब्ध नहीं है, लेकिन ब्राउज़र में अपवाद जोड़कर या चेतावनी को अनदेखा करके लिंक अभी भी https के माध्यम से सुलभ है, तो इसे छोड़ दें
    3. अन्यथा इसे हटा दें
  • यदि कोई लिंक कई प्रारूपों में मौजूद है, तो प्रत्येक प्रारूप के बारे में एक नोट के साथ एक अलग लिंक जोड़ें।

  • यदि कोई संसाधन इंटरनेट पर अलग-अलग स्थानों पर मौजूद है।

  • सबसे अधिक आधिकारिक स्रोत के साथ लिंक का उपयोग करें (जिसका अर्थ है कि लेखक की वेबसाइट संपादक की वेबसाइट से बेहतर है, तीसरे पक्ष की वेबसाइट से बेहतर है)।

  • यदि वे अलग-अलग संस्करणों से लिंक करते हैं, और आपको लगता है कि ये संस्करण रखने लायक होने के लिए पर्याप्त रूप से अलग हैं, तो प्रत्येक संस्करण के बारे में एक नोट के साथ एक अलग लिंक जोड़ें (फ़ॉर्मेटिंग पर चर्चा में योगदान देने के लिए अंक #2353 देखें)।

  • बड़े कमिट्स की तुलना में एटॉमिक कमिट्स (जोड़/हटाने/संशोधन द्वारा एक कमिट) को प्राथमिकता दें। PR सबमिट करने से पहले अपने कमिट्स को स्क्वैश करने की आवश्यकता नहीं है। (हम इस नियम को कभी लागू नहीं करेंगे क्योंकि यह केवल अनुरक्षकों की सुविधा का मामला है)।

  • यदि पुस्तक पुरानी है, तो शीर्षक के साथ प्रकाशन तिथि शामिल करें।

  • जहाँ उपयुक्त हो, वहाँ लेखक का नाम या नाम शामिल करें। आप "et al." के साथ लेखक सूचियों को छोटा कर सकते हैं।

  • यदि पुस्तक पूरी नहीं हुई है, और अभी भी उस पर काम चल रहा है, तो "प्रक्रिया में" संकेत जोड़ें, जैसा कि नीचे वर्णित है।

  • यदि कोई संसाधन इंटरनेट आर्काइव की वेबैक मशीन (या समान) का उपयोग करके पुनर्स्थापित किया जाता है, तो "संग्रहीत" संकेत जोड़ें, जैसा कि नीचे वर्णित है। उपयोग करने के लिए सबसे अच्छे संस्करण हाल ही के और पूर्ण हैं।

  • यदि डाउनलोड सक्षम करने से पहले ईमेल पता या खाता सेटअप का अनुरोध किया जाता है, तो कोष्ठक में भाषा-उपयुक्त नोट जोड़ें, उदाहरण के लिए: (ईमेल पता *अनुरोधित*, आवश्यक नहीं)

स्वरूपण

  • सभी सूचियाँ .md फ़ाइलें हैं। Markdown सिंटैक्स सीखने का प्रयास करें। यह सरल है!

  • सभी सूचियाँ एक इंडेक्स से शुरू होती हैं। विचार यह है कि सभी अनुभागों और उप-अनुभागों को सूचीबद्ध और लिंक किया जाए। इसे वर्णानुक्रम में रखें।

  • अनुभाग स्तर 3 शीर्षकों (###) का उपयोग कर रहे हैं, और उप-अनुभाग स्तर 4 शीर्षकों (####) का उपयोग कर रहे हैं।

विचार यह है कि:

  • अंतिम लिंक और नए अनुभाग के बीच 2 खाली लाइनें हों।

  • शीर्षक और उसके अनुभाग के पहले लिंक के बीच 1 खाली लाइन हो।

  • दो लिंक के बीच 0 खाली लाइन हो।

  • प्रत्येक .md फ़ाइल के अंत में 1 खाली लाइन हो।

उदाहरण:

उदाहरण

  • ] और ( के बीच में स्पेस न डालें:

खराब: * [एक और शानदार किताब] (http://example.com/book.html)

अच्छा: * एक और शानदार किताब

  • अगर आप लेखक को शामिल करते हैं, तो - (एकल स्पेस से घिरा डैश) का उपयोग करें:

खराब: * एक और शानदार किताब पुस्तक- जॉन डो

अच्छा: * एक और शानदार पुस्तक - जॉन डो

  • लिंक और उसके प्रारूप के बीच एक ही स्थान रखें:

खराब: * एक बहुत बढ़िया पुस्तक(PDF)

अच्छा: * एक बहुत बढ़िया पुस्तक (PDF)

  • लेखक प्रारूप से पहले आता है:

खराब: * एक बहुत बढ़िया पुस्तक- (PDF) जेन रो

अच्छा: * एक बहुत बढ़िया पुस्तक - जेन रो (PDF)

  • एकाधिक प्रारूप (हम प्रत्येक संसाधन के लिए एक ही लिंक पसंद करते हैं। जब अलग-अलग प्रारूपों तक आसान पहुँच के साथ कोई एकल लिंक नहीं होता है, तो कई लिंक समझ में आ सकते हैं। लेकिन हम जो भी लिंक जोड़ते हैं, वह रखरखाव का बोझ पैदा करता है, इसलिए हम इससे बचने की कोशिश करते हैं।):

खराब: * एक और शानदार पुस्तक- जॉन डो (HTML)

खराब: * एक और शानदार पुस्तक- जॉन डो (डाउनलोड साइट)

अच्छा: * एक और शानदार पुस्तक - जॉन डो (HTML) (PDF, EPUB)

  • पुरानी पुस्तकों के शीर्षक में प्रकाशन वर्ष शामिल करें:
खराब : * [एक बहुत ही शानदार पुस्तक](https://example.org/book.html) - जेन रो - 1970
अच्छा: * [एक बहुत ही शानदार पुस्तक (1970)](https://example.org/book.html) - जेन रो
  • प्रक्रियाधीन पुस्तकें:
अच्छा: * [जल्द ही एक बेहतरीन किताब होगी](http://example.com/book2.html) - जॉन डो (HTML) *(:construction: in process)*
  • संग्रहीत लिंक:
अच्छा: * [एक दिलचस्प किताब](https://web.archive.org/web/20211016123456/http://example.com/) - जॉन डो (HTML) *(:card_file_box: archived)*

वर्णानुक्रम

  • जब एक ही अक्षर से शुरू होने वाले कई शीर्षक हों, तो उन्हें दूसरे अक्षर से क्रमित करें, और इसी तरह आगे भी। उदाहरण के लिए: aa ab से पहले आता है।
  • one two, onetwo से पहले आता है।

यदि आपको कोई गलत लिंक दिखाई देता है, तो लिंटर त्रुटि संदेश की जाँच करें ताकि पता चल सके कि किन पंक्तियों को बदला जाना चाहिए।

नोट्स

जबकि मूल बातें अपेक्षाकृत सरल हैं, हमारे द्वारा सूचीबद्ध संसाधनों में बहुत विविधता है। यहाँ कुछ नोट्स दिए गए हैं कि हम इस विविधता से कैसे निपटते हैं।

मेटाडेटा

हमारी सूचियाँ मेटाडेटा का एक न्यूनतम सेट प्रदान करती हैं: शीर्षक, URL, निर्माता, प्लेटफ़ॉर्म और एक्सेस नोट्स।

शीर्षक
  • कोई आविष्कृत शीर्षक नहीं। हम संसाधनों से ही शीर्षक लेने का प्रयास करते हैं; योगदानकर्ताओं को सलाह दी जाती है कि वे शीर्षकों का आविष्कार न करें या यदि ऐसा किया जा सकता है तो उन्हें संपादकीय रूप से उपयोग न करें। अपवाद पुराने कार्यों के लिए है; यदि वे मुख्य रूप से ऐतिहासिक रुचि के हैं, तो शीर्षक में कोष्ठक में एक वर्ष जोड़ने से उपयोगकर्ताओं को यह पता चलता है कि वे रुचि के हैं या नहीं।
  • कोई ALLCAPS शीर्षक नहीं। आमतौर पर शीर्षक केस उपयुक्त होता है, लेकिन जब संदेह हो तो स्रोत से कैपिटलाइज़ेशन का उपयोग करें।
  • कोई इमोजी नहीं।
URL
  • हम संक्षिप्त URL की अनुमति नहीं देते हैं।
  • URL से ट्रैकिंग कोड हटाए जाने चाहिए।
  • अंतर्राष्ट्रीय URL को एस्केप किया जाना चाहिए। ब्राउज़र बार आमतौर पर इन्हें यूनिकोड में प्रस्तुत करते हैं, लेकिन कृपया कॉपी और पेस्ट का उपयोग करें।
  • सुरक्षित (https) URL हमेशा गैर-सुरक्षित (http) URL से बेहतर होते हैं, जहाँ HTTPS लागू किया गया है।
  • हमें ऐसे URL पसंद नहीं हैं जो सूचीबद्ध संसाधन को होस्ट न करने वाले वेबपेजों की ओर इशारा करते हैं, बल्कि इसके बजाय कहीं और इंगित करते हैं।
निर्माता
  • हम जहाँ उचित हो, अनुवादकों सहित मुफ़्त संसाधनों के रचनाकारों को श्रेय देना चाहते हैं!
  • अनुवादित कार्यों के लिए मूल लेखक को श्रेय दिया जाना चाहिए। हम लेखकों के अलावा अन्य रचनाकारों को श्रेय देने के लिए MARC रिलेटर का उपयोग करने की सलाह देते हैं, जैसा कि इस उदाहरण में है:
* [एक अनुवादित पुस्तक](http://example.com/book.html) - जॉन डो, `trl.:` माइक द ट्रांसलेटर


##### समय-सीमित पाठ्यक्रम और परीक्षण

- हम उन चीज़ों को सूचीबद्ध नहीं करते हैं जिन्हें हमें छह महीने में हटाना होगा।
- यदि किसी पाठ्यक्रम की नामांकन अवधि या अवधि सीमित है, तो हम उसे सूचीबद्ध नहीं करेंगे।
- हम उन संसाधनों को सूचीबद्ध नहीं कर सकते जो सीमित अवधि के लिए निःशुल्क हैं।

##### प्लेटफ़ॉर्म और एक्सेस नोट्स

- **पाठ्यक्रम**: खास तौर पर हमारे कोर्स लिस्ट के लिए, प्लेटफ़ॉर्म संसाधन विवरण का एक महत्वपूर्ण हिस्सा है। ऐसा इसलिए है क्योंकि कोर्स प्लेटफ़ॉर्म में अलग-अलग एफोर्डेंस और एक्सेस मॉडल होते हैं। जबकि हम आम तौर पर ऐसी किताब को लिस्ट नहीं करेंगे जिसके लिए रजिस्ट्रेशन की ज़रूरत होती है, कई कोर्स प्लेटफ़ॉर्म में ऐसे एफोर्डेंस होते हैं जो किसी तरह के अकाउंट के बिना काम नहीं करते। उदाहरण के लिए कोर्स प्लेटफ़ॉर्म में कोर्सेरा, एडएक्स, उदासिटी और यूडेमी शामिल हैं। जब कोई कोर्स किसी प्लेटफ़ॉर्म पर निर्भर करता है, तो प्लेटफ़ॉर्म का नाम कोष्ठक में सूचीबद्ध किया जाना चाहिए।

- **YouTube**: हमारे पास कई कोर्स हैं जिनमें YouTube प्लेलिस्ट शामिल हैं। हम YouTube को प्लेटफ़ॉर्म के तौर पर लिस्ट नहीं करते, हम YouTube क्रिएटर को लिस्ट करने की कोशिश करते हैं, जो अक्सर एक सब-प्लेटफ़ॉर्म होता है।

- **YouTube वीडियो**: हम आम तौर पर अलग-अलग YouTube वीडियो को तब तक लिंक नहीं करते जब तक कि वे एक घंटे से ज़्यादा लंबे न हों और कोर्स या ट्यूटोरियल की तरह संरचित न हों। अगर ऐसा है, तो PR विवरण में इसका नोट ज़रूर करें।

- कोई छोटा लिंक नहीं (यानी youtu.be/xxxx)!

- **Leanpub**: Leanpub कई तरह के एक्सेस मॉडल के साथ पुस्तकों को होस्ट करता है। कभी-कभी कोई पुस्तक बिना पंजीकरण के पढ़ी जा सकती है; कभी-कभी किसी पुस्तक को निःशुल्क एक्सेस के लिए Leanpub खाते की आवश्यकता होती है। पुस्तकों की गुणवत्ता और Leanpub एक्सेस मॉडल के मिश्रण और तरलता को देखते हुए, हम एक्सेस नोट `*(Leanpub खाता या वैध ईमेल अनुरोधित)*` के साथ उत्तरार्द्ध को सूचीबद्ध करने की अनुमति देते हैं।

#### शैलियाँ

किसी संसाधन को किस सूची में शामिल किया जाना है, यह तय करने का पहला नियम यह देखना है कि संसाधन खुद को कैसे वर्णित करता है। अगर यह खुद को एक पुस्तक कहता है, तो शायद यह एक पुस्तक है।

##### शैलियाँ जिन्हें हम सूचीबद्ध नहीं करते

चूँकि इंटरनेट बहुत बड़ा है, इसलिए हम अपनी सूचियों में शामिल नहीं करते:

- ब्लॉग
- ब्लॉग पोस्ट
- लेख
- वेबसाइटें (उन लोगों को छोड़कर जो हमारे द्वारा सूचीबद्ध बहुत सारी वस्तुओं को होस्ट करते हैं)।
- वीडियो जो पाठ्यक्रम या स्क्रीनकास्ट नहीं हैं।
- पुस्तक अध्याय
- पुस्तकों से टीज़र नमूने
- IRC या टेलीग्राम चैनल
- स्लैक्स या मेलिंग सूचियाँ

हमारी प्रतिस्पर्धी प्रोग्रामिंग सूचियाँ इन बहिष्करणों के बारे में उतनी सख्त नहीं हैं। रेपो का दायरा समुदाय द्वारा निर्धारित किया जाता है; यदि आप दायरे में कोई बदलाव या अतिरिक्त सुझाव देना चाहते हैं, तो कृपया सुझाव देने के लिए किसी समस्या का उपयोग करें।

##### पुस्तकें बनाम अन्य सामग्री

हम पुस्तक-पन के बारे में इतने ज़्यादा चिंतित नहीं हैं। यहाँ कुछ विशेषताएँ दी गई हैं जो दर्शाती हैं कि संसाधन एक पुस्तक है:

- इसमें ISBN (अंतर्राष्ट्रीय मानक पुस्तक संख्या) है।
- इसमें विषय-सूची है।
- एक डाउनलोड करने योग्य संस्करण पेश किया जाता है, विशेष रूप से ePub फ़ाइलें।
- इसमें संस्करण हैं।
- यह इंटरैक्टिव सामग्री या वीडियो पर निर्भर नहीं करता है।
- यह किसी विषय को व्यापक रूप से कवर करने का प्रयास करता है।
- यह स्व-निहित है।

ऐसी बहुत सी पुस्तकें हैं जिन्हें हम सूचीबद्ध करते हैं जिनमें ये विशेषताएँ नहीं हैं; यह संदर्भ पर निर्भर कर सकता है।

##### पुस्तकें बनाम पाठ्यक्रम

कभी-कभी इन्हें अलग करना मुश्किल हो सकता है!

पाठ्यक्रमों में अक्सर संबंधित पाठ्यपुस्तकें होती हैं, जिन्हें हम अपनी पुस्तकों की सूची में सूचीबद्ध करेंगे। पाठ्यक्रमों में व्याख्यान, अभ्यास, परीक्षण, नोट्स या अन्य शिक्षाप्रद सहायक सामग्री होती है। एक व्याख्यान या वीडियो अपने आप में एक पाठ्यक्रम नहीं है। पावरपॉइंट एक पाठ्यक्रम नहीं है।

##### इंटरैक्टिव ट्यूटोरियल बनाम अन्य सामान

यदि आप इसे प्रिंट कर सकते हैं और इसका सार बनाए रख सकते हैं, तो यह एक इंटरैक्टिव ट्यूटोरियल नहीं है।

### स्वचालन

- स्वरूपण नियम प्रवर्तन [GitHub क्रियाएँ](https://github.com/features/actions) के माध्यम से [fpb-lint](https://github.com/vhf/free-programming-books-lint) का उपयोग करके स्वचालित है (देखें [`.github/workflows/fpb-lint.yml`](../.github/workflows/fpb-lint.yml))
- URL सत्यापन [awesome_bot](https://github.com/dkhamsing/awesome_bot) का उपयोग करता है।
- URL सत्यापन को ट्रिगर करने के लिए, एक कमिट पुश करें जिसमें `check_urls=file_to_check` युक्त कमिट संदेश शामिल हो:

    ```properties
    check_urls=free-programming-books.md free-programming-books-en.md
    ```

- आप जाँच करने के लिए एक से अधिक फ़ाइल निर्दिष्ट कर सकते हैं, एक का उपयोग करके प्रत्येक प्रविष्टि को अलग करने के लिए एकल स्थान।
- यदि आप एक से अधिक फ़ाइल निर्दिष्ट करते हैं, तो बिल्ड के परिणाम अंतिम जाँच की गई फ़ाइल के परिणाम पर आधारित होते हैं। आपको पता होना चाहिए कि इसके कारण आपको पासिंग ग्रीन बिल्ड मिल सकते हैं, इसलिए "सभी जाँच दिखाएँ" -> "विवरण" पर क्लिक करके पुल अनुरोध के अंत में बिल्ड लॉग का निरीक्षण करना सुनिश्चित करें।