Невозможно найти/создать систему комментариев, похожую на Djangobook
Я хочу открывать исходные записи так же, как на DjangoBook.
Я не нашел ни одной подобной системы с открытым исходным кодом, как на веб-сайте.
Меня особенно интересует вертикальная система комментариев.
Это говорит о том, что мне нужно построить один для open-source.
Как бы вы построили аналогичную систему комментариев, как на веб-сайте?
Ответы
Ответ 1
Каждый абзац (<p>
) в документе имеет идентификатор (cn0, cn1,
и т.д.) и класс (cn
). Это единственная часть системы комментариев, оказанная рядом с текстом. Также на странице находится div
, которая выступает в качестве всплывающего окна, которое также содержит форму комментария.
Остальное делается с помощью Javascript. Когда страница загружается, они отправляют запрос AJAX назад, чтобы получить номер и местоположение всех комментариев в документе. Это выглядит так:
[[0,4],[3,2],...]
При этом он добавляет div
в поле с речевым пузырем и количеством комментариев к этой строке.
Когда вы нажимаете на пузырьки, инициируется другой запрос AJAX, чтобы получить комментарии к этому пузырьку. В этом случае они отправляют фактический HTML для визуализации вместо объекта JSON, как раньше.
На бэкэнд (это все догадки сейчас) они связывают каждый набор комментариев с документом и местоположением в этом документе (это позволяет им сразу отображать все комментарии для документа). Я бы, вероятно, использовал встроенное приложение комментариев, чтобы сделать это, и либо упаковать оба элемента в один внешний ключ, создав модель для привязки документа и местоположения, либо путем подклассификации самой модели комментариев.
Надеюсь, это поможет вам в правильном направлении. Вы можете, вероятно, узнать больше, посмотрев свой Javascript, , но он был уменьшен, поэтому немного трудно читать ( UPDATE: обнаружено unminified js). Они строятся на YUI, но код довольно прямолинейный.
Ответ 2
Вас может заинтересовать Вуки. Это совместная платформа для написания, 100% открытая и бесплатная. Он был основан на системе Django Book.
Посмотрите: http://wookicentral.com
Ответ 3
Недавно (2 года) кто-то создал проект Django, чтобы имитировать DjangoBook под названием Open Book Platform.
Он долгое время был бездействующим и, возможно, даже не работал должным образом на Django 0.96, не говоря уже о 1.0.x. Однако, когда я только что посетил, чтобы получить URL-адрес, я заметил, что в прошлом месяце была активность.
Ответ 4
Блок примечаний построен на тех же принципах, что и система комментариев DjangoBook, бесплатная услуга для небольших сайтов.
И в отличие от проектов или плагинов, которые другие упомянули в этом потоке, их можно использовать на любой HTML-странице, интеграция - это всего лишь несколько линий JavaScript.
На первой странице есть живая демонстрация http://www.remarkbox.com/
Ответ 5
Там есть бесплатный и полностью поддерживаемый пакет Django, который мы создали, чтобы иметь те же функциональные возможности, что и сайт Django Book.
http://ucomment.org
Эта кодовая база используется на нескольких общедоступных веб-сайтах, таких как http://connectmv.com/tutorials
Мы делаем все возможное, чтобы поддерживать этот пакет: установка может занять некоторое время - что ожидается, учитывая то, что делает программное обеспечение. Попробуйте и отправьте нам свой отзыв через функцию комментариев на http://ucomment.org сайте.
Кевин
Ответ 6
Я думал, что сайт DjangoBook был построен с Django, что, по-видимому, подразумевает использование рамки комментариев Django.
UPDATE: здесь есть примечание которое приписывает большую часть кода для системы комментариев Jack Slocum. Ссылка на странице DjangoBook мертва, поэтому я не смог найти никакой дополнительной информации, но может быть, что упомянутый код предназначен для частей YUI/AJAX, которые делают возможным контекстный комментарий.
Ответ 7
Вы можете попробовать использовать WordPress с CommentPress, который добавляет подобное поведение.
Ответ 8
Я не знаю, почему я снова попадаю в этот пост, но сейчас это делается на многих сайтах, которые я думаю. Хорошая реализация: https://github.com/aroc/side-comments/