इस प्रोजेक्ट के बारे में
Gopad को इसके लेखकों द्वारा markdown-आधारित दस्तावेज़ों को लिखने और अपडेट करने के लिए एक सरल वेब इंटरफेस के रूप में वर्णित किया गया है, जो Etherpad के समान है लेकिन markdown लेखन और स्वरूपण (formatting) पर केंद्रित है। यह रिपॉजिटरी, gopad-api, प्रोजेक्ट के सर्वर साइड को संभालती है, जिसे Go में लागू किया गया है, जबकि यूजर इंटरफेस VueJS के साथ बनाया गया है। मेंटेनर्स स्पष्ट रूप से उल्लेख करते हैं कि प्रोजेक्ट सक्रिय विकास में है, अभी तक कोई स्थिर रिलीज़ नहीं है, और पहले वास्तविक रिलीज़ से पहले बड़े बदलावों (breaking changes) की उम्मीद की जानी चाहिए।
इंस्टॉलेशन और पैकेजिंग। प्री-बिल्ट बाइनरी GitHub रिलीज़ और एक समर्पित डाउनलोड साइट के माध्यम से पेश की जाती हैं। प्रोजेक्ट Cloudsmith द्वारा होस्ट किए गए DEB और RPM पैकेज रिपॉजिटरी, GHCR, Docker Hub और Quay पर प्रकाशित कंटेनर इमेज, macOS उपयोगकर्ताओं के लिए एक Homebrew फॉर्मूला, और gopad.eu पर दस्तावेज़ीकरण भी तैयार करता है। पैकेज रिपॉजिटरी के होस्टिंग प्रदाता के रूप में Cloudsmith को श्रेय दिया गया है।
बिल्ड प्रक्रिया। टूल वर्ज़न को mise के साथ प्रबंधित किया जाता है; रिपॉजिटरी के अंदर आप इसे सक्रिय करने और mise.toml में परिभाषित सभी चीज़ों को इंस्टॉल करने के लिए mise trust और mise install चलाते हैं। बिल्ड स्टेप्स स्वयं एक go-task taskfile का हिस्सा हैं, इसलिए दस्तावेज़ में बताया गया क्रम रिपॉजिटरी को क्लोन करना, फिर task fe:install fe:build be:build चलाना, और अंत में परिणामी बाइनरी को लॉन्च करना है। सभी स्टैटिक एसेट्स बाइनरी में एम्बेडेड होते हैं, इसलिए एक्जीक्यूटेबल शुरू करने के अलावा किसी अतिरिक्त वेबसर्वर की आवश्यकता नहीं होती है।
डेवलपमेंट वर्कफ़्लो। DevContainer कॉन्फ़िगरेशन प्रदान किए गए हैं, ताकि उनका उपयोग करने वाले योगदानकर्ता अपने स्वयं के सिस्टम पर mise इंस्टॉल किए बिना शुरू कर सकें। सक्रिय विकास में अलग-अलग टर्मिनल टैब या विंडो में चलने वाले दो वॉच टास्क का उपयोग किया जाता है: task watch:server और task watch:frontend। बैकएंड डेवलपमेंट सर्वर localhost:8080 पर और फ्रंटएंड localhost:5173 पर चलता है, जिसमें हॉट रीलोडिंग की सुविधा है ताकि कोड परिवर्तन होने पर सेवाएँ स्वचालित रूप से रीस्टार्ट या रीलोड हो जाएँ।
योगदान और रिलीज़। प्रोजेक्ट conventional commits का पालन करता है ताकि प्रति रिलीज़ चेंजलॉग जेनरेट किए जा सकें, और यह अनुरोध करता है कि नई कार्यक्षमता या फिक्स को पुल रिक्वेस्ट (pull requests) के माध्यम से एकीकृत किया जाए। रिलीज़ नंबरिंग semantic versioning का पालन करती है ताकि यह संकेत मिल सके कि कोई वर्ज़न बग्स को ठीक करता है, फीचर्स जोड़ता है या बड़े बदलाव पेश करता है। mise के माध्यम से टूल इंस्टॉल करने के बाद, योगदानकर्ता pre-commit और commit-msg हुक प्रकारों के लिए prek (mise द्वारा प्रबंधित) के साथ प्री-कमिट हुक सेटअप करते हैं। एक बार जब पुल रिक्वेस्ट मर्ज हो जाती है और बिल्ड सफल हो जाते हैं, तो सप्ताह में कम से कम एक बार स्वचालित रूप से एक नई रिलीज़ बनाई जाती है।
सुरक्षा रिपोर्ट सबसे पहले gopad@webhippie.de पर भेजी जानी चाहिए। प्रोजेक्ट Apache-2.0 के तहत लाइसेंस प्राप्त है, जिसका कॉपीराइट 2018 से Thomas Boerger को दिया गया है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.