मीडियाविकि पृष्ठ पर योगदान के लिए जिम्मेदार लेखक की लाइन-लाइन प्रदर्शन


12

क्या विकिपीडिया या मीडियाविकि साइट के प्रत्येक पृष्ठ की प्रत्येक पंक्ति में "जिसने इस पंक्ति में योगदान दिया है" दिखाने का एक तरीका है?

यह प्रति पृष्ठ दिखाएगा और तोड़फोड़ दोष उपकरण के समान होगा।


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

हाँ यह सही है।
रोजगारपैक

1
विकीब्लम का उपयोग करके ऐसा करना बहुत आसान है, जैसा कि यहां बताया गया है: webapps.stackexchange.com/a/35914/20087
एंडरसन ग्रीन

वाह यह बहुत करीब है। ऐसा लगता है कि विकी पृष्ठ में "दिए गए शब्दों" के
कमिटर्स

यह पहले से ही संशोधन दिखाता है जहां पाठ जोड़ा गया था, इसलिए आप बस उस लिंक पर क्लिक करके देख सकते हैं कि जब पाठ जोड़ा गया था तो पूरा पृष्ठ कैसा दिखता था।
एंडरसन ग्रीन

जवाबों:


3

मुझे अक्सर कुछ इस तरह की आवश्यकता होती है, लेकिन ऐसा लगता है कि कोई तैयार समाधान नहीं है।

मैंने जो किया है वह एक पटकथा लिखी गई है, जो मुझे मीडियाविकि एपीआई का उपयोग करके संशोधन करने और बाज़ार संस्करण नियंत्रण प्रणाली को आयात करने में मदद करती है। bzr qblame article.wiki, फिर एक अच्छा दृश्य देता है कि किसने क्या बदला। स्क्रिप्ट वास्तव में रिलीज़ के लिए तैयार नहीं है, लेकिन आप इसे नीचे या पास्टबीन पर पा सकते हैं । स्क्रिप्ट एक मर्चेंटियल रेपो में जुड़ जाती है, जिसे बाद में बाज़ार में बदला जा सकता है।

# I hereby place this script into the Public Domain!
import os, sys
import time

import mwclient

import mercurial.ui
from mercurial import localrepo
from mercurial import commands

article = 'Love'
#start_time = None
start_time = '2011-01-01T00:00:00Z'

# set up mercurial repo
ui = mercurial.ui.ui()
repo_dir = article
repo = localrepo.localrepository(ui, path=repo_dir, create = not os.path.isdir(repo_dir))
#if not os.path.isdir(article):
#   os.mkdir(article)
#os.chdir(article)
print "rep in", repo.root
content_path = os.path.join(repo.root, article + '.wiki')

site = mwclient.Site('en.wikipedia.org')
page = site.Pages[article]

for rev in page.revisions(start=start_time, limit=50,dir='newer', prop='ids|timestamp|flags|comment|user|content'):
    content = rev['*']
    timestamp = time.asctime(rev['timestamp'])
    comment = rev['comment'].encode('utf8')
    if len(comment) == 0: comment = "blank"
    print "writing revision from", timestamp

    f = open(content_path, 'wb')
    f.write(content.encode('utf8'))
    f.close()

    commands.addremove(ui, repo)
    commands.commit(ui, repo, message=comment, user=rev['user'].encode('utf8'), date=timestamp)

3

http://search.cpan.org/~daxim/Mediawiki-Blame-0.0.3/lib/Mediawiki/Blame.pm बिल्कुल इसका समर्थन करता प्रतीत होता है। दुर्भाग्य से, यह केवल एक पर्ल मॉड्यूल है, न कि उपयोगकर्ता के अनुकूल कमांड, इसलिए इसे उपयोग करने में थोड़ा मुश्किल होना चाहिए ...


लेकिन कोई भी उस मॉड्यूल के लिए वेब फ्रंट बना सकता है, जैसे wikipedia.ramselehof.de/wikiblame.php
निमो

2

पिछले उत्तरों से प्रेरित होकर, मैंने पिछले पास्टबिन पायथन लिपि को बैकएंड के रूप में मर्क्यूरियल के बजाय गिट का उपयोग करने के लिए अनुकूलित किया है

मेरी परियोजना GitLab पर होस्ट की गई है


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.