维基百科如何为其文章实现“编辑此部分”功能,其中用户只能编辑文章的一部分,而不是整篇文章?我已经尝试过自己浏览mediawiki的代码,但是它有点让我理解。这里是我的猜测(但只是一个猜测):维基百科上的“编辑部分”功能如何工作?
用户点击在文章中的[编辑]。这链接到常规编辑页面,但是通过指定要编辑哪个部分的URL通过GET传递附加参数。如果没有这个额外的参数,Mediawiki通常会向用户显示编辑整个页面的表单。但指定要编辑的部分会导致Mediawiki仅提取该部分并将其显示以供编辑。
什么让我难过的是,Mediawiki如何解析出各个部分?据我了解,MW不会单独存储这些部分 - 它将每个版本页面的每个完整版本存储为一大块文本(除了大量的元数据)。 MW是否仅仅查找H1,H2,H3,...标签,并在渲染页面时使用它们将文本分割成区域?当用户保存修改的部分时,是否查看当前版本,将文本重新解析为多个部分,然后将新版本“注入”到当前版本的副本中,然后将其保存为NEW版本?
我假设我对MediaWiki的理解非常简单,但我只是想弄清楚一个概念。
谢谢!
优秀的问题。 – 2010-09-11 04:13:30