MediaWiki:Guidedtour-tour-CitationsStudent.js

From Wikipedia

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
// Guided Tour for learning wikicode by making a series of edits in a user sandbox, as an interactive interlude in Wikipedia:Training/For_students
// see also Guidedtour-tour-BeBoldStudent.js
 
( function ( window, document, $, mw, gt ) {
 
//automatic api:edit function to send yourself messages
sendMessage = function( targetPage, msgPage, linkTo ) {
	var api = new mw.Api();
 
	api.get( {
		'action' : 'query',
		'titles' : msgPage,
		'prop'   : 'revisions',
		'meta'   : 'tokens',
		'type'   : 'csrf',
		'rvprop' : 'content',
		'indexpageids' : 1
	}, {
		'ok' : function(result) {
			result = result.query;
			var page = result.pages[result.pageids[0]];
			var text = page.revisions[0]['*'];
			api.post(
				{
					'action' : 'edit',
					'title' : targetPage,
					'appendtext' : "\n" + text,
					'summary' : 'automatic post as part of the sandbox guided tour',
					'token' : result.tokens.csrftoken
				},
				{
					'ok'  : 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: 'Click here to go back and make an edit',
                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: 'Go Back',
                onclick: function() {
                        window.location.href = window.location.href +
"&veaction=edit";
                }
        } );
}
 
gt.defineTour( {
        name: 'CitationsStudent',
        shouldLog: true,
        steps: [ {
                //1
                title: 'Now let\'s try citations.',
                description: '',
                onShow: gt.getPageAsDescription,
                overlay: true,
                closeOnClickOutside: false,
	            buttons: [ {
                        name: 'Go to your sandbox',
                        onclick: function()  {  if(!mw.config.get('wgUserName')){  alert( "Please login." );   return;   } sendMessage( 'User:' + mw.config.get( 'wgUserName' ) + '/citations', 'Project:Training/tour/citations_preload' , mw.util.getUrl( 'Special:MyPage/citations' ) + '?tour=CitationsStudent&step=2'); }
                } ],
                allowAutomaticOkay: false
 
        },  {
                //2
                title: '[citation needed]',
                description: 'Project:Training/tour/citations2',
                onShow: gt.getPageAsDescription,
                attachTo: '#content.mw-body',
                position: 'bottom',
                overlay: false,
                closeOnClickOutside: false,
		        buttons: [ {
                        name: '<small>←</small>',
                        action: 'externalLink',
                        url: mw.util.getUrl( 'Project:Training/For_students/Citing_sources' ) + '?tour=CitationsStudent&step=1'          
                } , {
		        	    name: 'Okay!',
                        action: 'next',
                } ],
                allowAutomaticOkay: false
 
        },  {
                //3
                title: 'Click Edit',
                description: '',
                attachTo: '#ca-edit',
                position: 'bottom',
                onShow: gt.getPageAsDescription,
                overlay: false,
                closeOnClickOutside: false,
                allowAutomaticOkay: false,
                buttons: [ {
                        name: '<small>←</small>',
                        action: 'externalLink',
                        url: mw.util.getUrl( 'Special:MyPage/citations' ) + '?tour=CitationsStudent&step=2'          
                } ],
                shouldSkip: function() {
                        return gt.hasQuery( { action: 'edit' } );
                }
 
        },  {
                //4
                title: 'Inserting a reference',
                description: 'Project:Training/tour/citations4',
                onShow: gt.getPageAsDescription,
                attachTo: '#wpTextbox1', 
                position: 'bottomLeft',
                overlay: false,
                closeOnClickOutside: false,
                buttons: [ {
                        name: '<small>←</small>',
                        action: 'externalLink',
                        url: mw.util.getUrl( 'Special:MyPage/citations' ) + '?tour=CitationsStudent&step=3'          
                } , {
                	    name: 'I added the citation.',
                        action: 'next',
                        } ],
                allowAutomaticOkay: false
 
},  {
                //5
                title: 'Displaying references',
                description: 'Project:Training/tour/citations5',
                onShow: gt.getPageAsDescription,
                attachTo: '#wpTextbox1', 
                position: 'bottomLeft',
                overlay: false,
                closeOnClickOutside: false,
                buttons: [ {
                        name: '<small>←</small>',
                        action: 'externalLink',
                        url: mw.util.getUrl( 'Special:MyPage/citations' ) + '?tour=CitationsStudent&step=4&action=edit'          
                } , {
                	    name: 'I added the References section.',
                        action: 'next',
                        } ],
                allowAutomaticOkay: false
 
},  {
                //6
                title: 'Add an edit summary, and Save',
                description: '',
	            attachTo: '#wpSave',
                position: 'bottom',
                autoFocus: 'yes',
                onShow: gt.getPageAsDescription,
                overlay: false,
                closeOnClickOutside: false,
                allowAutomaticOkay: false,
                buttons: [ {
                        name: '<small>←</small>',
                        action: 'externalLink',
                        url: mw.util.getUrl( 'Special:MyPage/citations' ) + '?tour=CitationsStudent&step=5&action=edit'          
                } ],
                shouldSkip: function() {
                        return gt.isPostEdit();
                },
                buttons: postEditButtons
                
} , {
                //7
                title: 'Did it work?',
                description: 'Project:Training/tour/citations7',
                onShow: gt.getPageAsDescription,
                overlay: false,
                attachTo: '#content.mw-body',
                position: 'bottom',
                closeOnClickOutside: false,
                allowAutomaticOkay: false,
                buttons: [ {
                        name: '<small>←</small> I want to try again.',
                        action: 'externalLink',
                        url: mw.util.getUrl( 'Special:MyPage/citations' ) + '?tour=CitationsStudent&step=4&action=edit'
                	} , {
                		name: 'It worked!',
                		action: 'externalLink',
                		url: mw.util.getUrl( 'Project:Training/For_students/Citing_sources_2') + '?tour=CitationsStudent&step=8'
                } ],
                allowAutomaticOkay: false
 
} , {
                //8
                title: 'Nice work!',
                description: 'Project:Training/tour/citations8',
                onShow: gt.getPageAsDescription,
                overlay: false,
                closeOnClickOutside: false,
	            buttons: [ {
	            	    name: 'Bye for now!',
                        action: 'end'
                } ],
                allowAutomaticOkay: false
 
}]
 
} );
 
} (window, document, jQuery, mediaWiki, mediaWiki.guidedTour ) ) ;