答案 0 :(得分:6)
文档中的每个段落(<p>
)都有一个ID(cn0, cn1,
等)和一个类(cn
)。这是在文本附近呈现的评论系统的唯一部分。页面上还有div
作为弹出窗口,其中还包含评论表单。
其余的都是用Javascript完成的。加载页面时,它们会发回AJAX请求以获取文档中所有注释的编号和位置。它看起来像:
[[0,4],[3,2],...]
有了这个,它会在边距中添加一个div
的语音气泡和该行的评论数量。
当您点击气泡时,会启动另一个AJAX请求以获取该气泡的评论。在这种情况下,他们发送实际的HTML来呈现而不是像之前那样的JSON对象。
在后端(现在这是所有猜想),他们将每组注释绑定到文档和该文档中的位置(这允许他们一次显示文档的所有注释)。我可能会使用内置注释应用程序执行此操作,并将两个项目打包到一个外键中,通过创建链接文档和位置的模型,或者通过子类化注释模型本身。
希望这能让你朝着正确的方向前进。你可以通过查看their Javascript,来了解更多,但它已经缩小了,所以它有点难以阅读(更新:找到未经证实的js)。他们建立在YUI上,但代码非常简单。
答案 1 :(得分:3)
您可能对Wooki感兴趣。它是一个协作式写作平台,100%开源和免费。它基于Django Book系统。
答案 2 :(得分:2)
很久以前(2年),有人创建了一个模仿名为Open Book Platform的DjangoBook的Django项目。
它已经长时间处于休眠状态,甚至可能无法在Django 0.96上正常工作,更不用说1.0.x了。但是,当我刚访问以获取URL时,我注意到上个月有一些活动。
答案 3 :(得分:1)
备注框的构建原理与DjangoBook评论系统相同,是小型网站的免费服务。
与其他人在此主题中提到的项目或插件不同,它可以在任何HTML页面上使用,集成只是一些JavaScript行。
他们的头版有一个现场演示http://www.remarkbox.com/
答案 4 :(得分:1)
我们构建了一个免费的,完全支持的Django软件包,它具有与Django Book网站相同的功能。
该代码库用于多个公开网站,例如http://connectmv.com/tutorials
我们尽力维护这个软件包:安装可能需要一些时间 - 考虑到软件正在做什么,这是预期的。请尝试通过http://ucomment.org网站上的评论功能向我们发送反馈。
凯文
答案 5 :(得分:0)
我认为DjangoBook网站是用Django构建的,这似乎意味着它使用了Django comments framework。
更新:有一个注释here,它将评论系统的许多代码归于Jack Slocum。 DjangoBook页面上的链接已经死了,所以我找不到任何其他信息,但可能是所引用的代码用于YUI / AJAX片段,使得上下文评论成为可能。< / p>
答案 6 :(得分:0)
您可能想尝试使用带有CommentPress插件的WordPress添加类似的行为。
答案 7 :(得分:0)
我不知道为什么我再次陷入这篇文章,但现在我认为这是由很多网站完成的。一个很好的实现是:https://github.com/aroc/side-comments/