“扩展MW:VisualEditor”的版本间差异
跳到导航
跳到搜索
小 (Eijux移动页面VisualEditor至常用扩展VisualEditor,不留重定向) |
(→备注) |
||
(未显示同一用户的9个中间版本) | |||
第1行: | 第1行: | ||
[[category:MediaWiki]] | [[category:MediaWiki]] | ||
== | == 关于== | ||
'''可视化编辑器'''(英语:VisualEditor,简称 '''VE''')是 MediaWiki 扩展程序,一种向维基百科提供“可视化”或“所见即所得”式在线多信息文本编辑器,由维基媒体基金会和Wikia共同开发。测试版在默认情况下启用(临时的设定后来全面推出),该功能 2013 年 7 月起在 Mediawiki.org 和维基百科多个大型语言版本可选择性撤销。与 WikiEditor 不同,不必熟悉Wiki标记语言就能能进行编辑,消除需要学习维基代码的麻烦、降低成为维基人的技术门槛。 | |||
VisualEditor 将 MediaWiki 的语法代码编辑时不可见,这就导致在某些情况下,对于 VE 自动添加的一些不需要的语法标签,用户必须使用 WikiEditor 才能进行更改。所以,VE 更适合于编辑一些复杂的表格内容(至少当前是这样),而编辑一般内容时对于熟悉 MediaWiki 语法的人来说 WikiEditor 更为合适。 | |||
[[File:VirsualEditor.png|center|800px|VirsualEditor编辑窗口]] | |||
// | '''在 MediaWiki 1.35 之前,VisualEditor 扩展依赖于单独的 Parsoid 解析器服务;而 1.35 之后,Parsoid 已集成到 MediaWiki 中(/vendor/wikimedia/parsoid)。''' | ||
// // | |||
'''<span style="color: blue; font-size: 120%">在 MediaWiki 1.35 之后,Parsoid 已集成到 MediaWiki 中(/vendor/wikimedia/parsoid)</span>,直接启用 VisualEditor 即可。''' | |||
// | === 备注 === | ||
*【2020/09/06 17:52:09】点击“编辑”之后无报错即可。如果没反应等待稍后再试(可能是 Parsoid 等某服务加载延迟?)目前能正常显示 VisualEditor 页面,并加载内容。 | |||
*【2020/09/06 17:58:45】但在 VisualEditor 中保存内容时,出现“'''服务器没有在预期时间内响应。'''”,还不知道具体情况,<s>只知道和修改页面内容多少无关</s>。 | |||
*【2020/09/06 18:01:22】“'''计算您的更改花费了太长时间,因此下方的描述可能并不理想。'''”真他娘和页面内容多少有关,太多的东西还是用 WikiEditor 改吧。坑! | |||
*【2020/09/06 18:03:38】又他妈能使了…… | |||
*【2020/09/07 13:56:20】真香……编辑表格的可视化真香,但是编辑文本会添加很多格式标签,不如 WikiEditor 香。 | |||
*【2021/10/08 20:48:57】使用可视化编辑时,发现保存过程异常旧,编辑页面可能出现“'''服务器没有在预期时间内响应。'''” | |||
*: 这样看似没能保存,重新打开该页面查看内容也没变化,但多刷新内容页面几次就看到更改了,说明保存过程实在太久,且后台修改不能及时反馈。 | |||
*【2021/12/21 08:02:32】更新到 '''MediaWiki-1.37.1''' (实际 1.35.0 正式版之后),VisualEditor 和 Parsoid 现在捆绑在 '''Tarball''' 中,不再需要一个单独的 node.js 服务。 | |||
** 所以也不需要做其他的设置,配置文件中启用插件即可。 | |||
/ | == 安装 == | ||
在 MediaWiki 1.35.0 版本之前:VisualEditor 扩展依赖于单独的 Parsoid 解析器服务('''Parsoid/Js''',用 JS 编写)。 | |||
所以,不仅需要单独安装独立运行的 '''Parsoid''' 服务,还需要 '''Nodejs'''、'''NPM''' 等基础包。 | |||
在 MediaWiki 1.35.0 版本之后,'''Parsoid/Js 被以 PHP 语言重写(Parsoid/PHP),并集成到 MediaWiki 内(/vendor/wikimedia/parsoid)'''。 | |||
所以,不需要任何额外的安装,直接启用即可。 | |||
== 设置<ref>Setting_up_VisualEditor https://www.mediawiki.org/wiki/Extension:VisualEditor#Setting_up_VisualEditor</ref> == | |||
启用和配置 VirsualEditor 扩展,仅需要修改 '''LocalSettings.php''': | |||
: <syntaxhighlight lang="php"> | |||
< | |||
''' | |||
<syntaxhighlight lang="php"> | |||
wfLoadExtension( 'VisualEditor' ); | wfLoadExtension( 'VisualEditor' ); | ||
第90行: | 第53行: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== < | === 更改命名空间 === | ||
默认情况下,仅对名称空间“Main”,“User”,“File”和“Category”启用 VisualEditor。但是,可以添加或删除名称空间。有许多方法可以做到这一点,但是建议使用为各个名称空间定义的规范名称。 | |||
删除名称空间(例如“文件”): | |||
<syntaxhighlight lang="php"> | |||
$wgVisualEditorAvailableNamespaces = [ | |||
'File' => false | |||
]; | |||
</syntaxhighlight> | |||
添加名称空间(例如,“Help”和“Extra”是自定义名称空间) | |||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
$wgVisualEditorAvailableNamespaces = [ | |||
'Help' => true , | |||
'Extra' => true | |||
]; | |||
</syntaxhighlight> | |||
添加和删除名称空间(例如,“File”和“Extra”是自定义名称空间) | |||
<syntaxhighlight lang="php"> | |||
$wgVisualEditorAvailableNamespaces = [ | |||
'File' => false , | |||
'Extra' => true | |||
]; | |||
</syntaxhighlight> | |||
=== 尝试过的配置代码 === | |||
# 尝试过的配置代码——1:<ref>参考:[https://www.mediawiki.org/wiki/Parsoid/PHP 官网 Parsoid/PHP 页面]</ref> | |||
#: <s><syntaxhighlight lang="php"> | |||
## Parsoid required configuration | ## Parsoid required configuration | ||
AutoLoader::$psr4Namespaces += [ | AutoLoader::$psr4Namespaces += [ | ||
第133行: | 第120行: | ||
); | ); | ||
$wgVisualEditorFullRestbaseURL = '$wgServer/$wgServer/'; | $wgVisualEditorFullRestbaseURL = '$wgServer/$wgServer/'; | ||
</syntaxhighlight> | </syntaxhighlight></s> | ||
</s> | # 尝试过的配置代码——2:<ref>参考:[https://www.mediawiki.org/wiki/Parsoid#Linking_a_developer_checkout_of_Parsoid 官网 Parsoid 页面#Linking a developer checkout of Parsoid]</ref> | ||
#: <s><syntaxhighlight lang="php"> | |||
<s> | |||
<syntaxhighlight lang="php"> | |||
# Make sure exists of this line, if you want to use VE: | # Make sure exists of this line, if you want to use VE: | ||
wfLoadExtension('Parsoid', 'vendor/wikimedia/parsoid/extension.json'); | wfLoadExtension('Parsoid', 'vendor/wikimedia/parsoid/extension.json'); | ||
第163行: | 第147行: | ||
# (By default, VE is only enabled in NS_MAIN) | # (By default, VE is only enabled in NS_MAIN) | ||
$wgVisualEditorNamespaces[] = NS_USER; | $wgVisualEditorNamespaces[] = NS_USER; | ||
</syntaxhighlight> | </syntaxhighlight></s> | ||
</ | |||
== FAQ == | |||
=== 遇到的问题:Error contacting the Parsoid/RESTBase server (HTTP 500) === | |||
## 1.34:配置错误。 | |||
## 1.35:依赖的 Parsoid 文件内容缺失?【如下】 | |||
通过对比服务器路径(“<code><span style="color: blue">./vendor/wikimedia/parsoid</span></code>”)和 [https://github.com/wikimedia/parsoid.git GitHub:Paroid 项目] 的内容,发现服务器下缺少“<code><span style="color: blue">'''lib'''</span></code>”文件夹。 | |||
故而单独拉取 Paroid 项目的“<code>'''lib'''</code>”文件夹并上传到服务器即可。 | |||
注意: | |||
1、单独拉取 Paroid 项目“<span style="color: blue">'''git clone https://github.com/wikimedia/parsoid.git D:\Documents\GitHub\parsoid'''</span>”,才能得到“lib”文件夹,其他方式(git 拉取 Mediawiki 的 Paroid 子模块、下载 rc 预览包、通过 <code>composer.json</code> 自动下载)等方式均无该文件夹。 | |||
2、记得修改服务器上“parsoid”文件夹的所有者和读写权限。 | |||
=== 遇到的问题:Error contacting the Parsoid/RESTBase server (HTTP 404) === | |||
## 1.34:配置错误。 | |||
## 1.35:配置多余。 | |||
== 参考 == | == 参考 == | ||
<references/> | <references/> |
2022年8月21日 (日) 18:41的最新版本
关于
可视化编辑器(英语:VisualEditor,简称 VE)是 MediaWiki 扩展程序,一种向维基百科提供“可视化”或“所见即所得”式在线多信息文本编辑器,由维基媒体基金会和Wikia共同开发。测试版在默认情况下启用(临时的设定后来全面推出),该功能 2013 年 7 月起在 Mediawiki.org 和维基百科多个大型语言版本可选择性撤销。与 WikiEditor 不同,不必熟悉Wiki标记语言就能能进行编辑,消除需要学习维基代码的麻烦、降低成为维基人的技术门槛。 VisualEditor 将 MediaWiki 的语法代码编辑时不可见,这就导致在某些情况下,对于 VE 自动添加的一些不需要的语法标签,用户必须使用 WikiEditor 才能进行更改。所以,VE 更适合于编辑一些复杂的表格内容(至少当前是这样),而编辑一般内容时对于熟悉 MediaWiki 语法的人来说 WikiEditor 更为合适。
在 MediaWiki 1.35 之前,VisualEditor 扩展依赖于单独的 Parsoid 解析器服务;而 1.35 之后,Parsoid 已集成到 MediaWiki 中(/vendor/wikimedia/parsoid)。
在 MediaWiki 1.35 之后,Parsoid 已集成到 MediaWiki 中(/vendor/wikimedia/parsoid),直接启用 VisualEditor 即可。
备注
- 【2020/09/06 17:52:09】点击“编辑”之后无报错即可。如果没反应等待稍后再试(可能是 Parsoid 等某服务加载延迟?)目前能正常显示 VisualEditor 页面,并加载内容。
- 【2020/09/06 17:58:45】但在 VisualEditor 中保存内容时,出现“服务器没有在预期时间内响应。”,还不知道具体情况,
只知道和修改页面内容多少无关。 - 【2020/09/06 18:01:22】“计算您的更改花费了太长时间,因此下方的描述可能并不理想。”真他娘和页面内容多少有关,太多的东西还是用 WikiEditor 改吧。坑!
- 【2020/09/06 18:03:38】又他妈能使了……
- 【2020/09/07 13:56:20】真香……编辑表格的可视化真香,但是编辑文本会添加很多格式标签,不如 WikiEditor 香。
- 【2021/10/08 20:48:57】使用可视化编辑时,发现保存过程异常旧,编辑页面可能出现“服务器没有在预期时间内响应。”
- 这样看似没能保存,重新打开该页面查看内容也没变化,但多刷新内容页面几次就看到更改了,说明保存过程实在太久,且后台修改不能及时反馈。
- 【2021/12/21 08:02:32】更新到 MediaWiki-1.37.1 (实际 1.35.0 正式版之后),VisualEditor 和 Parsoid 现在捆绑在 Tarball 中,不再需要一个单独的 node.js 服务。
- 所以也不需要做其他的设置,配置文件中启用插件即可。
安装
在 MediaWiki 1.35.0 版本之前:VisualEditor 扩展依赖于单独的 Parsoid 解析器服务(Parsoid/Js,用 JS 编写)。 所以,不仅需要单独安装独立运行的 Parsoid 服务,还需要 Nodejs、NPM 等基础包。 在 MediaWiki 1.35.0 版本之后,Parsoid/Js 被以 PHP 语言重写(Parsoid/PHP),并集成到 MediaWiki 内(/vendor/wikimedia/parsoid)。 所以,不需要任何额外的安装,直接启用即可。
设置[1]
启用和配置 VirsualEditor 扩展,仅需要修改 LocalSettings.php:
wfLoadExtension( 'VisualEditor' ); # VisualEditor Settings # Enable by default for everybody $wgDefaultUserOptions['visualeditor-enable'] = 1; # Don't allow users to disable it $wgHiddenPrefs[] = 'visualeditor-enable'; # OPTIONAL: Enable VisualEditor's experimental code features #$wgDefaultUserOptions['visualeditor-enable-experimental'] = 1; # OPTIONAL: Enable VisualEditor in other namespaces # (By default, VE is only enabled in NS_MAIN) #$wgVisualEditorNamespaces[] = NS_USER;
更改命名空间
默认情况下,仅对名称空间“Main”,“User”,“File”和“Category”启用 VisualEditor。但是,可以添加或删除名称空间。有许多方法可以做到这一点,但是建议使用为各个名称空间定义的规范名称。
删除名称空间(例如“文件”):
$wgVisualEditorAvailableNamespaces = [
'File' => false
];
添加名称空间(例如,“Help”和“Extra”是自定义名称空间)
$wgVisualEditorAvailableNamespaces = [
'Help' => true ,
'Extra' => true
];
添加和删除名称空间(例如,“File”和“Extra”是自定义名称空间)
$wgVisualEditorAvailableNamespaces = [
'File' => false ,
'Extra' => true
];
尝试过的配置代码
- 尝试过的配置代码——1:[2]
## Parsoid required configuration AutoLoader::$psr4Namespaces += [ 'Wikimedia\\Parsoid\\' => 'vendor/wikimedia/parsoid/src', ]; # Make sure exists of this line, if you want to use VE: wfLoadExtension('Parsoid','vendor/wikimedia/parsoid/extension.json'); # Enable Parsoid $wgEnableRestAPI = true; $wgParsoidSettings = [ 'useSelser' => true, 'rtTestMode' => false, 'linting' => false, ]; ## Enable VisualEditor wfLoadExtension('VisualEditor'); # Enable by default for everybody $wgDefaultUserOptions['visualeditor-enable'] = 1; #Optional: Set VisualEditor as the default for anonymous users # otherwise they will have to switch to VE $wgDefaultUserOptions['visualeditor-editor'] = "visualeditor"; # Don't allow users to disable it #$wgHiddenPrefs[] = 'visualeditor-enable'; # OPTIONAL: Enable VisualEditor's experimental code features $wgVisualEditorEnableExperimentalCode = true; # OPTIONAL: Enable VisualEditor in other namespaces # (By default, VE is only enabled in NS_MAIN) $wgVisualEditorNamespaces[] = NS_USER; $wgVirtualRestConfig['modules']['parsoid'] = array( 'url' => $wgServer . $wgScriptPath . '/rest.php', 'domain' => $wgServer, 'prefix' => $wgServer ); $wgVirtualRestConfig['modules']['restbase'] = array( 'url' => $wgServer . $wgScriptPath . '/rest.php', 'domain' => $wgServer, 'forwardCookies' => false, 'parsoidCompat' => false ); $wgVisualEditorFullRestbaseURL = '$wgServer/$wgServer/';
- 尝试过的配置代码——2:[3]
# Make sure exists of this line, if you want to use VE: wfLoadExtension('Parsoid', 'vendor/wikimedia/parsoid/extension.json'); # Enable Parsoid $wgVisualEditorParsoidAutoConfig = false; $wgParsoidSettings = [ 'useSelser' => true, 'rtTestMode' => false, 'linting' => false ]; # Enable VisualEditor wfLoadExtension('VisualEditor'); # $wgDefaultUserOptions['visualeditor-enable'] = 1; $wgVirtualRestConfig['modules']['parsoid'] = [ 'url' => $wgServer . $wgScriptPath . '/rest.php', 'domain' => $wgServer ]; # OPTIONAL: Enable VisualEditor's experimental code features $wgVisualEditorEnableExperimentalCode = true; # OPTIONAL: Enable VisualEditor in other namespaces # (By default, VE is only enabled in NS_MAIN) $wgVisualEditorNamespaces[] = NS_USER;
FAQ
遇到的问题:Error contacting the Parsoid/RESTBase server (HTTP 500)
- 1.34:配置错误。
- 1.35:依赖的 Parsoid 文件内容缺失?【如下】
通过对比服务器路径(“./vendor/wikimedia/parsoid
”)和 GitHub:Paroid 项目 的内容,发现服务器下缺少“lib
”文件夹。 故而单独拉取 Paroid 项目的“lib
”文件夹并上传到服务器即可。 注意: 1、单独拉取 Paroid 项目“git clone https://github.com/wikimedia/parsoid.git D:\Documents\GitHub\parsoid”,才能得到“lib”文件夹,其他方式(git 拉取 Mediawiki 的 Paroid 子模块、下载 rc 预览包、通过composer.json
自动下载)等方式均无该文件夹。 2、记得修改服务器上“parsoid”文件夹的所有者和读写权限。
遇到的问题:Error contacting the Parsoid/RESTBase server (HTTP 404)
- 1.34:配置错误。
- 1.35:配置多余。