मैं क्या हासिल करने जा रहा हूँ का वर्णन का निर्माण:एक HTML Diff/पैच एल्गोरिथ्म
- इनपुट 2 (एन आवश्यक नहीं है) HTML दस्तावेज़।
- एचटीएमएल प्रारूप
- दो दस्तावेज़ों को डिफाई करें - बाहरी शैलियों महत्वपूर्ण नहीं हैं लेकिन दस्तावेज़ में कुछ भी इनलाइन शामिल की जाएगी।
- एचटीएमएल ब्लॉक तत्व स्तर पर डेल्टा निर्धारित करें।
अंतिम बिंदु का विस्तार:
एक ही साइट के दो पृष्ठों कल्पना कीजिए कि दोनों शेयर क्या शायद एक आम पूर्वज कि नकल किया गया/चिपकाया गया है के साथ एक साइडबार। प्रत्येक पृष्ठ में साइडबार में कुछ मामूली परिवर्तन होते हैं। Diff इन परिवर्तनों को प्रकट करेगा, फिर मैं उनके द्वारा साझा किया गया पहला सामान्य ब्लॉक तत्व खोजने के लिए डीओएम "चल सकता है" या केवल <body>
पर डिफ़ॉल्ट हो सकता है। इस मामले में, मैं इसे चलना चाहता हूं और उसे ढूंढना चाहता हूं, ओह, वे एक आम <div id="sidebar">
साझा करते हैं।
मैं डेज़ीडिफ से परिचित हूं और आवेदन समान है - सीएमएस दुनिया में।
मैंने Google diff-patch लाइब्रेरी के साथ भी खेलना शुरू कर दिया है।
मैं इस तरह के गैर-विशिष्ट प्रश्न पूछना चाहता हूं कि किसी भी सलाह या मार्गदर्शन की मांग करें जो किसी को लगता है कि सहायक हो सकता है। वर्तमान में यदि आपने मेरे सिर पर बंदूक डाली और कहा "इसे कोड करें" मैं पाइथन में डेज़ीडिफ को फिर से लिखूंगा और इस ब्लॉक-स्तरीय तर्क को जोड़ दूंगा। लेकिन मैंने सोचा कि शायद एक बेहतर तरीका है और Anyone have a diff algorithm for rendered HTML? के उत्तरों ने मुझे गर्म और अस्पष्ट महसूस किया।
संबंधित: http://stackoverflow.com/questions/1576459/generate-pretty-diff-html-in-python। –
मुझे आपके सटीक एप्लिकेशन के बारे में निश्चित नहीं है लेकिन एक डॉम रैंकिंग एल्गोरिदम का उपयोग प्रासंगिक सामग्री निकालने के लिए http://www.readability.com/ जैसी परियोजनाओं द्वारा किया जाता है। यदि आप केवल पृष्ठ के मूल पर भिन्न होना चाहते हैं, तो ऐसा कुछ समझ सकता है –
इस परियोजना के बारे में एक अपडेट सुनना अच्छा लगेगा; यदि आप जो खोज रहे थे उसे ढूंढने में कामयाब रहे और यदि आप इसे खोलने की योजना बना रहे हैं :) – onassar