【MediaWiki之VisualEditor扩展】MediaWiki实现可视化编辑功能


环境:windows server 2012 + mediawiki 1.34 + nodejs-10.21.0 + parsoid 0.11.0 + VisualEditor 1.34

版本控制极其极其重要!

总结:

  1. 安装choco:修改安全模式–命令行下载并安装
	[Net.ServicePointManager]::SecurityProtocol =[Net.SecurityProtocolType]::Tls12
 	iwr https://chocolatey.org/install.ps1 -UseBasicParsing | iex
  1. 安装nodejs:下载–点击安装–安装支持环境

  2. 安装git:下载–安装–配置环境变量

  3. 安装Parsoid:

	git config --global http.postBuffer  524288000
	git clone https://gerrit.wikimedia.org/r/p/mediawiki/services/parsoid --depth 1
	cd parsoid/
	npm config set registry https://registry.npm.taobao.org
	npm install
  1. 配置parsoid:修改config.example.yamllocalsettings.example.js二文件
  2. 启动parsoid:node bin/server.js
  3. 安装visualEditor扩展,配置mediawiki的localsetting.php文件
  4. 重启parsoid:node bin/server.js

1. 安装Nodejs和npm:

  • 条件:Install nodejs >= v6.x and the node package manager, npm.
  • 下载nodejs:https://nodejs.org/en/download/
    【下载合适版本哦,不要下载最新版本的Nodejs,因为不兼容呀不兼容!】
  • 安装nodejs:点击应用程序自动安装,安装时会同时将npm绑定安装。很多小白和我一样,不懂npm是什么,那么附上学习链接:npm是什么{ 专业版知乎版菜鸟版}。
  • 安装时报错:choco : 无法将“choco”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正
    确,然后再试一次。
    在这里插入图片描述
    原因: 安全模式不允许,需要修改安全模式。
    解决方案:手动安装chocolatey。管理员身份打开powershell,输入命令:
 	[Net.ServicePointManager]::SecurityProtocol =[Net.SecurityProt
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MediaWiki 实现 AJAX 请求的步骤如下: 1. 在 `LocalSettings.php` 文件中添加以下代码开启 AJAX 支持: ```php $wgAjaxExportList = array( 'myFunction' ); $wgUseAjax = true; ``` `$wgAjaxExportList` 数组中包含了可以被调用的函数名,这些函数将由 JavaScript 发送 AJAX 请求来执行。 2. 编写 AJAX 函数: ```php function myFunction( $param ) { // 处理参数 $result = "Hello, " . $param; // 返回结果 return $result; } ``` 此函数接收一个参数 `$param`,处理后返回结果。 3. 编写 JavaScript 代码: ```javascript $.ajax({ type: 'POST', url: mw.util.wikiScript(), data: { action: 'ajax', rs: 'myFunction', rsargs: ['World'] }, dataType: 'json', success: function( response ) { console.log( response ); } }); ``` 该代码使用 jQuery 发送 AJAX 请求,调用了 MediaWiki 中的 `myFunction` 函数,并传入了参数 `'World'`。成功后,控制台将输出结果。 以下是一个简单的 AJAX 请求示例: ```php function myAjaxFunction( $param ) { $result = "Hello, " . $param; return $result; } $wgHooks['BeforePageDisplay'][] = function( $out ) { $out->addScript( <<<JS $(document).ready(function() { $('#ajax-button').click(function() { $.ajax({ type: 'POST', url: mw.util.wikiScript(), data: { action: 'ajax', rs: 'myAjaxFunction', rsargs: ['World'] }, dataType: 'json', success: function( response ) { alert( response ); } }); }); }); JS ); return true; }; $wgResourceModules['ext.myExtension'] = array( 'scripts' => array( 'js/myExtension.js', ), 'dependencies' => array( 'jquery', 'mediawiki.util', ), ); ``` 此代码定义了一个 `myAjaxFunction` 函数,并添加了一个按钮,点击后将触发 AJAX 请求并弹出结果。同时,它还注册了一个资源模块 `ext.myExtension`,在其中包含了 `myExtension.js` 文件。该文件中包含了上述 JavaScript 代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值