可视化编辑器是通过直观可视的方式编辑维基百科。一直以来,编辑维基百科时需要人们熟悉 wiki 标记(一种复杂的标记语言),只是对页面做出微小的改动也是如此。在 2001 年这尚可接受,到了 2013 年这造成了贡献者的逃离。我们希望可视化编辑器能提高现有贡献者的积极性并能得到新人的喜欢。

2012年12月,MediaWiki的可视化编辑器已在英语维基百科中作为“alpha”版提供,而真正走入大众视野却是在2017年的年中。目前维基百科的默认编辑器就是VisualEditor(注:在官方的说明中,可视化编辑器被分为了两个——始于2012年的和始于2017年的,目前所指的皆为2017年版,即官方所称的2017年版wiki文本编辑器),它的所见即所得的特性提高了用户的体验,降低了入门门槛并提升了编辑维基的乐趣。
VisualEditor的原理,简单来说就是通过后台Parsoid 的程序来承担把wiki标记转化成html的任务,同时VisualEditor以插件的形式在MediaWiki中运行,用户可以在原来的编辑界面直接使用,编辑者角度上几乎无学习成本。
而它的安装难度要大于其他扩展程序,主要也就在于需要Parsoid服务(它是一个基于Nodejs的解析器服务。 它被许多MediaWiki扩展使用,包括VisualEditor,Flow,内容翻译和其他应用程序)的支持。
注:目前,Parsoid服务的官方安装指南中已经涵盖了常用的几大服务器系统(Ubuntu/Debian、Arch、RedHat/CentOS、Windows)。

注:

提示:

  • 在安装VisualEditor前请先确保你的MediaWiki已正确安装,并能编辑页面(MediaWiki安装请参见《MediaWiki简介及安装》)。
  • Ubuntu/Debian的操作系统只要添加源之后就可以自动安装Parsoid服务,而CentOS目前仍需手动安装,因此本教程的系统以CentOS为例。
  • 系统配置如下图所示:
    mediawiki-version.png
  • 本教程采用虚拟机进行测试,域名www.mywiki.com通过网络映射至本地(localhost),因此部分设置可能会与实际网络有出入,文中将另作说明。

一、安装Parsoid

如果没有Parsoid服务的支持,即便你已经安装了VisualEditor扩展程序并尝试运用其进行编辑,系统将会提示如下的错误信息。
visual_editor_no_vrs.png

1. 安装依赖关系

要安装Parsoid服务并配置VisualEditor,我们需要在系统上安装一些CentOS软件包。 具体来说,我们将安装Nodejs,npm和git。
使用下面的yum命令安装所有需要的软件包。

yum -y install nodejs npm git

parsoid依赖软件.png

2.安装Parsoid

Parsoid可以安装在单独的服务器上给MediaWiki提供服务。但是对于很多用户而言,通常都只有一台服务器用于网络运行,所以在本教程中,我们将使用同一台CentOS7服务器安装MediaWiki和Parsoid。
首先创建一个新的/opt/parsoid目录,并使用git命令克隆最新的parsoid,如下所示。

mkdir -p /opt/parsoid
git clone https://gerrit.wikimedia.org/r/p/mediawiki/services/parsoid /opt/parsoid

git-parsoid.png
进入/opt/parsoid目录并使用npm命令安装Parsoid服务。

cd /opt/parsoid
npm install

安装完成后将得到如下结果。
parsoid-npm_install.png

3. 配置Parsoid

接下来,通过编辑相应的配置文件来配置Parsoid服务。
将示例配置文件localsettings.example.js复制为localsettings.js,然后使用vim编辑该文件。

cp localsettings.example.js localsettings.js
vim localsettings.js

取消parsoidConfig.setMwApi行的注释,并使用MediaWiki的API路径更改“uri”值,如下所示。

exports.setup = function(parsoidConfig) {
         // Do something dynamic with `parsoidConfig` like,
         parsoidConfig.setMwApi({
                 uri: 'http://www.mywiki.com/api.php',
          });//此处填写你的维基网站地址
 };

保存并退出。
说明:请确保api.php是位于你的虚拟主机(不是服务器)根目录下而非子目录,否则请将子目录的名称一并填上,如http://www.yourdomain.com/mediawiki/api.php

现在将'config.example.yaml'配置复制为'config.yaml'并用vim编辑器进行编辑。

cp config.example.yaml config.yaml
vim config.yaml

在“mwApis”行(第34行)上,使用MediaWiki的API路径和“域”值更改“uri”值,并使用您自己的域名。

 mwApis:
         - # This is the only required parameter,
           # the URL of you MediaWiki API endpoint.
           uri: 'http://www.mywiki.com/api.php'
           # The "domain" is used for communication with Visual Editor
           # and RESTBase.  It defaults to the hostname portion of
           # the `uri` property above, but you can manually set it
           # to an arbitrary string. It must match the "domain" set
           # in $wgVirtualRestConfig.
           domain: 'www.mywiki.com' 
           #optional

保存并退出。

4. 创建Parsoid服务

接下来,我们将Parsoid配置为一项服务。为此,转至/ etc / systemd / system目录并创建一个名为parsoid.service的新服务文件.

cd /etc/systemd/system/
vim parsoid.service

粘贴下面的Parsoid服务配置。

[Unit]
 Description=Mediawiki Parsoid web service on node.js
 Documentation=http://www.mediawiki.org/wiki/Parsoid
 Wants=local-fs.target network.target
 After=local-fs.target network.target
 
 [Install]
 WantedBy=multi-user.target
 
 [Service]
 Type=simple
 User=root
 Group=root
 WorkingDirectory=/opt/parsoid
 ExecStart=/usr/bin/node /opt/parsoid/bin/server.js
 KillMode=process
 Restart=on-success
 PrivateTmp=true
 StandardOutput=syslog

注意:如果你使用的是nvm方式安装Node,那么ExecStart=/usr/bin/node这行需要修改成实际的地址(例如/usr/local/n/versions/node/版本号/bin/node),否则你的parsoid是没有办法运行起来的。
保存并退出。 然后执行以下reload命令。

systemctl daemon-reload

现在,启动Parsoid服务,并使其在系统启动时每次执行。

systemctl start parsoid
systemctl enable parsoid

Parsoid现在应该作为CentOS7上的一项服务在运行,并使用8000端口。你可以使用netstat命令进行检查。

netstat -plntu

你应该得到类似于以下的结果:
parsoid-installed.png

二、安装Visual Editor

1. 安装Visual Editor

Visual Editor的安装同大部分扩展程序一样,下载

2. 配置Visual Editor

疑问

1、“编辑”标签和“编辑源代码”标签共存

安装完之后,每个页面就会重复出现“编辑”和“编辑源代码”的标签,而当你点击任何一个都会默认进入到可视化编辑器中。
MediaWiki-2-Edite-flag.png
MediaWiki官网的参数设置中有一个编辑模式的选项。
editor-mode.png
解决方法:在LocalSettings.php中加入如下代码

$wgVisualEditorUseSingleEditTab = true;
$wgDefaultUserOptions['visualeditor-editor'] = "visualeditor";

如果不希望在参数设置中显示“编辑模式”的选项,可以在上述代码中继续加一行

$wgHiddenPrefs[] = 'visualeditor-tabs';

参考文章:
How to Install VisualEditor for MediaWiki on CentOS 7
如何在CentOS 7上安装MediaWiki的VisualEditor
VisualEditor安装笔记

最后修改:2024 年 01 月 05 日
如果觉得我的文章对你有用,请随意赞赏