查看“︁MediaWiki:Gadget-FastWriterPage.js”︁的源代码
←
MediaWiki:Gadget-FastWriterPage.js
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
此页面为本wiki上的软件提供界面文本,并受到保护以防止滥用。 如欲修改所有wiki的翻译,请访问
translatewiki.net
上的MediaWiki本地化项目。
您无权编辑此JavaScript页面,因为编辑此页面可能会影响所有访问者。
您可以查看和复制此页面的源代码。
mw.loader.using(['oojs-ui-core', 'oojs-ui-windows']).then(function () { var pageTitle = mw.config.get('wgTitle'); if (pageTitle !== '文手页面生成器' && pageTitle !== 'Gadget-FastWriterPage.js') { return; } var btn_submit = new OO.ui.ButtonWidget({ label: '提交页面', icon: 'check', flags: [ 'primary', 'progressive' ] }), btn_code = new OO.ui.ButtonWidget({ label: '生成源代码', icon: 'code', flags: [ 'progressive' ] }), btn_add = new OO.ui.ButtonWidget({ label: '增加作品', icon: 'add' }), btn_reduce = new OO.ui.ButtonWidget({ label: '减少作品', icon: 'subtract' }); var input_writer_name = new OO.ui.TextInputWidget( { required: true, validate: 'non-empty', placeholder: '请输入文手名' } ), input_writer_tag = new OO.ui.DropdownInputWidget( { placeholder: '请选择文手标签(默认:同人)', options: [ { data: '同人', label: '同人' } ] } ), input_writer_platform = new OO.ui.TextInputWidget( { placeholder: '请输入文手活跃平台' } ), check_isoverwrite = new OO.ui.CheckboxInputWidget( { selected: false } ); var result_area = new OO.ui.MultilineTextInputWidget({ autosize: true, rows: 10, value: '' }); var fieldset = new OO.ui.FieldsetLayout( { label: '文手页面快速生成器', classes: [ 'container' ] } ), fieldset_work = new OO.ui.FieldsetLayout( { classes: [ 'container' ] } ); fieldset.addItems( [ new OO.ui.FieldLayout( input_writer_name, { label: '文手名:', align: 'top', help: '名称请使用符合URL规则的纯文本(可以使用unicode),不要使用任何wikitext、HTML之类的语法。由于MediaWiki限制,空格会被转为下划线', helpInline: true } ), new OO.ui.FieldLayout( input_writer_tag, { label: '文手标签:', align: 'top' } ), new OO.ui.FieldLayout( input_writer_platform, { label: '文手活跃平台:', align: 'top' } ), new OO.ui.FieldLayout( check_isoverwrite, { label: '覆盖已存在的页面【危险!可能会覆盖手工加入的信息】', align: 'inline' } ), new OO.ui.FieldLayout( new OO.ui.Widget( { content: [ new OO.ui.HorizontalLayout( { items: [ new OO.ui.FieldLayout( btn_add ), new OO.ui.FieldLayout( btn_reduce ), new OO.ui.FieldLayout( btn_code ), new OO.ui.FieldLayout( btn_submit ) ] } ) ] } ) ), new OO.ui.FieldsetLayout( fieldset_work ), new OO.ui.FieldLayout( result_area, { label: '生成结果:', align: 'top' } ), ] ); const getWork = (no) => { var input_work_name = new OO.ui.TextInputWidget( { placeholder: '作品名称' } ); var input_work_pub_date = new OO.ui.TextInputWidget( { placeholder: '发布日期(yyyy-MM-dd)' } ); var input_work_update_date = new OO.ui.TextInputWidget( { placeholder: '更新日期(可选)' } ); var input_work_platform = new OO.ui.TextInputWidget( { placeholder: '发布平台' } ); var input_work_url = new OO.ui.TextInputWidget( { placeholder: '作品链接' } ); var input_work_status = new OO.ui.TextInputWidget( { placeholder: '存档情况' } ); var input_work_note = new OO.ui.TextInputWidget( { placeholder: '备注(支持wikitext)' } ); var work_field = new OO.ui.FieldsetLayout( { label: '作品信息'+no, classes: [ 'container' ] } ); work_field.addItems( [ new OO.ui.FieldLayout( new OO.ui.Widget( { content: [ new OO.ui.HorizontalLayout( { items: [ new OO.ui.FieldLayout( input_work_name, { label: '作品名称:', align: 'top' }), new OO.ui.FieldLayout( input_work_pub_date, { label: '发布日期(yyyy-MM-dd):', align: 'top' }), new OO.ui.FieldLayout( input_work_update_date, { label: '更新日期(可选):', align: 'top' }), new OO.ui.FieldLayout( input_work_platform, { label: '发布平台:', align: 'top' }), new OO.ui.FieldLayout( input_work_url, { label: '作品链接:', align: 'top' }), new OO.ui.FieldLayout( input_work_status, { label: '存档情况:', align: 'top' }), new OO.ui.FieldLayout( input_work_note, { label: '备注(支持wikitext):', align: 'top' }) ] } ) ] } ) ) ] ); return { input_work_name: input_work_name, input_work_pub_date: input_work_pub_date, input_work_update_date: input_work_update_date, input_work_platform: input_work_platform, input_work_url: input_work_url, input_work_status: input_work_status, input_work_note: input_work_note, work_field: work_field }; } var work_list = []; btn_add.on('click', function () { new_work = getWork(work_list.length+1); work_list.push(new_work); fieldset_work.addItems( [ new_work.work_field ] ); }) btn_reduce.on('click', function () { last_work = work_list.pop(); fieldset_work.removeItems( [last_work.work_field] ); }) btn_code.on('click', function () { var writer_name = input_writer_name.getValue(); var windowManager = new OO.ui.WindowManager(); var messageDialog = new OO.ui.MessageDialog(); if (writer_name === null || writer_name === '') { $('body').append(windowManager.$element); windowManager.addWindows([messageDialog]); windowManager.openWindow(messageDialog, { message: '请输入文手名!', title: '错误:' }); return; } var writer_tag = input_writer_tag.getValue(); var writer_platform = input_writer_platform.getValue(); result = '{{文手信息\n|文手名 = '+writer_name; result += '\n|文手标签 = '+writer_tag; result += '\n|文手活跃平台 = '+writer_platform; result += '\n}}\n== 发布文章 ==\n'; if (work_list.length > 0) { result += '{{文章信息框架|列表=\n'; for (var i = 0; i < work_list.length; i++) { var work = work_list[i]; console.log(work); var work_name = work.input_work_name.getValue(); var work_pub_date = work.input_work_pub_date.getValue(); var work_update_date = work.input_work_update_date.getValue(); var work_platform = work.input_work_platform.getValue(); var work_url = work.input_work_url.getValue(); var work_status = work.input_work_status.getValue(); var work_note = work.input_work_note.getValue(); work_str = '{{文章信息\n|作品名称 = '+work_name; work_str += '\n|发布日期 = '+work_pub_date; work_str += '\n|更新日期 = '+work_update_date; work_str += '\n|发布平台 = '+work_platform; work_str += '\n|作品链接 = '+work_url; work_str += '\n|存档情况 = '+work_status; work_str += '\n|备注 = '+work_note; work_str += '\n}}'; result += work_str + '\n'; } result += '}}\n'; } result += '\n==外部链接与注释==\n'; result_area.setValue(result); }); btn_submit.on('click', function () { var result = result_area.getValue() var windowManager = new OO.ui.WindowManager(); var messageDialog = new OO.ui.MessageDialog(); var writer_name = input_writer_name.getValue(); if (writer_name === null || writer_name === '') { $('body').append(windowManager.$element); windowManager.addWindows([messageDialog]); windowManager.openWindow(messageDialog, { message: '请输入文手名!', title: '错误:' }); return; } if (result === null || result === '') { $('body').append(windowManager.$element); windowManager.addWindows([messageDialog]); windowManager.openWindow(messageDialog, { message: '请先点击生成代码,再创建页面!', title: '创建页面:' + writer_name }); return; } var api = new mw.Api(); var isoverwrite = check_isoverwrite.isSelected(); api.postWithToken('csrf', { action: 'edit', title: writer_name, text: result, createonly: !isoverwrite, summary: '文手页面生成器 by 玲子' }).done(function (data) { $('body').append(windowManager.$element); windowManager.addWindows([messageDialog]); windowManager.openWindow(messageDialog, { message: '页面创建成功!', title: '创建页面:' + writer_name }); }).fail(function (data) { $('body').append(windowManager.$element); windowManager.addWindows([messageDialog]); windowManager.openWindow(messageDialog, { message: '页面创建失败:' + JSON.stringify(data), title: '创建页面:' + writer_name }); }); }); // 添加到页面顶部 $('#mw-content-text').prepend( fieldset.$element ); });
该页面使用的模板:
模板:作品信息框架
(
编辑
)
模板:文手信息\n
(
查看源代码
)
模板:文章信息\n
(
查看源代码
)
模板:文章信息框架
(
编辑
)
返回
MediaWiki:Gadget-FastWriterPage.js
。
我们为您提供服务需要使用Cookie。使用我们的服务即表示您同意我们使用Cookie。
更多信息
确定
导航菜单
个人工具
未登录
讨论
深色模式
贡献
创建账号
登录
命名空间
系统消息
讨论
English
查看
阅读
查看源代码
查看历史
更多
刷新
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息
Cargo数据
获取短链接