PageSourceSearch

https://wenlab501.github.io/js/homepage.js

js wenlab501.github.io collected 2026-10-03 10:10:08 UTC 85,501 bytes, 1,479 lines download raw bytes

1
2
3
4<!DOCTYPE html>
5<html lang="en" class=" is-copy-enabled">
6  <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# object: http://ogp.me/ns/object# article: http://ogp.me/ns/article# profile: http://ogp.me/ns/profile#">
7    <meta charset='utf-8'>
8    <meta http-equiv="X-UA-Compatible" content="IE=edge">
9    <meta http-equiv="Content-Language" content="en">
10    <meta name="viewport" content="width=1020">
11    
12    
13    <title>Shuffle/homepage.js at master · Vestride/Shuffle</title>
14    <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">
15    <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">
16    <link rel="apple-touch-icon" sizes="57x57" href="/apple-touch-icon-114.png">
17    <link rel="apple-touch-icon" sizes="114x114" href="/apple-touch-icon-114.png">
18    <link rel="apple-touch-icon" sizes="72x72" href="/apple-touch-icon-144.png">
19    <link rel="apple-touch-icon" sizes="144x144" href="/apple-touch-icon-144.png">
20    <meta property="fb:app_id" content="1401488693436528">
21
22      <meta content="@github" name="twitter:site" /><meta content="summary" name="twitter:card" /><meta content="Vestride/Shuffle" name="twitter:title" /><meta content="jQuery Shuffle Plugin" name="twitter:description" /><meta content="https://avatars2.githubusercontent.com/u/963921?v=3&amp;s=400" name="twitter:image:src" />
23      <meta content="GitHub" property="og:site_name" /><meta content="object" property="og:type" /><meta content="https://avatars2.githubusercontent.com/u/963921?v=3&amp;s=400" property="og:image" /><meta content="Vestride/Shuffle" property="og:title" /><meta content="https://github.com/Vestride/Shuffle" property="og:url" /><meta content="jQuery Shuffle Plugin" property="og:description" />
24      <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats">
25    <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors">
26    <link rel="assets" href="https://assets-cdn.github.com/">
27    <link rel="web-socket" href="wss://live.github.com/_sockets/Mjk2OTIwNzpkZjBjNjJkM2RmNTY1Yzg4NTUzOWFkYzc3Y2ZkOWU0NDo2ZjhmZjUyOTExM2ExMzYxMTViZTAxM2ViY2RkMjY3OTY1OGIxYWFkNTdkNDYxNjVjYmIzNWYxYmJmMjM3MTk5--367573344edb03aef48e494b9ed0f291f1b9f214">
28    <meta name="pjax-timeout" content="1000">
29    <link rel="sudo-modal" href="/sessions/sudo_modal">
30
31    <meta name="msapplication-TileImage" content="/windows-tile.png">
32    <meta name="msapplication-TileColor" content="#ffffff">
33    <meta name="selected-link" value="repo_source" data-pjax-transient>
34
35        <meta name="google-analytics" content="UA-3769691-2">
36
37    <meta content="collector.githubapp.com" name="octolytics-host" /><meta content="collector-cdn.github.com" name="octolytics-script-host" /><meta content="github" name="octolytics-app-id" /><meta content="8C704041:3948:38B789D:55B995A4" name="octolytics-dimension-request_id" /><meta content="2969207" name="octolytics-actor-id" /><meta content="wcchin" name="octolytics-actor-login" /><meta content="cc0e21a6793333139432671d1e3a5a121ac486200bfe28bb594bfb6853eaf6cb" name="octolytics-actor-hash" />
38    
39    <meta content="Rails, view, blob#show" data-pjax-transient="true" name="analytics-event" />
40    <meta class="js-ga-set" name="dimension1" content="Logged In">
41      <meta class="js-ga-set" name="dimension4" content="Current repo nav">
42    <meta name="is-dotcom" content="true">
43        <meta name="hostname" content="github.com">
44    <meta name="user-login" content="wcchin">
45
46      <link rel="icon" sizes="any" mask href="https://assets-cdn.github.com/pinned-octocat.svg">
47      <meta name="theme-color" content="#4078c0">
48      <link rel="icon" type="image/x-icon" href="https://assets-cdn.github.com/favicon.ico">
49
50    <!-- </textarea> --><!-- '"` --><meta content="authenticity_token" name="csrf-param" />
51<meta content="82bllzsSANHsedvEVA51oIwMK4is70YhSiupC9bsG9/GVIBtqNbJ4TMdfZ146bE8so/X53pGE1+/uxL5xCJZcg==" name="csrf-token" />
52    
53
54    <link crossorigin="anonymous" href="https://assets-cdn.github.com/assets/github/index-6a38221f48fad6f901dccba89381467ba00e7964ad07f3e620f6fbe3b89eb855.css" media="all" rel="stylesheet" />
55    <link crossorigin="anonymous" href="https://assets-cdn.github.com/assets/github2/index-08cb82fd5371ec23695747a55f839c450f2784c5a23bb980d725bdb6b25f7227.css" media="all" rel="stylesheet" />
56    
57    
58
59
60    <meta http-equiv="x-pjax-version" content="982bc715660a0f23b3d80405ace21cfc">
61
62      
63  <meta name="description" content="jQuery Shuffle Plugin">
64  <meta name="go-import" content="github.com/Vestride/Shuffle git https://github.com/Vestride/Shuffle.git">
65
66  <meta content="963921" name="octolytics-dimension-user_id" /><meta content="Vestride" name="octolytics-dimension-user_login" /><meta content="3045648" name="octolytics-dimension-repository_id" /><meta content="Vestride/Shuffle" name="octolytics-dimension-repository_nwo" /><meta content="true" name="octolytics-dimension-repository_public" /><meta content="false" name="octolytics-dimension-repository_is_fork" /><meta content="3045648" name="octolytics-dimension-repository_network_root_id" /><meta content="Vestride/Shuffle" name="octolytics-dimension-repository_network_root_nwo" />
67  <link href="https://github.com/Vestride/Shuffle/commits/master.atom" rel="alternate" title="Recent 
67Commits to Shuffle:master" type="application/atom+xml">
68
69  </head>
70
71
72  <body class="logged_in  env-production linux vis-public page-blob">
73    <a href="#start-of-content" tabindex="1" class="accessibility-aid js-skip-to-content">Skip to content</a>
74    <div class="wrapper">
75      
76      
77      
78
79
80
81        <div class="header header-logged-in true" role="banner">
82  <div class="container clearfix">
83
84    <a class="header-logo-invertocat" href="https://github.com/" data-hotkey="g d" aria-label="Homepage" data-ga-click="Header, go to dashboard, icon:logo">
85  <span class="mega-octicon octicon-mark-github"></span>
86</a>
87
88
89      <div class="site-search repo-scope js-site-search" role="search">
90          <!-- </textarea> --><!-- '"` --><form accept-charset="UTF-8" action="/Vestride/Shuffle/search" class="js-site-search-form" data-global-search-url="/search" data-repo-search-url="/Vestride/Shuffle/search" method="get"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /></div>
91  <label class="js-chromeless-input-container form-control">
92    <div class="scope-badge">This repository</div>
93    <input type="text"
94      class="js-site-search-focus js-site-search-field is-clearable chromeless-input"
95      data-hotkey="s"
96      name="q"
97      placeholder="Search"
98      data-global-scope-placeholder="Search GitHub"
99      data-repo-scope-placeholder="Search"
100      tabindex="1"
101      autocapitalize="off">
102  </label>
103</form>
104      </div>
105
106      <ul class="header-nav left" role="navigation">
107        <li class="header-nav-item">
108          <a href="/pulls" class="js-selected-navigation-item header-nav-link" data-ga-click="Header, click, Nav menu - item:pulls context:user" data-hotkey="g p" data-selected-links="/pulls /pulls/assigned /pulls/mentioned /pulls">
109            Pull requests
110</a>        </li>
111        <li class="header-nav-item">
112          <a href="/issues" class="js-selected-navigation-item header-nav-link" data-ga-click="Header, click, Nav menu - item:issues context:user" data-hotkey="g i" data-selected-links="/issues /issues/assigned /issues/mentioned /issues">
113            Issues
114</a>        </li>
115          <li class="header-nav-item">
116            <a class="header-nav-link" href="https://gist.github.com/" data-ga-click="Header, go to gist, text:gist">Gist</a>
117          </li>
118      </ul>
119
120    
121<ul class="header-nav user-nav right" id="user-links">
122  <li class="header-nav-item">
123      <span class="js-socket-channel js-updatable-content"
124        data-channel="notification-changed:wcchin"
125        data-url="/notifications/header">
126      <a href="/notifications" aria-label="You have no unread notifications" class="header-nav-link notification-indicator tooltipped tooltipped-s" data-ga-click="Header, go to notifications, icon:read" data-hotkey="g n">
127          <span class="mail-status all-read"></span>
128          <span class="octicon octicon-inbox"></span>
129</a>  </span>
130
131  </li>
132
133  <li class="header-nav-item dropdown js-menu-container">
134    <a class="header-nav-link tooltipped tooltipped-s js-menu-target" href="/new"
135       aria-label="Create new…"
136       data-ga-click="Header, create new, icon:add">
137      <span class="octicon octicon-plus left"></span>
138      <span class="dropdown-caret"></span>
139    </a>
140
141    <div class="dropdown-menu-content js-menu-content">
142      <ul class="dropdown-menu dropdown-menu-sw">
143        
144<a class="dropdown-item" href="/new" data-ga-click="Header, create new repository">
145  New repository
146</a>
147
148
149  <a class="dropdown-item" href="/organizations/new" data-ga-click="Header, create new organization">
150    New organization
151  </a>
152
153
154
155  <div class="dropdown-divider"></div>
156  <div class="dropdown-header">
157    <span title="Vestride/Shuffle">This repository</span>
158  </div>
159    <a class="dropdown-item" href="/Vestride/Shuffle/issues/new" data-ga-click="Header, create new issue">
160      New issue
161    </a>
162
163      </ul>
164    </div>
165  </li>
166
167  <li class="header-nav-item dropdown js-menu-container">
168    <a class="header-nav-link name tooltipped tooltipped-s js-menu-target" href="/wcchin"
169       aria-label="View profile and more"
170       data-ga-click="Header, show menu, icon:avatar">
171      <img alt="@wcchin" class="avatar" height="20" src="https://avatars3.githubusercontent.com/u/2969207?v=3&amp;s=40" width="20" />
172      <span class="dropdown-caret"></span>
173    </a>
174
175    <div class="dropdown-menu-content js-menu-content">
176      <div class="dropdown-menu dropdown-menu-sw">
177        <div class="dropdown-header header-nav-current-user css-truncate">
178          Signed in as <strong class="css-truncate-target">wcchin</strong>
179        </div>
180        <div class="dropdown-divider"></div>
181
182        <a class="dropdown-item" href="/wcchin" data-ga-click="Header, go to profile, text:your profile">
183          Your profile
184        </a>
185        <a class="dropdown-item" href="/stars" data-ga-click="Header, go to starred repos, text:your stars">
186          Your stars
187        </a>
188        <a class="dropdown-item" href="/explore" data-ga-click="Header, go to explore, text:explore">
189          Explore
190        </a>
191        <a class="dropdown-item" href="https://help.github.com" data-ga-click="Header, go to help, text:help">
192          Help
193        </a>
194        <div class="dropdown-divider"></div>
195
196        <a class="dropdown-item" href="/settings/profile" data-ga-click="Header, go to settings, icon:settings">
197          Settings
198        </a>
199
200        <!-- </textarea> --><!-- '"` --><form accept-charset="UTF-8" action="/logout" class="logout-form" data-form-nonce="14de84470224d430162c4ef7051bc9d28c5f2efa" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="b8481zPoF3G6oj7ac9dbvnhGGsg8iz5VSA4dz9hRqAd2tJgXW+9xI5wGGICpwSb7Eddh++Ffk3K414MLEGoxYQ==" /></div>
201          <button class="dropdown-item dropdown-signout" data-ga-click="Header, sign out, icon:logout">
202            Sign out
203          </button>
204</form>      </div>
205    </div>
206  </li>
207</ul>
208
209
210    
211  </div>
212</div>
213
214        
215
216        
217
218
219      <div id="start-of-content" class="accessibility-aid"></div>
220          <div class="site" itemscope itemtype="http://schema.org/WebPage">
221    <div id="js-flash-container">
222      
223    </div>
224    <div class="pagehead repohead instapaper_ignore readability-menu ">
225      <div class="container">
226
227        <div class="clearfix">
228          
229<ul class="pagehead-actions">
230
231  <li>
232      <!-- </textarea> --><!-- '"` --><form accept-charset="UTF-8" action="/notifications/subscribe" class="js-social-container" data-autosubmit="true" data-form-nonce="14de84470224d430162c4ef7051bc9d28c5f2efa" data-remote="true" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="MJPgNXPYvyt388FmD4RyJ2fHyPSErxw1GgHZsmzcjANQWFc28ExDIQcYSGnPnJEW3s4Rj3m/Mk1bnqIzGPmd6A==" /></div>    <input id="repository_id" name="repository_id" type="hidden" value="3045648" />
233
234      <div class="select-menu js-menu-container js-select-menu">
235        <a href="/Vestride/Shuffle/subscription"
236          class="btn btn-sm btn-with-count select-menu-button js-menu-target" role="button" tabindex="0" aria-haspopup="true"
237          data-ga-click="Repository, click Watch settings, action:blob#show">
238          <span class="js-select-button">
239            <span class="octicon octicon-eye"></span>
240            Watch
241          </span>
242        </a>
243        <a class="social-count js-social-count" href="/Vestride/Shuffle/watchers">
244          40
245        </a>
246
247        <div class="select-menu-modal-holder">
248          <div class="select-menu-modal subscription-menu-modal js-menu-content" aria-hidden="true">
249            <div class="select-menu-header">
250              <span class="select-menu-title">Notifications</span>
251              <span class="octicon octicon-x js-menu-close" role="button" aria-label="Close"></span>
252            </div>
253
254            <div class="select-menu-list js-navigation-container" role="menu">
255
256              <div class="select-menu-item js-navigation-item selected" role="menuitem" tabindex="0">
257                <span class="select-menu-item-icon octicon octicon-check"></span>
258                <div class="select-menu-item-text">
259                  <input checked="checked" id="do_included" name="do" type="radio" value="included" />
260                  <span class="select-menu-item-heading">Not watching</span>
261                  <span class="description">Be notified when participating or @mentioned.</span>
262                  <span class="js-select-button-text hidden-select-button-text">
263                    <span class="octicon octicon-eye"></span>
264                    Watch
265                  </span>
266                </div>
267              </div>
268
269              <div class="select-menu-item js-navigation-item " role="menuitem" tabindex="0">
270                <span class="select-menu-item-icon octicon octicon octicon-check"></span>
271                <div class="select-menu-item-text">
272                  <input id="do_subscribed" name="do" type="radio" value="subscribed" />
273                  <span class="select-menu-item-heading">Watching</span>
274                  <span class="description">Be notified of all conversations.</span>
275                  <span class="js-select-button-text hidden-select-button-text">
276                    <span class="octicon octicon-eye"></span>
277                    Unwatch
278                  </span>
279                </div>
280              </div>
281
282              <div class="select-menu-item js-navigation-item " role="menuitem" tabindex="0">
283                <span class="select-menu-item-icon octicon octicon-check"></span>
284                <div class="select-menu-item-text">
285                  <input id="do_ignore" name="do" type="radio" value="ignore" />
286                  <span class="select-menu-item-heading">Ignoring</span>
287                  <span class="description">Never be notified.</span>
288                  <span class="js-select-button-text hidden-select-button-text">
289                    <span class="octicon octicon-mute"></span>
290                    Stop ignoring
291                  </span>
292                </div>
293              </div>
294
295            </div>
296
297          </div>
298        </div>
299      </div>
300</form>
301  </li>
302
303  <li>
304    
305  <div class="js-toggler-container js-social-container starring-container ">
306
307    <!-- </textarea> --><!-- '"` --><form accept-charset="UTF-8" action="/Vestride/Shuffle/unstar" class="js-toggler-form starred js-unstar-button" data-form-nonce="14de84470224d430162c4ef7051bc9d28c5f2efa" data-remote="true" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="yNUMDkE+VPpFk2HjiT07QNm1vwYBqUpiB0MM6oiQtR9wZ6FOKrecbAMimzc2f+US4H1ktVytOqt1CrsgLE8WCw==" /></div>
308      <button
309        class="btn btn-sm btn-with-count js-toggler-target"
310        aria-label="Unstar this repository" title="Unstar Vestride/Shuffle"
311        data-ga-click="Repository, click unstar button, action:blob#show; text:Unstar">
312        <span class="octicon octicon-star"></span>
313        Unstar
314      </button>
315        <a class="social-count js-social-count" href="/Vestride/Shuffle/stargazers">
316          574
317        </a>
318</form>
319    <!-- </textarea> --><!-- '"` --><form accept-charset="UTF-8" action="/Vestride/Shuffle/star" class="js-toggler-form unstarred js-star-button" data-form-nonce="14de84470224d430162c4ef7051bc9d28c5f2efa" data-remote="true" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="g4xn9XBoCPDNokFiGsAx5wAocwlayu3ahov8F6hpGl7h1U4FnWE+6/yK36nCKw5kkeQ4rI/oPOWdm2e6/SbMxw==" /></div>
320      <button
321        class="btn btn-sm btn-with-count js-toggler-target"
322        aria-label="Star this repository" title="Star Vestride/Shuffle"
323        data-ga-click="Repository, click star button, action:blob#show; text:Star">
324        <span class="octicon octicon-star"></span>
325        Star
326      </button>
327        <a class="social-count js-social-count" href="/Vestride/Shuffle/stargazers">
328          574
329        </a>
330</form>  </div>
331
332  </li>
333
334        <li>
335          <!-- </textarea> --><!-- '"` --><form accept-charset="UTF-8" action="/Vestride/Shuffle/fork" data-form-nonce="14de84470224d430162c4ef7051bc9d28c5f2efa" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="+l5EELm161SXUF1gyWBNbeN7lHx3Sj19xPpwss9jrIDDmACFcTzA2RsAwBvCedNgIkhoBZGXf191/wt2Ui8epQ==" /></div>
336            <button
337                type="submit"
338                class="btn btn-sm btn-with-count"
339                data-ga-click="Repository, show fork modal, action:blob#show; text:Fork"
340                title="Fork your own copy of Vestride/Shuffle to your account"
341                aria-label="Fork your own copy of Vestride/Shuffle to your account">
342              <span class="octicon octicon-repo-forked"></span>
343              Fork
344            </button>
345            <a href="/Vestride/Shuffle/network" class="social-count">123</a>
346</form>        </li>
347
348</ul>
349
350          <h1 itemscope itemtype="http://data-vocabulary.org/Breadcrumb" class="entry-title public">
351            <span class="mega-octicon octicon-repo"></span>
352            <span class="author"><a href="/Vestride" class="url fn" itemprop="url" rel="author"><span itemprop="title">Vestride</span></a></span><!--
353         --><span class="path-divider">/</span><!--
354         --><strong><a href="/Vestride/Shuffle" data-pjax="#js-repo-pjax-container">Shuffle</a></strong>
355
356            <span class="page-context-loader">
357              <img alt="" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />
358            </span>
359
360          </h1>
361        </div>
362
363      </div>
364    </div>
365
366      <div class="container">
367        <div class="repository-with-sidebar repo-container new-discussion-timeline ">
368          <div class="repository-sidebar clearfix">
369              
370
371<nav class="sunken-menu repo-nav js-repo-nav js-sidenav-container-pjax js-octicon-loaders"
372     role="navigation"
373     data-pjax="#js-repo-pjax-container"
374     data-issue-count-url="/Vestride/Shuffle/issues/counts">
375  <ul class="sunken-menu-group">
376    <li class="tooltipped tooltipped-w" aria-label="Code">
377      <a href="/Vestride/Shuffle" aria-label="Code" aria-selected="true" class="js-selected-navigation-item selected sunken-menu-item" data-hotkey="g c" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches /Vestride/Shuffle">
378        <span class="octicon octicon-code"></span> <span class="full-word">Code</span>
379        <img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />
380</a>    </li>
381
382      <li class="tooltipped tooltipped-w" aria-label="Issues">
383        <a href="/Vestride/Shuffle/issues" aria-label="Issues" class="js-selected-navigation-item sunken-menu-item" data-hotkey="g i" data-selected-links="repo_issues repo_labels repo_milestones /Vestride/Shuffle/issues">
384          <span class="octicon octicon-issue-opened"></span> <span class="full-word">Issues</span>
385          <span class="js-issue-replace-counter"></span>
386          <img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />
387</a>      </li>
388
389    <li class="tooltipped tooltipped-w" aria-label="Pull requests">
390      <a href="/Vestride/Shuffle/pulls" aria-label="Pull requests" class="js-selected-navigation-item sunken-menu-item" data-hotkey="g p" data-selected-links="repo_pulls /Vestride/Shuffle/pulls">
391          <span class="octicon octicon-git-pull-request"></span> <span class="full-word">Pull requests</span>
392          <span class="js-pull-replace-counter"></span>
393          <img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />
394</a>    </li>
395
396  </ul>
397  <div class="sunken-menu-separator"></div>
398  <ul class="sunken-menu-group">
399
400    <li class="tooltipped tooltipped-w" aria-label="Pulse">
401      <a href="/Vestride/Shuffle/pulse" aria-label="Pulse" class="js-selected-navigation-item sunken-menu-item" data-selected-links="pulse /Vestride/Shuffle/pulse">
402        <span class="octicon octicon-pulse"></span> <span class="full-word">Pulse</span>
403        <img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />
404</a>    </li>
405
406    <li class="tooltipped tooltipped-w" aria-label="Graphs">
407      <a href="/Vestride/Shuffle/graphs" aria-label="Graphs" class="js-selected-navigation-item sunken-menu-item" data-selected-links="repo_graphs repo_contributors /Vestride/Shuffle/graphs">
408        <span class="octicon octicon-graph"></span> <span class="full-word">Graphs</span>
409        <img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />
410</a>    </li>
411  </ul>
412
413
414</nav>
415
416                <div class="only-with-full-nav">
417                    
418<div class="js-clone-url clone-url open"
419  data-protocol-type="http">
420  <h3><span class="text-emphasized">HTTPS</span> clone URL</h3>
421  <div class="input-group js-zeroclipboard-container">
422    <input type="text" class="input-mini input-monospace js-url-field js-zeroclipboard-target"
423           value="https://github.com/Vestride/Shuffle.git" readonly="readonly" aria-label="HTTPS clone URL">
424    <span class="input-group-button">
425      <button aria-label="Copy to clipboard" class="js-zeroclipboard btn btn-sm zeroclipboard-button tooltipped tooltipped-s" data-copied-hint="Copied!" type="button"><span class="octicon octicon-clippy"></span></button>
426    </span>
427  </div>
428</div>
429
430  
431<div class="js-clone-url clone-url "
432  data-protocol-type="ssh">
433  <h3><span class="text-emphasized">SSH</span> clone URL</h3>
434  <div class="input-group js-zeroclipboard-container">
435    <input type="text" class="input-mini input-monospace js-url-field js-zeroclipboard-target"
436           value="[email protected]:Vestride/Shuffle.git" readonly="readonly" aria-label="SSH clone URL">
437    <span class="input-group-button">
438      <button aria-label="Copy to clipboard" class="js-zeroclipboard btn btn-sm zeroclipboard-button tooltipped tooltipped-s" data-copied-hint="Copied!" type="button"><span class="octicon octicon-clippy"></span></button>
439    </span>
440  </div>
441</div>
442
443  
444<div class="js-clone-url clone-url "
445  data-protocol-type="subversion">
446  <h3><span class="text-emphasized">Subversion</span> checkout URL</h3>
447  <div class="input-group js-zeroclipboard-container">
448    <input type="text" class="input-mini input-monospace js-url-field js-zeroclipboard-target"
449           value="https://github.com/Vestride/Shuffle" readonly="readonly" aria-label="Subversion checkout URL">
450    <span class="input-group-button">
451      <button aria-label="Copy to clipboard" class="js-zeroclipboard btn btn-sm zeroclipboard-button tooltipped tooltipped-s" data-copied-hint="Copied!" type="button"><span class="octicon octicon-clippy"></span></button>
452    </span>
453  </div>
454</div>
455
456
457
458  <div class="clone-options">You can clone with
459    <!-- </textarea> --><!-- '"` --><form accept-charset="UTF-8" action="/users/set_protocol?protocol_selector=http&amp;protocol_type=clone" class="inline-form js-clone-selector-form is-enabled" data-form-nonce="14de84470224d430162c4ef7051bc9d28c5f2efa" data-remote="true" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="b3nN4E0bbo4xvBw49LTVXXigbtAHUHiA9WE7KaridKh7FDB3S0qpzv9cWjb3AJBKSA+LsUSsg3mvcRri8nyjcg==" /></div><button class="btn-link js-clone-selector" data-protocol="http" type="submit">HTTPS</button></form>, <!-- </textarea> --><!-- '"` --><form accept-charset="UTF-8" action="/users/set_protocol?protocol_selector=ssh&amp;protocol_type=clone" class="inline-form js-clone-selector-form is-enabled" data-form-nonce="14de84470224d430162c4ef7051bc9d28c5f2efa" data-remote="true" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="f/gmrWtMpM1CGP+Q4Dd9uBludIeE+F+CAc5FtYRs86qeyVGyD/k7rre4dmV6X33bzW8XT+EVObZnlziyieulmA==" /></div><button class="btn-link js-clone-selector" data-protocol="ssh" type="submit">SSH</button></form>, or <!-- </textarea> --><!-- '"` --><form accept-charset="UTF-8" action="/users/set_protocol?protocol_selector=subversion&amp;protocol_type=clone" class="inline-form js-clone-selector-form is-enabled" data-form-nonce="14de84470224d430162c4ef7051bc9d28c5f2efa" data-remote="true" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="x/HRI4/jOwhr9pI0orPV3aRXxb5EVqL+RB6Xo5Ky0I8uhmIW3hzO9npkrILlMEc90PxaQFVTr0AxAoPjOIORyg==" /></div><button class="btn-link js-clone-selector" data-protocol="subversion" type="submit">Subversion</button></form>.
460    <a href="https://help.github.com/articles/which-remote-url-should-i-use" class="help tooltipped tooltipped-n" aria-label="Get help on which URL is right for you.">
461      <span class="octicon octicon-question"></span>
462    </a>
463  </div>
464
465                  <a href="/Vestride/Shuffle/archive/master.zip"
466                     class="btn btn-sm sidebar-button"
467                     aria-label="Download the contents of Vestride/Shuffle as a zip file"
468                     title="Download the contents of Vestride/Shuffle as a zip file"
469                     rel="nofollow">
470                    <span class="octicon octicon-cloud-download"></span>
471                    Download ZIP
472                  </a>
473                </div>
474          </div>
475          <div id="js-repo-pjax-container" class="repository-content context-loader-container" data-pjax-container>
476
477            
478
479<a href="/Vestride/Shuffle/blob/f63df88dd2cbd21cc46b559688b00dc3d3afd7e0/js/demos/homepage.js" class="hidden js-permalink-shortcut" data-hotkey="y">Permalink</a>
480
481<!-- blob contrib key: blob_contributors:v21:18b4905b8b5ebd1b2b0082ed0ae89782 -->
482
483  <div class="file-navigation js-zeroclipboard-container">
484    
485<div class="select-menu js-menu-container js-select-menu left">
486  <span class="btn btn-sm select-menu-button js-menu-target css-truncate" data-hotkey="w"
487    data-ref="master"
488    title="master"
489    role="button" aria-label="Switch branches or tags" tabindex="0" aria-haspopup="true">
490    <i>Branch:</i>
491    <span class="js-select-button css-truncate-target">master</span>
492  </span>
493
494  <div class="select-menu-modal-holder js-menu-content js-navigation-container" data-pjax aria-hidden="true">
495
496    <div class="select-menu-modal">
497      <div class="select-menu-header">
498        <span class="select-menu-title">Switch branches/tags</span>
499        <span class="octicon octicon-x js-menu-close" role="button" aria-label="Close"></span>
500      </div>
501
502      <div class="select-menu-filters">
503        <div class="select-menu-text-filter">
504          <input type="text" aria-label="Filter branches/tags" id="context-commitish-filter-field" class="js-filterable-field js-navigation-enable" placeholder="Filter branches/tags">
505        </div>
506        <div class="select-menu-tabs">
507          <ul>
508            <li class="select-menu-tab">
509              <a href="#" data-tab-filter="branches" data-filter-placeholder="Filter branches/tags" class="js-select-menu-tab" role="tab">Branches</a>
510            </li>
511            <li class="select-menu-tab">
512              <a href="#" data-tab-filter="tags" data-filter-placeholder="Find a tag…" class="js-select-menu-tab" role="tab">Tags</a>
513            </li>
514          </ul>
515        </div>
516      </div>
517
518      <div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket" data-tab-filter="branches" role="menu">
519
520        <div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring">
521
522
523            <a class="select-menu-item js-navigation-item js-navigation-open "
524               href="/Vestride/Shuffle/blob/gh-pages/js/demos/homepage.js"
525               data-name="gh-pages"
526               data-skip-pjax="true"
527               rel="nofollow">
528              <span class="select-menu-item-icon octicon octicon-check"></span>
529              <span class="select-menu-item-text css-truncate-target" title="gh-pages">
530                gh-pages
531              </span>
532            </a>
533            <a class="select-menu-item js-navigation-item js-navigation-open selected"
534               href="/Vestride/Shuffle/blob/master/js/demos/homepage.js"
535               data-name="master"
536               data-skip-pjax="true"
537               rel="nofollow">
538              <span class="select-menu-item-icon octicon octicon-check"></span>
539              <span class="select-menu-item-text css-truncate-target" title="master">
540                master
541              </span>
542            </a>
543        </div>
544
545          <div class="select-menu-no-results">Nothing to show</div>
546      </div>
547
548      <div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket" data-tab-filter="tags">
549        <div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring">
550
551
552            <div class="select-menu-item js-navigation-item ">
553              <span class="select-menu-item-icon octicon octicon-check"></span>
554              <a href="/Vestride/Shuffle/tree/v3.1.1/js/demos/homepage.js"
555                 data-name="v3.1.1"
556                 data-skip-pjax="true"
557                 rel="nofollow"
558                 class="js-navigation-open select-menu-item-text css-truncate-target"
559                 title="v3.1.1">v3.1.1</a>
560            </div>
561            <div class="select-menu-item js-navigation-item ">
562              <span class="select-menu-item-icon octicon octicon-check"></span>
563              <a href="/Vestride/Shuffle/tree/v3.1.0/js/demos/homepage.js"
564                 data-name="v3.1.0"
565                 data-skip-pjax="true"
566                 rel="nofollow"
567                 class="js-navigation-open select-menu-item-text css-truncate-target"
568                 title="v3.1.0">v3.1.0</a>
569            </div>
570            <div class="select-menu-item js-navigation-item ">
571              <span class="select-menu-item-icon octicon octicon-check"></span>
572              <a href="/Vestride/Shuffle/tree/v3.0.4/js/demos/homepage.js"
573                 data-name="v3.0.4"
574                 data-skip-pjax="true"
575                 rel="nofollow"
576                 class="js-navigation-open select-menu-item-text css-truncate-target"
577                 title="v3.0.4">v3.0.4</a>
578            </div>
579            <div class="select-menu-item js-navigation-item ">
580              <span class="select-menu-item-icon octicon octicon-check"></span>
581              <a href="/Vestride/Shuffle/tree/v3.0.2/js/demos/homepage.js"
582                 data-name="v3.0.2"
583                 data-skip-pjax="true"
584                 rel="nofollow"
585                 class="js-navigation-open select-menu-item-text css-truncate-target"
586                 title="v3.0.2">v3.0.2</a>
587            </div>
588            <div class="select-menu-item js-navigation-item ">
589              <span class="select-menu-item-icon octicon octicon-check"></span>
590              <a href="/Vestride/Shuffle/tree/v3.0.1/js/demos/homepage.js"
591                 data-name="v3.0.1"
592                 data-skip-pjax="true"
593                 rel="nofollow"
594                 class="js-navigation-open select-menu-item-text css-truncate-target"
595                 title="v3.0.1">v3.0.1</a>
596            </div>
597            <div class="select-menu-item js-navigation-item ">
598              <span class="select-menu-item-icon octicon octicon-check"></span>
599              <a href="/Vestride/Shuffle/tree/v3.0.0/js/demos/homepage.js"
600                 data-name="v3.0.0"
601                 data-skip-pjax="true"
602                 rel="nofollow"
603                 class="js-navigation-open select-menu-item-text css-truncate-target"
604                 title="v3.0.0">v3.0.0</a>
605            </div>
606            <div class="select-menu-item js-navigation-item ">
607              <span class="select-menu-item-icon octicon octicon-check"></span>
608              <a href="/Vestride/Shuffle/tree/v2.1.2/js/demos/homepage.js"
609                 data-name="v2.1.2"
610                 data-skip-pjax="true"
611                 rel="nofollow"
612                 class="js-navigation-open select-menu-item-text css-truncate-target"
613                 title="v2.1.2">v2.1.2</a>
614            </div>
615            <div class="select-menu-item js-navigation-item ">
616              <span class="select-menu-item-icon octicon octicon-check"></span>
617              <a href="/Vestride/Shuffle/tree/v2.1.1/js/demos/homepage.js"
618                 data-name="v2.1.1"
619                 data-skip-pjax="true"
620                 rel="nofollow"
621                 class="js-navigation-open select-menu-item-text css-truncate-target"
622                 title="v2.1.1">v2.1.1</a>
623            </div>
624            <div class="select-menu-item js-navigation-item ">
625              <span class="select-menu-item-icon octicon octicon-check"></span>
626              <a href="/Vestride/Shuffle/tree/v2.1.0/js/demos/homepage.js"
627                 data-name="v2.1.0"
628                 data-skip-pjax="true"
629                 rel="nofollow"
630                 class="js-navigation-open select-menu-item-text css-truncate-target"
631                 title="v2.1.0">v2.1.0</a>
632            </div>
633            <div class="select-menu-item js-navigation-item ">
634              <span class="select-menu-item-icon octicon octicon-check"></span>
635              <a href="/Vestride/Shuffle/tree/v2.0.8/js/demos/homepage.js"
636                 data-name="v2.0.8"
637                 data-skip-pjax="true"
638                 rel="nofollow"
639                 class="js-navigation-open select-menu-item-text css-truncate-target"
640                 title="v2.0.8">v2.0.8</a>
641            </div>
642            <div class="select-menu-item js-navigation-item ">
643              <span class="select-menu-item-icon octicon octicon-check"></span>
644              <a href="/Vestride/Shuffle/tree/v2.0.7/js/demos/homepage.js"
645                 data-name="v2.0.7"
646                 data-skip-pjax="true"
647                 rel="nofollow"
648                 class="js-navigation-open select-menu-item-text css-truncate-target"
649                 title="v2.0.7">v2.0.7</a>
650            </div>
651            <div class="select-menu-item js-navigation-item ">
652              <span class="select-menu-item-icon octicon octicon-check"></span>
653              <a href="/Vestride/Shuffle/tree/v2.0.6/js/demos/homepage.js"
654                 data-name="v2.0.6"
655                 data-skip-pjax="true"
656                 rel="nofollow"
657                 class="js-navigation-open select-menu-item-text css-truncate-target"
658                 title="v2.0.6">v2.0.6</a>
659            </div>
660            <div class="select-menu-item js-navigation-item ">
661              <span class="select-menu-item-icon octicon octicon-check"></span>
662              <a href="/Vestride/Shuffle/tree/v2.0.5/js/demos/homepage.js"
663                 data-name="v2.0.5"
664                 data-skip-pjax="true"
665                 rel="nofollow"
666                 class="js-navigation-open select-menu-item-text css-truncate-target"
667                 title="v2.0.5">v2.0.5</a>
668            </div>
669            <div class="select-menu-item js-navigation-item ">
670              <span class="select-menu-item-icon octicon octicon-check"></span>
671              <a href="/Vestride/Shuffle/tree/v2.0.3/js/demos/homepage.js"
672                 data-name="v2.0.3"
673                 data-skip-pjax="true"
674                 rel="nofollow"
675                 class="js-navigation-open select-menu-item-text css-truncate-target"
676                 title="v2.0.3">v2.0.3</a>
677            </div>
678            <div class="select-menu-item js-navigation-item ">
679              <span class="select-menu-item-icon octicon octicon-check"></span>
680              <a href="/Vestride/Shuffle/tree/v2.0.2/js/demos/homepage.js"
681                 data-name="v2.0.2"
682                 data-skip-pjax="true"
683                 rel="nofollow"
684                 class="js-navigation-open select-menu-item-text css-truncate-target"
685                 title="v2.0.2">v2.0.2</a>
686            </div>
687            <div class="select-menu-item js-navigation-item ">
688              <span class="select-menu-item-icon octicon octicon-check"></span>
689              <a href="/Vestride/Shuffle/tree/v2.0.1/js/demos/homepage.js"
690                 data-name="v2.0.1"
691                 data-skip-pjax="true"
692                 rel="nofollow"
693                 class="js-navigation-open select-menu-item-text css-truncate-target"
694                 title="v2.0.1">v2.0.1</a>
695            </div>
696            <div class="select-menu-item js-navigation-item ">
697              <span class="select-menu-item-icon octicon octicon-check"></span>
698              <a href="/Vestride/Shuffle/tree/v2.0.0/js/demos/homepage.js"
699                 data-name="v2.0.0"
700                 data-skip-pjax="true"
701                 rel="nofollow"
702                 class="js-navigation-open select-menu-item-text css-truncate-target"
703                 title="v2.0.0">v2.0.0</a>
704            </div>
705        </div>
706
707        <div class="select-menu-no-results">Nothing to show</div>
708      </div>
709
710    </div>
711  </div>
712</div>
713
714    <div class="btn-group right">
715      <a href="/Vestride/Shuffle/find/master"
716            class="js-show-file-finder btn btn-sm empty-icon tooltipped tooltipped-nw"
717            data-pjax
718            data-hotkey="t"
719            aria-label="Quickly jump between files">
720        <span class="octicon octicon-list-unordered"></span>
721      </a>
722      <button aria-label="Copy file path to clipboard" class="js-zeroclipboard btn btn-sm zeroclipboard-button tooltipped tooltipped-s" data-copied-hint="Copied!" type="button"><span class="octicon octicon-clippy"></span></button>
723    </div>
724
725    <div class="breadcrumb js-zeroclipboard-target">
726      <span class="repo-root js-repo-root"><span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/Vestride/Shuffle" class="" data-branch="master" data-pjax="true" itemscope="url"><span itemprop="title">Shuffle</span></a></span></span><span class="separator">/</span><span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/Vestride/Shuffle/tree/master/js" class="" data-branch="master" data-pjax="true" itemscope="url"><span itemprop="title">js</span></a></span><span class="separator">/</span><span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/Vestride/Shuffle/tree/master/js/demos" class="" data-branch="master" data-pjax="true" itemscope="url"><span itemprop="title">demos</span></a></span><span class="separator">/</span><strong class="final-path">homepage.js</strong>
727    </div>
728  </div>
729
730<include-fragment class="commit commit-loader file-history-tease" src="/Vestride/Shuffle/contributors/master/js/demos/homepage.js">
731  <div class="file-history-tease-header">
732    Fetching contributors&hellip;
733  </div>
734
735  <div class="participation">
736    <p class="loader-loading"><img alt="" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32-EAF2F5.gif" width="16" /></p>
737    <p class="loader-error">Cannot retrieve contributors at this time</p>
738  </div>
739</include-fragment>
740<div class="file">
741  <div class="file-header">
742    <div class="file-actions">
743
744      <div class="btn-group">
745        <a href="/Vestride/Shuffle/raw/master/js/demos/homepage.js" class="btn btn-sm " id="raw-url">Raw</a>
746          <a href="/Vestride/Shuffle/blame/master/js/demos/homepage.js" class="btn btn-sm js-update-url-with-hash">Blame</a>
747        <a href="/Vestride/Shuffle/commits/master/js/demos/homepage.js" class="btn btn-sm " rel="nofollow">History</a>
748      </div>
749
750
751            <!-- </textarea> --><!-- '"` --><form accept-charset="UTF-8" action="/Vestride/Shuffle/edit/master/js/demos/homepage.js" class="inline-form" data-form-nonce="14de84470224d430162c4ef7051bc9d28c5f2efa" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="V9/P32wzw4pJUrUzTkqCcSKE65lC5L3ClyD5cdgfDFnBvPJ6zXLBb3s8dyBJOziGdFgUUQ1zZGHWH2h+3bwddQ==" /></div>
752              <button class="octicon-btn tooltipped tooltipped-n" type="submit" aria-label="Fork this project and edit the file" data-hotkey="e" data-disable-with>
753                <span class="octicon octicon-pencil"></span>
754              </button>
755</form>
756          <!-- </textarea> --><!-- '"` --><form accept-charset="UTF-8" action="/Vestride/Shuffle/delete/master/js/demos/homepage.js" class="inline-form" data-form-nonce="14de84470224d430162c4ef7051bc9d28c5f2efa" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="sqt+Ezmt9+R9csY3cK6Mj6xC5LMWtVrXCqFw7rVT7wY5asVzY8NSuumTFMZhzzZvvagRVDY9GxhHmUdPoLHd2w==" /></div>
757            <button class="octicon-btn octicon-btn-danger tooltipped tooltipped-n" type="submit" aria-label="Fork this project and delete this file" data-disable-with>
758              <span class="octicon octicon-trashcan"></span>
759            </button>
760</form>    </div>
761
762    <div class="file-info">
763        149 lines (120 sloc)
764        <span class="file-info-divider"></span>
765      3.886 kB
766    </div>
767  </div>
768  
769
770  <div class="blob-wrapper data type-javascript">
771      <table class="highlight tab-size js-file-line-container" data-tab-size="2">
772      <tr>
773        <td id="L1" class="blob-num js-line-number" data-line-number="1"></td>
774        <td id="LC1" class="blob-code blob-code-inner js-file-line"><span class="pl-k">var</span> <span class="pl-c1">DEMO</span> <span class="pl-k">=</span> (<span class="pl-k">function</span>( <span class="pl-smi">$</span> ) {</td>
775      </tr>
776      <tr>
777        <td id="L2" class="blob-num js-line-number" data-line-number="2"></td>
778        <td id="LC2" class="blob-code blob-code-inner js-file-line">  <span class="pl-s"><span class="pl-pds">&#39;</span>use strict<span class="pl-pds">&#39;</span></span>;</td>
779      </tr>
780      <tr>
781        <td id="L3" class="blob-num js-line-number" data-line-number="3"></td>
782        <td id="LC3" class="blob-code blob-code-inner js-file-line">
783</td>
784      </tr>
785      <tr>
786        <td id="L4" class="blob-num js-line-number" data-line-number="4"></td>
787        <td id="LC4" class="blob-code blob-code-inner js-file-line">  <span class="pl-k">var</span> $grid <span class="pl-k">=</span> $(<span class="pl-s"><span class="pl-pds">&#39;</span>#grid<span class="pl-pds">&#39;</span></span>),</td>
788      </tr>
789      <tr>
790        <td id="L5" class="blob-num js-line-number" data-line-number="5"></td>
791        <td id="LC5" class="blob-code blob-code-inner js-file-line">      $filterOptions <span class="pl-k">=</span> $(<span class="pl-s"><span class="pl-pds">&#39;</span>.filter-options<span class="pl-pds">&#39;</span></span>),</td>
792      </tr>
793      <tr>
794        <td id="L6" class="blob-num js-line-number" data-line-number="6"></td>
795        <td id="LC6" class="blob-code blob-code-inner js-file-line">      $sizer <span class="pl-k">=</span> $grid.<span class="pl-c1">find</span>(<span class="pl-s"><span class="pl-pds">&#39;</span>.shuffle__sizer<span class="pl-pds">&#39;</span></span>),</td>
796      </tr>
797      <tr>
798        <td id="L7" class="blob-num js-line-number" data-line-number="7"></td>
799        <td id="LC7" class="blob-code blob-code-inner js-file-line">
800</td>
801      </tr>
802      <tr>
803        <td id="L8" class="blob-num js-line-number" data-line-number="8"></td>
804        <td id="LC8" class="blob-code blob-code-inner js-file-line">  <span class="pl-en">init</span> <span class="pl-k">=</span> <span class="pl-k">function</span>() {</td>
805      </tr>
806      <tr>
807        <td id="L9" class="blob-num js-line-number" data-line-number="9"></td>
808        <td id="LC9" class="blob-code blob-code-inner js-file-line">
809</td>
810      </tr>
811      <tr>
812        <td id="L10" class="blob-num js-line-number" data-line-number="10"></td>
813        <td id="LC10" class="blob-code blob-code-inner js-file-line">
814</td>
815      </tr>
816      <tr>
817        <td id="L11" class="blob-num js-line-number" data-line-number="11"></td>
818        <td id="LC11" class="blob-code blob-code-inner js-file-line">    <span class="pl-c">// None of these need to be executed synchronously</span></td>
819      </tr>
820      <tr>
821        <td id="L12" class="blob-num js-line-number" data-line-number="12"></td>
822        <td id="LC12" class="blob-code blob-code-inner js-file-line">    <span class="pl-c1">setTimeout</span>(<span class="pl-k">function</span>() {</td>
823      </tr>
824      <tr>
825        <td id="L13" class="blob-num js-line-number" data-line-number="13"></td>
826        <td id="LC13" class="blob-code blob-code-inner js-file-line">      listen();</td>
827      </tr>
828      <tr>
829        <td id="L14" class="blob-num js-line-number" data-line-number="14"></td>
830        <td id="LC14" class="blob-code blob-code-inner js-file-line">      setupFilters();</td>
831      </tr>
832      <tr>
833        <td id="L15" class="blob-num js-line-number" data-line-number="15"></td>
834        <td id="LC15" class="blob-code blob-code-inner js-file-line">      setupSorting();</td>
835      </tr>
836      <tr>
837        <td id="L16" class="blob-num js-line-number" data-line-number="16"></td>
838        <td id="LC16" class="blob-code blob-code-inner js-file-line">      setupSearching();</td>
839      </tr>
840      <tr>
841        <td id="L17" class="blob-num js-line-number" data-line-number="17"></td>
842        <td id="LC17" class="blob-code blob-code-inner js-file-line">    }, <span class="pl-c1">100</span>);</td>
843      </tr>
844      <tr>
845        <td id="L18" class="blob-num js-line-number" data-line-number="18"></td>
846        <td id="LC18" class="blob-code blob-code-inner js-file-line">
847</td>
848      </tr>
849      <tr>
850        <td id="L19" class="blob-num js-line-number" data-line-number="19"></td>
851        <td id="LC19" class="blob-code blob-code-inner js-file-line">    <span class="pl-c">// You can subscribe to custom events.</span></td>
852      </tr>
853      <tr>
854        <td id="L20" class="blob-num js-line-number" data-line-number="20"></td>
855        <td id="LC20" class="blob-code blob-code-inner js-file-line">    <span class="pl-c">// shrink, shrunk, filter, filtered, sorted, load, done</span></td>
856      </tr>
857      <tr>
858        <td id="L21" class="blob-num js-line-number" data-line-number="21"></td>
859        <td id="LC21" class="blob-code blob-code-inner js-file-line">    $grid.on(<span class="pl-s"><span class="pl-pds">&#39;</span>loading.shuffle done.shuffle shrink.shuffle shrunk.shuffle filter.shuffle filtered.shuffle sorted.shuffle layout.shuffle<span class="pl-pds">&#39;</span></span>, <span class="pl-k">function</span>(<span class="pl-smi">evt</span>, <span class="pl-smi">shuffle</span>) {</td>
860      </tr>
861      <tr>
862        <td id="L22" class="blob-num js-line-number" data-line-number="22"></td>
863        <td id="LC22" class="blob-code blob-code-inner js-file-line">
863      <span class="pl-c">// Make sure the browser has a console</span></td>
864      </tr>
865      <tr>
866        <td id="L23" class="blob-num js-line-number" data-line-number="23"></td>
867        <td id="LC23" class="blob-code blob-code-inner js-file-line">      <span class="pl-k">if</span> ( <span class="pl-c1">window</span>.<span class="pl-en">console</span> <span class="pl-k">&amp;&amp;</span> <span class="pl-c1">window</span>.<span class="pl-en">console</span><span class="pl-c1">.log</span> <span class="pl-k">&amp;&amp;</span> <span class="pl-k">typeof</span> <span class="pl-c1">window</span>.<span class="pl-en">console</span><span class="pl-c1">.log</span> <span class="pl-k">===</span> <span class="pl-s"><span class="pl-pds">&#39;</span>function<span class="pl-pds">&#39;</span></span> ) {</td>
868      </tr>
869      <tr>
870        <td id="L24" class="blob-num js-line-number" data-line-number="24"></td>
871        <td id="LC24" class="blob-code blob-code-inner js-file-line">        <span class="pl-en">console</span><span class="pl-c1">.log</span>( <span class="pl-s"><span class="pl-pds">&#39;</span>Shuffle:<span class="pl-pds">&#39;</span></span>, evt.<span class="pl-c1">type</span> );</td>
872      </tr>
873      <tr>
874        <td id="L25" class="blob-num js-line-number" data-line-number="25"></td>
875        <td id="LC25" class="blob-code blob-code-inner js-file-line">      }</td>
876      </tr>
877      <tr>
878        <td id="L26" class="blob-num js-line-number" data-line-number="26"></td>
879        <td id="LC26" class="blob-code blob-code-inner js-file-line">    });</td>
880      </tr>
881      <tr>
882        <td id="L27" class="blob-num js-line-number" data-line-number="27"></td>
883        <td id="LC27" class="blob-code blob-code-inner js-file-line">
884</td>
885      </tr>
886      <tr>
887        <td id="L28" class="blob-num js-line-number" data-line-number="28"></td>
888        <td id="LC28" class="blob-code blob-code-inner js-file-line">    <span class="pl-c">// instantiate the plugin</span></td>
889      </tr>
890      <tr>
891        <td id="L29" class="blob-num js-line-number" data-line-number="29"></td>
892        <td id="LC29" class="blob-code blob-code-inner js-file-line">    $grid.shuffle({</td>
893      </tr>
894      <tr>
895        <td id="L30" class="blob-num js-line-number" data-line-number="30"></td>
896        <td id="LC30" class="blob-code blob-code-inner js-file-line">      itemSelector<span class="pl-k">:</span> <span class="pl-s"><span class="pl-pds">&#39;</span>.picture-item<span class="pl-pds">&#39;</span></span>,</td>
897      </tr>
898      <tr>
899        <td id="L31" class="blob-num js-line-number" data-line-number="31"></td>
900        <td id="LC31" class="blob-code blob-code-inner js-file-line">      sizer<span class="pl-k">:</span> $sizer</td>
901      </tr>
902      <tr>
903        <td id="L32" class="blob-num js-line-number" data-line-number="32"></td>
904        <td id="LC32" class="blob-code blob-code-inner js-file-line">    });</td>
905      </tr>
906      <tr>
907        <td id="L33" class="blob-num js-line-number" data-line-number="33"></td>
908        <td id="LC33" class="blob-code blob-code-inner js-file-line">
909</td>
910      </tr>
911      <tr>
912        <td id="L34" class="blob-num js-line-number" data-line-number="34"></td>
913        <td id="LC34" class="blob-code blob-code-inner js-file-line">    <span class="pl-c">// Destroy it! o_O</span></td>
914      </tr>
915      <tr>
916        <td id="L35" class="blob-num js-line-number" data-line-number="35"></td>
917        <td id="LC35" class="blob-code blob-code-inner js-file-line">    <span class="pl-c">// $grid.shuffle(&#39;destroy&#39;);</span></td>
918      </tr>
919      <tr>
920        <td id="L36" class="blob-num js-line-number" data-line-number="36"></td>
921        <td id="LC36" class="blob-code blob-code-inner js-file-line">  },</td>
922      </tr>
923      <tr>
924        <td id="L37" class="blob-num js-line-number" data-line-number="37"></td>
925        <td id="LC37" class="blob-code blob-code-inner js-file-line">
926</td>
927      </tr>
928      <tr>
929        <td id="L38" class="blob-num js-line-number" data-line-number="38"></td>
930        <td id="LC38" class="blob-code blob-code-inner js-file-line">  <span class="pl-c">// Set up button clicks</span></td>
931      </tr>
932      <tr>
933        <td id="L39" class="blob-num js-line-number" data-line-number="39"></td>
934        <td id="LC39" class="blob-code blob-code-inner js-file-line">  <span class="pl-en">setupFilters</span> <span class="pl-k">=</span> <span class="pl-k">function</span>() {</td>
935      </tr>
936      <tr>
937        <td id="L40" class="blob-num js-line-number" data-line-number="40"></td>
938        <td id="LC40" class="blob-code blob-code-inner js-file-line">    <span class="pl-k">var</span> $btns <span class="pl-k">=</span> $filterOptions.children();</td>
939      </tr>
940      <tr>
941        <td id="L41" class="blob-num js-line-number" data-line-number="41"></td>
942        <td id="LC41" class="blob-code blob-code-inner js-file-line">    $btns.on(<span class="pl-s"><span class="pl-pds">&#39;</span>click<span class="pl-pds">&#39;</span></span>, <span class="pl-k">function</span>() {</td>
943      </tr>
944      <tr>
945        <td id="L42" class="blob-num js-line-number" data-line-number="42"></td>
946        <td id="LC42" class="blob-code blob-code-inner js-file-line">
946      <span class="pl-k">var</span> $<span class="pl-v">this</span> <span class="pl-k">=</span> $(<span class="pl-v">this</span>),</td>
947      </tr>
948      <tr>
949        <td id="L43" class="blob-num js-line-number" data-line-number="43"></td>
950        <td id="LC43" class="blob-code blob-code-inner js-file-line">          isActive <span class="pl-k">=</span> $<span class="pl-v">this</span>.hasClass( <span class="pl-s"><span class="pl-pds">&#39;</span>active<span class="pl-pds">&#39;</span></span> ),</td>
951      </tr>
952      <tr>
953        <td id="L44" class="blob-num js-line-number" data-line-number="44"></td>
954        <td id="LC44" class="blob-code blob-code-inner js-file-line">          group <span class="pl-k">=</span> isActive <span class="pl-k">?</span> <span class="pl-s"><span class="pl-pds">&#39;</span>all<span class="pl-pds">&#39;</span></span> <span class="pl-k">:</span> $<span class="pl-v">this</span>.<span class="pl-c1">data</span>(<span class="pl-s"><span class="pl-pds">&#39;</span>group<span class="pl-pds">&#39;</span></span>);</td>
955      </tr>
956      <tr>
957        <td id="L45" class="blob-num js-line-number" data-line-number="45"></td>
958        <td id="LC45" class="blob-code blob-code-inner js-file-line">
959</td>
960      </tr>
961      <tr>
962        <td id="L46" class="blob-num js-line-number" data-line-number="46"></td>
963        <td id="LC46" class="blob-code blob-code-inner js-file-line">      <span class="pl-c">// Hide current label, show current label in title</span></td>
964      </tr>
965      <tr>
966        <td id="L47" class="blob-num js-line-number" data-line-number="47"></td>
967        <td id="LC47" class="blob-code blob-code-inner js-file-line">      <span class="pl-k">if</span> ( <span class="pl-k">!</span>isActive ) {</td>
968      </tr>
969      <tr>
970        <td id="L48" class="blob-num js-line-number" data-line-number="48"></td>
971        <td id="LC48" class="blob-code blob-code-inner js-file-line">        $(<span class="pl-s"><span class="pl-pds">&#39;</span>.filter-options .active<span class="pl-pds">&#39;</span></span>).removeClass(<span class="pl-s"><span class="pl-pds">&#39;</span>active<span class="pl-pds">&#39;</span></span>);</td>
972      </tr>
973      <tr>
974        <td id="L49" class="blob-num js-line-number" data-line-number="49"></td>
975        <td id="LC49" class="blob-code blob-code-inner js-file-line">      }</td>
976      </tr>
977      <tr>
978        <td id="L50" class="blob-num js-line-number" data-line-number="50"></td>
979        <td id="LC50" class="blob-code blob-code-inner js-file-line">
980</td>
981      </tr>
982      <tr>
983        <td id="L51" class="blob-num js-line-number" data-line-number="51"></td>
984        <td id="LC51" class="blob-code blob-code-inner js-file-line">      $<span class="pl-v">this</span>.toggleClass(<span class="pl-s"><span class="pl-pds">&#39;</span>active<span class="pl-pds">&#39;</span></span>);</td>
985      </tr>
986      <tr>
987        <td id="L52" class="blob-num js-line-number" data-line-number="52"></td>
988        <td id="LC52" class="blob-code blob-code-inner js-file-line">
989</td>
990      </tr>
991      <tr>
992        <td id="L53" class="blob-num js-line-number" data-line-number="53"></td>
993        <td id="LC53" class="blob-code blob-code-inner js-file-line">      <span class="pl-c">// Filter elements</span></td>
994      </tr>
995      <tr>
996        <td id="L54" class="blob-num js-line-number" data-line-number="54"></td>
997        <td id="LC54" class="blob-code blob-code-inner js-file-line">      $grid.shuffle( <span class="pl-s"><span class="pl-pds">&#39;</span>shuffle<span class="pl-pds">&#39;</span></span>, group );</td>
998      </tr>
999      <tr>
1000        <td id="L55" class="blob-num js-line-number" data-line-number="55"></td>
1001        <td id="LC55" class="blob-code blob-code-inner js-file-line">    });</td>
1002      </tr>
1003      <tr>
1004        <td id="L56" class="blob-num js-line-number" data-line-number="56"></td>
1005        <td id="LC56" class="blob-code blob-code-inner js-file-line">
1006</td>
1007      </tr>
1008      <tr>
1009        <td id="L57" class="blob-num js-line-number" data-line-number="57"></td>
1010        <td id="LC57" class="blob-code blob-code-inner js-file-line">    $btns <span class="pl-k">=</span> <span class="pl-c1">null</span>;</td>
1011      </tr>
1012      <tr>
1013        <td id="L58" class="blob-num js-line-number" data-line-number="58"></td>
1014        <td id="LC58" class="blob-code blob-code-inner js-file-line">  },</td>
1015      </tr>
1016      <tr>
1017        <td id="L59" class="blob-num js-line-number" data-line-number="59"></td>
1018        <td id="LC59" class="blob-code blob-code-inner js-file-line">
1019</td>
1020      </tr>
1021      <tr>
1022        <td id="L60" class="blob-num js-line-number" data-line-number="60"></td>
1023        <td id="LC60" class="blob-code blob-code-inner js-file-line">  <span class="pl-en">setupSorting</span> <span class="pl-k">=</span> <span class="pl-k">function</span>() {</td>
1024      </tr>
1025      <tr>
1026        <td id="L61" class="blob-num js-line-number" data-line-number="61"></td>
1027        <td id="LC61" class="blob-code blob-code-inner js-file-line">    <span class="pl-c">// Sorting options</span></td>
1028      </tr>
1029      <tr>
1030        <td id="L62" class="blob-num js-line-number" data-line-number="62"></td>
1031        <td id="LC62" class="blob-code blob-code-inner js-file-line">    $(<span class="pl-s"><span class="pl-pds">&#39;</span>.sort-options<span class="pl-pds">&#39;</span></span>).on(<span class="pl-s"><span class="pl-pds">&#39;</span>change<span class="pl-pds">&#39;</span></span>, <span class="pl-k">function</span>() {</td>
1032      </tr>
1033      <tr>
1034        <td id="L63" class="blob-num js-line-number" data-line-number="63"></td>
1035        <td id="LC63" class="blob-code blob-code-inner js-file-line">
1035      <span class="pl-k">var</span> sort <span class="pl-k">=</span> <span class="pl-v">this</span>.<span class="pl-c1">value</span>,</td>
1036      </tr>
1037      <tr>
1038        <td id="L64" class="blob-num js-line-number" data-line-number="64"></td>
1039        <td id="LC64" class="blob-code blob-code-inner js-file-line">          opts <span class="pl-k">=</span> {};</td>
1040      </tr>
1041      <tr>
1042        <td id="L65" class="blob-num js-line-number" data-line-number="65"></td>
1043        <td id="LC65" class="blob-code blob-code-inner js-file-line">
1044</td>
1045      </tr>
1046      <tr>
1047        <td id="L66" class="blob-num js-line-number" data-line-number="66"></td>
1048        <td id="LC66" class="blob-code blob-code-inner js-file-line">      <span class="pl-c">// We&#39;re given the element wrapped in jQuery</span></td>
1049      </tr>
1050      <tr>
1051        <td id="L67" class="blob-num js-line-number" data-line-number="67"></td>
1052        <td id="LC67" class="blob-code blob-code-inner js-file-line">      <span class="pl-k">if</span> ( sort <span class="pl-k">===</span> <span class="pl-s"><span class="pl-pds">&#39;</span>date-created<span class="pl-pds">&#39;</span></span> ) {</td>
1053      </tr>
1054      <tr>
1055        <td id="L68" class="blob-num js-line-number" data-line-number="68"></td>
1056        <td id="LC68" class="blob-code blob-code-inner js-file-line">        opts <span class="pl-k">=</span> {</td>
1057      </tr>
1058      <tr>
1059        <td id="L69" class="blob-num js-line-number" data-line-number="69"></td>
1060        <td id="LC69" class="blob-code blob-code-inner js-file-line">          reverse<span class="pl-k">:</span> <span class="pl-c1">true</span>,</td>
1061      </tr>
1062      <tr>
1063        <td id="L70" class="blob-num js-line-number" data-line-number="70"></td>
1064        <td id="LC70" class="blob-code blob-code-inner js-file-line">          <span class="pl-en">by</span><span class="pl-k">:</span> <span class="pl-k">function</span>(<span class="pl-smi">$el</span>) {</td>
1065      </tr>
1066      <tr>
1067        <td id="L71" class="blob-num js-line-number" data-line-number="71"></td>
1068        <td id="LC71" class="blob-code blob-code-inner js-file-line">            <span class="pl-k">return</span> $el.<span class="pl-c1">data</span>(<span class="pl-s"><span class="pl-pds">&#39;</span>date-created<span class="pl-pds">&#39;</span></span>);</td>
1069      </tr>
1070      <tr>
1071        <td id="L72" class="blob-num js-line-number" data-line-number="72"></td>
1072        <td id="LC72" class="blob-code blob-code-inner js-file-line">          }</td>
1073      </tr>
1074      <tr>
1075        <td id="L73" class="blob-num js-line-number" data-line-number="73"></td>
1076        <td id="LC73" class="blob-code blob-code-inner js-file-line">        };</td>
1077      </tr>
1078      <tr>
1079        <td id="L74" class="blob-num js-line-number" data-line-number="74"></td>
1080        <td id="LC74" class="blob-code blob-code-inner js-file-line">      } <span class="pl-k">else</span> <span class="pl-k">if</span> ( sort <span class="pl-k">===</span> <span class="pl-s"><span class="pl-pds">&#39;</span>title<span class="pl-pds">&#39;</span></span> ) {</td>
1081      </tr>
1082      <tr>
1083        <td id="L75" class="blob-num js-line-number" data-line-number="75"></td>
1084        <td id="LC75" class="blob-code blob-code-inner js-file-line">        opts <span class="pl-k">=</span> {</td>
1085      </tr>
1086      <tr>
1087        <td id="L76" class="blob-num js-line-number" data-line-number="76"></td>
1088        <td id="LC76" class="blob-code blob-code-inner js-file-line">          <span class="pl-en">by</span><span class="pl-k">:</span> <span class="pl-k">function</span>(<span class="pl-smi">$el</span>) {</td>
1089      </tr>
1090      <tr>
1091        <td id="L77" class="blob-num js-line-number" data-line-number="77"></td>
1092        <td id="LC77" class="blob-code blob-code-inner js-file-line">            <span class="pl-k">return</span> $el.<span class="pl-c1">data</span>(<span class="pl-s"><span class="pl-pds">&#39;</span>title<span class="pl-pds">&#39;</span></span>).<span class="pl-c1">toLowerCase</span>();</td>
1093      </tr>
1094      <tr>
1095        <td id="L78" class="blob-num js-line-number" data-line-number="78"></td>
1096        <td id="LC78" class="blob-code blob-code-inner js-file-line">          }</td>
1097      </tr>
1098      <tr>
1099        <td id="L79" class="blob-num js-line-number" data-line-number="79"></td>
1100        <td id="LC79" class="blob-code blob-code-inner js-file-line">        };</td>
1101      </tr>
1102      <tr>
1103        <td id="L80" class="blob-num js-line-number" data-line-number="80"></td>
1104        <td id="LC80" class="blob-code blob-code-inner js-file-line">      }</td>
1105      </tr>
1106      <tr>
1107        <td id="L81" class="blob-num js-line-number" data-line-number="81"></td>
1108        <td id="LC81" class="blob-code blob-code-inner js-file-line">
1109</td>
1110      </tr>
1111      <tr>
1112        <td id="L82" class="blob-num js-line-number" data-line-number="82"></td>
1113        <td id="LC82" class="blob-code blob-code-inner js-file-line">
1113      <span class="pl-c">// Filter elements</span></td>
1114      </tr>
1115      <tr>
1116        <td id="L83" class="blob-num js-line-number" data-line-number="83"></td>
1117        <td id="LC83" class="blob-code blob-code-inner js-file-line">      $grid.shuffle(<span class="pl-s"><span class="pl-pds">&#39;</span>sort<span class="pl-pds">&#39;</span></span>, opts);</td>
1118      </tr>
1119      <tr>
1120        <td id="L84" class="blob-num js-line-number" data-line-number="84"></td>
1121        <td id="LC84" class="blob-code blob-code-inner js-file-line">    });</td>
1122      </tr>
1123      <tr>
1124        <td id="L85" class="blob-num js-line-number" data-line-number="85"></td>
1125        <td id="LC85" class="blob-code blob-code-inner js-file-line">  },</td>
1126      </tr>
1127      <tr>
1128        <td id="L86" class="blob-num js-line-number" data-line-number="86"></td>
1129        <td id="LC86" class="blob-code blob-code-inner js-file-line">
1130</td>
1131      </tr>
1132      <tr>
1133        <td id="L87" class="blob-num js-line-number" data-line-number="87"></td>
1134        <td id="LC87" class="blob-code blob-code-inner js-file-line">  <span class="pl-en">setupSearching</span> <span class="pl-k">=</span> <span class="pl-k">function</span>() {</td>
1135      </tr>
1136      <tr>
1137        <td id="L88" class="blob-num js-line-number" data-line-number="88"></td>
1138        <td id="LC88" class="blob-code blob-code-inner js-file-line">    <span class="pl-c">// Advanced filtering</span></td>
1139      </tr>
1140      <tr>
1141        <td id="L89" class="blob-num js-line-number" data-line-number="89"></td>
1142        <td id="LC89" class="blob-code blob-code-inner js-file-line">    $(<span class="pl-s"><span class="pl-pds">&#39;</span>.js-shuffle-search<span class="pl-pds">&#39;</span></span>).on(<span class="pl-s"><span class="pl-pds">&#39;</span>keyup change<span class="pl-pds">&#39;</span></span>, <span class="pl-k">function</span>() {</td>
1143      </tr>
1144      <tr>
1145        <td id="L90" class="blob-num js-line-number" data-line-number="90"></td>
1146        <td id="LC90" class="blob-code blob-code-inner js-file-line">      <span class="pl-k">var</span> val <span class="pl-k">=</span> <span class="pl-v">this</span>.<span class="pl-c1">value</span>.<span class="pl-c1">toLowerCase</span>();</td>
1147      </tr>
1148      <tr>
1149        <td id="L91" class="blob-num js-line-number" data-line-number="91"></td>
1150        <td id="LC91" class="blob-code blob-code-inner js-file-line">      $grid.shuffle(<span class="pl-s"><span class="pl-pds">&#39;</span>shuffle<span class="pl-pds">&#39;</span></span>, <span class="pl-k">function</span>(<span class="pl-smi">$el</span>, <span class="pl-smi">shuffle</span>) {</td>
1151      </tr>
1152      <tr>
1153        <td id="L92" class="blob-num js-line-number" data-line-number="92"></td>
1154        <td id="LC92" class="blob-code blob-code-inner js-file-line">
1155</td>
1156      </tr>
1157      <tr>
1158        <td id="L93" class="blob-num js-line-number" data-line-number="93"></td>
1159        <td id="LC93" class="blob-code blob-code-inner js-file-line">        <span class="pl-c">// Only search elements in the current group</span></td>
1160      </tr>
1161      <tr>
1162        <td id="L94" class="blob-num js-line-number" data-line-number="94"></td>
1163        <td id="LC94" class="blob-code blob-code-inner js-file-line">        <span class="pl-k">if</span> (shuffle.group <span class="pl-k">!==</span> <span class="pl-s"><span class="pl-pds">&#39;</span>all<span class="pl-pds">&#39;</span></span> <span class="pl-k">&amp;&amp;</span> $.inArray(shuffle.group, $el.<span class="pl-c1">data</span>(<span class="pl-s"><span class="pl-pds">&#39;</span>groups<span class="pl-pds">&#39;</span></span>)) <span class="pl-k">===</span> <span class="pl-k">-</span><span class="pl-c1">1</span>) {</td>
1164      </tr>
1165      <tr>
1166        <td id="L95" class="blob-num js-line-number" data-line-number="95"></td>
1167        <td id="LC95" class="blob-code blob-code-inner js-file-line">          <span class="pl-k">return</span> <span class="pl-c1">false</span>;</td>
1168      </tr>
1169      <tr>
1170        <td id="L96" class="blob-num js-line-number" data-line-number="96"></td>
1171        <td id="LC96" class="blob-code blob-code-inner js-file-line">        }</td>
1172      </tr>
1173      <tr>
1174        <td id="L97" class="blob-num js-line-number" data-line-number="97"></td>
1175        <td id="LC97" class="blob-code blob-code-inner js-file-line">
1176</td>
1177      </tr>
1178      <tr>
1179        <td id="L98" class="blob-num js-line-number" data-line-number="98"></td>
1180        <td id="LC98" class="blob-code blob-code-inner js-file-line">
1180        <span class="pl-k">var</span> text <span class="pl-k">=</span> $.trim( $el.<span class="pl-c1">find</span>(<span class="pl-s"><span class="pl-pds">&#39;</span>.picture-item__title<span class="pl-pds">&#39;</span></span>).<span class="pl-c1">text</span>() ).<span class="pl-c1">toLowerCase</span>();</td>
1181      </tr>
1182      <tr>
1183        <td id="L99" class="blob-num js-line-number" data-line-number="99"></td>
1184        <td id="LC99" class="blob-code blob-code-inner js-file-line">        <span class="pl-k">return</span> text.<span class="pl-c1">indexOf</span>(val) <span class="pl-k">!==</span> <span class="pl-k">-</span><span class="pl-c1">1</span>;</td>
1185      </tr>
1186      <tr>
1187        <td id="L100" class="blob-num js-line-number" data-line-number="100"></td>
1188        <td id="LC100" class="blob-code blob-code-inner js-file-line">      });</td>
1189      </tr>
1190      <tr>
1191        <td id="L101" class="blob-num js-line-number" data-line-number="101"></td>
1192        <td id="LC101" class="blob-code blob-code-inner js-file-line">    });</td>
1193      </tr>
1194      <tr>
1195        <td id="L102" class="blob-num js-line-number" data-line-number="102"></td>
1196        <td id="LC102" class="blob-code blob-code-inner js-file-line">  },</td>
1197      </tr>
1198      <tr>
1199        <td id="L103" class="blob-num js-line-number" data-line-number="103"></td>
1200        <td id="LC103" class="blob-code blob-code-inner js-file-line">
1201</td>
1202      </tr>
1203      <tr>
1204        <td id="L104" class="blob-num js-line-number" data-line-number="104"></td>
1205        <td id="LC104" class="blob-code blob-code-inner js-file-line">  <span class="pl-c">// Re layout shuffle when images load. This is only needed</span></td>
1206      </tr>
1207      <tr>
1208        <td id="L105" class="blob-num js-line-number" data-line-number="105"></td>
1209        <td id="LC105" class="blob-code blob-code-inner js-file-line">  <span class="pl-c">// below 768 pixels because the .picture-item height is auto and therefore</span></td>
1210      </tr>
1211      <tr>
1212        <td id="L106" class="blob-num js-line-number" data-line-number="106"></td>
1213        <td id="LC106" class="blob-code blob-code-inner js-file-line">  <span class="pl-c">// the height of the picture-item is dependent on the image</span></td>
1214      </tr>
1215      <tr>
1216        <td id="L107" class="blob-num js-line-number" data-line-number="107"></td>
1217        <td id="LC107" class="blob-code blob-code-inner js-file-line">  <span class="pl-c">// I recommend using imagesloaded to determine when an image is loaded</span></td>
1218      </tr>
1219      <tr>
1220        <td id="L108" class="blob-num js-line-number" data-line-number="108"></td>
1221        <td id="LC108" class="blob-code blob-code-inner js-file-line">  <span class="pl-c">// but that doesn&#39;t support IE7</span></td>
1222      </tr>
1223      <tr>
1224        <td id="L109" class="blob-num js-line-number" data-line-number="109"></td>
1225        <td id="LC109" class="blob-code blob-code-inner js-file-line">  <span class="pl-en">listen</span> <span class="pl-k">=</span> <span class="pl-k">function</span>() {</td>
1226      </tr>
1227      <tr>
1228        <td id="L110" class="blob-num js-line-number" data-line-number="110"></td>
1229        <td id="LC110" class="blob-code blob-code-inner js-file-line">    <span class="pl-k">var</span> debouncedLayout <span class="pl-k">=</span> $.throttle( <span class="pl-c1">300</span>, <span class="pl-k">function</span>() {</td>
1230      </tr>
1231      <tr>
1232        <td id="L111" class="blob-num js-line-number" data-line-number="111"></td>
1233        <td id="LC111" class="blob-code blob-code-inner js-file-line">      $grid.shuffle(<span class="pl-s"><span class="pl-pds">&#39;</span>update<span class="pl-pds">&#39;</span></span>);</td>
1234      </tr>
1235      <tr>
1236        <td id="L112" class="blob-num js-line-number" data-line-number="112"></td>
1237        <td id="LC112" class="blob-code blob-code-inner js-file-line">    });</td>
1238      </tr>
1239      <tr>
1240        <td id="L113" class="blob-num js-line-number" data-line-number="113"></td>
1241        <td id="LC113" class="blob-code blob-code-inner js-file-line">
1242</td>
1243      </tr>
1244      <tr>
1245        <td id="L114" class="blob-num js-line-number" data-line-number="114"></td>
1246        <td id="LC114" class="blob-code blob-code-inner js-file-line">    <span class="pl-c">// Get all images inside shuffle</span></td>
1247      </tr>
1248      <tr>
1249        <td id="L115" class="blob-num js-line-number" data-line-number="115"></td>
1250        <td id="LC115" class="blob-code blob-code-inner js-file-line">    $grid.<span class="pl-c1">find</span>(<span class="pl-s"><span class="pl-pds">&#39;</span>img<span class="pl-pds">&#39;</span></span>).each(<span class="pl-k">function</span>() {</td>
1251      </tr>
1252      <tr>
1253        <td id="L116" class="blob-num js-line-number" data-line-number="116"></td>
1254        <td id="LC116" class="blob-code blob-code-inner js-file-line">
1254      <span class="pl-k">var</span> proxyImage;</td>
1255      </tr>
1256      <tr>
1257        <td id="L117" class="blob-num js-line-number" data-line-number="117"></td>
1258        <td id="LC117" class="blob-code blob-code-inner js-file-line">
1259</td>
1260      </tr>
1261      <tr>
1262        <td id="L118" class="blob-num js-line-number" data-line-number="118"></td>
1263        <td id="LC118" class="blob-code blob-code-inner js-file-line">      <span class="pl-c">// Image already loaded</span></td>
1264      </tr>
1265      <tr>
1266        <td id="L119" class="blob-num js-line-number" data-line-number="119"></td>
1267        <td id="LC119" class="blob-code blob-code-inner js-file-line">      <span class="pl-k">if</span> ( <span class="pl-v">this</span>.<span class="pl-c1">complete</span> <span class="pl-k">&amp;&amp;</span> <span class="pl-v">this</span>.naturalWidth <span class="pl-k">!==</span> <span class="pl-c1">undefined</span> ) {</td>
1268      </tr>
1269      <tr>
1270        <td id="L120" class="blob-num js-line-number" data-line-number="120"></td>
1271        <td id="LC120" class="blob-code blob-code-inner js-file-line">        <span class="pl-k">return</span>;</td>
1272      </tr>
1273      <tr>
1274        <td id="L121" class="blob-num js-line-number" data-line-number="121"></td>
1275        <td id="LC121" class="blob-code blob-code-inner js-file-line">      }</td>
1276      </tr>
1277      <tr>
1278        <td id="L122" class="blob-num js-line-number" data-line-number="122"></td>
1279        <td id="LC122" class="blob-code blob-code-inner js-file-line">
1280</td>
1281      </tr>
1282      <tr>
1283        <td id="L123" class="blob-num js-line-number" data-line-number="123"></td>
1284        <td id="LC123" class="blob-code blob-code-inner js-file-line">      <span class="pl-c">// If none of the checks above matched, simulate loading on detached element.</span></td>
1285      </tr>
1286      <tr>
1287        <td id="L124" class="blob-num js-line-number" data-line-number="124"></td>
1288        <td id="LC124" class="blob-code blob-code-inner js-file-line">      proxyImage <span class="pl-k">=</span> <span class="pl-k">new</span> <span class="pl-en">Image</span>();</td>
1289      </tr>
1290      <tr>
1291        <td id="L125" class="blob-num js-line-number" data-line-number="125"></td>
1292        <td id="LC125" class="blob-code blob-code-inner js-file-line">      $( proxyImage ).on(<span class="pl-s"><span class="pl-pds">&#39;</span>load<span class="pl-pds">&#39;</span></span>, <span class="pl-k">function</span>() {</td>
1293      </tr>
1294      <tr>
1295        <td id="L126" class="blob-num js-line-number" data-line-number="126"></td>
1296        <td id="LC126" class="blob-code blob-code-inner js-file-line">        $(<span class="pl-v">this</span>).off(<span class="pl-s"><span class="pl-pds">&#39;</span>load<span class="pl-pds">&#39;</span></span>);</td>
1297      </tr>
1298      <tr>
1299        <td id="L127" class="blob-num js-line-number" data-line-number="127"></td>
1300        <td id="LC127" class="blob-code blob-code-inner js-file-line">        debouncedLayout();</td>
1301      </tr>
1302      <tr>
1303        <td id="L128" class="blob-num js-line-number" data-line-number="128"></td>
1304        <td id="LC128" class="blob-code blob-code-inner js-file-line">      });</td>
1305      </tr>
1306      <tr>
1307        <td id="L129" class="blob-num js-line-number" data-line-number="129"></td>
1308        <td id="LC129" class="blob-code blob-code-inner js-file-line">
1309</td>
1310      </tr>
1311      <tr>
1312        <td id="L130" class="blob-num js-line-number" data-line-number="130"></td>
1313        <td id="LC130" class="blob-code blob-code-inner js-file-line">      proxyImage.src <span class="pl-k">=</span> <span class="pl-v">this</span>.src;</td>
1314      </tr>
1315      <tr>
1316        <td id="L131" class="blob-num js-line-number" data-line-number="131"></td>
1317        <td id="LC131" class="blob-code blob-code-inner js-file-line">    });</td>
1318      </tr>
1319      <tr>
1320        <td id="L132" class="blob-num js-line-number" data-line-number="132"></td>
1321        <td id="LC132" class="blob-code blob-code-inner js-file-line">
1322</td>
1323      </tr>
1324      <tr>
1325        <td id="L133" class="blob-num js-line-number" data-line-number="133"></td>
1326        <td id="LC133" class="blob-code blob-code-inner js-file-line">    <span class="pl-c">// Because this method doesn&#39;t seem to be perfect.</span></td>
1327      </tr>
1328      <tr>
1329        <td id="L134" class="blob-num js-line-number" data-line-number="134"></td>
1330        <td id="LC134" class="blob-code blob-code-inner js-file-line">    <span class="pl-c1">setTimeout</span>(<span class="pl-k">function</span>() {</td>
1331      </tr>
1332      <tr>
1333        <td id="L135" class="blob-num js-line-number" data-line-number="135"></td>
1334        <td id="LC135" class="blob-code blob-code-inner js-file-line">      debouncedLayout();</td>
1335      </tr>
1336      <tr>
1337        <td id="L136" class="blob-num js-line-number" data-line-number="136"></td>
1338        <td id="LC136" class="blob-code blob-code-inner js-file-line">    }, <span class="pl-c1">500</span>);</td>
1339      </tr>
1340      <tr>
1341        <td id="L137" class="blob-num js-line-number" data-line-number="137"></td>
1342        <td id="LC137" class="blob-code blob-code-inner js-file-line">  };</td>
1343      </tr>
1344      <tr>
1345        <td id="L138" class="blob-num js-line-number" data-line-number="138"></td>
1346        <td id="LC138" class="blob-code blob-code-inner js-file-line">
1347</td>
1348      </tr>
1349      <tr>
1350        <td id="L139" class="blob-num js-line-number" data-line-number="139"></td>
1351        <td id="LC139" class="blob-code blob-code-inner js-file-line">  <span class="pl-k">return</span> {</td>
1352      </tr>
1353      <tr>
1354        <td id="L140" class="blob-num js-line-number" data-line-number="140"></td>
1355        <td id="LC140" class="blob-code blob-code-inner js-file-line">    init<span class="pl-k">:</span> init</td>
1356      </tr>
1357      <tr>
1358        <td id="L141" class="blob-num js-line-number" data-line-number="141"></td>
1359        <td id="LC141" class="blob-code blob-code-inner js-file-line">  };</td>
1360      </tr>
1361      <tr>
1362        <td id="L142" class="blob-num js-line-number" data-line-number="142"></td>
1363        <td id="LC142" class="blob-code blob-code-inner js-file-line">}( jQuery ));</td>
1364      </tr>
1365      <tr>
1366        <td id="L143" class="blob-num js-line-number" data-line-number="143"></td>
1367        <td id="LC143" class="blob-code blob-code-inner js-file-line">
1368</td>
1369      </tr>
1370      <tr>
1371        <td id="L144" class="blob-num js-line-number" data-line-number="144"></td>
1372        <td id="LC144" class="blob-code blob-code-inner js-file-line">
1373</td>
1374      </tr>
1375      <tr>
1376        <td id="L145" class="blob-num js-line-number" data-line-number="145"></td>
1377        <td id="LC145" class="blob-code blob-code-inner js-file-line">
1378</td>
1379      </tr>
1380      <tr>
1381        <td id="L146" class="blob-num js-line-number" data-line-number="146"></td>
1382        <td id="LC146" class="blob-code blob-code-inner js-file-line">
1382$(<span class="pl-c1">document</span>).ready(<span class="pl-k">function</span>() {</td>
1383      </tr>
1384      <tr>
1385        <td id="L147" class="blob-num js-line-number" data-line-number="147"></td>
1386        <td id="LC147" class="blob-code blob-code-inner js-file-line">  <span class="pl-c1">DEMO</span>.init();</td>
1387      </tr>
1388      <tr>
1389        <td id="L148" class="blob-num js-line-number" data-line-number="148"></td>
1390        <td id="LC148" class="blob-code blob-code-inner js-file-line">});</td>
1391      </tr>
1392</table>
1393
1394  </div>
1395
1396</div>
1397
1398<a href="#jump-to-line" rel="facebox[.linejump]" data-hotkey="l" style="display:none">Jump to Line</a>
1399<div id="jump-to-line" style="display:none">
1400  <!-- </textarea> --><!-- '"` --><form accept-charset="UTF-8" action="" class="js-jump-to-line-form" method="get"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /></div>
1401    <input class="linejump-input js-jump-to-line-field" type="text" placeholder="Jump to line&hellip;" autofocus>
1402    <button type="submit" class="btn">Go</button>
1403</form></div>
1404
1405          </div>
1406        </div>
1407        <div class="modal-backdrop"></div>
1408      </div>
1409  </div>
1410
1411
1412    </div><!-- /.wrapper -->
1413
1414      <div class="container">
1415  <div class="site-footer" role="contentinfo">
1416    <ul class="site-footer-links right">
1417        <li><a href="https://status.github.com/" data-ga-click="Footer, go to status, text:status">Status</a></li>
1418      <li><a href="https://developer.github.com" data-ga-click="Footer, go to api, text:api">API</a></li>
1419      <li><a href="https://training.github.com" data-ga-click="Footer, go to training, text:training">Training</a></li>
1420      <li><a href="https://shop.github.com" data-ga-click="Footer, go to shop, text:shop">Shop</a></li>
1421        <li><a href="https://github.com/blog" data-ga-click="Footer, go to blog, text:blog">Blog</a></li>
1422        <li><a href="https://github.com/about" data-ga-click="Footer, go to about, text:about">About</a></li>
1423        <li><a href="https://help.github.com" data-ga-click="Footer, go to help, text:help">Help</a></li>
1424
1425    </ul>
1426
1427    <a href="https://github.com" aria-label="Homepage">
1428      <span class="mega-octicon octicon-mark-github" title="GitHub"></span>
1429</a>
1430    <ul class="site-footer-links">
1431      <li>&copy; 2015 <span title="0.10911s from github-fe135-cp1-prd.iad.github.net">GitHub</span>, Inc.</li>
1432        <li><a href="https://github.com/site/terms" data-ga-click="Footer, go to terms, text:terms">Terms</a></li>
1433        <li><a href="https://github.com/site/privacy" data-ga-click="Footer, go to privacy, text:privacy">Privacy</a></li>
1434        <li><a href="https://github.com/security" data-ga-click="Footer, go to security, text:security">Security</a></li>
1435        <li><a href="https://github.com/contact" data-ga-click="Footer, go to contact, text:contact">Contact</a></li>
1436    </ul>
1437  </div>
1438</div>
1439
1440
1441    <div class="fullscreen-overlay js-fullscreen-overlay" id="fullscreen_overlay">
1442  <div class="fullscreen-container js-suggester-container">
1443    <div class="textarea-wrap">
1444      <textarea name="fullscreen-contents" id="fullscreen-contents" class="fullscreen-contents js-fullscreen-contents" placeholder=""></textarea>
1445      <div class="suggester-container">
1446        <div class="suggester fullscreen-suggester js-suggester js-navigation-container"></div>
1447      </div>
1448    </div>
1449  </div>
1450  <div class="fullscreen-sidebar">
1451    <a href="#" class="exit-fullscreen js-exit-fullscreen tooltipped tooltipped-w" aria-label="Exit Zen Mode">
1452      <span class="mega-octicon octicon-screen-normal"></span>
1453    </a>
1454    <a href="#" class="theme-switcher js-theme-switcher tooltipped tooltipped-w"
1455      aria-label="Switch themes">
1456      <span class="octicon octicon-color-mode"></span>
1457    </a>
1458  </div>
1459</div>
1460
1461
1462
1463    
1464    
1465
1466    <div id="ajax-error-message" class="flash flash-error">
1467      <span class="octicon octicon-alert"></span>
1468      <a href="#" class="octicon octicon-x flash-close js-ajax-error-dismiss" aria-label="Dismiss error"></a>
1469      Something went wrong with that request. Please try again.
1470    </div>
1471
1472
1473      <script crossorigin="anonymous" src="https://assets-cdn.github.com/assets/frameworks-0485840b01bfad89b36a26560c41c81e89e86a52c7780751cbb38abe578740e3.js"></script>
1474      <script async="async" crossorigin="anonymous" src="https://assets-cdn.github.com/assets/github/index-d8eb856e2ba7ea1832edc41916963c469098a1f5d826535561a56a93c2743f99.js"></script>
1475      
1476      
1477  </body>
1478</html>
1479

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.