MediaWiki:Guidedtour-tour-BeBoldTranslation.js
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_language_students ( function ( window, document, $, mw, 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', 'meta' : 'tokens', 'type' : 'csrf', 'rvprop' : 'content', 'indexpageids' : 1 } ).done( 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 sandbox guided tour', 'token' : result.tokens.csrftoken } ).done( 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: 'BeBoldTranslation', shouldLog: true, steps: [ { //1 title: 'Let\'s practice editing.', description: 'Project:Training/tour/be_bold1', 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' ) + '/be_bold', 'Project:Training/tour/be_bold_preload' , mw.util.getUrl( 'Special:MyPage/be_bold' ) + '?tour=BeBoldTranslation&step=2'); } } ], allowAutomaticOkay: false }, { //2 title: 'Welcome to your sandbox!', description: 'Project:Training/tour/be_bold2', 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_language_students/Getting_started_1' ) + '?tour=BeBoldTranslation&step=1' } , { name: 'Okay!', action: 'next', } ], allowAutomaticOkay: false }, { //3 title: 'Edit button', description: 'Project:Training/tour/be_bold3', 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/be_bold' ) + '?tour=BeBoldTranslation&step=2' } ], shouldSkip: function() { return gt.hasQuery( { action: 'edit' } ); } }, { //4 title: 'Boldness', description: 'Project:Training/tour/be_bold4', onShow: gt.getPageAsDescription, attachTo: '#wpTextbox1', position: 'bottomLeft', overlay: false, closeOnClickOutside: false, buttons: [ { name: '<small>←</small>', action: 'externalLink', url: mw.util.getUrl( 'Special:MyPage/be_bold' ) + '?tour=BeBoldTranslation&step=3' } , { name: 'I added the wikicode.', action: 'next', } ], allowAutomaticOkay: false }, { //5 title: 'Edit summary, and Save', description: 'Project:Training/tour/be_bold5', 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/be_bold' ) + '?tour=BeBoldTranslation&step=4&action=edit' } ], shouldSkip: function() { return gt.isPostEdit(); }, buttons: postEditButtons } , { //6 title: 'Nice work!', description: 'Project:Training/tour/be_bold6', onShow: gt.getPageAsDescription, overlay: false, attachTo: '#ca-edit', position: 'bottom', closeOnClickOutside: false, allowAutomaticOkay: false, buttons: [ { name: '<small>←</small>', action: 'externalLink', url: mw.util.getUrl( 'Special:MyPage/be_bold' ) + '?tour=BeBoldTranslation&step=5&action=edit' } ], shouldSkip: function() { return gt.hasQuery( { action: 'edit' } ); } } , { //7 title: 'Try adding some wikilinks.', description: 'Project:Training/tour/be_bold7', attachTo: '#wpTextbox1', position: 'bottomLeft', autoFocus: 'yes', onShow: gt.getPageAsDescription, overlay: false, closeOnClickOutside: false, buttons: [ { name: '<small>←</small>', action: 'externalLink', url: mw.util.getUrl( 'Special:MyPage/be_bold' ) + '?tour=BeBoldTranslation&step=6' } , { name: 'I added the wikilink code.', action: 'next', } ], allowAutomaticOkay: false } , { //8 title: 'Edit summary, and Save (again)', description: 'Project:Training/tour/be_bold8', 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/be_bold' ) + '?tour=BeBoldTranslation&step=7&action=edit' } ], shouldSkip: function() { return gt.isPostEdit(); }, buttons: postEditButtons } , { //9 title: 'You made a link...', description: 'Project:Training/tour/be_bold9', onShow: gt.getPageAsDescription, overlay: false, closeOnClickOutside: false, allowAutomaticOkay: false, buttons: [ { name: '<small>←</small>', action: 'externalLink', url: mw.util.getUrl( 'Special:MyPage/be_bold' ) + '?tour=BeBoldTranslation&step=8&action=edit' } ], shouldSkip: function() { return !gt.isPage( mw.Title.newFromText( 'User:' + mw.config.get( 'wgUserName' ) + '/be_bold' ).toString() ); } } , { //10 title: 'Whoops!', description: 'Project:Training/tour/wrong_page', onShow: gt.getPageAsDescription, overlay: false, closeOnClickOutside: false, allowAutomaticOkay: false, buttons: [ { name: 'Try again', action: 'externalLink', url: mw.util.getUrl( 'Special:MyPage/be_bold' ) + '?tour=BeBoldTranslation&step=7&action=edit' } , { name: 'Skip this exercise', action: 'end', url: mw.util.getUrl( 'Project:Training/For_language_students/Continue' ) } ], shouldSkip: function() { return gt.isPage( 'Emphasis_(typography)' ); } } , { //11 title: 'Hmm...', description: 'Project:Training/tour/be_bold10', autoFocus: 'yes', onShow: gt.getPageAsDescription, overlay: false, closeOnClickOutside: false, buttons: [ { name: '<small>←</small>', action: 'externalLink', url: mw.util.getUrl( 'Special:MyPage/be_bold' ) + '?tour=BeBoldTranslation&step=9' } , { name: 'Let\'s fix the link.', action: 'externalLink', url: mw.util.getUrl( 'Special:MyPage/be_bold' ) + '?tour=BeBoldTranslation&step=12&action=edit' } ], allowAutomaticOkay: false } , { //12 title: 'This time, make it link to [[boldness]]', description: 'Project:Training/tour/be_bold11', onShow: gt.getPageAsDescription, attachTo: '#wpTextbox1', position: 'bottomLeft', overlay: false, closeOnClickOutside: false, buttons: [ { name: '<small>←</small>', action: 'externalLink', url: mw.util.getUrl( 'Special:MyPage/be_bold' ) + '?tour=BeBoldTranslation&step=11' } , { name: 'I added the piped link!', action: 'next', } ], allowAutomaticOkay: false } , { //13 title: 'Don\'t forget the edit summary!', 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/be_bold' ) + '?tour=BeBoldTranslation&step=12&action=edit' } ], shouldSkip: function() { return gt.isPostEdit(); }, buttons: postEditButtons } , { //14 title: 'Okay, try the link now.', description: 'Project:Training/tour/be_bold13', attachTo: '#content.mw-body', position: 'bottom', autoFocus: 'yes', onShow: gt.getPageAsDescription, overlay: false, closeOnClickOutside: false, allowAutomaticOkay: false, buttons: [ { name: '<small>←</small>', action: 'externalLink', url: mw.util.getUrl( 'Bold' ) + '?tour=BeBoldTranslation&step=13' } ], shouldSkip: function() { return gt.isPage( 'Boldness' ); } } , { //15 title: 'Boldness!', description: 'Project:Training/tour/be_bold14', onShow: gt.getPageAsDescription, overlay: false, closeOnClickOutside: false, allowAutomaticOkay: false, buttons: [ { name: '<small>←</small>', action: 'externalLink', url: mw.util.getUrl( 'Special:MyPage/be_bold' ) + '?tour=BeBoldTranslation&step=14&action=edit' } , { name: 'You\'ve got a message!', onclick: function() { if(!mw.config.get('wgUserName')){ alert( "Please login." ); return; } sendMessage( 'User talk:' + mw.config.get( 'wgUserName' ), 'Project:Training/tour/barnstar' , mw.util.getUrl( 'Special:MyTalk' ) + '?tour=BeBoldTranslation&step=16'); } } ] } , { //16 title: 'Your new message is at the bottom of the page.', description: 'Project:Training/tour/be_bold15', onShow: gt.getPageAsDescription, attachTo: '#p-personal', position: 'bottom', overlay: false, closeOnClickOutside: false, buttons: [ { name: '<small>←</small>', action: 'externalLink', url: mw.util.getUrl( 'Special:MyPage/be_bold' ) + '?tour=BeBoldTranslation&step=15' } , { name: 'Continue the training.', action: 'externalLink', url: mw.util.getUrl( 'Project:Training/For_language_students/Continue' ) + '?tour=BeBoldTranslation&step=17' } ], allowAutomaticOkay: false } , { //17 title: 'Those are the basics.', description: 'Project:Training/tour/be_bold16', onShow: gt.getPageAsDescription, overlay: false, closeOnClickOutside: false, buttons: [ { name: 'Congratulations to me!', action: 'end' } ], allowAutomaticOkay: false }] } ); } ); } (window, document, jQuery, mediaWiki, mediaWiki.guidedTour ) ) ;