define([ 'underscore', 'jquery', 'storage', 'classes/Extension', 'bootstrap-tour' ], function(_, $, storage, Extension, Tour) { var welcomeTour = new Extension('welcomeTour', 'Welcome tour', false, true); welcomeTour.onReady = function() { var tour = new Tour({ keyboard: false, storage: { getItem: function() { }, setItem: function() { }, removeItem: function() { } }, onEnd: function() { storage.welcomeTour = 'done'; }, template: [ '<div class="popover tour">', ' <div class="arrow"></div>', ' <h3 class="popover-title"></h3>', ' <div class="popover-content"></div>', ' <nav class="popover-navigation">', ' <button class="btn btn-primary" data-role="next">Next</button>', ' <button class="btn btn-default" data-role="end">Got it!</button>', ' </nav>', '</div>' ].join("") }); tour.addSteps([ { element: '.navbar-inner', title: 'Welcome to StackEdit!', content: [ '<i class="icon-lock pull-left"></i>', '<p><strong>You are using the new secured platform.</strong> If you want to recover your documents from the old platform <a target="_blank" href="http://benweet.github.io/stackedit/recovery.html">click here</a>.</p>', 'Please click <code>Next</code> to take a quick tour.' ].join(""), placement: 'bottom', }, { element: '.navbar .action-create-file', title: 'New document', content: 'Click the <i class="icon-file"></i> <code>New document</code> button to create a new document.', placement: 'left', reflex: true, }, { element: '.document-panel .collapse-button', title: 'Toggle document', content: [ '<p>Click the <i class="icon-folder-open"></i> <code>Select document</code> button to switch to another document.</p>', '<b>NOTE: </b>Use <code>Ctrl+[</code> and <code>Ctrl+]</code> shortcuts to toggle quickly.' ].join(""), placement: 'left', reflex: true, }, { element: '.menu-panel .collapse-button', title: 'Menu', content: [ '<p>Use the <i class="icon-provider-stackedit"></i> menu to synchronize your document on <i class="icon-provider-gdrive"></i> <code>Google Drive</code> or <i class="icon-provider-dropbox"></i> <code>Dropbox</code>.</p>', 'Use also this menu to publish your document on <i class="icon-provider-github"></i> <code>GitHub</code>, <i class="icon-provider-blogger"></i> <code>Blogger</code>...' ].join(""), placement: 'right', reflex: true, }, { element: '#extension-buttons .button-synchronize', title: 'Synchronize', content: '<p>Once imported/exported, use the <i class="icon-refresh"></i> <code>Synchronize</code> button to force the synchronization (this is done automatically every 3 minutes).</p>', placement: 'bottom', reflex: true, }, { element: '#extension-buttons .button-publish', title: 'Update publications', content: 'Once published, use the <i class="icon-share"></i> <code>Publish</code> button to update your publication.', placement: 'bottom', reflex: true, }, ]); if(!_.has(storage, 'welcomeTour')) { tour.start(); } $('.action-welcome-tour').click(function() { tour.restart(); }); }; return welcomeTour; });