User:Aaron Liu/TWA1.js

// The Wikipedia Adventure Mission 1 - Source Editor

( function ( window, document, $, mw, gt ) {

//automatic api:edit function to send yourself messages 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' : 'New Message (simulated automatically as part of The Wikipedia Adventure)', '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: 'twa1',		shouldLog: true,        steps: [ {                //1                title: 'Welcome to Wikipedia!',                description: ' TWA_guide_left_top.png  Wikipedia is a free encyclopedia that anyone can edit .  I\'m here to take you on an interactive tour of our universe.  The journey has 7 missions, each with its own skills and surprises, all designed for you to become a great contributor to Wikipedia. ',                onShow: gt.parseDescription,                overlay: true,                closeOnClickOutside: false,	            buttons: [ {                        name: 'Get equipped for the trip',                        action: 'next',                }, {                        name: 'I\'d like to leave',                        onclick: function  {  document.cookie = 'enwiki-mw-tour=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;'; document.location.replace('/wiki/Wikipedia:The Wikipedia Adventure'); return false; } } ],               allowAutomaticOkay: false },         		{                //2                title: 'Know before you go', description: ' Don\'t [x] out This box is your spacesuit: if you close it before completing a mission, you leave the adventure and need to restart the mission from the beginning. Automatic messages When you play this game, you send some messages to your personal Wikipedia page, any time you see * in the blue button. Source editor This tour uses only the Source editor, not the Visual editor. It has several advantages. For example, it loads faster!', onShow: gt.parseDescription, overlay: true, closeOnClickOutside: false, buttons: [ { name: ' ← ', action: 'externalLink', url: mw.util.getUrl( 'Wikipedia:TWA/1/Start' ) + '?tour=twa1&step=1' }, {                       name: 'Come with me...', action: 'next', } ],               allowAutomaticOkay: false

}, {                //3                title: 'Why Wikipedia?', description: ' We have a really awesome goal. Imagine a world in which every single person on the planet is given free access to the sum of all human knowledge. Most amazing is that... ',               onShow: gt.parseDescription, overlay: false, closeOnClickOutside: false, buttons: [ { name: ' ← ', action: 'externalLink', url: mw.util.getUrl( 'Wikipedia:TWA/1/Start' ) + '?tour=twa1&step=2' }, {                        name: 'It is happening', action: 'next', } ],               allowAutomaticOkay: false

}, {                //4                title: 'It is happening', description: ' Wikipedia is viewed more than 8000 times a second by half a billion people each month. We\'re the only nonprofit top-ten website in the world. And we only got started in 2001! ',               onShow: gt.parseDescription, overlay: false, closeOnClickOutside: false, buttons: [ { name: ' ← ', action: 'externalLink', url: mw.util.getUrl( 'Wikipedia:TWA/1/Start' ) + '?tour=twa1&step=3' }, {                       name: 'Who writes this Wikipedia?', action: 'next', } ],	           allowAutomaticOkay: false }, {                //5                title: 'Who writes this Wikipedia?', description: ' You do :) There are almost 50 million registered users. Most importantly, you don\'t have to be an expert to contribute. Almost all of our editors are volunteers.  ',                onShow: gt.parseDescription,                overlay: false,                closeOnClickOutside: false,                buttons: [ {                        name: ' ← ',                        action: 'externalLink',                        url: mw.util.getUrl( 'Wikipedia:TWA/1/Start' ) + '?tour=twa1&step=4'                          }, {                        name: 'Why do people edit?',                        action: 'next',                         } ],		        allowAutomaticOkay: false        },  {

//6               title: 'Discover your special role', description: ' The amazing part of Wikipedia is you get to discover your own path and purpose. But each person\'s impact scales to make a huge difference. Your impact can change the world. ',               onShow: gt.parseDescription, overlay: false, closeOnClickOutside: false, buttons: [ { name: ' ← ', action: 'externalLink', url: mw.util.getUrl( 'Wikipedia:TWA/1/Start' ) + '?tour=twa1&step=5' }, {                       name: 'Are you ready?', action: 'next', } ],               allowAutomaticOkay: false, }, {                //7                title: 'Login or create an account', description: ' Creating an account gives you lots of neat benefits. Go for it. ',               onShow: gt.parseDescription, overlay: false, closeOnClickOutside: false, buttons: [ { name: ' ← ', action: 'externalLink', url: mw.util.getUrl( 'Wikipedia:TWA/1/Start' ) + '?tour=twa1&step=6' }, {               	name: 'I\'m logged in', action: 'externalLink', url: mw.util.getUrl( 'Wikipedia:TWA/1/Start' ) + '?tour=twa1&step=8' }, {               	name: 'I need to login', action: 'externalLink', url: mw.util.getUrl( 'Special:UserLogin' ) + '?tour=twa1&step=7' }, {               	name: 'Register!', action: 'externalLink', url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/index.php?title=Special:UserLogin&returnto=Wikipedia:TWA/1/Start&returntoquery=tour%3Dtwa1%26step%3D8%26showGettingStarted%3Dfalse&type=signup' } ],               allowAutomaticOkay: false, shouldSkip: function { return mw.config.get( 'wgUserId' ) !== null; } }, {               //8                title: 'Say hello to Wikipedia', description: ' Let\'s start off by introducing yourself to the community. It will take just a few seconds to load the universe—light only travels so fast. (For the rest of the journey, you need to be logged in.) ', overlay: true, onShow: gt.parseDescription, closeOnClickOutside: false, buttons: [ { name: ' ← ', action: 'externalLink', url: mw.util.getUrl( 'Wikipedia:TWA/1/Start' ) + '?tour=twa1&step=6' }, {                        name: 'Hello World*', onclick: function {  if(!mw.config.get('wgUserName')){  alert( "Please login." );   return;   } sendMessage( 'User talk:' + mw.config.get( 'wgUserName' ), 'Wikipedia:TWA/Welcome', mw.util.getUrl( 'Special:MyPage' ) + '?tour=twa1&step=9'); } } ],	               allowAutomaticOkay: false }, {               //9                title: 'Your userpage', description: ' Your userpage is a place to tell other editors about yourself. You can share about your background and interests and what you\'d like to contribute to the project--share as much or as little as you like... Remember this is a very public profile, so keep private information, well, private. ', onShow: gt.parseDescription, overlay: false, closeOnClickOutside: false, buttons: [ { name: ' ← ', action: 'externalLink', url: mw.util.getUrl( 'Wikipedia:TWA/1/Start' ) + '?tour=twa1&step=8' }, {                       name: 'What does a good userpage look like?', action: 'externalLink', url: mw.util.getUrl( 'Wikipedia:TWA/1/Bio' ) + '?tour=twa1&step=10' } ],		allowAutomaticOkay: false }, {               //10                title: 'Challenge yourself BELOW...', description: 'Hint: you can learn as much from getting it wrong as getting it right. And you can always try again!', attachTo:'#contentSub', position: 'bottom', onShow: gt.parseDescription, overlay: false, closeOnClickOutside: false, allowAutomaticOkay: false, buttons: [ { name: ' ← ', action: 'externalLink', url: mw.util.getUrl( 'Special:MyPage' ) + '?tour=twa1&step=9' } ], }, {               //11                title: 'Your turn!', description: ' Creating your userpage on Wikipedia is as simple as editing it. Click CREATE SOURCE or EDIT SOURCE above. (This adventure always uses the SOURCE editor, which is no longer enabled by default. If you do not see "Edit source", you can enable it by visiting the "Editing" tab of your Wikipedia preferences and selecting "Show me both editor tabs" for the "Editing mode" option, then saving your preferences and returning here.) ', attachTo: '#ca-edit', position: 'bottom', onShow: gt.parseDescription, overlay: false, closeOnClickOutside: false, allowAutomaticOkay: false, buttons: [ { name: ' ← ', action: 'externalLink', url: mw.util.getUrl( 'Special:MyPage' ) + '?tour=twa1&step=9' } ],               shouldSkip: function { return gt.hasQuery( { action: 'edit' } ); }

}, {               //12                title: 'The editing interface', description: ' First off, this journey does not use the Visual Editor, so just click KEEP EDITING in the box to the left. Now, this is where the magic happens. Type into the big text box towards the top left: your username, city or country, education, skills, and interests. What are you excited about doing here? Share as much or as little as you like, but make at least ONE edit. If you already have a userpage, make at least ONE improvement to it. ',               onShow: gt.parseDescription, overlay: false, attachTo: '#wpTextbox1', position: 'bottomRight', closeOnClickOutside: false, buttons: [ { name: ' ← ', action: 'externalLink', url: mw.util.getUrl( 'Special:MyPage' ) + '?tour=twa1&step=11' }, {                       name: 'Typed it', action: 'next' } ], }, {               //13                title: 'Edit summary and Publish', description: ' That looks pretty good! Before you click Publish, leave a brief note about the changes you made, called an Edit Summary. This helps others follow along with your work. Let\'s say that you "Introduced myself". Now all you have to do is Publish it. Saving makes an edit live and public. Click PUBLISH when you\'re ready. ',               onShow: gt.parseDescription, overlay: false, attachTo: '#wpSave', position: 'bottomRight', closeOnClickOutside: false, allowAutomaticOkay: false, shouldSkip: function { return gt.isPostEdit; },               buttons: [ { name: ' ← ', action: 'externalLink', url: mw.util.getUrl( 'Special:MyPage' ) + '?tour=twa1&step=12&action=edit' } ],               buttons: postEditButtons

}, {               //14                title: 'Congrats!', description: 'NEW TOOL EARNED: Editor Badge   You\'re a Wikipedia editor! How does it feel? It\'s great that you introduced yourself. ',               overlay: false, onShow: gt.parseDescription, closeOnClickOutside: false, allowAutomaticOkay: false, buttons: [ { name: ' ← ', action: 'externalLink', url: mw.util.getUrl( 'Special:MyPage' ) + '?tour=twa1&step=13&action=edit' }, {                       name: 'Make it even better*', onclick: function {  if(!mw.config.get('wgUserName')){  alert( "Please login." );   return;   } sendMessage( 'User:' + mw.config.get( 'wgUserName' ), 'Wikipedia:TWA/Badge/1template2', mw.util.getUrl( 'Special:MyPage' ) + '?tour=twa1&step=15'); } } ],

}, {               //15                title: 'Even better', description: ' Let\'s go back and make a few changes to the text. Click EDIT SOURCE ', overlay: false, attachTo: '#ca-edit', position: 'bottom', onShow: gt.parseDescription, closeOnClickOutside: false, allowAutomaticOkay: false, buttons: [ { name: ' ← ', action: 'externalLink', url: mw.util.getUrl( 'Special:MyPage' ) + '?tour=twa1&step=14' } ],               shouldSkip: function { return gt.hasQuery( { action: 'edit' } ); }

}, {               //16                title: 'Add bold', description: ' In the text box, Highlight your username (or another key phrase) with your mouse. Then click the button on the editing toolbar above the text box. The editing toolbar makes Wikipedia much much easier, because it adds the formatting for you.', attachTo: '#wpTextbox1', position: 'bottomRight', onShow: gt.parseDescription, overlay: false, closeOnClickOutside: false, buttons: [ { name: ' ← ', action: 'externalLink', url: mw.util.getUrl( 'Special:MyPage' ) + '?tour=twa1&step=15' }, {               	    name: 'Bolded', action: 'next' } ],

}, {               //17                title: 'Add italics', description: ' Now highlight your interests. Then click on the editing toolbar to put them in italics. ',               attachTo: '#wpTextbox1', position: 'bottomRight', onShow: gt.parseDescription, overlay: false, closeOnClickOutside: false, allowAutomaticOkay: false	, buttons: [ { name: ' ← ', action: 'externalLink', url: mw.util.getUrl( 'Special:MyPage' ) + '?tour=twa1&step=16&action=edit' }, {               	    name: 'Italicized', action: 'next' } ],

}, {               //18                title: 'Add wikilinks', description: ' You can link to other pages on Wikipedia. This helps "build the web", and keeps you from getting any work done while you bounce from one article to another ;) Highlight the city or country where you\'re from.  Then click the  button in the editing toolbar (it looks like part of a chain).  Last, INSERT the link.  ',                attachTo: '#wpTextbox1',                 position: 'bottomRight',                onShow: gt.parseDescription,                overlay: false,                closeOnClickOutside: false,                buttons: [ {                        name: ' ← ',                        action: 'externalLink',                        url: mw.util.getUrl( 'Special:MyPage' ) + '?tour=twa1&step=17&action=edit'                          }, {                	    name: 'WikiLinked',                        action: 'next'                } ],

}, {               //19                title: 'Edit summary and Save', description: ' You "Added bold, italics, and wikilinks". Just click SAVE, and your edits will go live. ',               attachTo: '#wpSave', position: 'bottomRight', onShow: gt.parseDescription, overlay: false, closeOnClickOutside: false, allowAutomaticOkay: false, buttons: [ { name: ' ← ', action: 'externalLink', url: mw.util.getUrl( 'Special:MyPage' ) + '?tour=twa1&step=18&action=edit' } ],               shouldSkip: function { return gt.isPostEdit; },               buttons: postEditButtons

}, {               //20                title: 'You did it :)',                description: 'NEW TOOL EARNED:  Formatter Badge   You\'re learning fast.  You\'re awesome.  We\'re just getting started but already you have the basic tools to go on an adventure. Keep an eye on the skill meter at the bottom of the page as you develop more and more strengths. ',                overlay: true,                onShow: gt.parseDescription,                closeOnClickOutside: false,                buttons: [ {                        name: ' ← ',                        action: 'externalLink',                        url: mw.util.getUrl( 'Special:MyPage' ) + '?tour=twa1&step=19&action=edit'                          } , {                        name: 'What\'s next??*',                        onclick: function  {  if(!mw.config.get('wgUserName')){  alert( "Please login." );  return;   } sendMessage( 'User:' + mw.config.get( 'wgUserName' ), 'Wikipedia:TWA/Badge/2template2', mw.util.getUrl( 'Wikipedia:TWA/1/End' ) + '?tour=twa1&step=21'); }                 } ],                allowAutomaticOkay: false

}, {               //21                title: 'Mission 1 complete!', description: ' Journey on to mission 2...', onShow: gt.parseDescription, overlay: false, closeOnClickOutside: false, buttons: [ { name: 'Congrats me!', action: 'end' } ],

}]

} ); } (window, document, jQuery, mediaWiki, mediaWiki.guidedTour ) ) ;