帮助:灰机Wiki数据更新器\使用VS Code维护代码
在之前,我们介绍过使用sublimes来编辑wiki,参考:帮助:使用Sublime Text编辑Wiki。类似的,我们也可以使用世界上最好用的本地IDE工具Visual Studio Code(简称VS Code)来编写wiki,特别是lua模块代码。
辅助工具
尽管我们可以通过VS Code的extension来操作MediaWiki的api来和灰机wiki通信(见“内置接口”章节),但我们还是推荐下载灰机updater来进行内容同步。
这么干的好处
感觉自己是一个真正的编程小能手- VS Code的代码着色和本地辅助更为丰富,极大提高写代码的效率
- 充分利用本地性能,减少浏览器(特别是Chrome)对电脑性能的压力
- 还可以方便的维护Gadget命名空间下的css、js甚至是主空间的文章页面
- 方便传图、传文件,刷新页面 一锅端,填坑速度+500%
步骤
- 在本地创建一个文件夹,用来存放代码
- 创建一个空文本文件,并命名为“
module_2_test.wiki
”,保存。(注意:由于windows不允许文件名中出现“:”\"等字符,因此我们需要使用下面的字符串进行转义) - 配置好灰机updater,在“
任务设置-基本
”中选择“以文本更新
”模式(右图1) - 在“
文本
”标签中选择之前的文件目录,勾上“转换文件名
”(右图2) - 打开VS Code,导入之前的文件夹,配置好lua语法高亮与.wiki的匹配关系后即可使用本地IDE来维护wiki上的代码。
- 在修改完代码后,点击灰机updater的“运行”按钮,即可完成代码的上传。
符号 | \ | / | : | * | " |
---|---|---|---|---|---|
转义 | _0_ | _1_ | _2_ | _3_ | _4_ |
Fetch内容
- 目前灰机updater仅支持使用文件列表来fetch内容。
使用扩展插件编辑
与Sublimes类似,VS Code的extension库中也有用户上传的相关工具,能够实现VS Code与MediaWiki的直接通信。但我们更推荐你使用灰机自己的updater
- 前往Wikitext插件安装页面点击Install,或者打开VS Code,在菜单栏【View】-【Extension】中搜索
rowewilsonfrederiskholme.wikitext
,然后安装它。 - 在VS Code中按Ctrl+逗号,在顶部搜索框输入
@ext:rowewilsonfrederiskholme.wikitext
,按照以下配置来输入:
- Api Path:
/api.php
- Article Path:
/wiki/
- Auto Login: 建议选择
Always
- Enable JavaScript: 打勾
- Get CSS: 打勾
- Host: 你的灰机站点主机名,例如彩虹六号围攻Wiki是
r6s.huijiwiki.com
- Password: 你的密码
- Redirects: 根据需求选择是否要自动重定向,打勾后,在获取有重定向的页面时会直接得到重定向后的页面结果。
- Transfer Protocol: 选择
https://
- User Name: 你的用户名
- Api Path:
完成后关闭本设置页面。配置完成!
基本命令
- 按F1后会打开一个输入框,输入命令:
Login with your account
:登陆到站点,在设置项「Auto Login」中选择 Always ,则会在上传页面时自动登录。Logout, if you are already logged in
:登出。Pull page to edit
:获取一个页面,选择后要输入页面名称,然后按回车就会开始获取。Post your edit to the website
:上传编辑,选择后要输入页面名称,然后要输入编辑摘要,随后上传编辑。
- 按Ctrl+Shift+V可以预览编辑。虽然效果并不像网站上一样,但是也能看出是否有语法错误。
快速编辑
Wikitext插件可以使用@
来激活一些快速的 Wikitext 格式,例如@table
可以快速生成一个表格。
当然你也可以使用 VS Code 自带的代码片段功能,自定义常用的大型模板片段来快速输入。
关于代码片段功能详情请参考:Snippets in Visual Studio Code
快速切换到 VS Code 编辑
利用 URL Scheme,可以快速的从浏览器把当前页面调到 VS Code 中打开,以下是格式:
vscode://rowewilsonfrederiskholme.wikitext/PullPage?RemoteBot=true&TransferProtocol=https%3A&SiteHost=%2F%2F$key$.huijiwiki.com&APIPath=%2Fw%2Fapi.php&Title=$fullpagename$
在该URL中:
$key$
为你所在站点的 Wiki key,例如彩虹六号围攻站(r6s.huijiwiki.com)为r6s
。$fullpagename$
为指定页面的完整名称,也就是如果有空间名应该加上空间名,比如说首页
或者模板:Sandbox
。
这里准备了一个简单的零件供搬运,可以和Github一样按下键盘上的小数点键(.)来调用: