onebox 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (127) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/.rspec +1 -0
  4. data/.rubocop.yml +476 -0
  5. data/.ruby-gemset +1 -0
  6. data/.ruby-version +1 -0
  7. data/.travis.yml +3 -0
  8. data/Gemfile +4 -0
  9. data/LICENSE.txt +22 -0
  10. data/README.md +92 -0
  11. data/Rakefile +22 -0
  12. data/lib/onebox.rb +33 -0
  13. data/lib/onebox/engine.rb +93 -0
  14. data/lib/onebox/engine/amazon_onebox.rb +25 -0
  15. data/lib/onebox/engine/bliptv_onebox.rb +26 -0
  16. data/lib/onebox/engine/clikthrough_onebox.rb +23 -0
  17. data/lib/onebox/engine/college_humor_onebox.rb +26 -0
  18. data/lib/onebox/engine/dailymotion_onebox.rb +26 -0
  19. data/lib/onebox/engine/dotsub_onebox.rb +25 -0
  20. data/lib/onebox/engine/example_onebox.rb +25 -0
  21. data/lib/onebox/engine/flickr_onebox.rb +25 -0
  22. data/lib/onebox/engine/funny_or_die_onebox.rb +26 -0
  23. data/lib/onebox/engine/html.rb +11 -0
  24. data/lib/onebox/engine/hulu_onebox.rb +26 -0
  25. data/lib/onebox/engine/nfb_onebox.rb +25 -0
  26. data/lib/onebox/engine/open_graph.rb +11 -0
  27. data/lib/onebox/engine/qik_onebox.rb +23 -0
  28. data/lib/onebox/engine/revision3_onebox.rb +26 -0
  29. data/lib/onebox/engine/slideshare_onebox.rb +25 -0
  30. data/lib/onebox/engine/sound_cloud_onebox.rb +25 -0
  31. data/lib/onebox/engine/stack_exchange_onebox.rb +23 -0
  32. data/lib/onebox/engine/ted_onebox.rb +25 -0
  33. data/lib/onebox/engine/viddler_onebox.rb +26 -0
  34. data/lib/onebox/engine/vimeo_onebox.rb +26 -0
  35. data/lib/onebox/engine/wikipedia_onebox.rb +24 -0
  36. data/lib/onebox/engine/yfrog_onebox.rb +25 -0
  37. data/lib/onebox/matcher.rb +13 -0
  38. data/lib/onebox/preview.rb +31 -0
  39. data/lib/onebox/version.rb +3 -0
  40. data/onebox.gemspec +36 -0
  41. data/spec/fixtures/amazon.response +3098 -0
  42. data/spec/fixtures/android.response +138 -0
  43. data/spec/fixtures/apple.response +391 -0
  44. data/spec/fixtures/bliptv.response +724 -0
  45. data/spec/fixtures/clickthrough.response +1472 -0
  46. data/spec/fixtures/clikthrough.response +1472 -0
  47. data/spec/fixtures/collegehumor.response +1272 -0
  48. data/spec/fixtures/dailymotion.response +575 -0
  49. data/spec/fixtures/dotsub.response +1257 -0
  50. data/spec/fixtures/example.response +50 -0
  51. data/spec/fixtures/flickr.response +1292 -0
  52. data/spec/fixtures/funnyordie.response +2010 -0
  53. data/spec/fixtures/gist.response +282 -0
  54. data/spec/fixtures/github_blob.response +706 -0
  55. data/spec/fixtures/github_commit.response +881 -0
  56. data/spec/fixtures/github_pullrequest.response +1619 -0
  57. data/spec/fixtures/hulu.response +339 -0
  58. data/spec/fixtures/image.response +0 -0
  59. data/spec/fixtures/imgur.response +892 -0
  60. data/spec/fixtures/kinomap.response +299 -0
  61. data/spec/fixtures/nfb.response +810 -0
  62. data/spec/fixtures/opengraph.response +27 -0
  63. data/spec/fixtures/qik.response +371 -0
  64. data/spec/fixtures/revision3.response +985 -0
  65. data/spec/fixtures/rottentomatoes_fresh.response +3275 -0
  66. data/spec/fixtures/rottentomatoes_incomplete.response +2313 -0
  67. data/spec/fixtures/rottentomatoes_rotten.response +3549 -0
  68. data/spec/fixtures/slideshare.response +1745 -0
  69. data/spec/fixtures/soundcloud.response +1409 -0
  70. data/spec/fixtures/stackexchange.response +1889 -0
  71. data/spec/fixtures/ted.response +1341 -0
  72. data/spec/fixtures/twitter.response +1712 -0
  73. data/spec/fixtures/viddler.response +442 -0
  74. data/spec/fixtures/video.response +0 -0
  75. data/spec/fixtures/vimeo.response +571 -0
  76. data/spec/fixtures/wikipedia.response +1236 -0
  77. data/spec/fixtures/wikipedia_redirected.response +899 -0
  78. data/spec/fixtures/yfrog.response +464 -0
  79. data/spec/lib/onebox/engine/amazon_spec.rb +34 -0
  80. data/spec/lib/onebox/engine/bliptv_spec.rb +34 -0
  81. data/spec/lib/onebox/engine/clikthrough_spec.rb +26 -0
  82. data/spec/lib/onebox/engine/college_humor_spec.rb +34 -0
  83. data/spec/lib/onebox/engine/dailymotion_spec.rb +36 -0
  84. data/spec/lib/onebox/engine/dotsub_spec.rb +36 -0
  85. data/spec/lib/onebox/engine/example_spec.rb +18 -0
  86. data/spec/lib/onebox/engine/flickr_spec.rb +30 -0
  87. data/spec/lib/onebox/engine/funny_or_die_spec.rb +34 -0
  88. data/spec/lib/onebox/engine/hulu_spec.rb +34 -0
  89. data/spec/lib/onebox/engine/nfb_spec.rb +35 -0
  90. data/spec/lib/onebox/engine/qik_spec.rb +35 -0
  91. data/spec/lib/onebox/engine/revision3_spec.rb +36 -0
  92. data/spec/lib/onebox/engine/slideshare_spec.rb +30 -0
  93. data/spec/lib/onebox/engine/sound_cloud_spec.rb +36 -0
  94. data/spec/lib/onebox/engine/stack_exchange_spec.rb +27 -0
  95. data/spec/lib/onebox/engine/ted_spec.rb +30 -0
  96. data/spec/lib/onebox/engine/viddler_spec.rb +36 -0
  97. data/spec/lib/onebox/engine/vimeo_spec.rb +34 -0
  98. data/spec/lib/onebox/engine/wikipedia_spec.rb +30 -0
  99. data/spec/lib/onebox/engine/yfrog_spec.rb +30 -0
  100. data/spec/lib/onebox/engine_spec.rb +78 -0
  101. data/spec/lib/onebox/matcher_spec.rb +20 -0
  102. data/spec/lib/onebox/preview_spec.rb +21 -0
  103. data/spec/lib/onebox_spec.rb +49 -0
  104. data/spec/spec_helper.rb +26 -0
  105. data/spec/support/html_spec_helper.rb +17 -0
  106. data/templates/amazon.handlebars +9 -0
  107. data/templates/bliptv.handlebars +10 -0
  108. data/templates/clickthrough.handlebars +8 -0
  109. data/templates/clikthrough.handlebars +8 -0
  110. data/templates/collegehumor.handlebars +9 -0
  111. data/templates/dailymotion.handlebars +9 -0
  112. data/templates/dotsub.handlebars +9 -0
  113. data/templates/flickr.handlebars +8 -0
  114. data/templates/funnyordie.handlebars +9 -0
  115. data/templates/hulu.handlebars +9 -0
  116. data/templates/nfb.handlebars +8 -0
  117. data/templates/qik.handlebars +7 -0
  118. data/templates/revision3.handlebars +9 -0
  119. data/templates/slideshare.handlebars +8 -0
  120. data/templates/soundcloud.handlebars +9 -0
  121. data/templates/stackexchange.handlebars +7 -0
  122. data/templates/ted.handlebars +8 -0
  123. data/templates/viddler.handlebars +9 -0
  124. data/templates/vimeo.handlebars +9 -0
  125. data/templates/wikipedia.handlebars +8 -0
  126. data/templates/yfrog.handlebars +8 -0
  127. metadata +447 -0
@@ -0,0 +1,282 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# githubog: http://ogp.me/ns/fb/githubog#">
4
+ <meta charset="utf-8">
5
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
6
+
7
+ <title>gist:153044e9bea3331cc103</title>
8
+
9
+ <meta content="authenticity_token" name="csrf-param" />
10
+ <meta content="zSFOVuYk/6yiJs9nE7oSg4ct0BZPRaFlyK01nRpFvxE=" name="csrf-token" />
11
+ <meta name="viewport" content="width=960">
12
+
13
+ <link type="text/plain" rel="author" href="https://github.com/humans.txt" />
14
+
15
+ <meta content="gist" name="octolytics-app-id" /><meta content="collector.githubapp.com" name="octolytics-host" />
16
+
17
+ <link href="/assets/application-64649181dc896bd5aeed2a3438dcb4a4.css" media="screen, print" rel="stylesheet" />
18
+ <script src="/assets/application-4fc558fd34d5f84950713717d772ea06.js"></script>
19
+
20
+ <meta name="robots" content="noindex, nofollow">
21
+
22
+ </head>
23
+
24
+ <body class=" ">
25
+
26
+ <div id="wrapper">
27
+
28
+
29
+ <div id="header" class="header header-logged-out">
30
+ <div class="container" class="clearfix">
31
+ <a class="header-logo-wordmark" href="https://gist.github.com/">
32
+ <span class="octicon octicon-logo-github"></span>
33
+ <span class="octicon-logo octicon-logo-gist"></span>
34
+ </a>
35
+
36
+ <div class="header-actions">
37
+ <a class="button primary" href="https://github.com/signup?return_to=gist">Sign up for a GitHub Account</a>
38
+ <a class="button" href="https://gist.github.com/login?return_to=/anikalindtner/153044e9bea3331cc103" data-skip-pjax>Sign in</a>
39
+ </div>
40
+ </div>
41
+ </div>
42
+
43
+ <div class="site-content" id="js-pjax-container" data-pjax-container>
44
+ <div class="vis-secret site-container js-site-container" data-url="/anikalindtner/153044e9bea3331cc103">
45
+
46
+ <meta content="false" name="octolytics-dimension-public" /><meta content="6130231" name="octolytics-dimension-gist_id" /><meta content="153044e9bea3331cc103" name="octolytics-dimension-gist_name" /><meta content="false" name="octolytics-dimension-anonymous" /><meta content="1711357" name="octolytics-dimension-owner_id" /><meta content="anikalindtner" name="octolytics-dimension-owner_login" /><meta content="true" name="octolytics-dimension-forked" /><meta content="5821703" name="octolytics-dimension-parent_gist_id" /><meta content="b83fc36b45bcb0338399" name="octolytics-dimension-parent_gist_name" /><meta content="false" name="octolytics-dimension-parent_anonymous" /><meta content="2208" name="octolytics-dimension-parent_owner_id" /><meta content="svenfuchs" name="octolytics-dimension-parent_owner_login" />
47
+
48
+ <div class="pagehead repohead">
49
+ <div class="container">
50
+ <div class="title-actions-bar">
51
+ <ul class="pagehead-actions">
52
+ </ul>
53
+ <h1 itemscope itemtype="http://data-vocabulary.org/Breadcrumb" class="entry-title secret">
54
+ <span class="repo-label"><span>secret</span></span>
55
+ <span class="mega-octicon octicon-gist-secret tooltipped downandright" title="Secret gists are hidden from search engines but visible to anyone you give the URL."></span>
56
+ <div class="meta">
57
+ <div class="gist-author">
58
+ <img src="https://secure.gravatar.com/avatar/de4c05b637f469f1b2b1571da7599ffd?s=140&amp;d=https://github.com/images/gravatars/gravatar-140.png" width="26" height="26">
59
+ <span class="author vcard">
60
+ <span itemprop="title"><a href="/anikalindtner">anikalindtner</a></span>
61
+ </span> /
62
+ <strong><a href="/anikalindtner/153044e9bea3331cc103" class="js-current-repository">gist:153044e9bea3331cc103</a></strong>
63
+ </div>
64
+ <div class="gist-timestamp">
65
+ <span class="datetime">Last active <time class="js-relative-date" title="2013-08-01T11:07:40Z" datetime="2013-08-01T11:07:40Z">2013-08-01</time></span>
66
+ <span class="text"> &mdash; forked from <a href="/svenfuchs/b83fc36b45bcb0338399">svenfuchs/gist:b83fc36b45bcb0338399</a></span>
67
+ </div>
68
+ </h1>
69
+ </div>
70
+
71
+ </div>
72
+ </div>
73
+
74
+
75
+
76
+
77
+ <div class="gist container js-gist-container" data-version="a015b5da4dcda99437431fc4da60c66792293e08">
78
+ <div class="root-pane">
79
+ <div class="menu-container">
80
+ <ul class="menu gisttabs">
81
+ <li>
82
+ <a href="/anikalindtner/153044e9bea3331cc103" class="selected">
83
+ Gist Detail
84
+ </a>
85
+ </li>
86
+
87
+ <li class="revision-count">
88
+ <a href="/anikalindtner/153044e9bea3331cc103/revisions" >
89
+ Revisions
90
+ <span class="counter">14</span>
91
+ </a>
92
+ </li>
93
+
94
+
95
+ </ul>
96
+ </div>
97
+
98
+ <ul class="export-references">
99
+ <li>
100
+ <a href="/anikalindtner/153044e9bea3331cc103/download" class="minibutton" data-skip-pjax="true" rel="nofollow"><span class="octicon octicon-cloud-download"></span>Download Gist</a>
101
+ </li>
102
+ <li>
103
+ <label for="url-field"><strong>Clone</strong> this gist</label>
104
+ <input type="text" readonly spellcheck="false" class="url-field js-url-field js-cptoggle" name="url-field" value="https://gist.github.com/153044e9bea3331cc103.git" data-cptoggle-display="/anikalindtner/153044e9bea3331cc103">
105
+ </li>
106
+ <li>
107
+ <label for="embed-field"><strong>Embed</strong> this gist</label>
108
+ <input type="text" readonly spellcheck="false" class="url-field js-url-field" name="embed-field" value="&lt;script src=&quot;https://gist.github.com/anikalindtner/153044e9bea3331cc103.js&quot;&gt;&lt;/script&gt;">
109
+ </li>
110
+ <li>
111
+ <label for="link-field"><strong>Link to</strong> this gist</label>
112
+ <input type="text" readonly spellcheck="false" class="url-field js-url-field" name="link-field" value="https://gist.github.com/anikalindtner/153044e9bea3331cc103">
113
+ </li>
114
+ </ul>
115
+ </div>
116
+
117
+
118
+ <div class="column files">
119
+ <div id="file-gistfile1-md" class="bubble">
120
+ <div class="file-box ">
121
+ <div class="meta">
122
+ <div class="file-info">
123
+ <span class="file-type-icon"><span class="octicon octicon-gist"></span></span>
124
+ <strong class="file-name js-selectable-text">gistfile1.md</strong>
125
+ </div>
126
+ <div class="file-actions">
127
+ <span class="file-language">Markdown</span>
128
+ <ul class="button-group">
129
+ <li><a title="Permalink" href="#file-gistfile1-md" class="file-actions-button tooltipped downwards permalink"><span class="octicon octicon-link"></span></a></li>
130
+ <li><a title="View Raw" href="/anikalindtner/153044e9bea3331cc103/raw/1f2450da387d06ceacd104f4ed08228c02f3af64/gistfile1.md" data-skip-pjax class="file-actions-button tooltipped downwards raw-url"><span class="octicon octicon-code"></span></a></li>
131
+ </ul>
132
+ </div>
133
+ </div>
134
+ <div class="suppressed">
135
+ <a class="js-show-suppressed-file">File suppressed. Click to show.</a>
136
+ </div>
137
+
138
+
139
+ <div class="readme context-loader-container context-loader-overlay" id="readme">
140
+ <article class="markdown-body js-file "
141
+ data-task-list-update-url="/anikalindtner/153044e9bea3331cc103/file/gistfile1.md">
142
+ <h1>
143
+ <a name="create-a-new-blog-post-on-github" class="anchor" href="#create-a-new-blog-post-on-github"><span class="mini-icon mini-icon-link"></span></a>Create a new blog post on GitHub</h1>
144
+
145
+ <p><strong>1. Navigate to the <code>blog/_posts</code> directory</strong></p>
146
+
147
+ <p><a href="https://github.com/rails-girls-summer-of-code/summer-of-code/tree/gh-pages/blog/_posts" rel="noreferrer">https://github.com/rails-girls-summer-of-code/summer-of-code/tree/gh-pages/blog/_posts</a></p>
148
+
149
+ <p><strong>2. Add a new file for your post</strong></p>
150
+
151
+ <p>by clicking on the little plus-sign: </p>
152
+
153
+ <p><a href="https://f.cloud.github.com/assets/1711357/893124/2f4a8ea4-fa97-11e2-9cf6-9193d78cfadb.png" target="_blank"><img src="https://f.cloud.github.com/assets/1711357/893124/2f4a8ea4-fa97-11e2-9cf6-9193d78cfadb.png" alt="screen shot 2013-08-01 at 12 42 22 pm" style="max-width:100%;"></a></p>
154
+
155
+ <p><em>how-to: <a href="https://github.com/blog/1327-creating-files-on-github" rel="noreferrer">https://github.com/blog/1327-creating-files-on-github</a></em></p>
156
+
157
+ <p>The filename should follow the naming convention of the existing blog posts:
158
+ 2013-month-day-blogposttitle. The file extension will determine the format used. Use <code>.md</code> for Markdown. Don't worry, Markdown is really easy (<a href="https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet" rel="noreferrer">https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet</a>).
159
+ Here an example:</p>
160
+
161
+ <pre><code>---
162
+ title: Introducing inchworms
163
+ layout: post
164
+ created_at: Mon July 15 2013
165
+ permalink: blog/introducing-inchworms
166
+ current: blog
167
+ author: Anja and Carla
168
+ twitter: _tyranja_
169
+ ---
170
+
171
+ Hej Everbody,
172
+
173
+ **We are the inchworms** and we chose that name because the coding process for us is like crawling inch by inch.
174
+
175
+ Also we like this [video](https://www.youtube.com/watch?v=cyasgr9mn3s).
176
+
177
+ </code></pre>
178
+
179
+ <p>but you don't even have to learn that: you also can just mix in html.
180
+ Here is an example: </p>
181
+
182
+ <pre><code>---
183
+ title: The beginning
184
+ layout: post
185
+ created_at: Sat July 13 2013
186
+ permalink: blog/the-beginning
187
+ current: blog
188
+ author: Anika
189
+ twitter: langziehohr
190
+ ---
191
+ &lt;img src="https://f.cloud.github.com/assets/1711357/792581/fdabc3fc-eba7-11e2-9fcc-b114f9a1d44f.png" align="middle" height="300"&gt;
192
+
193
+
194
+ Our journey has begun and we're right on track, **code island starboard ahead!**
195
+
196
+ *Since July 1st* we wrote 222 emails,&lt;a href="http://teams.railsgirlssummerofcode.org/"&gt; 133 blog posts &lt;/a&gt; have been posted by the teams, they spent more than 99 hours of coding - and this is only the beginning!
197
+
198
+ It's been now 12 days since the summer of code officially started and here are the students of 12 teams saying hello world and obviously being super happy about their Summer of Code! Thanks to everybody who made this happen &amp;hearts;
199
+
200
+ &lt;img src="https://f.cloud.github.com/assets/1711357/792560/1d1326d8-eba6-11e2-8fb3-2de8298fb07b.png" width="600"&gt;
201
+
202
+ </code></pre>
203
+
204
+ <p><strong>4. Add the Jekyll header for the meta data</strong></p>
205
+
206
+ <p>This is the header:</p>
207
+
208
+ <pre><code>---
209
+ title: The beginning
210
+ layout: post
211
+ created_at: Sat July 13 2013
212
+ permalink: blog/the-beginning
213
+ current: blog
214
+ author: Anika
215
+ twitter: langziehohr
216
+ ---
217
+ </code></pre>
218
+
219
+ <p>Of course you have to change it so it will have your name and date in it.</p>
220
+
221
+ <p><strong>5. Add your blog post text</strong>
222
+ <strong>6. Save the file</strong>
223
+ <strong>7. Send a pull request</strong></p>
224
+
225
+ <p>You should see that grey "pull request" button. push it, give your request a title and confirm.</p>
226
+
227
+ <p><a href="https://f.cloud.github.com/assets/1711357/893147/102c669a-fa98-11e2-86e3-4c60d8484833.png" target="_blank"><img src="https://f.cloud.github.com/assets/1711357/893147/102c669a-fa98-11e2-86e3-4c60d8484833.png" alt="screen shot 2013-07-26 at 5 31 50 pm" style="max-width:100%;"></a></p>
228
+
229
+ <p><em>how-to: <a href="https://help.github.com/articles/creating-a-pull-request" rel="noreferrer">https://help.github.com/articles/creating-a-pull-request</a></em></p>
230
+
231
+ <p><strong>8. Ready! ♥</strong></p>
232
+ </article>
233
+ </div>
234
+
235
+
236
+
237
+ </div>
238
+ </div>
239
+ <div id="comments" class="new-comments">
240
+
241
+ </div>
242
+ <p class="uncommentable"><span class="octicon octicon-alert"></span> Please <a href="/login?return_to=/anikalindtner/153044e9bea3331cc103" rel="nofollow">sign in</a> to comment on this gist.</p>
243
+ </div>
244
+ </div>
245
+
246
+ <div class="context-overlay"></div>
247
+ </div>
248
+
249
+ </div>
250
+ <div class="slow-loading-overlay"></div>
251
+ </div>
252
+
253
+ <div id="ajax-error-message" class="flash flash-error">
254
+ <div class="container">
255
+ <span class="octicon octicon-alert"></span>
256
+ Something went wrong with that request. Please try again.
257
+ <a href="#" class="octicon octicon-remove-close ajax-error-dismiss"></a>
258
+ </div>
259
+ </div>
260
+
261
+ <footer>
262
+ <div id="footer">
263
+ <div class="container clearfix">
264
+
265
+ <!-- Served fresh by github-fe103-cp1-prd.iad.github.net -->
266
+ <p class="right">&copy; 2013 GitHub Inc. All rights reserved.</p>
267
+ <a class="left" href="/">
268
+ <span class="mega-octicon octicon-mark-github"></span>
269
+ </a>
270
+ <ul id="legal">
271
+ <li><a href="https://github.com/blog">The GitHub Blog</a></li>
272
+ <li><a href="mailto:support@github.com">Support</a></li>
273
+ <li><a href="https://github.com/contact">Contact</a></li>
274
+ </ul>
275
+
276
+ </div><!-- /.container -->
277
+ </div><!-- /.#footer -->
278
+
279
+ </footer>
280
+
281
+ </body>
282
+ </html>
@@ -0,0 +1,706 @@
1
+
2
+
3
+
4
+ <!DOCTYPE html>
5
+ <html>
6
+ <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# githubog: http://ogp.me/ns/fb/githubog#">
7
+ <meta charset='utf-8'>
8
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
9
+ <title>discourse/app/assets/javascripts/discourse/views/list/list_topics_view.js at af685e83ea68dc788dfbb281cae0f403cee0edfc · discourse/discourse · GitHub</title>
10
+ <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub" />
11
+ <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub" />
12
+ <link rel="apple-touch-icon" sizes="57x57" href="/apple-touch-icon-114.png" />
13
+ <link rel="apple-touch-icon" sizes="114x114" href="/apple-touch-icon-114.png" />
14
+ <link rel="apple-touch-icon" sizes="72x72" href="/apple-touch-icon-144.png" />
15
+ <link rel="apple-touch-icon" sizes="144x144" href="/apple-touch-icon-144.png" />
16
+ <link rel="logo" type="image/svg" href="https://github-media-downloads.s3.amazonaws.com/github-logo.svg" />
17
+ <meta property="og:image" content="https://github.global.ssl.fastly.net/images/modules/logos_page/Octocat.png">
18
+ <meta name="hostname" content="fe18.rs.github.com">
19
+ <link rel="assets" href="https://github.global.ssl.fastly.net/">
20
+ <link rel="xhr-socket" href="/_sockets" />
21
+
22
+
23
+
24
+
25
+ <meta name="msapplication-TileImage" content="/windows-tile.png" />
26
+ <meta name="msapplication-TileColor" content="#ffffff" />
27
+ <meta name="selected-link" value="repo_source" data-pjax-transient />
28
+ <meta content="collector.githubapp.com" name="octolytics-host" /><meta content="github" name="octolytics-app-id" />
29
+
30
+
31
+
32
+ <link rel="icon" type="image/x-icon" href="/favicon.ico" />
33
+
34
+ <meta content="authenticity_token" name="csrf-param" />
35
+ <meta content="tROvv9v2adNq5E9SeBOaDZV77jv7NLPqfGbsjJLPSfQ=" name="csrf-token" />
36
+
37
+ <link href="https://github.global.ssl.fastly.net/assets/github-c6ca95663cba6496fe7a5bdd98671b82cd956df3.css" media="all" rel="stylesheet" type="text/css" />
38
+ <link href="https://github.global.ssl.fastly.net/assets/github2-d35b02ba3940bde9b9f2c3e58f2dfb1ceff5886c.css" media="all" rel="stylesheet" type="text/css" />
39
+
40
+
41
+
42
+ <script src="https://github.global.ssl.fastly.net/assets/frameworks-eae23340ab2a6ba722166712e699c87aaf60ad8f.js" type="text/javascript"></script>
43
+ <script src="https://github.global.ssl.fastly.net/assets/github-a72a714a307592a4803dc7bed1e49523e71ff53e.js" type="text/javascript"></script>
44
+
45
+ <meta http-equiv="x-pjax-version" content="babad972cb81ce7ba9200a9ccc34ae98">
46
+
47
+ <link data-pjax-transient rel='permalink' href='/discourse/discourse/blob/af685e83ea68dc788dfbb281cae0f403cee0edfc/app/assets/javascripts/discourse/views/list/list_topics_view.js'>
48
+ <meta property="og:title" content="discourse"/>
49
+ <meta property="og:type" content="githubog:gitrepository"/>
50
+ <meta property="og:url" content="https://github.com/discourse/discourse"/>
51
+ <meta property="og:image" content="https://github.global.ssl.fastly.net/images/gravatars/gravatar-user-420.png"/>
52
+ <meta property="og:site_name" content="GitHub"/>
53
+ <meta property="og:description" content="discourse - A platform for community discussion. Free, open, simple."/>
54
+
55
+ <meta name="description" content="discourse - A platform for community discussion. Free, open, simple." />
56
+
57
+ <meta content="3220138" name="octolytics-dimension-user_id" /><meta content="discourse" name="octolytics-dimension-user_login" /><meta content="7569578" name="octolytics-dimension-repository_id" /><meta content="discourse/discourse" name="octolytics-dimension-repository_nwo" /><meta content="true" name="octolytics-dimension-repository_public" /><meta content="false" name="octolytics-dimension-repository_is_fork" /><meta content="7569578" name="octolytics-dimension-repository_network_root_id" /><meta content="discourse/discourse" name="octolytics-dimension-repository_network_root_nwo" />
58
+ <link href="https://github.com/discourse/discourse/commits/af685e83ea68dc788dfbb281cae0f403cee0edfc.atom" rel="alternate" title="Recent Commits to discourse:af685e83ea68dc788dfbb281cae0f403cee0edfc" type="application/atom+xml" />
59
+
60
+ </head>
61
+
62
+
63
+ <body class="logged_out page-blob vis-public env-production ">
64
+
65
+ <div class="wrapper">
66
+
67
+
68
+
69
+
70
+
71
+
72
+ <div class="header header-logged-out">
73
+ <div class="container clearfix">
74
+
75
+ <a class="header-logo-wordmark" href="https://github.com/">
76
+ <span class="mega-octicon octicon-logo-github"></span>
77
+ </a>
78
+
79
+ <div class="header-actions">
80
+ <a class="button primary" href="/signup">Sign up</a>
81
+ <a class="button" href="/login?return_to=%2Fdiscourse%2Fdiscourse%2Fblob%2Faf685e83ea68dc788dfbb281cae0f403cee0edfc%2Fapp%2Fassets%2Fjavascripts%2Fdiscourse%2Fviews%2Flist%2Flist_topics_view.js">Sign in</a>
82
+ </div>
83
+
84
+ <div class="command-bar js-command-bar in-repository">
85
+
86
+
87
+ <ul class="top-nav">
88
+ <li class="explore"><a href="/explore">Explore</a></li>
89
+ <li class="features"><a href="/features">Features</a></li>
90
+ <li class="enterprise"><a href="https://enterprise.github.com/">Enterprise</a></li>
91
+ <li class="blog"><a href="/blog">Blog</a></li>
92
+ </ul>
93
+ <form accept-charset="UTF-8" action="/search" class="command-bar-form" id="top_search_form" method="get">
94
+
95
+ <input type="text" data-hotkey="/ s" name="q" id="js-command-bar-field" placeholder="Search or type a command" tabindex="1" autocapitalize="off"
96
+
97
+
98
+ data-repo="discourse/discourse"
99
+ data-branch=""
100
+ data-sha="8f7761ffb1a2fd7fafc0e2306d8864d8e1c0e5c0"
101
+ >
102
+
103
+ <input type="hidden" name="nwo" value="discourse/discourse" />
104
+
105
+ <div class="select-menu js-menu-container js-select-menu search-context-select-menu">
106
+ <span class="minibutton select-menu-button js-menu-target">
107
+ <span class="js-select-button">This repository</span>
108
+ </span>
109
+
110
+ <div class="select-menu-modal-holder js-menu-content js-navigation-container">
111
+ <div class="select-menu-modal">
112
+
113
+ <div class="select-menu-item js-navigation-item js-this-repository-navigation-item selected">
114
+ <span class="select-menu-item-icon octicon octicon-check"></span>
115
+ <input type="radio" class="js-search-this-repository" name="search_target" value="repository" checked="checked" />
116
+ <div class="select-menu-item-text js-select-button-text">This repository</div>
117
+ </div> <!-- /.select-menu-item -->
118
+
119
+ <div class="select-menu-item js-navigation-item js-all-repositories-navigation-item">
120
+ <span class="select-menu-item-icon octicon octicon-check"></span>
121
+ <input type="radio" name="search_target" value="global" />
122
+ <div class="select-menu-item-text js-select-button-text">All repositories</div>
123
+ </div> <!-- /.select-menu-item -->
124
+
125
+ </div>
126
+ </div>
127
+ </div>
128
+
129
+ <span class="octicon help tooltipped downwards" title="Show command bar help">
130
+ <span class="octicon octicon-question"></span>
131
+ </span>
132
+
133
+
134
+ <input type="hidden" name="ref" value="cmdform">
135
+
136
+ </form>
137
+ </div>
138
+
139
+ </div>
140
+ </div>
141
+
142
+
143
+
144
+
145
+
146
+ <div class="site" itemscope itemtype="http://schema.org/WebPage">
147
+
148
+ <div class="pagehead repohead instapaper_ignore readability-menu">
149
+ <div class="container">
150
+
151
+
152
+ <ul class="pagehead-actions">
153
+
154
+
155
+ <li>
156
+ <a href="/login?return_to=%2Fdiscourse%2Fdiscourse"
157
+ class="minibutton with-count js-toggler-target star-button entice tooltipped upwards "
158
+ title="You must be signed in to use this feature" rel="nofollow">
159
+ <span class="octicon octicon-star"></span>Star
160
+ </a>
161
+ <a class="social-count js-social-count" href="/discourse/discourse/stargazers">
162
+ 7,268
163
+ </a>
164
+
165
+ </li>
166
+
167
+ <li>
168
+ <a href="/login?return_to=%2Fdiscourse%2Fdiscourse"
169
+ class="minibutton with-count js-toggler-target fork-button entice tooltipped upwards"
170
+ title="You must be signed in to fork a repository" rel="nofollow">
171
+ <span class="octicon octicon-git-branch"></span>Fork
172
+ </a>
173
+ <a href="/discourse/discourse/network" class="social-count">
174
+ 1,664
175
+ </a>
176
+ </li>
177
+ </ul>
178
+
179
+ <h1 itemscope itemtype="http://data-vocabulary.org/Breadcrumb" class="entry-title public">
180
+ <span class="repo-label"><span>public</span></span>
181
+ <span class="mega-octicon octicon-repo"></span>
182
+ <span class="author">
183
+ <a href="/discourse" class="url fn" itemprop="url" rel="author"><span itemprop="title">discourse</span></a></span
184
+ ><span class="repohead-name-divider">/</span><strong
185
+ ><a href="/discourse/discourse" class="js-current-repository js-repo-home-link">discourse</a></strong>
186
+
187
+ <span class="page-context-loader">
188
+ <img alt="Octocat-spinner-32" height="16" src="https://github.global.ssl.fastly.net/images/spinners/octocat-spinner-32.gif" width="16" />
189
+ </span>
190
+
191
+ </h1>
192
+ </div><!-- /.container -->
193
+ </div><!-- /.repohead -->
194
+
195
+ <div class="container">
196
+
197
+ <div class="repository-with-sidebar repo-container ">
198
+
199
+ <div class="repository-sidebar">
200
+
201
+
202
+ <div class="repo-nav repo-nav-full js-repository-container-pjax js-octicon-loaders">
203
+ <div class="repo-nav-contents">
204
+ <ul class="repo-menu">
205
+ <li class="tooltipped leftwards" title="Code">
206
+ <a href="/discourse/discourse" aria-label="Code" class="js-selected-navigation-item selected" data-gotokey="c" data-pjax="true" data-selected-links="repo_source repo_downloads repo_commits repo_tags repo_branches /discourse/discourse">
207
+ <span class="octicon octicon-code"></span> <span class="full-word">Code</span>
208
+ <img alt="Octocat-spinner-32" class="mini-loader" height="16" src="https://github.global.ssl.fastly.net/images/spinners/octocat-spinner-32.gif" width="16" />
209
+ </a> </li>
210
+
211
+ <li class="tooltipped leftwards" title="Issues">
212
+ <a href="/discourse/discourse/issues" aria-label="Issues" class="js-selected-navigation-item js-disable-pjax" data-gotokey="i" data-selected-links="repo_issues /discourse/discourse/issues">
213
+ <span class="octicon octicon-issue-opened"></span> <span class="full-word">Issues</span>
214
+ <span class='counter'>29</span>
215
+ <img alt="Octocat-spinner-32" class="mini-loader" height="16" src="https://github.global.ssl.fastly.net/images/spinners/octocat-spinner-32.gif" width="16" />
216
+ </a> </li>
217
+
218
+ <li class="tooltipped leftwards" title="Pull Requests"><a href="/discourse/discourse/pulls" aria-label="Pull Requests" class="js-selected-navigation-item js-disable-pjax" data-gotokey="p" data-selected-links="repo_pulls /discourse/discourse/pulls">
219
+ <span class="octicon octicon-git-pull-request"></span> <span class="full-word">Pull Requests</span>
220
+ <span class='counter'>6</span>
221
+ <img alt="Octocat-spinner-32" class="mini-loader" height="16" src="https://github.global.ssl.fastly.net/images/spinners/octocat-spinner-32.gif" width="16" />
222
+ </a> </li>
223
+
224
+
225
+ <li class="tooltipped leftwards" title="Wiki">
226
+ <a href="/discourse/discourse/wiki" aria-label="Wiki" class="js-selected-navigation-item " data-pjax="true" data-selected-links="repo_wiki /discourse/discourse/wiki">
227
+ <span class="octicon octicon-book"></span> <span class="full-word">Wiki</span>
228
+ <img alt="Octocat-spinner-32" class="mini-loader" height="16" src="https://github.global.ssl.fastly.net/images/spinners/octocat-spinner-32.gif" width="16" />
229
+ </a> </li>
230
+ </ul>
231
+ <div class="repo-menu-separator"></div>
232
+ <ul class="repo-menu">
233
+
234
+ <li class="tooltipped leftwards" title="Pulse">
235
+ <a href="/discourse/discourse/pulse" aria-label="Pulse" class="js-selected-navigation-item " data-pjax="true" data-selected-links="pulse /discourse/discourse/pulse">
236
+ <span class="octicon octicon-pulse"></span> <span class="full-word">Pulse</span>
237
+ <img alt="Octocat-spinner-32" class="mini-loader" height="16" src="https://github.global.ssl.fastly.net/images/spinners/octocat-spinner-32.gif" width="16" />
238
+ </a> </li>
239
+
240
+ <li class="tooltipped leftwards" title="Graphs">
241
+ <a href="/discourse/discourse/graphs" aria-label="Graphs" class="js-selected-navigation-item " data-pjax="true" data-selected-links="repo_graphs repo_contributors /discourse/discourse/graphs">
242
+ <span class="octicon octicon-graph"></span> <span class="full-word">Graphs</span>
243
+ <img alt="Octocat-spinner-32" class="mini-loader" height="16" src="https://github.global.ssl.fastly.net/images/spinners/octocat-spinner-32.gif" width="16" />
244
+ </a> </li>
245
+
246
+ <li class="tooltipped leftwards" title="Network">
247
+ <a href="/discourse/discourse/network" aria-label="Network" class="js-selected-navigation-item js-disable-pjax" data-selected-links="repo_network /discourse/discourse/network">
248
+ <span class="octicon octicon-git-branch"></span> <span class="full-word">Network</span>
249
+ <img alt="Octocat-spinner-32" class="mini-loader" height="16" src="https://github.global.ssl.fastly.net/images/spinners/octocat-spinner-32.gif" width="16" />
250
+ </a> </li>
251
+
252
+ </ul>
253
+
254
+ </div>
255
+ </div>
256
+
257
+ <div class="only-with-full-nav">
258
+
259
+
260
+
261
+
262
+ <div class="clone-url open"
263
+ data-protocol-type="http"
264
+ data-url="/users/set_protocol?protocol_selector=http&amp;protocol_type=clone">
265
+ <h3><strong>HTTPS</strong> clone URL</h3>
266
+
267
+ <input type="text" class="clone js-url-field"
268
+ value="https://github.com/discourse/discourse.git" readonly="readonly">
269
+
270
+ <span class="js-zeroclipboard url-box-clippy minibutton zeroclipboard-button" data-clipboard-text="https://github.com/discourse/discourse.git" data-copied-hint="copied!" title="copy to clipboard"><span class="octicon octicon-clippy"></span></span>
271
+ </div>
272
+
273
+
274
+
275
+ <div class="clone-url "
276
+ data-protocol-type="subversion"
277
+ data-url="/users/set_protocol?protocol_selector=subversion&amp;protocol_type=clone">
278
+ <h3><strong>Subversion</strong> checkout URL</h3>
279
+
280
+ <input type="text" class="clone js-url-field"
281
+ value="https://github.com/discourse/discourse" readonly="readonly">
282
+
283
+ <span class="js-zeroclipboard url-box-clippy minibutton zeroclipboard-button" data-clipboard-text="https://github.com/discourse/discourse" data-copied-hint="copied!" title="copy to clipboard"><span class="octicon octicon-clippy"></span></span>
284
+ </div>
285
+
286
+
287
+
288
+ <p class="clone-options">You can clone with
289
+ <a href="#" class="js-clone-selector" data-protocol="http">HTTPS</a>,
290
+ <a href="#" class="js-clone-selector" data-protocol="subversion">Subversion</a>,
291
+ and <a href="https://help.github.com/articles/which-remote-url-should-i-use">other methods.</a>
292
+ </p>
293
+
294
+
295
+
296
+ <a href="/discourse/discourse/archive/af685e83ea68dc788dfbb281cae0f403cee0edfc.zip"
297
+ class="minibutton sidebar-button"
298
+ title="Download this repository as a zip file"
299
+ rel="nofollow">
300
+ <span class="octicon octicon-cloud-download"></span>
301
+ Download ZIP
302
+ </a>
303
+ </div>
304
+ </div><!-- /.repository-sidebar -->
305
+
306
+ <div id="js-repo-pjax-container" class="repository-content context-loader-container" data-pjax-container>
307
+
308
+
309
+
310
+ <!-- blob contrib key: blob_contributors:v21:e70ac9d924fefbadd8a671f972582b4d -->
311
+ <!-- blob contrib frag key: views10/v8/blob_contributors:v21:e70ac9d924fefbadd8a671f972582b4d -->
312
+
313
+ <p title="This is a placeholder element" class="js-history-link-replace hidden"></p>
314
+
315
+ <a href="/discourse/discourse/find/af685e83ea68dc788dfbb281cae0f403cee0edfc" data-pjax data-hotkey="t" style="display:none">Show File Finder</a>
316
+
317
+ <div class="file-navigation">
318
+
319
+
320
+
321
+ <div class="select-menu js-menu-container js-select-menu" >
322
+ <span class="minibutton select-menu-button js-menu-target" data-hotkey="w"
323
+ data-master-branch="master"
324
+ data-ref="">
325
+ <span class="octicon octicon-git-branch"></span>
326
+ <i>tree:</i>
327
+ <span class="js-select-button">af685e83ea</span>
328
+ </span>
329
+
330
+ <div class="select-menu-modal-holder js-menu-content js-navigation-container" data-pjax>
331
+
332
+ <div class="select-menu-modal">
333
+ <div class="select-menu-header">
334
+ <span class="select-menu-title">Switch branches/tags</span>
335
+ <span class="octicon octicon-remove-close js-menu-close"></span>
336
+ </div> <!-- /.select-menu-header -->
337
+
338
+ <div class="select-menu-filters">
339
+ <div class="select-menu-text-filter">
340
+ <input type="text" id="context-commitish-filter-field" class="js-filterable-field js-navigation-enable" placeholder="Filter branches/tags">
341
+ </div>
342
+ <div class="select-menu-tabs">
343
+ <ul>
344
+ <li class="select-menu-tab">
345
+ <a href="#" data-tab-filter="branches" class="js-select-menu-tab">Branches</a>
346
+ </li>
347
+ <li class="select-menu-tab">
348
+ <a href="#" data-tab-filter="tags" class="js-select-menu-tab">Tags</a>
349
+ </li>
350
+ </ul>
351
+ </div><!-- /.select-menu-tabs -->
352
+ </div><!-- /.select-menu-filters -->
353
+
354
+ <div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket" data-tab-filter="branches">
355
+
356
+ <div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring">
357
+
358
+
359
+ <div class="select-menu-item js-navigation-item ">
360
+ <span class="select-menu-item-icon octicon octicon-check"></span>
361
+ <a href="/discourse/discourse/blob/bus/app/assets/javascripts/discourse/views/list/list_topics_view.js" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="bus" data-skip-pjax="true" rel="nofollow" title="bus">bus</a>
362
+ </div> <!-- /.select-menu-item -->
363
+ <div class="select-menu-item js-navigation-item ">
364
+ <span class="select-menu-item-icon octicon octicon-check"></span>
365
+ <a href="/discourse/discourse/blob/master/app/assets/javascripts/discourse/views/list/list_topics_view.js" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="master" data-skip-pjax="true" rel="nofollow" title="master">master</a>
366
+ </div> <!-- /.select-menu-item -->
367
+ <div class="select-menu-item js-navigation-item ">
368
+ <span class="select-menu-item-icon octicon octicon-check"></span>
369
+ <a href="/discourse/discourse/blob/rails4/app/assets/javascripts/discourse/views/list/list_topics_view.js" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="rails4" data-skip-pjax="true" rel="nofollow" title="rails4">rails4</a>
370
+ </div> <!-- /.select-menu-item -->
371
+ <div class="select-menu-item js-navigation-item ">
372
+ <span class="select-menu-item-icon octicon octicon-check"></span>
373
+ <a href="/discourse/discourse/blob/security_changes/app/assets/javascripts/discourse/views/list/list_topics_view.js" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="security_changes" data-skip-pjax="true" rel="nofollow" title="security_changes">security_changes</a>
374
+ </div> <!-- /.select-menu-item -->
375
+ </div>
376
+
377
+ <div class="select-menu-no-results">Nothing to show</div>
378
+ </div> <!-- /.select-menu-list -->
379
+
380
+ <div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket" data-tab-filter="tags">
381
+ <div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring">
382
+
383
+
384
+ <div class="select-menu-item js-navigation-item ">
385
+ <span class="select-menu-item-icon octicon octicon-check"></span>
386
+ <a href="/discourse/discourse/blob/v0.9.5.2/app/assets/javascripts/discourse/views/list/list_topics_view.js" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="v0.9.5.2" data-skip-pjax="true" rel="nofollow" title="v0.9.5.2">v0.9.5.2</a>
387
+ </div> <!-- /.select-menu-item -->
388
+ <div class="select-menu-item js-navigation-item ">
389
+ <span class="select-menu-item-icon octicon octicon-check"></span>
390
+ <a href="/discourse/discourse/blob/v0.9.5.1/app/assets/javascripts/discourse/views/list/list_topics_view.js" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="v0.9.5.1" data-skip-pjax="true" rel="nofollow" title="v0.9.5.1">v0.9.5.1</a>
391
+ </div> <!-- /.select-menu-item -->
392
+ <div class="select-menu-item js-navigation-item ">
393
+ <span class="select-menu-item-icon octicon octicon-check"></span>
394
+ <a href="/discourse/discourse/blob/v0.9.5/app/assets/javascripts/discourse/views/list/list_topics_view.js" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="v0.9.5" data-skip-pjax="true" rel="nofollow" title="v0.9.5">v0.9.5</a>
395
+ </div> <!-- /.select-menu-item -->
396
+ <div class="select-menu-item js-navigation-item ">
397
+ <span class="select-menu-item-icon octicon octicon-check"></span>
398
+ <a href="/discourse/discourse/blob/v0.9.4/app/assets/javascripts/discourse/views/list/list_topics_view.js" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="v0.9.4" data-skip-pjax="true" rel="nofollow" title="v0.9.4">v0.9.4</a>
399
+ </div> <!-- /.select-menu-item -->
400
+ <div class="select-menu-item js-navigation-item ">
401
+ <span class="select-menu-item-icon octicon octicon-check"></span>
402
+ <a href="/discourse/discourse/blob/v0.9.3.5/app/assets/javascripts/discourse/views/list/list_topics_view.js" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="v0.9.3.5" data-skip-pjax="true" rel="nofollow" title="v0.9.3.5">v0.9.3.5</a>
403
+ </div> <!-- /.select-menu-item -->
404
+ <div class="select-menu-item js-navigation-item ">
405
+ <span class="select-menu-item-icon octicon octicon-check"></span>
406
+ <a href="/discourse/discourse/blob/v0.9.3/app/assets/javascripts/discourse/views/list/list_topics_view.js" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="v0.9.3" data-skip-pjax="true" rel="nofollow" title="v0.9.3">v0.9.3</a>
407
+ </div> <!-- /.select-menu-item -->
408
+ <div class="select-menu-item js-navigation-item ">
409
+ <span class="select-menu-item-icon octicon octicon-check"></span>
410
+ <a href="/discourse/discourse/blob/v0.9.2.6/app/assets/javascripts/discourse/views/list/list_topics_view.js" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="v0.9.2.6" data-skip-pjax="true" rel="nofollow" title="v0.9.2.6">v0.9.2.6</a>
411
+ </div> <!-- /.select-menu-item -->
412
+ <div class="select-menu-item js-navigation-item ">
413
+ <span class="select-menu-item-icon octicon octicon-check"></span>
414
+ <a href="/discourse/discourse/blob/v0.9.2.5/app/assets/javascripts/discourse/views/list/list_topics_view.js" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="v0.9.2.5" data-skip-pjax="true" rel="nofollow" title="v0.9.2.5">v0.9.2.5</a>
415
+ </div> <!-- /.select-menu-item -->
416
+ <div class="select-menu-item js-navigation-item ">
417
+ <span class="select-menu-item-icon octicon octicon-check"></span>
418
+ <a href="/discourse/discourse/blob/v0.9.2/app/assets/javascripts/discourse/views/list/list_topics_view.js" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="v0.9.2" data-skip-pjax="true" rel="nofollow" title="v0.9.2">v0.9.2</a>
419
+ </div> <!-- /.select-menu-item -->
420
+ <div class="select-menu-item js-navigation-item ">
421
+ <span class="select-menu-item-icon octicon octicon-check"></span>
422
+ <a href="/discourse/discourse/blob/v0.9.1/app/assets/javascripts/discourse/views/list/list_topics_view.js" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="v0.9.1" data-skip-pjax="true" rel="nofollow" title="v0.9.1">v0.9.1</a>
423
+ </div> <!-- /.select-menu-item -->
424
+ <div class="select-menu-item js-navigation-item ">
425
+ <span class="select-menu-item-icon octicon octicon-check"></span>
426
+ <a href="/discourse/discourse/blob/v0.9.0/app/assets/javascripts/discourse/views/list/list_topics_view.js" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="v0.9.0" data-skip-pjax="true" rel="nofollow" title="v0.9.0">v0.9.0</a>
427
+ </div> <!-- /.select-menu-item -->
428
+ <div class="select-menu-item js-navigation-item ">
429
+ <span class="select-menu-item-icon octicon octicon-check"></span>
430
+ <a href="/discourse/discourse/blob/v0.8.9/app/assets/javascripts/discourse/views/list/list_topics_view.js" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="v0.8.9" data-skip-pjax="true" rel="nofollow" title="v0.8.9">v0.8.9</a>
431
+ </div> <!-- /.select-menu-item -->
432
+ <div class="select-menu-item js-navigation-item ">
433
+ <span class="select-menu-item-icon octicon octicon-check"></span>
434
+ <a href="/discourse/discourse/blob/v0.8.8/app/assets/javascripts/discourse/views/list/list_topics_view.js" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="v0.8.8" data-skip-pjax="true" rel="nofollow" title="v0.8.8">v0.8.8</a>
435
+ </div> <!-- /.select-menu-item -->
436
+ <div class="select-menu-item js-navigation-item ">
437
+ <span class="select-menu-item-icon octicon octicon-check"></span>
438
+ <a href="/discourse/discourse/blob/v0.8.7/app/assets/javascripts/discourse/views/list/list_topics_view.js" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="v0.8.7" data-skip-pjax="true" rel="nofollow" title="v0.8.7">v0.8.7</a>
439
+ </div> <!-- /.select-menu-item -->
440
+ <div class="select-menu-item js-navigation-item ">
441
+ <span class="select-menu-item-icon octicon octicon-check"></span>
442
+ <a href="/discourse/discourse/blob/v0.8.6/app/assets/javascripts/discourse/views/list/list_topics_view.js" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="v0.8.6" data-skip-pjax="true" rel="nofollow" title="v0.8.6">v0.8.6</a>
443
+ </div> <!-- /.select-menu-item -->
444
+ <div class="select-menu-item js-navigation-item ">
445
+ <span class="select-menu-item-icon octicon octicon-check"></span>
446
+ <a href="/discourse/discourse/blob/v0.8.5/app/assets/javascripts/discourse/views/list/list_topics_view.js" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="v0.8.5" data-skip-pjax="true" rel="nofollow" title="v0.8.5">v0.8.5</a>
447
+ </div> <!-- /.select-menu-item -->
448
+ <div class="select-menu-item js-navigation-item ">
449
+ <span class="select-menu-item-icon octicon octicon-check"></span>
450
+ <a href="/discourse/discourse/blob/v0.8.4/app/assets/javascripts/discourse/views/list/list_topics_view.js" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="v0.8.4" data-skip-pjax="true" rel="nofollow" title="v0.8.4">v0.8.4</a>
451
+ </div> <!-- /.select-menu-item -->
452
+ <div class="select-menu-item js-navigation-item ">
453
+ <span class="select-menu-item-icon octicon octicon-check"></span>
454
+ <a href="/discourse/discourse/blob/v0.8.3/app/assets/javascripts/discourse/views/list/list_topics_view.js" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="v0.8.3" data-skip-pjax="true" rel="nofollow" title="v0.8.3">v0.8.3</a>
455
+ </div> <!-- /.select-menu-item -->
456
+ <div class="select-menu-item js-navigation-item ">
457
+ <span class="select-menu-item-icon octicon octicon-check"></span>
458
+ <a href="/discourse/discourse/blob/v0.8.2/app/assets/javascripts/discourse/views/list/list_topics_view.js" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="v0.8.2" data-skip-pjax="true" rel="nofollow" title="v0.8.2">v0.8.2</a>
459
+ </div> <!-- /.select-menu-item -->
460
+ <div class="select-menu-item js-navigation-item ">
461
+ <span class="select-menu-item-icon octicon octicon-check"></span>
462
+ <a href="/discourse/discourse/blob/v0.8.1/app/assets/javascripts/discourse/views/list/list_topics_view.js" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="v0.8.1" data-skip-pjax="true" rel="nofollow" title="v0.8.1">v0.8.1</a>
463
+ </div> <!-- /.select-menu-item -->
464
+ <div class="select-menu-item js-navigation-item ">
465
+ <span class="select-menu-item-icon octicon octicon-check"></span>
466
+ <a href="/discourse/discourse/blob/v0.8.0/app/assets/javascripts/discourse/views/list/list_topics_view.js" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="v0.8.0" data-skip-pjax="true" rel="nofollow" title="v0.8.0">v0.8.0</a>
467
+ </div> <!-- /.select-menu-item -->
468
+ <div class="select-menu-item js-navigation-item ">
469
+ <span class="select-menu-item-icon octicon octicon-check"></span>
470
+ <a href="/discourse/discourse/blob/latest-release/app/assets/javascripts/discourse/views/list/list_topics_view.js" class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" data-name="latest-release" data-skip-pjax="true" rel="nofollow" title="latest-release">latest-release</a>
471
+ </div> <!-- /.select-menu-item -->
472
+ </div>
473
+
474
+ <div class="select-menu-no-results">Nothing to show</div>
475
+ </div> <!-- /.select-menu-list -->
476
+
477
+ </div> <!-- /.select-menu-modal -->
478
+ </div> <!-- /.select-menu-modal-holder -->
479
+ </div> <!-- /.select-menu -->
480
+
481
+ <div class="breadcrumb">
482
+ <span class='repo-root js-repo-root'><span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/discourse/discourse/tree/af685e83ea68dc788dfbb281cae0f403cee0edfc" data-branch="af685e83ea68dc788dfbb281cae0f403cee0edfc" data-direction="back" data-pjax="true" itemscope="url" rel="nofollow"><span itemprop="title">discourse</span></a></span></span><span class="separator"> / </span><span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/discourse/discourse/tree/af685e83ea68dc788dfbb281cae0f403cee0edfc/app" data-branch="af685e83ea68dc788dfbb281cae0f403cee0edfc" data-direction="back" data-pjax="true" itemscope="url" rel="nofollow"><span itemprop="title">app</span></a></span><span class="separator"> / </span><span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/discourse/discourse/tree/af685e83ea68dc788dfbb281cae0f403cee0edfc/app/assets" data-branch="af685e83ea68dc788dfbb281cae0f403cee0edfc" data-direction="back" data-pjax="true" itemscope="url" rel="nofollow"><span itemprop="title">assets</span></a></span><span class="separator"> / </span><span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/discourse/discourse/tree/af685e83ea68dc788dfbb281cae0f403cee0edfc/app/assets/javascripts" data-branch="af685e83ea68dc788dfbb281cae0f403cee0edfc" data-direction="back" data-pjax="true" itemscope="url" rel="nofollow"><span itemprop="title">javascripts</span></a></span><span class="separator"> / </span><span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/discourse/discourse/tree/af685e83ea68dc788dfbb281cae0f403cee0edfc/app/assets/javascripts/discourse" data-branch="af685e83ea68dc788dfbb281cae0f403cee0edfc" data-direction="back" data-pjax="true" itemscope="url" rel="nofollow"><span itemprop="title">discourse</span></a></span><span class="separator"> / </span><span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/discourse/discourse/tree/af685e83ea68dc788dfbb281cae0f403cee0edfc/app/assets/javascripts/discourse/views" data-branch="af685e83ea68dc788dfbb281cae0f403cee0edfc" data-direction="back" data-pjax="true" itemscope="url" rel="nofollow"><span itemprop="title">views</span></a></span><span class="separator"> / </span><span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/discourse/discourse/tree/af685e83ea68dc788dfbb281cae0f403cee0edfc/app/assets/javascripts/discourse/views/list" data-branch="af685e83ea68dc788dfbb281cae0f403cee0edfc" data-direction="back" data-pjax="true" itemscope="url" rel="nofollow"><span itemprop="title">list</span></a></span><span class="separator"> / </span><strong class="final-path">list_topics_view.js</strong> <span class="js-zeroclipboard minibutton zeroclipboard-button" data-clipboard-text="app/assets/javascripts/discourse/views/list/list_topics_view.js" data-copied-hint="copied!" title="copy to clipboard"><span class="octicon octicon-clippy"></span></span>
483
+ </div>
484
+ </div>
485
+
486
+
487
+
488
+ <div class="commit file-history-tease">
489
+ <img class="main-avatar" height="24" src="https://secure.gravatar.com/avatar/3dcae8378d46c244172a115c28ca49ce?s=140&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png" width="24" />
490
+ <span class="author"><a href="/SamSaffron" rel="author">SamSaffron</a></span>
491
+ <time class="js-relative-date" datetime="2013-08-01T22:11:09-07:00" title="2013-08-01 22:11:09">August 01, 2013</time>
492
+ <div class="commit-title">
493
+ <a href="/discourse/discourse/commit/af685e83ea68dc788dfbb281cae0f403cee0edfc" class="message" data-pjax="true" title="oh my this convenience method sure is not convenient">oh my this convenience method sure is not convenient</a>
494
+ </div>
495
+
496
+ <div class="participation">
497
+ <p class="quickstat"><a href="#blob_contributors_box" rel="facebox"><strong>3</strong> contributors</a></p>
498
+ <a class="avatar tooltipped downwards" title="eviltrout" href="/discourse/discourse/commits/master/app/assets/javascripts/discourse/views/list/list_topics_view.js?author=eviltrout"><img height="20" src="https://secure.gravatar.com/avatar/c6e17f2ae2a215e87ff9e878a4e63cd9?s=140&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png" width="20" /></a>
499
+ <a class="avatar tooltipped downwards" title="SamSaffron" href="/discourse/discourse/commits/master/app/assets/javascripts/discourse/views/list/list_topics_view.js?author=SamSaffron"><img height="20" src="https://secure.gravatar.com/avatar/3dcae8378d46c244172a115c28ca49ce?s=140&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png" width="20" /></a>
500
+ <a class="avatar tooltipped downwards" title="nlalonde" href="/discourse/discourse/commits/master/app/assets/javascripts/discourse/views/list/list_topics_view.js?author=nlalonde"><img height="20" src="https://secure.gravatar.com/avatar/038bd75768f2a1a096d0b88a99ecf4d3?s=140&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png" width="20" /></a>
501
+
502
+
503
+ </div>
504
+ <div id="blob_contributors_box" style="display:none">
505
+ <h2 class="facebox-header">Users who have contributed to this file</h2>
506
+ <ul class="facebox-user-list">
507
+ <li class="facebox-user-list-item">
508
+ <img height="24" src="https://secure.gravatar.com/avatar/c6e17f2ae2a215e87ff9e878a4e63cd9?s=140&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png" width="24" />
509
+ <a href="/eviltrout">eviltrout</a>
510
+ </li>
511
+ <li class="facebox-user-list-item">
512
+ <img height="24" src="https://secure.gravatar.com/avatar/3dcae8378d46c244172a115c28ca49ce?s=140&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png" width="24" />
513
+ <a href="/SamSaffron">SamSaffron</a>
514
+ </li>
515
+ <li class="facebox-user-list-item">
516
+ <img height="24" src="https://secure.gravatar.com/avatar/038bd75768f2a1a096d0b88a99ecf4d3?s=140&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png" width="24" />
517
+ <a href="/nlalonde">nlalonde</a>
518
+ </li>
519
+ </ul>
520
+ </div>
521
+ </div>
522
+
523
+
524
+ <div id="files" class="bubble">
525
+ <div class="file">
526
+ <div class="meta">
527
+ <div class="info">
528
+ <span class="icon"><b class="octicon octicon-file-text"></b></span>
529
+ <span class="mode" title="File Mode">file</span>
530
+ <span>65 lines (52 sloc)</span>
531
+ <span>1.733 kb</span>
532
+ </div>
533
+ <div class="actions">
534
+ <div class="button-group">
535
+ <a class="minibutton js-entice" href=""
536
+ data-entice="You must be signed in to make or propose changes">Edit</a>
537
+ <a href="/discourse/discourse/raw/af685e83ea68dc788dfbb281cae0f403cee0edfc/app/assets/javascripts/discourse/views/list/list_topics_view.js" class="button minibutton " id="raw-url">Raw</a>
538
+ <a href="/discourse/discourse/blame/af685e83ea68dc788dfbb281cae0f403cee0edfc/app/assets/javascripts/discourse/views/list/list_topics_view.js" class="button minibutton ">Blame</a>
539
+ <a href="/discourse/discourse/commits/af685e83ea68dc788dfbb281cae0f403cee0edfc/app/assets/javascripts/discourse/views/list/list_topics_view.js" class="button minibutton " rel="nofollow">History</a>
540
+ </div><!-- /.button-group -->
541
+ <a class="minibutton danger empty-icon js-entice" href=""
542
+ data-entice="You must be signed in and on a branch to make or propose changes">
543
+ Delete
544
+ </a>
545
+ </div><!-- /.actions -->
546
+
547
+ </div>
548
+ <div class="blob-wrapper data type-javascript js-blob-data">
549
+ <table class="file-code file-diff">
550
+ <tr class="file-code-line">
551
+ <td class="blob-line-nums">
552
+ <span id="L1" rel="#L1">1</span>
553
+ <span id="L2" rel="#L2">2</span>
554
+ <span id="L3" rel="#L3">3</span>
555
+ <span id="L4" rel="#L4">4</span>
556
+ <span id="L5" rel="#L5">5</span>
557
+ <span id="L6" rel="#L6">6</span>
558
+ <span id="L7" rel="#L7">7</span>
559
+ <span id="L8" rel="#L8">8</span>
560
+ <span id="L9" rel="#L9">9</span>
561
+ <span id="L10" rel="#L10">10</span>
562
+ <span id="L11" rel="#L11">11</span>
563
+ <span id="L12" rel="#L12">12</span>
564
+ <span id="L13" rel="#L13">13</span>
565
+ <span id="L14" rel="#L14">14</span>
566
+ <span id="L15" rel="#L15">15</span>
567
+ <span id="L16" rel="#L16">16</span>
568
+ <span id="L17" rel="#L17">17</span>
569
+ <span id="L18" rel="#L18">18</span>
570
+ <span id="L19" rel="#L19">19</span>
571
+ <span id="L20" rel="#L20">20</span>
572
+ <span id="L21" rel="#L21">21</span>
573
+ <span id="L22" rel="#L22">22</span>
574
+ <span id="L23" rel="#L23">23</span>
575
+ <span id="L24" rel="#L24">24</span>
576
+ <span id="L25" rel="#L25">25</span>
577
+ <span id="L26" rel="#L26">26</span>
578
+ <span id="L27" rel="#L27">27</span>
579
+ <span id="L28" rel="#L28">28</span>
580
+ <span id="L29" rel="#L29">29</span>
581
+ <span id="L30" rel="#L30">30</span>
582
+ <span id="L31" rel="#L31">31</span>
583
+ <span id="L32" rel="#L32">32</span>
584
+ <span id="L33" rel="#L33">33</span>
585
+ <span id="L34" rel="#L34">34</span>
586
+ <span id="L35" rel="#L35">35</span>
587
+ <span id="L36" rel="#L36">36</span>
588
+ <span id="L37" rel="#L37">37</span>
589
+ <span id="L38" rel="#L38">38</span>
590
+ <span id="L39" rel="#L39">39</span>
591
+ <span id="L40" rel="#L40">40</span>
592
+ <span id="L41" rel="#L41">41</span>
593
+ <span id="L42" rel="#L42">42</span>
594
+ <span id="L43" rel="#L43">43</span>
595
+ <span id="L44" rel="#L44">44</span>
596
+ <span id="L45" rel="#L45">45</span>
597
+ <span id="L46" rel="#L46">46</span>
598
+ <span id="L47" rel="#L47">47</span>
599
+ <span id="L48" rel="#L48">48</span>
600
+ <span id="L49" rel="#L49">49</span>
601
+ <span id="L50" rel="#L50">50</span>
602
+ <span id="L51" rel="#L51">51</span>
603
+ <span id="L52" rel="#L52">52</span>
604
+ <span id="L53" rel="#L53">53</span>
605
+ <span id="L54" rel="#L54">54</span>
606
+ <span id="L55" rel="#L55">55</span>
607
+ <span id="L56" rel="#L56">56</span>
608
+ <span id="L57" rel="#L57">57</span>
609
+ <span id="L58" rel="#L58">58</span>
610
+ <span id="L59" rel="#L59">59</span>
611
+ <span id="L60" rel="#L60">60</span>
612
+ <span id="L61" rel="#L61">61</span>
613
+ <span id="L62" rel="#L62">62</span>
614
+ <span id="L63" rel="#L63">63</span>
615
+ <span id="L64" rel="#L64">64</span>
616
+
617
+ </td>
618
+ <td class="blob-line-code">
619
+ <div class="highlight"><pre><div class='line' id='LC1'><span class="cm">/**</span></div><div class='line' id='LC2'><span class="cm"> This view handles the rendering of a topic list</span></div><div class='line' id='LC3'><br/></div><div class='line' id='LC4'><span class="cm"> @class ListTopicsView</span></div><div class='line' id='LC5'><span class="cm"> @extends Discourse.View</span></div><div class='line' id='LC6'><span class="cm"> @namespace Discourse</span></div><div class='line' id='LC7'><span class="cm"> @uses Discourse.LoadMore</span></div><div class='line' id='LC8'><span class="cm"> @module Discourse</span></div><div class='line' id='LC9'><span class="cm">**/</span></div><div class='line' id='LC10'><span class="nx">Discourse</span><span class="p">.</span><span class="nx">ListTopicsView</span> <span class="o">=</span> <span class="nx">Discourse</span><span class="p">.</span><span class="nx">View</span><span class="p">.</span><span class="nx">extend</span><span class="p">(</span><span class="nx">Discourse</span><span class="p">.</span><span class="nx">LoadMore</span><span class="p">,</span> <span class="p">{</span></div><div class='line' id='LC11'>&nbsp;&nbsp;<span class="nx">templateName</span><span class="o">:</span> <span class="s1">&#39;list/topics&#39;</span><span class="p">,</span></div><div class='line' id='LC12'>&nbsp;&nbsp;<span class="nx">categoryBinding</span><span class="o">:</span> <span class="s1">&#39;controller.controllers.list.category&#39;</span><span class="p">,</span></div><div class='line' id='LC13'>&nbsp;&nbsp;<span class="nx">canCreateTopicBinding</span><span class="o">:</span> <span class="s1">&#39;controller.controllers.list.canCreateTopic&#39;</span><span class="p">,</span></div><div class='line' id='LC14'>&nbsp;&nbsp;<span class="nx">listBinding</span><span class="o">:</span> <span class="s1">&#39;controller.model&#39;</span><span class="p">,</span></div><div class='line' id='LC15'>&nbsp;&nbsp;<span class="nx">loadedMore</span><span class="o">:</span> <span class="kc">false</span><span class="p">,</span></div><div class='line' id='LC16'>&nbsp;&nbsp;<span class="nx">currentTopicId</span><span class="o">:</span> <span class="kc">null</span><span class="p">,</span></div><div class='line' id='LC17'>&nbsp;&nbsp;<span class="nx">eyelineSelector</span><span class="o">:</span> <span class="s1">&#39;.topic-list-item&#39;</span><span class="p">,</span></div><div class='line' id='LC18'><br/></div><div class='line' id='LC19'>&nbsp;&nbsp;<span class="nx">topicTrackingState</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC20'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="nx">Discourse</span><span class="p">.</span><span class="nx">TopicTrackingState</span><span class="p">.</span><span class="nx">current</span><span class="p">();</span></div><div class='line' id='LC21'>&nbsp;&nbsp;<span class="p">}.</span><span class="nx">property</span><span class="p">(),</span></div><div class='line' id='LC22'><br/></div><div class='line' id='LC23'>&nbsp;&nbsp;<span class="nx">didInsertElement</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC24'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">this</span><span class="p">.</span><span class="nx">_super</span><span class="p">();</span></div><div class='line' id='LC25'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">Em</span><span class="p">.</span><span class="nx">run</span><span class="p">.</span><span class="nx">schedule</span><span class="p">(</span><span class="s1">&#39;afterRender&#39;</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC26'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$</span><span class="p">(</span><span class="s1">&#39;html, body&#39;</span><span class="p">).</span><span class="nx">scrollTop</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span></div><div class='line' id='LC27'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">});</span></div><div class='line' id='LC28'>&nbsp;&nbsp;<span class="p">},</span></div><div class='line' id='LC29'><br/></div><div class='line' id='LC30'>&nbsp;&nbsp;<span class="nx">hasTopics</span><span class="o">:</span> <span class="nx">Em</span><span class="p">.</span><span class="nx">computed</span><span class="p">.</span><span class="nx">gt</span><span class="p">(</span><span class="s1">&#39;list.topics.length&#39;</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span></div><div class='line' id='LC31'>&nbsp;&nbsp;<span class="nx">showTable</span><span class="o">:</span> <span class="nx">Em</span><span class="p">.</span><span class="nx">computed</span><span class="p">.</span><span class="nx">or</span><span class="p">(</span><span class="s1">&#39;hasTopics&#39;</span><span class="p">,</span> <span class="s1">&#39;topicTrackingState.hasIncoming&#39;</span><span class="p">),</span></div><div class='line' id='LC32'><br/></div><div class='line' id='LC33'>&nbsp;&nbsp;<span class="nx">updateTitle</span><span class="o">:</span> <span class="kd">function</span><span class="p">(){</span></div><div class='line' id='LC34'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">Discourse</span><span class="p">.</span><span class="nx">notifyTitle</span><span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;topicTrackingState.incomingCount&#39;</span><span class="p">));</span></div><div class='line' id='LC35'>&nbsp;&nbsp;<span class="p">}.</span><span class="nx">observes</span><span class="p">(</span><span class="s1">&#39;topicTrackingState.incomingCount&#39;</span><span class="p">),</span></div><div class='line' id='LC36'><br/></div><div class='line' id='LC37'>&nbsp;&nbsp;<span class="nx">loadMore</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC38'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">listTopicsView</span> <span class="o">=</span> <span class="k">this</span><span class="p">;</span></div><div class='line' id='LC39'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">Discourse</span><span class="p">.</span><span class="nx">notifyTitle</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span></div><div class='line' id='LC40'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">listTopicsView</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;controller&#39;</span><span class="p">).</span><span class="nx">loadMore</span><span class="p">().</span><span class="nx">then</span><span class="p">(</span><span class="kd">function</span> <span class="p">(</span><span class="nx">hasMoreResults</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC41'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">Em</span><span class="p">.</span><span class="nx">run</span><span class="p">.</span><span class="nx">schedule</span><span class="p">(</span><span class="s1">&#39;afterRender&#39;</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC42'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">listTopicsView</span><span class="p">.</span><span class="nx">saveScrollPosition</span><span class="p">();</span></div><div class='line' id='LC43'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">});</span></div><div class='line' id='LC44'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">hasMoreResults</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC45'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">listTopicsView</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;eyeline&#39;</span><span class="p">).</span><span class="nx">flushRest</span><span class="p">();</span></div><div class='line' id='LC46'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC47'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">});</span></div><div class='line' id='LC48'>&nbsp;&nbsp;<span class="p">},</span></div><div class='line' id='LC49'><br/></div><div class='line' id='LC50'>&nbsp;&nbsp;<span class="c1">// Remember where we were scrolled to</span></div><div class='line' id='LC51'>&nbsp;&nbsp;<span class="nx">saveScrollPosition</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC52'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">Discourse</span><span class="p">.</span><span class="nx">Session</span><span class="p">.</span><span class="nx">current</span><span class="p">().</span><span class="nx">set</span><span class="p">(</span><span class="s1">&#39;topicListScrollPosition&#39;</span><span class="p">,</span> <span class="nx">$</span><span class="p">(</span><span class="nb">window</span><span class="p">).</span><span class="nx">scrollTop</span><span class="p">());</span></div><div class='line' id='LC53'>&nbsp;&nbsp;<span class="p">},</span></div><div class='line' id='LC54'><br/></div><div class='line' id='LC55'>&nbsp;&nbsp;<span class="c1">// When the topic list is scrolled</span></div><div class='line' id='LC56'>&nbsp;&nbsp;<span class="nx">scrolled</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC57'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">this</span><span class="p">.</span><span class="nx">_super</span><span class="p">();</span></div><div class='line' id='LC58'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">this</span><span class="p">.</span><span class="nx">saveScrollPosition</span><span class="p">();</span></div><div class='line' id='LC59'>&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC60'><br/></div><div class='line' id='LC61'><br/></div><div class='line' id='LC62'><span class="p">});</span></div><div class='line' id='LC63'><br/></div><div class='line' id='LC64'><br/></div></pre></div>
620
+ </td>
621
+ </tr>
622
+ </table>
623
+ </div>
624
+
625
+ </div>
626
+ </div>
627
+
628
+ <a href="#jump-to-line" rel="facebox[.linejump]" data-hotkey="l" class="js-jump-to-line" style="display:none">Jump to Line</a>
629
+ <div id="jump-to-line" style="display:none">
630
+ <form accept-charset="UTF-8" class="js-jump-to-line-form">
631
+ <input class="linejump-input js-jump-to-line-field" type="text" placeholder="Jump to line&hellip;" autofocus>
632
+ <button type="submit" class="button">Go</button>
633
+ </form>
634
+ </div>
635
+
636
+ </div>
637
+
638
+ </div><!-- /.repo-container -->
639
+ <div class="modal-backdrop"></div>
640
+ </div><!-- /.container -->
641
+ </div><!-- /.site -->
642
+
643
+
644
+ </div><!-- /.wrapper -->
645
+
646
+ <div class="container">
647
+ <div class="site-footer">
648
+ <ul class="site-footer-links right">
649
+ <li><a href="https://status.github.com/">Status</a></li>
650
+ <li><a href="http://developer.github.com">API</a></li>
651
+ <li><a href="http://training.github.com">Training</a></li>
652
+ <li><a href="http://shop.github.com">Shop</a></li>
653
+ <li><a href="/blog">Blog</a></li>
654
+ <li><a href="/about">About</a></li>
655
+
656
+ </ul>
657
+
658
+ <a href="/">
659
+ <span class="mega-octicon octicon-mark-github"></span>
660
+ </a>
661
+
662
+ <ul class="site-footer-links">
663
+ <li>&copy; 2013 <span title="0.04891s from fe18.rs.github.com">GitHub</span>, Inc.</li>
664
+ <li><a href="/site/terms">Terms</a></li>
665
+ <li><a href="/site/privacy">Privacy</a></li>
666
+ <li><a href="/security">Security</a></li>
667
+ <li><a href="/contact">Contact</a></li>
668
+ </ul>
669
+ </div><!-- /.site-footer -->
670
+ </div><!-- /.container -->
671
+
672
+
673
+ <div class="fullscreen-overlay js-fullscreen-overlay" id="fullscreen_overlay">
674
+ <div class="fullscreen-container js-fullscreen-container">
675
+ <div class="textarea-wrap">
676
+ <textarea name="fullscreen-contents" id="fullscreen-contents" class="js-fullscreen-contents" placeholder="" data-suggester="fullscreen_suggester"></textarea>
677
+ <div class="suggester-container">
678
+ <div class="suggester fullscreen-suggester js-navigation-container" id="fullscreen_suggester"
679
+ data-url="/discourse/discourse/suggestions/commit">
680
+ </div>
681
+ </div>
682
+ </div>
683
+ </div>
684
+ <div class="fullscreen-sidebar">
685
+ <a href="#" class="exit-fullscreen js-exit-fullscreen tooltipped leftwards" title="Exit Zen Mode">
686
+ <span class="mega-octicon octicon-screen-normal"></span>
687
+ </a>
688
+ <a href="#" class="theme-switcher js-theme-switcher tooltipped leftwards"
689
+ title="Switch themes">
690
+ <span class="octicon octicon-color-mode"></span>
691
+ </a>
692
+ </div>
693
+ </div>
694
+
695
+
696
+
697
+ <div id="ajax-error-message" class="flash flash-error">
698
+ <span class="octicon octicon-alert"></span>
699
+ <a href="#" class="octicon octicon-remove-close close ajax-error-dismiss"></a>
700
+ Something went wrong with that request. Please try again.
701
+ </div>
702
+
703
+
704
+ </body>
705
+ </html>
706
+