2009-06-26 6 views

Antwort

6

Jeder Absatz (<p>) im Dokument hat eine ID (cn0, cn1, etc.) und eine Klasse (cn). Dies ist der einzige Teil des Kommentarsystems, der in der Nähe des Textes gerendert wird. Auf der Seite befindet sich auch die div, die als das Popup fungiert, das auch das Kommentarformular enthält.

Der Rest ist mit Javascript erledigt. Wenn die Seite geladen ist, senden sie eine AJAX-Anfrage zurück, um die Anzahl und Position aller Kommentare im Dokument zu erhalten. Es sieht aus wie:

[[0,4],[3,2],...] 

Damit es eine div am Rand mit der Sprechblase und die Anzahl der Kommentare zu dieser Zeile hinzufügt.

Wenn Sie auf die Sprechblasen klicken, wird eine weitere AJAX-Anfrage gestartet, um die Kommentare für diese Sprechblase zu erhalten. In diesem Fall senden sie statt eines JSON-Objekts den eigentlichen zu rendernden HTML-Code wie zuvor.

Auf dem Backend (das ist jetzt alles Vermutung) binden sie jeden Satz von Kommentaren an ein Dokument und einen Ort in diesem Dokument (damit können sie alle Kommentare für ein Dokument auf einmal anzeigen). Ich würde wahrscheinlich die integrierte Kommentar-App verwenden, um dies zu tun, und entweder beide Elemente in einen fremden Schlüssel verpacken, indem Sie ein Modell erstellen, um das Dokument und den Ort zu verknüpfen, oder indem Sie das Kommentar-Modell selbst ableiten.

Hoffe das bringt Sie in die richtige Richtung. Sie können wahrscheinlich mehr über their Javascript, erfahren, aber es wurde verkleinert, so dass es ein wenig schwer zu lesen ist (UPDATE: gefunden unminified js). Sie bauen auf YUI, aber der Code ist ziemlich geradlinig.

+0

@tghw: Weißt du, wie man die js-Datei effektiv lesbar macht? Ich laufe in Vims visueller Form "=" für eine Vereinheitlichung, aber ich bin nicht glücklich mit dem Ergebnis. –

+0

Nein, aber ich habe die URL des vollständigen, nicht eingeschränkten JS gefunden. Ich habe den obigen Link aktualisiert. – tghw

+0

@tghw: Danke für die Updates! --- Mit welchem ​​Tool haben Sie den neuen Link gefunden? --- Ich habe die neueste .js-Datei von Firefug nicht gefunden. –

0

Ich dachte die DjangoBook Seite wurde mit Django gebaut, was implizieren würde, dass es die Django comments framework verwendet.

UPDATE: Es gibt eine Notiz here, die einen Großteil des Codes für das Kommentarsystem Jack Slocum zuweist. Der Link auf der DjangoBook-Seite ist tot, so dass ich keine zusätzlichen Informationen finden konnte, aber es kann sein, dass der Code, auf den verwiesen wird, für die YUI/AJAX-Stücke ist, die die kontextuelle Kommentierung ermöglichen.

+0

@Harper: Sie meinen, dass der Django ein eingebautes Kommentierungssystem ähnlich wie bei DjangoBook hat? –

+1

Es hat ein eingebautes Kommentar-System, aber es macht nicht die Inline-Kommentare wie DjangoBook. – tghw

2

Vor langer Zeit (2 Jahre) hat jemand ein Django-Projekt erstellt, um das DjangoBook namens Open Book Platform nachzuahmen.

Es war für eine lange Zeit ruhend und funktioniert möglicherweise nicht einmal richtig auf Django 0.96, geschweige denn 1.0.x. Als ich jedoch gerade besuchte, um die URL zu erhalten, bemerkte ich, dass es im letzten Monat einige Aktivitäten gab.

+0

@Van Gale: Danke für den Link und das Stück Geschichte! - Ich wusste nicht, dass Django eher eine "Kopie" einer anderen Plattform ist. --- Weißt du, ob die Entwickler in Django und Open Book Platform gleich sind? --- Es scheint, dass Open Book Platform oft das Wort Django benutzt. Dies deutet darauf hin, dass sie die gleichen Entwickler sind. Aber die Chinesen in der Open Book Platform schlagen vor, dass es viele Entwickler gegeben hat, da ein Europäer scheint, ein Schöpfer von Django zu sein. –

+1

Err, Open Book Platform ist ein Projekt, das mit einer älteren Version von Django entwickelt wurde. Es ist ein Projekt mit Django, um nachzuahmen, wie DjangoBook funktioniert. Tut mir leid, dass ich nicht klar bin. Sie könnten es wahrscheinlich mit ein wenig Arbeit auf der aktuellen Version von Django laufen lassen. Und ja, es sieht so aus, als wären die neuen Betreuer des Projekts Chinesen, keine Ahnung, was ihre Pläne sind. –

0

Sie können versuchen, WordPress mit CommentPress Plugin zu verwenden, das ähnliches Verhalten hinzufügt.

1

Die Remarkbox basiert auf den gleichen Prinzipien wie das DjangoBook-Kommentarsystem, es ist ein kostenloser Dienst für kleine Sites.

Und anders als die Projekte oder Plug-Ins, die andere in diesem Thread erwähnt haben, kann es auf jeder HTML-Seite verwendet werden, Integration ist nur ein paar JavaScript-Zeilen.

Ihre Titelseite hat eine Live-Demo http://www.remarkbox.com/

+0

Die Seite ist tot - Vorschlag zum Löschen – benjaoming

+0

@benjaoming: Scheint für mich zu laden. Es ist aus irgendeinem Grund Source-Only Markdown, aber das ist theoretisch eine gültige Wahl .... –

3

Sie können von Wooki interessiert sein. Es ist eine kollaborative Schreibplattform, 100% Open Source und kostenlos. Es basierte auf dem Django Book System.

Werfen Sie einen Blick: http://wookicentral.com

1

Es gibt ein kostenloses und voll unterstützt, Django-Paket, das wir die gleiche Funktionalität wie die Django Buch Website haben gebaut.

http://ucomment.org

Die Code-Basis auf mehrere öffentlich zugänglichen Websites verwendet wird, wie bei http://connectmv.com/tutorials

Wir tun unser Bestes, um dieses Paket zu erhalten: Installation kann einige Zeit in Anspruch nehmen - was zu erwarten ist, gegeben, was die Software macht. Bitte versuchen Sie es und senden Sie uns Ihr Feedback über die Kommentarfunktion auf der http://ucomment.org Website.

Kevin

+0

wo bist du Kevin? Ich versuche, dich zu finden, um einige Gedanken/Probleme/vielleicht Beiträge zum Thema Kommentar zu teilen ... Ich habe dein Repository bei bitbucket gegabelt, vielleicht bist du daran interessiert, meine Pull-Requests zu sehen? –

+0

Website ist tot - Vorschlag, Antwort zu entfernen – benjaoming

Verwandte Themen