“扩展MW:VisualEditor”的版本间差异

来自Wikioe
跳到导航 跳到搜索
(Eijux移动页面VisualEditor常用扩展VisualEditor,不留重定向)
 
(未显示同一用户的9个中间版本)
第1行: 第1行:
[[category:MediaWiki]]
[[category:MediaWiki]]


== 说明 ==
== 关于==
可视化编辑器(英语:VisualEditor,简称VE)是MediaWiki扩展程序,一种向维基百科提供“可视化”或“所见即所得”式在线多信息文本编辑器,由维基媒体基金会和Wikia共同开发。测试版在默认情况下启用(临时的设定后来全面推出),该功能2013年7月起在Mediawiki.org和维基百科多个大型语言版本可选择性撤销。与WikiEditor不同,不必熟悉Wiki标记语言就能能进行编辑,消除需要学习维基代码的麻烦、降低成为维基人的技术门槛。<br/>
'''可视化编辑器'''(英语:VisualEditor,简称 '''VE''')是 MediaWiki 扩展程序,一种向维基百科提供“可视化”或“所见即所得”式在线多信息文本编辑器,由维基媒体基金会和Wikia共同开发。测试版在默认情况下启用(临时的设定后来全面推出),该功能 2013 年 7 月起在 Mediawiki.org 和维基百科多个大型语言版本可选择性撤销。与 WikiEditor 不同,不必熟悉Wiki标记语言就能能进行编辑,消除需要学习维基代码的麻烦、降低成为维基人的技术门槛。
[[File:VirsualEditor.png|center|1200px|VirsualEditor编辑窗口]]
VisualEditor将MediaWiki的语法代码编辑时不可见,这就导致在某些情况下,对于VE自动添加的一些不需要的语法标签,用户必须使用WikiEditor才能进行更改。所以,VE更适合于编辑一些复杂的表格内容(至少当前是这样),而编辑一般内容时对于熟悉MediaWiki语法的人来说WikiEditor更为合适。<br/>
<br/>
  VisualEditor 将 MediaWiki 的语法代码编辑时不可见,这就导致在某些情况下,对于 VE 自动添加的一些不需要的语法标签,用户必须使用 WikiEditor 才能进行更改。所以,VE 更适合于编辑一些复杂的表格内容(至少当前是这样),而编辑一般内容时对于熟悉 MediaWiki 语法的人来说 WikiEditor 更为合适。
* '''在MediaWiki 1.35之前,VisualEditor扩展依赖于单独的Parsoid解析器服务;而1.35之后,Parsoid已集成到MediaWiki中(/vendor/wikimedia/parsoid)。'''


== 设置<ref>Setting_up_VisualEditor https://www.mediawiki.org/wiki/Extension:VisualEditor#Setting_up_VisualEditor</ref> ==
[[File:VirsualEditor.png|center|800px|VirsualEditor编辑窗口]]
=== 基本配置 ===
<syntaxhighlight lang="php">
wfLoadExtension ( 'VisualEditor'  );


//默认情况下对所有人启用
$ wgDefaultUserOptions [ 'visualeditor-enable' ]  =  1 ;


//可选:将VisualEditor设置为匿名用户的默认
'''在 MediaWiki 1.35 之前,VisualEditor 扩展依赖于单独的 Parsoid 解析器服务;而 1.35 之后,Parsoid 已集成到 MediaWiki 中(/vendor/wikimedia/parsoid)。'''
// //否则,他们将不得不切换到VE
// $ wgDefaultUserOptions ['visualeditor-editor'] =“ visualeditor”;
'''<span style="color: blue; font-size: 120%">在 MediaWiki 1.35 之后,Parsoid 已集成到 MediaWiki 中(/vendor/wikimedia/parsoid)</span>,直接启用 VisualEditor 即可。'''


//不允许用户禁用它
=== 备注 ===
$ wgHiddenPrefs []  =  'visualeditor-enable' ;
*【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 服务。
** 所以也不需要做其他的设置,配置文件中启用插件即可。


//可选:启用VisualEditor的实验代码功能
== 安装 ==
#$ wgDefaultUserOptions ['visualeditor-enable-experimental'] = 1;
在 MediaWiki 1.35.0 版本之前:VisualEditor 扩展依赖于单独的 Parsoid 解析器服务('''Parsoid/Js''',用 JS 编写)。
</syntaxhighlight>
=== 更改命名空间 ===
    所以,不仅需要单独安装独立运行的 '''Parsoid''' 服务,还需要 '''Nodejs'''、'''NPM''' 等基础包。
默认情况下,仅对名称空间“Main”,“User”,“File”和“Category”启用VisualEditor。但是,可以添加或删除名称空间。有许多方法可以做到这一点,但是建议使用为各个名称空间定义的规范名称。
在 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> ==
<syntaxhighlight lang="php">
启用和配置 VirsualEditor 扩展,仅需要修改 '''LocalSettings.php'''
$ wgVisualEditorAvailableNamespaces  = [
: <syntaxhighlight lang="php">
    “ File”  =>  false
];
</syntaxhighlight>
添加名称空间(例如,“ Help”和“ Extra”是自定义名称空间)
<syntaxhighlight lang="php">
$ wgVisualEditorAvailableNamespaces  =  [
    “Help”  =>  true ,
    “Extra”  =>  true
];
</syntaxhighlight>
添加和删除名称空间(例如,“ File”和“ Extra”是自定义名称空间)
<syntaxhighlight lang="php">
$ wgVisualEditorAvailableNamespaces  =  [
    “ File”  =>  false ,
    “ Extra”  =>  true
];
</syntaxhighlight>
 
== 备注 ==
*【2020/09/06 17:52:09】点击“编辑”之后无报错即可。如果没反应等待稍后再试(可能是Parsoid等某服务加载延迟?)目前能正常显示VisualEditor页面,并加载内容。<br/>
*【2020/09/06 17:58:45】但在VisualEditor中保存内容时,出现“服务器没有在预期时间内响应。”,还不知道具体情况,<s>只知道和修改页面内容多少无关</s>。<br/>
*【2020/09/06 18:01:22】“计算您的更改花费了太长时间,因此下方的描述可能并不理想。”真他娘和页面内容多少有关,太多的东西还是用WikiEditor改吧。坑!<br/>
*【2020/09/06 18:03:38】又他妈能使了……<br/>
*【2020/09/07 13:56:20】真香……编辑表格的可视化真香,但是编辑文本会添加很多格式标签,不如WikiEditor香。<br/>
 
== FAQ ==
=== 从“mediawiki-1.34.2”升级到“mediawiki-1.35.0-rc.3”时,VisualEditor扩展的问题:===
1.35.0版本之前,VisualEditor需要Parsoid/Js的支持,不仅需要单独安装独立运行的Parsoid服务,还需要Nodejs、NPM等基础包。而1.35.0版本之后,Parsoid/Js被以PHP语言重写并集成到MediaWiki内(Parsoid/PHP),所以,不需要任何额外的安装,仅需要修改<code>LocalSettings.php</code>以加载和设置VirsualEditor扩展。<br/>
所以1.34.2以下和1.35以上的版本安装启用VisualEditor的操作是不同的。<br/>
'''本站在升级过程中遇到的问题如下:'''
==== Error contacting the Parsoid/RESTBase server (HTTP 500) ====
# 1.34:配置错误。
# 1.35:依赖的Parsoid文件内容缺失?,对比服务器路径<code>/www/wwwroot/wiki.eijux.com/vendor/wikimedia/parsoid</code>和[https://github.com/wikimedia/parsoid.git GitHub]的内容。
==== Error contacting the Parsoid/RESTBase server (HTTP 404) ====
# 1.34:配置错误。
# 1.35:配置多余。
 
=== “mediawiki-1.35.0-rc.3.tar.gz”安装包的问题 ===
本次使用<code>mediawiki-1.35.0-rc.3.tar.gz</code>安装到服务器之后,通过比较服务器安装目录<code>/www/wwwroot/wiki.eijux.com/vendor/wikimedia/parsoid</code>和[https://github.com/wikimedia/parsoid.git git项目Paroid]目录,发现在服务器"/www/wwwroot/wiki.eijux.com/vendor/wikimedia/parsoid"下缺少"<code>lib</code>"文件夹。故而单独拉取Paroid项目的"<code>lib</code>"文件夹上传到服务器,并修改其所有者和读写权限(单独拉取Paroid项目"git clone https://github.com/wikimedia/parsoid.git D:\Documents\GitHub\parsoid",才能得到"lib"文件夹,其他git拉取Mediawiki的Paroid子模块、下载rc预览包(通过<code>composer.json</code>自动下载)等方式均无"lib")。<br/>
使用VisualEditor时,只需要[http://wiki.eijux.com/index.php?title=%E6%9B%B4%E6%96%B0%E4%B8%8E%E5%8D%87%E7%BA%A7:MediaWiki#1.35.0-rc.3_.E7.9A.84.E9.85.8D.E7.BD.AE.E4.BB.A3.E7.A0.81_.3D 加载和设置VisualEditor]即可,不需要<code>Parsoid</code>、<code>RESTBase</code>的加载和设置,不需要额外安装<code>Node.js</code>。<br/>
 
=== 使用的配置 ===
==== 1.35.0-rc.3 的配置代码 ====
<syntaxhighlight lang="php">
wfLoadExtension( 'VisualEditor' );
wfLoadExtension( 'VisualEditor' );


第90行: 第53行:
</syntaxhighlight>
</syntaxhighlight>


==== <s>尝试过的配置代码1,参考[https://www.mediawiki.org/wiki/Parsoid/PHP 官网Parsoid/PHP页面]</s> ====
=== 更改命名空间 ===
<s>
默认情况下,仅对名称空间“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>尝试过的配置代码2,参考[https://www.mediawiki.org/wiki/Parsoid#Linking_a_developer_checkout_of_Parsoid 官网Parsoid页面#Linking a developer checkout of Parsoid]</s> ====
<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>
</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 更为合适。
VirsualEditor编辑窗口


在 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 服务,还需要 NodejsNPM 等基础包。



在 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. 尝试过的配置代码——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. 尝试过的配置代码——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. 1.34:配置错误。
    2. 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. 1.34:配置错误。
    2. 1.35:配置多余。

参考