MediaWiki:Guidedtour-tour-BeBoldStudent.js

Poznámka: Po uložení musíte vyprázdnit mezipaměť vašeho prohlížeče, jinak změny neuvidíte.

// Guided Tour for learning wikicode by making a series of edits in a user sandbox, as an interactive interlude in Wikipedia:Training/For_students
(function(gt) {

	//automatic api:edit function to send yourself messages
	mw.loader.using('mediawiki.Title', function() {

		function sendMessage(targetPage, msgPage, linkTo) {
			var api = new mw.Api();
			api.get({
				'action': 'query',
				'titles': msgPage,
				'prop': 'revisions|info',
				'rvprop': 'content',
				'indexpageids': 1
			}).then(function(result) {
				result = result.query;
				var page = result.pages[result.pageids[0]];
				var text = page.revisions[0]['*'];
				return api.postWithEditToken({
					'action': 'edit',
					'title': targetPage,
					'appendtext': "\n" + text,
					'summary': 'automatický příspěvek jako součást interaktivního průvodce wiki-kódem',
				});
			}).then(function() {
				window.location.href = linkTo;
			});
		}

		// Fail gracefully post-save but not postedit
		var postEditButtons = [];
		if (mw.config.get('wgAction') === 'view' && !gt.isPostEdit()) {
			postEditButtons.push({
				name: 'Klikněte sem pro návrat a udělejte nějakou editaci',
				onclick: function() {
					window.location.href = new mw.Uri().extend({
						action: 'edit'
					}).toString();
				}
			});
		}

		// Fail gracefully post-save but not postedit for visual editor
		var postEditButtonsVisual = [];
		if (mw.config.get('wgAction') === 'view' && !gt.isPostEdit()) {
			postEditButtonsVisual.push({
				name: 'Jít zpět',
				onclick: function() {
					window.location.href = window.location.href +
						"&veaction=edit";
				}
			});
		}

		gt.defineTour({
			name: 'BeBoldStudent',
			shouldLog: true,
			steps: [{
				//1
				title: 'Pojďte si vyzkoušet editování wiki-kódu!',
				description: new mw.Title( 'Project:Průvodce (původní)/interaktivní1' ),
				overlay: true,
				closeOnClickOutside: false,
				buttons: [{
					name: 'Přejít na pískoviště',
					onclick: function() {
						if (!mw.config.get('wgUserName')) {
							alert("Prosím, přihlašte se.");
							return;
						}
						sendMessage('User:' + mw.config.get('wgUserName') + '/Pískoviště', 'Project:Průvodce/interaktivní_preload', mw.util.getUrl('Special:MyPage/Pískoviště') + '?tour=BeBoldStudent&step=2');
					}
				}],
				allowAutomaticOkay: false

			}, {
				//2
				title: 'Vítejte na svém pískovišti!',
				description: new mw.Title( 'Project:Průvodce (původní)/interaktivní2' ),
				attachTo: '#content.mw-body',
				position: 'bottom',
				overlay: false,
				closeOnClickOutside: false,
				buttons: [{
					name: '<big>zpět</big>',
					action: 'externalLink',
					url: mw.util.getUrl('Project:Průvodce (původní)') + '?tour=BeBoldStudent&step=1'
				}, {
					name: 'Jasně!',
					action: 'next',
				}],
				allowAutomaticOkay: false

			}, {
				//3
				title: 'Tlačítko Editovat zdroj',
				description: new mw.Title( 'Project:Průvodce (původní)/interaktivní3' ),
				attachTo: '#ca-edit',
				position: 'bottom',
				overlay: false,
				closeOnClickOutside: false,
				allowAutomaticOkay: false,
				buttons: [{
					name: '<big>zpět</big>',
					action: 'externalLink',
					url: mw.util.getUrl('Special:MyPage/Pískoviště') + '?tour=BeBoldStudent&step=2'
				}],
				shouldSkip: function() {
					return gt.hasQuery({
						action: 'edit'
					});
				}

			}, {
				//4
				title: 'Tučné písmo',
				description: new mw.Title( 'Project:Průvodce (původní)/interaktivní4' ),
				attachTo: '#wpTextbox1',
				position: 'bottomLeft',
				overlay: false,
				closeOnClickOutside: false,
				buttons: [{
					name: '<big>zpět</big>',
					action: 'externalLink',
					url: mw.util.getUrl('Special:MyPage/Pískoviště') + '?tour=BeBoldStudent&step=3'
				}, {
					name: 'Přidal jsem wiki-kód.',
					action: 'next',
				}],
				allowAutomaticOkay: false

			}, {
				//5
				title: 'Vyplňte shrnutí a uložte',
				description: new mw.Title( 'Project:Průvodce (původní)/interaktivní5' ),
				attachTo: '#wpSave',
				position: 'bottom',
				autoFocus: 'yes',
				overlay: false,
				closeOnClickOutside: false,
				allowAutomaticOkay: false,
				buttons: [{
					name: '<big>zpět</big>',
					action: 'externalLink',
					url: mw.util.getUrl('Special:MyPage/Pískoviště') + '?tour=BeBoldStudent&step=4&action=edit'
				}],
				shouldSkip: function() {
					return gt.isPostEdit();
				},
				buttons: postEditButtons

			}, {
				//6
				title: 'Dobrá práce!',
				description: new mw.Title( 'Project:Průvodce (původní)/interaktivní6' ),
				overlay: false,
				attachTo: '#ca-edit',
				position: 'bottom',
				closeOnClickOutside: false,
				allowAutomaticOkay: false,
				buttons: [{
					name: '<big>zpět</big>',
					action: 'externalLink',
					url: mw.util.getUrl('Special:MyPage/Pískoviště') + '?tour=BeBoldStudent&step=5&action=edit'
				}],
				shouldSkip: function() {
					return gt.hasQuery({
						action: 'edit'
					});
				}

			}, {
				//7
				title: 'Zkuste přidat wiki-odkazy.',
				description: new mw.Title( 'Project:Průvodce (původní)/interaktivní7' ),
				attachTo: '#wpTextbox1',
				position: 'bottomLeft',
				autoFocus: 'yes',
				overlay: false,
				closeOnClickOutside: false,
				buttons: [{
					name: '<big>zpět</big>',
					action: 'externalLink',
					url: mw.util.getUrl('Special:MyPage/Pískoviště') + '?tour=BeBoldStudent&step=6'
				}, {
					name: 'Přidal jsem kód wiki-odkazu.',
					action: 'next',
				}],
				allowAutomaticOkay: false

			}, {
				//8
				title: 'Vyplňte shrnutí a uložte (zase)',
				description: new mw.Title( 'Project:Průvodce (původní)/interaktivní8' ),
				attachTo: '#wpSave',
				position: 'bottom',
				autoFocus: 'yes',
				overlay: false,
				closeOnClickOutside: false,
				allowAutomaticOkay: false,
				buttons: [{
					name: '<big>zpět</big>',
					action: 'externalLink',
					url: mw.util.getUrl('Special:MyPage/Pískoviště') + '?tour=BeBoldStudent&step=7&action=edit'
				}],
				shouldSkip: function() {
					return gt.isPostEdit();
				},
				buttons: postEditButtons

			}, {
				//9
				title: 'Vytvořil(a) jste odkaz...',
				description: new mw.Title( 'Project:Průvodce (původní)/interaktivní9' ),
				overlay: false,
				closeOnClickOutside: false,
				allowAutomaticOkay: false,
				buttons: [{
					name: '<big>zpět</big>',
					action: 'externalLink',
					url: mw.util.getUrl('Special:MyPage/Pískoviště') + '?tour=BeBoldStudent&step=8&action=edit'
				}],
				shouldSkip: function() {
					return !gt.isPage(mw.Title.newFromText('User:' + mw.config.get('wgUserName') + '/Pískoviště').toString());
				}

			}, {
				//10
				title: 'Ajej!',
				description: new mw.Title( 'Project:Průvodce (původní)/interaktivní9-1' ),
				overlay: false,
				closeOnClickOutside: false,
				allowAutomaticOkay: false,
				buttons: [{
					name: 'Zkuste to znovu',
					action: 'externalLink',
					url: mw.util.getUrl('Special:MyPage/Pískoviště') + '?tour=BeBoldStudent&step=7&action=edit'
				}],
				shouldSkip: function() {
					return gt.isPage('Editace');
				}

			}, {
				//11
				title: 'Hmm...',
				description: new mw.Title( 'Project:Průvodce (původní)/interaktivní10' ),
				autoFocus: 'yes',
				overlay: false,
				closeOnClickOutside: false,
				buttons: [{
					name: '<small>zpět</small>',
					action: 'externalLink',
					url: mw.util.getUrl('Special:MyPage/Pískoviště') + '?tour=BeBoldStudent&step=9'
				}, {
					name: 'Pojďme odkaz vylepšit',
					action: 'externalLink',
					url: mw.util.getUrl('Special:MyPage/Pískoviště') + '?tour=BeBoldStudent&step=12&action=edit'
				}],
				allowAutomaticOkay: false

			}, {
				//12
				title: 'Tentokrát směřujte odkaz na [[psaní]]',
				description: new mw.Title( 'Project:Průvodce (původní)/interaktivní11' ),
				attachTo: '#wpTextbox1',
				position: 'bottomLeft',
				overlay: false,
				closeOnClickOutside: false,
				buttons: [{
					name: '<big>zpět</big>',
					action: 'externalLink',
					url: mw.util.getUrl('Special:MyPage/Pískoviště') + '?tour=BeBoldStudent&step=11'
				}, {
					name: 'Přidal jsem vylepšený odkaz!',
					action: 'next',
				}],
				allowAutomaticOkay: false

			}, {
				//13
				title: 'Nezapomeňte na shrnutí editace!',
				description: '',
				attachTo: '#wpSave',
				position: 'bottom',
				autoFocus: 'yes',
				overlay: false,
				closeOnClickOutside: false,
				allowAutomaticOkay: false,
				buttons: [{
					name: '<big>zpět</big>',
					action: 'externalLink',
					url: mw.util.getUrl('Special:MyPage/Pískoviště') + '?tour=BeBoldStudent&step=12&action=edit'
				}],
				shouldSkip: function() {
					return gt.isPostEdit();
				},
				buttons: postEditButtons

			}, {
				//14
				title: 'Dobře, vyzkoušejte odkaz teď.',
				description: new mw.Title( 'Project:Průvodce (původní)/interaktivní13' ),
				attachTo: '#content.mw-body',
				position: 'bottom',
				autoFocus: 'yes',
				overlay: false,
				closeOnClickOutside: false,
				allowAutomaticOkay: false,
				buttons: [{
					name: '<big>zpět</big>',
					action: 'externalLink',
					url: mw.util.getUrl('Editace') + '?tour=BeBoldStudent&step=13'
				}],
				shouldSkip: function() {
					return gt.isPage('Psaní');
				}

			}, {
				//15
				title: 'Hotovo!',
				description: new mw.Title( 'Project:Průvodce (původní)/interaktivní14' ),
				overlay: false,
				closeOnClickOutside: false,
				allowAutomaticOkay: false,
				buttons: [{
					name: '<small>zpět</small>',
					action: 'externalLink',
					url: mw.util.getUrl('Special:MyPage/Pískoviště') + '?tour=BeBoldStudent&step=14&action=edit'
				}, {
					name: 'Dostal(a) jste medaili!',
					onclick: function() {
						if (!mw.config.get('wgUserName')) {
							alert("Prosím, přihlašte se.");
							return;
						}
						sendMessage('User talk:' + mw.config.get('wgUserName'), 'Project:Průvodce (původní)/interaktivní/medaile', mw.util.getUrl('Special:MyTalk') + '?tour=BeBoldStudent&step=16');
					}
				}]
			}, {
				//16
				title: 'Vaše medaile je na konci stránky.',
				description: new mw.Title( 'Project:Průvodce (původní)/interaktivní15' ),
				attachTo: '#p-personal',
				position: 'bottom',
				overlay: false,
				closeOnClickOutside: false,
				buttons: [{
					name: '<small>zpět</small>',
					action: 'externalLink',
					url: mw.util.getUrl('Special:MyPage/Pískoviště') + '?tour=BeBoldStudent&step=15'
				}, {
					name: 'Pokračovat do Průvodce',
					action: 'externalLink',
					url: mw.util.getUrl('Project:Průvodce (editování)') + '?tour=BeBoldStudent&step=17'
				}],
				allowAutomaticOkay: false

			}, {
				//17
				title: 'Toto jsou tedy základy wiki-kódu.',
				description: new mw.Title( 'Project:Průvodce (původní)/interaktivní16' ),
				overlay: false,
				closeOnClickOutside: false,
				buttons: [{
					name: 'Gratulujeme!',
					action: 'end'
				}],
				allowAutomaticOkay: false

			}]

		});
	});
}(mediaWiki.guidedTour));