<commit_before><!DOCTYPE html>
<!--[if IE 7]>    <html class="no-js ie7" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
	<meta charset="utf-8">
	<title>Docs &raquo; deck.js</title>
	
	<link rel="stylesheet" href="../css/common.css">
	<link rel="stylesheet" href="docs.css">
	
	<script src="../modernizr.custom.js"></script>
</head>
<body class="docs">

<header>
	<nav>
		<h1><a href="../">deck.js</a></h1>
		<ul>
			<li><a href="../introduction">Getting Started</a></li>
			<li>Docs</li>
			<li><a href="http://github.com/imakewebthings/deck.js">GitHub</a></li>
		</ul>
	</nav>
</header>
	
<article>
	<h1>Docs</h1>
	
	<nav>
		<div>
			<ul>
				<li>
					<a href="#deck-core">deck.core</a>
					<ul>
						<li class="expandable">
							<a href="#deck-core-methods">Methods</a>
							<ul>
								<li><a href="#deck-core-init">init</a></li>
								<li><a href="#deck-core-next">next</a></li>
								<li><a href="#deck-core-prev">prev</a></li>
								<li><a href="#deck-core-go">go</a></li>
								<li><a href="#deck-core-getslide">getSlide</a></li>
								<li><a href="#deck-core-getslides">getSlides</a></li>
								<li><a href="#deck-core-getcontainer">getContainer</a></li>
								<li><a href="#deck-core-getoptions">getOptions</a></li>
								<li><a href="#deck-core-extend">extend</a></li>
							</ul>
						</li>
						<li><a href="#deck-core-options">Options</a></li>
						<li><a href="#deck-core-events">Events</a></li>
						<li><a href="#deck-core-theming">Theming</a></li>
					</ul>
				</li>
				<li>
					<a href="#deck-goto">deck.goto</a>
					<ul>
						<li class="expandable">
							<a href="#deck-goto-methods">Methods</a>
							<ul>
								<li><a href="#deck-goto-show">showGoTo</a></li>
								<li><a href="#deck-goto-hide">hideGoTo</a></li>
								<li><a href="#deck-goto-toggle">toggleGoTo</a></li>
							</ul>
						</li>
						<li><a href="#deck-goto-options">Options</a></li>
						<li><a href="#deck-goto-theming">Theming</a></li>
					</ul>
				</li>
				<li>
					<a href="#deck-hash">deck.hash</a>
					<ul>
						<li><a href="#deck-hash-options">Options</a></li>
						<li><a href="#deck-hash-theming">Theming</a></li>
					</ul>
				</li>
				<li>
					<a href="#deck-menu">deck.menu</a>
					<ul>
						<li class="expandable">
							<a href="#deck-menu-methods">Methods</a>
							<ul>
								<li><a href="#deck-menu-show">showMenu</a></li>
								<li><a href="#deck-menu-hide">hideMenu</a></li>
								<li><a href="#deck-menu-toggle">toggleMenu</a></li>
							</ul>
						</li>
						<li><a href="#deck-menu-options">Options</a></li>
						<li><a href="#deck-menu-theming">Theming</a></li>
					</ul>
				</li>
				<li>
					<a href="#deck-navigation">deck.navigation</a>
					<ul>
						<li><a href="#deck-navigation-options">Options</a></li>
						<li><a href="#deck-navigation-theming">Theming</a></li>
					</ul>
				</li>
				<li>
					<a href="#deck-scale">deck.scale</a>
					<ul>
						<li class="expandable">
							<a href="#deck-scale-methods">Methods</a>
							<ul>
								<li><a href="#deck-scale-enable">enableScale</a></li>
								<li><a href="#deck-scale-disable">disableScale</a></li>
								<li><a href="#deck-scale-toggle">toggleScale</a></li>
							</ul>
						</li>
						<li><a href="#deck-scale-options">Options</a></li>
					</ul>
				</li>
				<li>
					<a href="#deck-status">deck.status</a>
					<ul>
						<li><a href="#deck-status-options">Options</a></li>
						<li><a href="#deck-status-theming">Theming</a></li>
					</ul>
				</li>
			</ul>
		</div>
	</nav>
	
	<section id="deck-core">
		<h2>deck.core</h2>
		
		<p>The deck.core module provides all the basic functionality for creating and moving through a deck.  It applies and removes classes to indicate the state of the deck and its slides, allowing CSS to take care of the visual representation of each state.  It also provides methods for interacting with the deck, as well as basic key bindings for going to the next and previous slides.  Separate extension modules provide more functionality using the API provided by core.</p>
		
		<section id="deck-core-methods" class="methods">
			<h3>Methods</h3>

			<section id="deck-core-init">
				<header>
					<h4>init - <code>$.deck(selector, options)</code></h4>
				</header>

				<dl>
					<dt>selector:</dt>
					<dd class="type">string | jQuery | array</dd>
					<dt>options:</dt>
					<dd class="type">object, optional</dd>
				</dl>

				<p>Initializes the deck, using each element matched by <code>selector</code> as a slide.  May also be passed an array of string selectors or jQuery objects, in which case each selector in the array is considered a slide. The second parameter is an optional <a href="#deck-core-options">options object</a> which will extend the default values.</p>
				<pre><code>$.<span class="fn">deck</span>(<span class="str">'.slide'</span>);</code></pre>
				<pre><code>$.<span class="fn">deck</span>([
   <span class="str">'#first-slide'</span>,
   <span class="str">'#second-slide'</span>,
   <span class="str">'#etc'</span>
]);</code></pre>
			</section>

			<section id="deck-core-next">
				<header>
					<h4>next - <code>$.deck('next')</code></h4>
				</header>

				<p>Moves to the next slide.  If the last slide is already active, the call is ignored.</p>
			</section>

			<section id="deck-core-prev">
				<header>
					<h4>prev - <code>$.deck('prev')</code></h4>
				</header>

				<p>Moves to the previous slide.  If the first slide is already active, the call is ignored.</p>
			</section>

			<section id="deck-core-go">
				<header>
					<h4>go - <code>$.deck('go', index)</code></h4>
				</header>

				<dl>
					<dt>index:</dt>
					<dd class="type">integer</dd>
				</dl>

				<p>Moves to the slide at the specified <code>index</code>.  Index is 0-based, so <code>$.deck('go', 0);</code> will move to the first slide. If <code>index</code> is out of bounds or not a number the call is ignored.</p>
			</section>

			<section id="deck-core-getslide">
				<header>
					<h4>getSlide - <code>$.deck('getSlide', index)</code></h4>

					<p><strong>Returns:</strong> jQuery</p>
				</header>
				
				<dl>
					<dt>index:</dt>
					<dd class="type">integer, optional</dd>
				</dl>

				<p>Returns a jQuery object containing the slide at <code>index</code>.  If <code>index</code> is not specified, the current slide is returned.</p>
			</section>

			<section id="deck-core-getslides">
				<header>
					<h4>getSlides - <code>$.deck('getSlides')</code></h4>
					<p><strong>Returns:</strong> array</p>
				</header>

				<p>Returns all slides as an array of jQuery objects.</p>
			</section>

			<section id="deck-core-getcontainer">
				<header>
					<h4>getContainer - <code>$.deck('getContainer')</code></h4>
					<p><strong>Returns:</strong> jQuery</p>
				</header>

				<p>Returns a jQuery object containing the deck container as defined by the <a href="#deck-core-options">container option</a>.</p>
			</section>

			<section id="deck-core-getoptions">
				<header>
					<h4>getOptions - <code>$.deck('getOptions')</code></h4>
					<p><strong>Returns:</strong> object</p>
				</header>

				<p>Returns the <a href="#deck-core-options">options object</a> for the deck, including any overrides that were defined at initialization.</p>
			</section>

			<section id="deck-core-extend">
				<header>
					<h4>extend - <code>$.deck('extend', name, method)</code></h4>
				</header>

				<dl>
					<dt>name:</dt>
					<dd class="type">string</dd>
					<dt>method:</dt>
					<dd class="type">function</dd>
				</dl>

				<p>Adds <code>method</code> to the deck namespace with the key of <code>name</code>.  This doesn&rsquo;t give access to any private member data &mdash; public methods must still be used within <code>method</code> &mdash; but lets extension authors piggyback on the deck namespace rather than pollute jQuery.</p>
				<pre><code>$.<span class="fn">deck</span>(<span class="str">'extend'</span>, <span class="str">'alert'</span>, <span class="kw">function</span>(<span class="var">msg</span>) {
   <span class="fn">alert</span>(<span class="var">msg</span>);
});

<span class="cm">// Alerts 'boom'</span>
$.<span class="fn">deck</span>(<span class="str">'alert'</span>, <span class="str">'boom'</span>);</code></pre>
			</section>
		</section>
		
		<section id="deck-core-options" class="options">
			<h3>Options</h3>
			
			<p>The default settings object for a deck. All extensions should extend this object to add defaults for any of their options.</p>
			
			<pre><code>$.deck.defaults = {
   <span class="key">classes</span>: {
      <span class="key">after</span>: <span class="str">'deck-after'</span>,
      <span class="key">before</span>: <span class="str">'deck-before'</span>,
      <span class="key">childCurrent</span>: <span class="str">'deck-child-current'</span>,
      <span class="key">current</span>: <span class="str">'deck-current'</span>,
      <span class="key">loading</span>: <span class="str">'deck-loading'</span>,
      <span class="key">next</span>: <span class="str">'deck-next'</span>,
      <span class="key">onPrefix</span>: <span class="str">'on-slide-'</span>,
      <span class="key">previous</span>: <span class="str">'deck-previous'</span>
   },

   <span class="key">selectors</span>: {
      <span class="key">container</span>: <span class="str">'.deck-container'</span>
   },

   <span class="key">keys</span>: {
      <span class="cm">// enter, space, page down, right arrow, down arrow</span>
      <span class="key">next</span>: [<span class="str">13</span>, <span class="str">32</span>, <span class="str">34</span>, <span class="str">39</span>, <span class="str">40</span>],
      <span class="cm">// backspace, page up, left arrow, up arrow</span>
      <span class="key">previous</span>: [<span class="str">8</span>, <span class="str">33</span>, <span class="str">37</span>, <span class="str">38</span>]
   },

   <span class="key">touch</span>: {
      <span class="key">swipeTolerance</span>: <span class="str">60</span>
   }
}</code></pre>

			<dl>
				<dt>options.classes.after</dt>
				<dd>This class is added to all slides that appear after the 'next' slide.</dd>
				<dt>options.classes.before</dt>
				<dd>This class is added to all slides that appear before the 'previous' slide.</dd>
				<dt>options.classes.childCurrent</dt>
				<dd>This class is added to all elements in the DOM tree between the 'current' slide and the deck container.  For standard slides, this is mostly seen and used for nested slides.</dd>
				<dt>options.classes.current</dt>
				<dd>This class is added to the current slide.</dd>
				<dt>options.classes.loading</dt>
				<dd>This class is applied to the deck container during loading phases and is primarily used as a way to short circuit transitions between states where such transitions are distracting or unwanted.  For example, this class is applied during deck initialization and then removed to prevent all the slides from appearing stacked and transitioning into place on load.</dd>
				<dt>options.classes.next</dt>
				<dd>This class is added to the slide immediately following the 'current' slide.</dd>
				<dt>options.classes.onPrefix</dt>
				<dd>This prefix, concatenated with the current slide index, is added to the deck container as you change slides.</dd>
				<dt>options.classes.previous</dt>
				<dd>This class is added to the slide immediately preceding the 'current' slide.</dd>
				<dt>options.selectors.container</dt>
				<dd>Elements matched by this CSS selector will be considered the deck container.  The deck container is used to scope certain states of the deck, as with the <code>onPrefix</code> option, or with extensions such as <a href="#deck-goto">deck.goto</a> and <a href="#deck-menu">deck.menu</a>. For standard full screen decks, this should be the <code>body</code> element.</dd>
				<dt>options.keys.next</dt>
				<dd>The numeric keycode used to go to the next slide.</dd>
				<dt>options.keys.previous</dt>
				<dd>The numeric keycode used to go to the previous slide.</dd>
				<dt>options.touch.swipeTolerance</dt>
				<dd>The number of pixels the user&rsquo;s finger must travel to produce a swipe gesture.</dd>
			</dl>
		</section>
		
		<section id="deck-core-events" class="events">
			<h3>Events</h3>
			
			<p>All events are triggered on the <code>document</code>.</p>
			
			<dl>
				<dt>deck.change</dt>
				<dd>
					This event fires whenever the current slide changes, whether by way of <a href="#deck-core-next">next</a>, <a href="#deck-core-prev">prev</a>, or <a href="#deck-core-go">go</a>.  The callback function is passed two parameters, <code>from</code> and <code>to</code>, equal to the indices of the old slide and the new slide respectively.
					<pre><code><span class="fn">$</span>(document).<span class="fn">bind</span>(<span class="str">'deck.change'</span>, <span class="kw">function</span>(<span class="var">event</span>, <span class="var">from</span>, <span class="var">to</span>) {
   <span class="fn">alert</span>(<span class="str">'Moving from slide '</span> + <span class="var">from</span> + <span class="str">' to '</span> + <span class="var">to</span>);
});</code></pre>
				</dd>
				<dt>deck.init</dt>
				<dd><commit_msg>Update docs for beforeInit event<commit_after><!DOCTYPE html>
<!--[if IE 7]>    <html class="no-js ie7" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
	<meta charset="utf-8">
	<title>Docs &raquo; deck.js</title>
	
	<link rel="stylesheet" href="../css/common.css">
	<link rel="stylesheet" href="docs.css">
	
	<script src="../modernizr.custom.js"></script>
</head>
<body class="docs">

<header>
	<nav>
		<h1><a href="../">deck.js</a></h1>
		<ul>
			<li><a href="../introduction">Getting Started</a></li>
			<li>Docs</li>
			<li><a href="http://github.com/imakewebthings/deck.js">GitHub</a></li>
		</ul>
	</nav>
</header>
	
<article>
	<h1>Docs</h1>
	
	<nav>
		<div>
			<ul>
				<li>
					<a href="#deck-core">deck.core</a>
					<ul>
						<li class="expandable">
							<a href="#deck-core-methods">Methods</a>
							<ul>
								<li><a href="#deck-core-init">init</a></li>
								<li><a href="#deck-core-next">next</a></li>
								<li><a href="#deck-core-prev">prev</a></li>
								<li><a href="#deck-core-go">go</a></li>
								<li><a href="#deck-core-getslide">getSlide</a></li>
								<li><a href="#deck-core-getslides">getSlides</a></li>
								<li><a href="#deck-core-getcontainer">getContainer</a></li>
								<li><a href="#deck-core-getoptions">getOptions</a></li>
								<li><a href="#deck-core-extend">extend</a></li>
							</ul>
						</li>
						<li><a href="#deck-core-options">Options</a></li>
						<li><a href="#deck-core-events">Events</a></li>
						<li><a href="#deck-core-theming">Theming</a></li>
					</ul>
				</li>
				<li>
					<a href="#deck-goto">deck.goto</a>
					<ul>
						<li class="expandable">
							<a href="#deck-goto-methods">Methods</a>
							<ul>
								<li><a href="#deck-goto-show">showGoTo</a></li>
								<li><a href="#deck-goto-hide">hideGoTo</a></li>
								<li><a href="#deck-goto-toggle">toggleGoTo</a></li>
							</ul>
						</li>
						<li><a href="#deck-goto-options">Options</a></li>
						<li><a href="#deck-goto-theming">Theming</a></li>
					</ul>
				</li>
				<li>
					<a href="#deck-hash">deck.hash</a>
					<ul>
						<li><a href="#deck-hash-options">Options</a></li>
						<li><a href="#deck-hash-theming">Theming</a></li>
					</ul>
				</li>
				<li>
					<a href="#deck-menu">deck.menu</a>
					<ul>
						<li class="expandable">
							<a href="#deck-menu-methods">Methods</a>
							<ul>
								<li><a href="#deck-menu-show">showMenu</a></li>
								<li><a href="#deck-menu-hide">hideMenu</a></li>
								<li><a href="#deck-menu-toggle">toggleMenu</a></li>
							</ul>
						</li>
						<li><a href="#deck-menu-options">Options</a></li>
						<li><a href="#deck-menu-theming">Theming</a></li>
					</ul>
				</li>
				<li>
					<a href="#deck-navigation">deck.navigation</a>
					<ul>
						<li><a href="#deck-navigation-options">Options</a></li>
						<li><a href="#deck-navigation-theming">Theming</a></li>
					</ul>
				</li>
				<li>
					<a href="#deck-scale">deck.scale</a>
					<ul>
						<li class="expandable">
							<a href="#deck-scale-methods">Methods</a>
							<ul>
								<li><a href="#deck-scale-enable">enableScale</a></li>
								<li><a href="#deck-scale-disable">disableScale</a></li>
								<li><a href="#deck-scale-toggle">toggleScale</a></li>
							</ul>
						</li>
						<li><a href="#deck-scale-options">Options</a></li>
					</ul>
				</li>
				<li>
					<a href="#deck-status">deck.status</a>
					<ul>
						<li><a href="#deck-status-options">Options</a></li>
						<li><a href="#deck-status-theming">Theming</a></li>
					</ul>
				</li>
			</ul>
		</div>
	</nav>
	
	<section id="deck-core">
		<h2>deck.core</h2>
		
		<p>The deck.core module provides all the basic functionality for creating and moving through a deck.  It applies and removes classes to indicate the state of the deck and its slides, allowing CSS to take care of the visual representation of each state.  It also provides methods for interacting with the deck, as well as basic key bindings for going to the next and previous slides.  Separate extension modules provide more functionality using the API provided by core.</p>
		
		<section id="deck-core-methods" class="methods">
			<h3>Methods</h3>

			<section id="deck-core-init">
				<header>
					<h4>init - <code>$.deck(selector, options)</code></h4>
				</header>

				<dl>
					<dt>selector:</dt>
					<dd class="type">string | jQuery | array</dd>
					<dt>options:</dt>
					<dd class="type">object, optional</dd>
				</dl>

				<p>Initializes the deck, using each element matched by <code>selector</code> as a slide.  May also be passed an array of string selectors or jQuery objects, in which case each selector in the array is considered a slide. The second parameter is an optional <a href="#deck-core-options">options object</a> which will extend the default values.</p>
				<pre><code>$.<span class="fn">deck</span>(<span class="str">'.slide'</span>);</code></pre>
				<pre><code>$.<span class="fn">deck</span>([
   <span class="str">'#first-slide'</span>,
   <span class="str">'#second-slide'</span>,
   <span class="str">'#etc'</span>
]);</code></pre>
			</section>

			<section id="deck-core-next">
				<header>
					<h4>next - <code>$.deck('next')</code></h4>
				</header>

				<p>Moves to the next slide.  If the last slide is already active, the call is ignored.</p>
			</section>

			<section id="deck-core-prev">
				<header>
					<h4>prev - <code>$.deck('prev')</code></h4>
				</header>

				<p>Moves to the previous slide.  If the first slide is already active, the call is ignored.</p>
			</section>

			<section id="deck-core-go">
				<header>
					<h4>go - <code>$.deck('go', index)</code></h4>
				</header>

				<dl>
					<dt>index:</dt>
					<dd class="type">integer</dd>
				</dl>

				<p>Moves to the slide at the specified <code>index</code>.  Index is 0-based, so <code>$.deck('go', 0);</code> will move to the first slide. If <code>index</code> is out of bounds or not a number the call is ignored.</p>
			</section>

			<section id="deck-core-getslide">
				<header>
					<h4>getSlide - <code>$.deck('getSlide', index)</code></h4>

					<p><strong>Returns:</strong> jQuery</p>
				</header>
				
				<dl>
					<dt>index:</dt>
					<dd class="type">integer, optional</dd>
				</dl>

				<p>Returns a jQuery object containing the slide at <code>index</code>.  If <code>index</code> is not specified, the current slide is returned.</p>
			</section>

			<section id="deck-core-getslides">
				<header>
					<h4>getSlides - <code>$.deck('getSlides')</code></h4>
					<p><strong>Returns:</strong> array</p>
				</header>

				<p>Returns all slides as an array of jQuery objects.</p>
			</section>

			<section id="deck-core-getcontainer">
				<header>
					<h4>getContainer - <code>$.deck('getContainer')</code></h4>
					<p><strong>Returns:</strong> jQuery</p>
				</header>

				<p>Returns a jQuery object containing the deck container as defined by the <a href="#deck-core-options">container option</a>.</p>
			</section>

			<section id="deck-core-getoptions">
				<header>
					<h4>getOptions - <code>$.deck('getOptions')</code></h4>
					<p><strong>Returns:</strong> object</p>
				</header>

				<p>Returns the <a href="#deck-core-options">options object</a> for the deck, including any overrides that were defined at initialization.</p>
			</section>

			<section id="deck-core-extend">
				<header>
					<h4>extend - <code>$.deck('extend', name, method)</code></h4>
				</header>

				<dl>
					<dt>name:</dt>
					<dd class="type">string</dd>
					<dt>method:</dt>
					<dd class="type">function</dd>
				</dl>

				<p>Adds <code>method</code> to the deck namespace with the key of <code>name</code>.  This doesn&rsquo;t give access to any private member data &mdash; public methods must still be used within <code>method</code> &mdash; but lets extension authors piggyback on the deck namespace rather than pollute jQuery.</p>
				<pre><code>$.<span class="fn">deck</span>(<span class="str">'extend'</span>, <span class="str">'alert'</span>, <span class="kw">function</span>(<span class="var">msg</span>) {
   <span class="fn">alert</span>(<span class="var">msg</span>);
});

<span class="cm">// Alerts 'boom'</span>
$.<span class="fn">deck</span>(<span class="str">'alert'</span>, <span class="str">'boom'</span>);</code></pre>
			</section>
		</section>
		
		<section id="deck-core-options" class="options">
			<h3>Options</h3>
			
			<p>The default settings object for a deck. All extensions should extend this object to add defaults for any of their options.</p>
			
			<pre><code>$.deck.defaults = {
   <span class="key">classes</span>: {
      <span class="key">after</span>: <span class="str">'deck-after'</span>,
      <span class="key">before</span>: <span class="str">'deck-before'</span>,
      <span class="key">childCurrent</span>: <span class="str">'deck-child-current'</span>,
      <span class="key">current</span>: <span class="str">'deck-current'</span>,
      <span class="key">loading</span>: <span class="str">'deck-loading'</span>,
      <span class="key">next</span>: <span class="str">'deck-next'</span>,
      <span class="key">onPrefix</span>: <span class="str">'on-slide-'</span>,
      <span class="key">previous</span>: <span class="str">'deck-previous'</span>
   },

   <span class="key">selectors</span>: {
      <span class="key">container</span>: <span class="str">'.deck-container'</span>
   },

   <span class="key">keys</span>: {
      <span class="cm">// enter, space, page down, right arrow, down arrow</span>
      <span class="key">next</span>: [<span class="str">13</span>, <span class="str">32</span>, <span class="str">34</span>, <span class="str">39</span>, <span class="str">40</span>],
      <span class="cm">// backspace, page up, left arrow, up arrow</span>
      <span class="key">previous</span>: [<span class="str">8</span>, <span class="str">33</span>, <span class="str">37</span>, <span class="str">38</span>]
   },

   <span class="key">touch</span>: {
      <span class="key">swipeTolerance</span>: <span class="str">60</span>
   }
}</code></pre>

			<dl>
				<dt>options.classes.after</dt>
				<dd>This class is added to all slides that appear after the 'next' slide.</dd>
				<dt>options.classes.before</dt>
				<dd>This class is added to all slides that appear before the 'previous' slide.</dd>
				<dt>options.classes.childCurrent</dt>
				<dd>This class is added to all elements in the DOM tree between the 'current' slide and the deck container.  For standard slides, this is mostly seen and used for nested slides.</dd>
				<dt>options.classes.current</dt>
				<dd>This class is added to the current slide.</dd>
				<dt>options.classes.loading</dt>
				<dd>This class is applied to the deck container during loading phases and is primarily used as a way to short circuit transitions between states where such transitions are distracting or unwanted.  For example, this class is applied during deck initialization and then removed to prevent all the slides from appearing stacked and transitioning into place on load.</dd>
				<dt>options.classes.next</dt>
				<dd>This class is added to the slide immediately following the 'current' slide.</dd>
				<dt>options.classes.onPrefix</dt>
				<dd>This prefix, concatenated with the current slide index, is added to the deck container as you change slides.</dd>
				<dt>options.classes.previous</dt>
				<dd>This class is added to the slide immediately preceding the 'current' slide.</dd>
				<dt>options.selectors.container</dt>
				<dd>Elements matched by this CSS selector will be considered the deck container.  The deck container is used to scope certain states of the deck, as with the <code>onPrefix</code> option, or with extensions such as <a href="#deck-goto">deck.goto</a> and <a href="#deck-menu">deck.menu</a>. For standard full screen decks, this should be the <code>body</code> element.</dd>
				<dt>options.keys.next</dt>
				<dd>The numeric keycode used to go to the next slide.</dd>
				<dt>options.keys.previous</dt>
				<dd>The numeric keycode used to go to the previous slide.</dd>
				<dt>options.touch.swipeTolerance</dt>
				<dd>The number of pixels the user&rsquo;s finger must travel to produce a swipe gesture.</dd>
			</dl>
		</section>
		
		<section id="deck-core-events" class="events">
			<h3>Events</h3>
			
			<p>All events are triggered on the <code>document</code>.</p>
			
			<dl>
				<dt>deck.change</dt>
				<dd>
					This event fires whenever the current slide changes, whether by way of <a href="#deck-core-next">next</a>, <a href="#deck-core-prev">prev</a>, or <a href="#deck-core-go">go</a>.  The callback function is passed two parameters, <code>from</code> and <code>to</code>, equal to the indices of the old slide and the new slide respectively.
					<pre><code><span class="fn">$</span>(document).<span class="fn">bind</span>(<span class="str">'deck.change'</span>, <span class="kw">function</span>(<span class="var">event</span>, <span class="var">from</span>, <span class="var">to</span>) {
   <span class="fn">alert</span>(<span class="str">'Moving from slide '</span> + <span class="var">from</span> + <span class="str">' to '</span> + <span class="var">to</span>);
});</code></pre>
				</dd>
				<dt>deck.beforeInit</dt>
				<dd>
					This event fires at the beginning of deck initialization, after the options are set but before the slides array is created. This event makes a good hook for preprocessing extensions looking to modify the deck.
				</dd>
				<dt>deck.init</dt>
				<dd>
{'fraction_non_alphanumeric': 0.20245627093412727, 'fraction_numerical': 0.004093784890212133, 'mean_word_length': 3.4422218548520416, 'pattern_counts': {'":': 0, '<': 1315, '<?xml version=': 0, '>': 1313, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6150922', 'n_tokens_mistral': 10796, 'n_tokens_neox': 8927, 'n_words': 2235}