jekyll-lenciel-theme 0.2.4 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0f847ba0e6302f7c345f8c2fca4f2aef3966c686
4
- data.tar.gz: 51b77f96478ba6e832308caca48c92031ea34a08
3
+ metadata.gz: 63cc6f7aa7e8c2d90ada83d0827ab532d052e173
4
+ data.tar.gz: fe4499aa013a21d594562842317e71e6f239c9d4
5
5
  SHA512:
6
- metadata.gz: 9394922f7ac823dc0001590b79aa89863f24b40604680219828f37bdd733db663972a70cf32e560ca606e806ab57a7c061a4859d6ac284ec7f8da10290dfcf19
7
- data.tar.gz: 01de0bb5d066e9b1f458ec1f5ab8d537d4c8d6078b6fd911e8b88dde25d67d62cc7ee972137e44753a9ead8fe9996f4e00c89516702f35b8323f4e61c1a4facd
6
+ metadata.gz: 2b0bc98f525a3c9380ad78c4efb28ae99f71fd8fbe5f079263751dfab2c7edd5375d9835977cac2f5b20008c0ba1ffa408745b0a3e621bef3c11e315c3bb0ff3
7
+ data.tar.gz: 30afdc0d72034fc707d1e6e9caec602ea065de953a78ed235dc19b83341b23a827805758317a85b252c73c1e7a50bc443454a61f23df2790e9316bb55db53f70
@@ -1,5 +1,3 @@
1
1
  {% include disqus.html %}
2
2
  {% include facebook_like.html %}
3
- {% include google_plus_one.html %}
4
- {% include twitter_sharing.html %}
5
3
  {% include custom/after_footer.html %}
data/_includes/head.html CHANGED
@@ -22,7 +22,6 @@
22
22
  <script src="{{ root_url }}/assets/javascripts/libs/modernizr.custom.55630.js"></script>
23
23
  <script src="{{ root_url }}/assets/javascripts/ender.js"></script>
24
24
  <script src="{{ root_url }}/assets/javascripts/libs/jquery.min.js"></script>
25
- <script src="{{ root_url }}/assets/javascripts/octopress.js" type="text/javascript"></script>
26
25
  <link href="{{ site.subscribe_rss }}" rel="alternate" title="{{site.title}}" type="application/atom+xml">
27
26
  {% include custom/head.html %}
28
27
  {% include custom/baidu_analytics.html %}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-lenciel-theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - lenciel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-31 00:00:00.000000000 Z
11
+ date: 2017-04-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -78,10 +78,6 @@ files:
78
78
  - _includes/after_footer.html
79
79
  - _includes/archive_post.html
80
80
  - _includes/article.html
81
- - _includes/asides/delicious.html
82
- - _includes/asides/github.html
83
- - _includes/asides/googleplus.html
84
- - _includes/asides/pinboard.html
85
81
  - _includes/asides/recent_posts.html
86
82
  - _includes/custom/after_footer.html
87
83
  - _includes/custom/asides/about.html
@@ -104,7 +100,6 @@ files:
104
100
  - _includes/post/date.html
105
101
  - _includes/post/disqus_thread.html
106
102
  - _includes/post/sharing.html
107
- - _includes/twitter_sharing.html
108
103
  - _layouts/default.html
109
104
  - _layouts/home.html
110
105
  - _layouts/page.html
@@ -154,7 +149,6 @@ files:
154
149
  - assets/images/search.png
155
150
  - assets/images/sorry.gif
156
151
  - assets/javascripts/ender.js
157
- - assets/javascripts/github.js
158
152
  - assets/javascripts/libs/jXHR.js
159
153
  - assets/javascripts/libs/jquery.min.js
160
154
  - assets/javascripts/libs/jquery.min.map
@@ -196,11 +190,6 @@ files:
196
190
  - assets/javascripts/libs/jwplayer/glow/sharing/shareScreen.png
197
191
  - assets/javascripts/libs/jwplayer/player.swf
198
192
  - assets/javascripts/libs/modernizr.custom.55630.js
199
- - assets/javascripts/libs/swfobject-dynamic.js
200
- - assets/javascripts/modernizr-2.0.js
201
- - assets/javascripts/octopress.js
202
- - assets/javascripts/pinboard.js
203
- - assets/javascripts/twitter.js
204
193
  - assets/stylesheets/data-table.css
205
194
  - assets/stylesheets/screen.css
206
195
  - index.md
@@ -1,8 +0,0 @@
1
- {% if site.delicious_user %}
2
- <section>
3
- <h1>On Delicious</h1>
4
- <div id="delicious"></div>
5
- <script type="text/javascript" src="http://feeds.delicious.com/v2/json/{{ site.delicious_user }}?count={{ site.delicious_count }}&amp;sort=date&amp;callback=renderDeliciousLinks"></script>
6
- <p><a href="http://delicious.com/{{ site.delicious_user }}">My Delicious Bookmarks &raquo;</a></p>
7
- </section>
8
- {% endif %}
@@ -1,30 +0,0 @@
1
- {% if site.github_user %}
2
- <section>
3
- <h1>GitHub Repos</h1>
4
- <ul id="gh_repos">
5
- <li class="loading">Status updating...</li>
6
- </ul>
7
- {% if site.github_show_profile_link %}
8
- <a href="https://github.com/{{site.github_user}}">@{{site.github_user}}</a> on GitHub
9
- {% endif %}
10
- <script type="text/javascript">
11
- $(document).ready(function(){
12
- if (!window.jXHR){
13
- var jxhr = document.createElement('script');
14
- jxhr.type = 'text/javascript';
15
- jxhr.src = '{{ root_url}}/javascripts/libs/jXHR.js';
16
- var s = document.getElementsByTagName('script')[0];
17
- s.parentNode.insertBefore(jxhr, s);
18
- }
19
-
20
- github.showRepos({
21
- user: '{{site.github_user}}',
22
- count: {{site.github_repo_count}},
23
- skip_forks: {{site.github_skip_forks}},
24
- target: '#gh_repos'
25
- });
26
- });
27
- </script>
28
- <script src="{{ root_url }}/javascripts/github.js" type="text/javascript"> </script>
29
- </section>
30
- {% endif %}
@@ -1,11 +0,0 @@
1
- {% if site.googleplus_user %}
2
- <section class="googleplus{% if site.googleplus_hidden %} googleplus-hidden{% endif %}">
3
- <h1>
4
- <a href="https://plus.google.com/{{ site.googleplus_user }}?rel=author">
5
- <img src="http://www.google.com/images/icons/ui/gprofile_button-32.png" width="32" height="32">
6
- Google+
7
- </a>
8
- </h1>
9
- </section>
10
- {% endif %}
11
-
@@ -1,19 +0,0 @@
1
- {% if site.pinboard_user %}
2
- <section>
3
- <h1>My Pinboard</h1>
4
- <ul id="pinboard_linkroll">Fetching linkroll...</ul>
5
- <p><a href="http://pinboard.in/u:{{ site.pinboard_user }}">My Pinboard Bookmarks &raquo;</a></p>
6
- </section>
7
- <script type="text/javascript">
8
- var linkroll = 'pinboard_linkroll'; //id target for pinboard list
9
- var pinboard_user = "{{ site.pinboard_user }}"; //id target for pinboard list
10
- var pinboard_count = {{ site.pinboard_count }}; //id target for pinboard list
11
- (function(){
12
- var pinboardInit = document.createElement('script');
13
- pinboardInit.type = 'text/javascript';
14
- pinboardInit.async = true;
15
- pinboardInit.src = '{{ root_url }}/javascripts/pinboard.js';
16
- document.getElementsByTagName('head')[0].appendChild(pinboardInit);
17
- })();
18
- </script>
19
- {% endif %}
@@ -1,11 +0,0 @@
1
- {% if site.twitter_follow_button or site.twitter_tweet_button %}
2
- <script type="text/javascript">
3
- (function(){
4
- var twitterWidgets = document.createElement('script');
5
- twitterWidgets.type = 'text/javascript';
6
- twitterWidgets.async = true;
7
- twitterWidgets.src = '//platform.twitter.com/widgets.js';
8
- document.getElementsByTagName('head')[0].appendChild(twitterWidgets);
9
- })();
10
- </script>
11
- {% endif %}
@@ -1,32 +0,0 @@
1
- var github = (function(){
2
- function escapeHtml(str) {
3
- return $('<div/>').text(str).html();
4
- }
5
- function render(target, repos){
6
- var i = 0, fragment = '', t = $(target)[0];
7
-
8
- for(i = 0; i < repos.length; i++) {
9
- fragment += '<li><a href="'+repos[i].html_url+'">'+repos[i].name+'</a><p>'+escapeHtml(repos[i].description||'')+'</p></li>';
10
- }
11
- t.innerHTML = fragment;
12
- }
13
- return {
14
- showRepos: function(options){
15
- $.ajax({
16
- url: "https://api.github.com/users/"+options.user+"/repos?sort=pushed&callback=?"
17
- , dataType: 'jsonp'
18
- , error: function (err) { $(options.target + ' li.loading').addClass('error').text("Error loading feed"); }
19
- , success: function(data) {
20
- var repos = [];
21
- if (!data || !data.data) { return; }
22
- for (var i = 0; i < data.data.length; i++) {
23
- if (options.skip_forks && data.data[i].fork) { continue; }
24
- repos.push(data.data[i]);
25
- }
26
- if (options.count) { repos.splice(options.count); }
27
- render(options.target, repos);
28
- }
29
- });
30
- }
31
- };
32
- })();
@@ -1,298 +0,0 @@
1
- /*! SWFObject v2.2 <http://code.google.com/p/swfobject/>
2
- is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
3
- */
4
-
5
- var swfobject = function() {
6
-
7
- var UNDEF = "undefined",
8
- OBJECT = "object",
9
- SHOCKWAVE_FLASH = "Shockwave Flash",
10
- SHOCKWAVE_FLASH_AX = "ShockwaveFlash.ShockwaveFlash",
11
- FLASH_MIME_TYPE = "application/x-shockwave-flash",
12
- EXPRESS_INSTALL_ID = "SWFObjectExprInst",
13
-
14
- win = window,
15
- doc = document,
16
- nav = navigator,
17
-
18
- plugin = false,
19
- regObjArr = [],
20
- objIdArr = [],
21
- storedAltContent,
22
- storedAltContentId,
23
- storedCallbackFn,
24
- storedCallbackObj,
25
- autoHideShow = true,
26
-
27
- /* Centralized function for browser feature detection
28
- - User agent string detection is only used when no good alternative is possible
29
- - Is executed directly for optimal performance
30
- */
31
- ua = function() {
32
- var w3cdom = typeof doc.getElementById != UNDEF && typeof doc.getElementsByTagName != UNDEF && typeof doc.createElement != UNDEF,
33
- u = nav.userAgent.toLowerCase(),
34
- p = nav.platform.toLowerCase(),
35
- windows = p ? /win/.test(p) : /win/.test(u),
36
- mac = p ? /mac/.test(p) : /mac/.test(u),
37
- webkit = /webkit/.test(u) ? parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : false, // returns either the webkit version or false if not webkit
38
- ie = !+"\v1", // feature detection based on Andrea Giammarchi's solution: http://webreflection.blogspot.com/2009/01/32-bytes-to-know-if-your-browser-is-ie.html
39
- playerVersion = [0,0,0],
40
- d = null;
41
- if (typeof nav.plugins != UNDEF && typeof nav.plugins[SHOCKWAVE_FLASH] == OBJECT) {
42
- d = nav.plugins[SHOCKWAVE_FLASH].description;
43
- if (d && !(typeof nav.mimeTypes != UNDEF && nav.mimeTypes[FLASH_MIME_TYPE] && !nav.mimeTypes[FLASH_MIME_TYPE].enabledPlugin)) { // navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin indicates whether plug-ins are enabled or disabled in Safari 3+
44
- plugin = true;
45
- ie = false; // cascaded feature detection for Internet Explorer
46
- d = d.replace(/^.*\s+(\S+\s+\S+$)/, "$1");
47
- playerVersion[0] = parseInt(d.replace(/^(.*)\..*$/, "$1"), 10);
48
- playerVersion[1] = parseInt(d.replace(/^.*\.(.*)\s.*$/, "$1"), 10);
49
- playerVersion[2] = /[a-zA-Z]/.test(d) ? parseInt(d.replace(/^.*[a-zA-Z]+(.*)$/, "$1"), 10) : 0;
50
- }
51
- }
52
- else if (typeof win.ActiveXObject != UNDEF) {
53
- try {
54
- var a = new ActiveXObject(SHOCKWAVE_FLASH_AX);
55
- if (a) { // a will return null when ActiveX is disabled
56
- d = a.GetVariable("$version");
57
- if (d) {
58
- ie = true; // cascaded feature detection for Internet Explorer
59
- d = d.split(" ")[1].split(",");
60
- playerVersion = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];
61
- }
62
- }
63
- }
64
- catch(e) {}
65
- }
66
- return { w3:w3cdom, pv:playerVersion, wk:webkit, ie:ie, win:windows, mac:mac };
67
- }()
68
-
69
-
70
- /* Main function
71
- - Will preferably execute onDomLoad, otherwise onload (as a fallback)
72
- */
73
- function main() {
74
- if (plugin) { testPlayerVersion(); }
75
- else { matchVersions(); }
76
- }
77
-
78
- /* Detect the Flash Player version for non-Internet Explorer browsers
79
- - Detecting the plug-in version via the object element is more precise than using the plugins collection item's description:
80
- a. Both release and build numbers can be detected
81
- b. Avoid wrong descriptions by corrupt installers provided by Adobe
82
- c. Avoid wrong descriptions by multiple Flash Player entries in the plugin Array, caused by incorrect browser imports
83
- - Disadvantage of this method is that it depends on the availability of the DOM, while the plugins collection is immediately available
84
- */
85
- function testPlayerVersion() {
86
- var b = doc.getElementsByTagName("body")[0];
87
- var o = createElement(OBJECT);
88
- o.setAttribute("type", FLASH_MIME_TYPE);
89
- var t = b.appendChild(o);
90
- if (t) {
91
- var counter = 0;
92
- (function(){
93
- if (typeof t.GetVariable != UNDEF) {
94
- var d = t.GetVariable("$version");
95
- if (d) {
96
- d = d.split(" ")[1].split(",");
97
- ua.pv = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];
98
- }
99
- }
100
- else if (counter < 10) {
101
- counter++;
102
- setTimeout(arguments.callee, 10);
103
- return;
104
- }
105
- b.removeChild(o);
106
- t = null;
107
- matchVersions();
108
- })();
109
- }
110
- else {
111
- matchVersions();
112
- }
113
- }
114
-
115
-
116
- /* Cross-browser dynamic SWF creation
117
- */
118
- function createSWF(attObj, parObj, id) {
119
- var r, el = getElementById(id);
120
- if (ua.wk && ua.wk < 312) { return r; }
121
- if (el) {
122
- if (typeof attObj.id == UNDEF) { // if no 'id' is defined for the object element, it will inherit the 'id' from the alternative content
123
- attObj.id = id;
124
- }
125
- if (ua.ie && ua.win) { // Internet Explorer + the HTML object element + W3C DOM methods do not combine: fall back to outerHTML
126
- var att = "";
127
- for (var i in attObj) {
128
- if (attObj[i] != Object.prototype[i]) { // filter out prototype additions from other potential libraries
129
- if (i.toLowerCase() == "data") {
130
- parObj.movie = attObj[i];
131
- }
132
- else if (i.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword
133
- att += ' class="' + attObj[i] + '"';
134
- }
135
- else if (i.toLowerCase() != "classid") {
136
- att += ' ' + i + '="' + attObj[i] + '"';
137
- }
138
- }
139
- }
140
- var par = "";
141
- for (var j in parObj) {
142
- if (parObj[j] != Object.prototype[j]) { // filter out prototype additions from other potential libraries
143
- par += '<param name="' + j + '" value="' + parObj[j] + '" />';
144
- }
145
- }
146
- el.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + att + '>' + par + '</object>';
147
- objIdArr[objIdArr.length] = attObj.id; // stored to fix object 'leaks' on unload (dynamic publishing only)
148
- r = getElementById(attObj.id);
149
- }
150
- else { // well-behaving browsers
151
- var o = createElement(OBJECT);
152
- o.setAttribute("type", FLASH_MIME_TYPE);
153
- for (var m in attObj) {
154
- if (attObj[m] != Object.prototype[m]) { // filter out prototype additions from other potential libraries
155
- if (m.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword
156
- o.setAttribute("class", attObj[m]);
157
- }
158
- else if (m.toLowerCase() != "classid") { // filter out IE specific attribute
159
- o.setAttribute(m, attObj[m]);
160
- }
161
- }
162
- }
163
- for (var n in parObj) {
164
- if (parObj[n] != Object.prototype[n] && n.toLowerCase() != "movie") { // filter out prototype additions from other potential libraries and IE specific param element
165
- createObjParam(o, n, parObj[n]);
166
- }
167
- }
168
- el.parentNode.replaceChild(o, el);
169
- r = o;
170
- }
171
- }
172
- return r;
173
- }
174
-
175
- function createObjParam(el, pName, pValue) {
176
- var p = createElement("param");
177
- p.setAttribute("name", pName);
178
- p.setAttribute("value", pValue);
179
- el.appendChild(p);
180
- }
181
-
182
- /* Cross-browser SWF removal
183
- - Especially needed to safely and completely remove a SWF in Internet Explorer
184
- */
185
- /* Functions to optimize JavaScript compression
186
- */
187
- function getElementById(id) {
188
- var el = null;
189
- try {
190
- el = doc.getElementById(id);
191
- }
192
- catch (e) {}
193
- return el;
194
- }
195
-
196
- function createElement(el) {
197
- return doc.createElement(el);
198
- }
199
-
200
- /* Flash Player and SWF content version matching
201
- */
202
- function hasPlayerVersion(rv) {
203
- var pv = ua.pv, v = rv.split(".");
204
- v[0] = parseInt(v[0], 10);
205
- v[1] = parseInt(v[1], 10) || 0; // supports short notation, e.g. "9" instead of "9.0.0"
206
- v[2] = parseInt(v[2], 10) || 0;
207
- return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false;
208
- }
209
-
210
-
211
- /* Filter to avoid XSS attacks
212
- */
213
- function urlEncodeIfNecessary(s) {
214
- var regex = /[\\\"<>\.;]/;
215
- var hasBadChars = regex.exec(s) != null;
216
- return hasBadChars && typeof encodeURIComponent != UNDEF ? encodeURIComponent(s) : s;
217
- }
218
-
219
- return {
220
- /* Public API
221
- - Reference: http://code.google.com/p/swfobject/wiki/documentation
222
- */
223
-
224
- embedSWF: function(swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, flashvarsObj, parObj, attObj, callbackFn) {
225
- var callbackObj = {success:false, id:replaceElemIdStr};
226
- if (ua.w3 && !(ua.wk && ua.wk < 312) && swfUrlStr && replaceElemIdStr && widthStr && heightStr && swfVersionStr) {
227
- widthStr += ""; // auto-convert to string
228
- heightStr += "";
229
- var att = {};
230
- if (attObj && typeof attObj === OBJECT) {
231
- for (var i in attObj) { // copy object to avoid the use of references, because web authors often reuse attObj for multiple SWFs
232
- att[i] = attObj[i];
233
- }
234
- }
235
- att.data = swfUrlStr;
236
- att.width = widthStr;
237
- att.height = heightStr;
238
- var par = {};
239
- if (parObj && typeof parObj === OBJECT) {
240
- for (var j in parObj) { // copy object to avoid the use of references, because web authors often reuse parObj for multiple SWFs
241
- par[j] = parObj[j];
242
- }
243
- }
244
- if (flashvarsObj && typeof flashvarsObj === OBJECT) {
245
- for (var k in flashvarsObj) { // copy object to avoid the use of references, because web authors often reuse flashvarsObj for multiple SWFs
246
- if (typeof par.flashvars != UNDEF) {
247
- par.flashvars += "&" + k + "=" + flashvarsObj[k];
248
- }
249
- else {
250
- par.flashvars = k + "=" + flashvarsObj[k];
251
- }
252
- }
253
- }
254
- if (hasPlayerVersion(swfVersionStr)) { // create SWF
255
- var obj = createSWF(att, par, replaceElemIdStr);
256
- callbackObj.success = true;
257
- callbackObj.ref = obj;
258
- }
259
- if (callbackFn) { callbackFn(callbackObj); }
260
- }
261
- else if (callbackFn) { callbackFn(callbackObj); }
262
- },
263
-
264
- ua: ua,
265
-
266
- getFlashPlayerVersion: function() {
267
- return { major:ua.pv[0], minor:ua.pv[1], release:ua.pv[2] };
268
- },
269
-
270
- hasFlashPlayerVersion: hasPlayerVersion,
271
-
272
- createSWF: function(attObj, parObj, replaceElemIdStr) {
273
- if (ua.w3) {
274
- return createSWF(attObj, parObj, replaceElemIdStr);
275
- }
276
- else {
277
- return undefined;
278
- }
279
- },
280
-
281
- getQueryParamValue: function(param) {
282
- var q = doc.location.search || doc.location.hash;
283
- if (q) {
284
- if (/\?/.test(q)) { q = q.split("?")[1]; } // strip question mark
285
- if (param == null) {
286
- return urlEncodeIfNecessary(q);
287
- }
288
- var pairs = q.split("&");
289
- for (var i = 0; i < pairs.length; i++) {
290
- if (pairs[i].substring(0, pairs[i].indexOf("=")) == param) {
291
- return urlEncodeIfNecessary(pairs[i].substring((pairs[i].indexOf("=") + 1)));
292
- }
293
- }
294
- }
295
- return "";
296
- }
297
- };
298
- }();
@@ -1,5 +0,0 @@
1
- /* Modernizr 2.6.2 (Custom Build) | MIT & BSD
2
- * Build: http://modernizr.com/download/#-video-mq-cssclasses-teststyles-testprop-testallprops-prefixes-domprefixes-load
3
- */
4
- ;window.Modernizr=function(a,b,c){function A(a){j.cssText=a}function B(a,b){return A(m.join(a+";")+(b||""))}function C(a,b){return typeof a===b}function D(a,b){return!!~(""+a).indexOf(b)}function E(a,b){for(var d in a){var e=a[d];if(!D(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function F(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:C(f,"function")?f.bind(d||b):f}return!1}function G(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+o.join(d+" ")+d).split(" ");return C(b,"string")||C(b,"undefined")?E(e,b):(e=(a+" "+p.join(d+" ")+d).split(" "),F(e,b,c))}var d="2.6.2",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k,l={}.toString,m=" -webkit- -moz- -o- -ms- ".split(" "),n="Webkit Moz O ms",o=n.split(" "),p=n.toLowerCase().split(" "),q={},r={},s={},t=[],u=t.slice,v,w=function(a,c,d,e){var f,i,j,k,l=b.createElement("div"),m=b.body,n=m||b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=["&#173;",'<style id="s',h,'">',a,"</style>"].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},x=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return w("@media "+b+" { #"+h+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},y={}.hasOwnProperty,z;!C(y,"undefined")&&!C(y.call,"undefined")?z=function(a,b){return y.call(a,b)}:z=function(a,b){return b in a&&C(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=u.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(u.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(u.call(arguments)))};return e}),q.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c};for(var H in q)z(q,H)&&(v=H.toLowerCase(),e[v]=q[H](),t.push((e[v]?"":"no-")+v));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)z(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},A(""),i=k=null,e._version=d,e._prefixes=m,e._domPrefixes=p,e._cssomPrefixes=o,e.mq=x,e.testProp=function(a){return E([a])},e.testAllProps=G,e.testStyles=w,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+t.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,h){var i=b(a),j=i.autoCallback;i.url.split(".").pop().split("?").shift(),i.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]),i.instead?i.instead(a,e,f,g,h):(y[i.url]?i.noexec=!0:y[i.url]=1,f.load(i.url,i.forceCSS||!i.forceJS&&"css"==i.url.split(".").pop().split("?").shift()?"c":c,i.noexec,i.attrs,i.timeout),(d(e)||d(j))&&f.load(function(){k(),e&&e(i.origUrl,h,g),j&&j(i.origUrl,h,g),y[i.url]=2})))}function h(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var i,j,l=this.yepnope.loader;if(e(a))g(a,0,l,0);else if(w(a))for(i=0;i<a.length;i++)j=a[i],e(j)?g(j,0,l,0):w(j)?B(j):Object(j)===j&&h(j,l);else Object(a)===a&&h(a,l)},B.addPrefix=function(a,b){z[a]=b},B.addFilter=function(a){x.push(a)},B.errorTimeout=1e4,null==b.readyState&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",A=function(){b.removeEventListener("DOMContentLoaded",A,0),b.readyState="complete"},0)),a.yepnope=k(),a.yepnope.executeStack=h,a.yepnope.injectJs=function(a,c,d,e,i,j){var k=b.createElement("script"),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)},a.yepnope.injectCss=function(a,c,d,e,g,i){var e=b.createElement("link"),j,c=i?h:c||f;e.href=a,e.rel="stylesheet",e.type="text/css";for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};
5
-
@@ -1,151 +0,0 @@
1
- function getNav() {
2
- var mainNav = $('ul.main-navigation, ul[role=main-navigation]').before('<fieldset class="mobile-nav">')
3
- var mobileNav = $('fieldset.mobile-nav').append('<select>');
4
- mobileNav.find('select').append('<option value="">Navigate&hellip;</option>');
5
- var addOption = function(i, option) {
6
- mobileNav.find('select').append('<option value="' + this.href + '">&raquo; ' + $(this).text() + '</option>');
7
- }
8
- mainNav.find('a').each(addOption);
9
- $('ul.subscription a').each(addOption);
10
- mobileNav.find('select').bind('change', function(event) {
11
- if (event.target.value) { window.location.href = event.target.value; }
12
- });
13
- }
14
-
15
- function addSidebarToggler() {
16
- if(!$('body').hasClass('sidebar-footer')) {
17
- $('#content').append('<span class="toggle-sidebar"></span>');
18
- $('.toggle-sidebar').bind('click', function(e) {
19
- e.preventDefault();
20
- $('body').toggleClass('collapse-sidebar');
21
- });
22
- }
23
- var sections = $('aside.sidebar > section');
24
- if (sections.length > 1) {
25
- sections.each(function(index, section){
26
- if ((sections.length >= 3) && index % 3 === 0) {
27
- $(section).addClass("first");
28
- }
29
- var count = ((index +1) % 2) ? "odd" : "even";
30
- $(section).addClass(count);
31
- });
32
- }
33
- if (sections.length >= 3){ $('aside.sidebar').addClass('thirds'); }
34
- }
35
-
36
- function testFeatures() {
37
- var features = ['maskImage'];
38
- $(features).map(function(i, feature) {
39
- if (Modernizr.testAllProps(feature)) {
40
- $('html').addClass(feature);
41
- } else {
42
- $('html').addClass('no-'+feature);
43
- }
44
- });
45
- if ("placeholder" in document.createElement("input")) {
46
- $('html').addClass('placeholder');
47
- } else {
48
- $('html').addClass('no-placeholder');
49
- }
50
- }
51
-
52
- function addCodeLineNumbers() {
53
- if (navigator.appName === 'Microsoft Internet Explorer') { return; }
54
- $('div.gist-highlight').each(function(code) {
55
- var tableStart = '<table><tbody><tr><td class="gutter">',
56
- lineNumbers = '<pre class="line-numbers">',
57
- tableMiddle = '</pre></td><td class="code">',
58
- tableEnd = '</td></tr></tbody></table>',
59
- count = $('.line', code).length;
60
- for (var i=1;i<=count; i++) {
61
- lineNumbers += '<span class="line-number">'+i+'</span>\n';
62
- }
63
- var table = tableStart + lineNumbers + tableMiddle + '<pre>'+$('pre', code).html()+'</pre>' + tableEnd;
64
- $(code).html(table);
65
- });
66
- }
67
-
68
- function flashVideoFallback(){
69
- var flashplayerlocation = "/assets/javascipts/libs/jwplayer/player.swf",
70
- flashplayerskin = "/assets/javascipts/libs/jwplayer/glow/glow.xml";
71
- $('video').each(function(i, video){
72
- video = $(video);
73
- if (!Modernizr.video.h264 && swfobject.getFlashPlayerVersion() || window.location.hash.indexOf("flash-test") !== -1){
74
- video.children('source[src$=mp4]').first().map(i, function(source){
75
- var src = $(source).attr('src'),
76
- id = 'video_'+Math.round(1 + Math.random()*(100000)),
77
- width = video.attr('width'),
78
- height = parseInt(video.attr('height'), 10) + 30;
79
- video.after('<div class="flash-video"><div><div id='+id+'>');
80
- swfobject.embedSWF(flashplayerlocation, id, width, height + 30, "9.0.0",
81
- { file : src, image : video.attr('poster'), skin : flashplayerskin } ,
82
- { movie : src, wmode : "opaque", allowfullscreen : "true" }
83
- );
84
- });
85
- video.remove();
86
- }
87
- });
88
- }
89
-
90
- function wrapFlashVideos() {
91
- $('object').each(function(i, object) {
92
- if( $(object).find('param[name=movie]').length ){
93
- $(object).wrap('<div class="flash-video">')
94
- }
95
- });
96
- $('iframe[src*=vimeo],iframe[src*=youtube]').wrap('<div class="flash-video">')
97
- }
98
-
99
- function renderDeliciousLinks(items) {
100
- var output = "<ul>";
101
- for (var i=0,l=items.length; i<l; i++) {
102
- output += '<li><a href="' + items[i].u + '" title="Tags: ' + (items[i].t == "" ? "" : items[i].t.join(', ')) + '">' + items[i].d + '</a></li>';
103
- }
104
- output += "</ul>";
105
- $('#delicious').html(output);
106
- }
107
-
108
- $('document').ready(function() {
109
- testFeatures();
110
- wrapFlashVideos();
111
- flashVideoFallback();
112
- addCodeLineNumbers();
113
- getNav();
114
- addSidebarToggler();
115
- });
116
-
117
- // iOS scaling bug fix
118
- // Rewritten version
119
- // By @mathias, @cheeaun and @jdalton
120
- // Source url: https://gist.github.com/901295
121
- (function(doc) {
122
- var addEvent = 'addEventListener',
123
- type = 'gesturestart',
124
- qsa = 'querySelectorAll',
125
- scales = [1, 1],
126
- meta = qsa in doc ? doc[qsa]('meta[name=viewport]') : [];
127
- function fix() {
128
- meta.content = 'width=device-width,minimum-scale=' + scales[0] + ',maximum-scale=' + scales[1];
129
- doc.removeEventListener(type, fix, true);
130
- }
131
- if ((meta = meta[meta.length - 1]) && addEvent in doc) {
132
- fix();
133
- scales = [0.25, 1.6];
134
- doc[addEvent](type, fix, true);
135
- }
136
- }(document));
137
-
138
- /*! SWFObject v2.2 modified by Brandon Mathis to contain only what is necessary to dynamically embed flash objects
139
- * Uncompressed source in javascripts/libs/swfobject-dynamic.js
140
- * <http://code.google.com/p/swfobject/>
141
- released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
142
- */
143
- var swfobject=function(){function s(a,b,d){var q,k=n(d);if(g.wk&&g.wk<312)return q;if(k){if(typeof a.id==l)a.id=d;if(g.ie&&g.win){var e="",c;for(c in a)if(a[c]!=Object.prototype[c])c.toLowerCase()=="data"?b.movie=a[c]:c.toLowerCase()=="styleclass"?e+=' class="'+a[c]+'"':c.toLowerCase()!="classid"&&(e+=" "+c+'="'+a[c]+'"');c="";for(var f in b)b[f]!=Object.prototype[f]&&(c+='<param name="'+f+'" value="'+b[f]+'" />');k.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+e+">"+c+
144
- "</object>";q=n(a.id)}else{f=i.createElement(o);f.setAttribute("type",m);for(var h in a)a[h]!=Object.prototype[h]&&(h.toLowerCase()=="styleclass"?f.setAttribute("class",a[h]):h.toLowerCase()!="classid"&&f.setAttribute(h,a[h]));for(e in b)b[e]!=Object.prototype[e]&&e.toLowerCase()!="movie"&&(a=f,c=e,h=b[e],d=i.createElement("param"),d.setAttribute("name",c),d.setAttribute("value",h),a.appendChild(d));k.parentNode.replaceChild(f,k);q=f}}return q}function n(a){var b=null;try{b=i.getElementById(a)}catch(d){}return b}
145
- function t(a){var b=g.pv,a=a.split(".");a[0]=parseInt(a[0],10);a[1]=parseInt(a[1],10)||0;a[2]=parseInt(a[2],10)||0;return b[0]>a[0]||b[0]==a[0]&&b[1]>a[1]||b[0]==a[0]&&b[1]==a[1]&&b[2]>=a[2]?!0:!1}function u(a){return/[\\\"<>\.;]/.exec(a)!=null&&typeof encodeURIComponent!=l?encodeURIComponent(a):a}var l="undefined",o="object",m="application/x-shockwave-flash",v=window,i=document,j=navigator,g=function(){var a=typeof i.getElementById!=l&&typeof i.getElementsByTagName!=l&&typeof i.createElement!=l,
146
- b=j.userAgent.toLowerCase(),d=j.platform.toLowerCase(),g=d?/win/.test(d):/win/.test(b),d=d?/mac/.test(d):/mac/.test(b),b=/webkit/.test(b)?parseFloat(b.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):!1,k=!+"\u000b1",e=[0,0,0],c=null;if(typeof j.plugins!=l&&typeof j.plugins["Shockwave Flash"]==o){if((c=j.plugins["Shockwave Flash"].description)&&!(typeof j.mimeTypes!=l&&j.mimeTypes[m]&&!j.mimeTypes[m].enabledPlugin))k=!1,c=c.replace(/^.*\s+(\S+\s+\S+$)/,"$1"),e[0]=parseInt(c.replace(/^(.*)\..*$/,"$1"),
147
- 10),e[1]=parseInt(c.replace(/^.*\.(.*)\s.*$/,"$1"),10),e[2]=/[a-zA-Z]/.test(c)?parseInt(c.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}else if(typeof v.ActiveXObject!=l)try{var f=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");if(f&&(c=f.GetVariable("$version")))k=!0,c=c.split(" ")[1].split(","),e=[parseInt(c[0],10),parseInt(c[1],10),parseInt(c[2],10)]}catch(h){}return{w3:a,pv:e,wk:b,ie:k,win:g,mac:d}}();return{embedSWF:function(a,b,d,i,k,e,c,f,h){var j={success:!1,id:b};if(g.w3&&!(g.wk&&g.wk<312)&&
148
- a&&b&&d&&i&&k){d+="";i+="";var p={};if(f&&typeof f===o)for(var m in f)p[m]=f[m];p.data=a;p.width=d;p.height=i;a={};if(c&&typeof c===o)for(var n in c)a[n]=c[n];if(e&&typeof e===o)for(var r in e)typeof a.flashvars!=l?a.flashvars+="&"+r+"="+e[r]:a.flashvars=r+"="+e[r];if(t(k))b=s(p,a,b),j.success=!0,j.ref=b}h&&h(j)},ua:g,getFlashPlayerVersion:function(){return{major:g.pv[0],minor:g.pv[1],release:g.pv[2]}},hasFlashPlayerVersion:t,createSWF:function(a,b,d){if(g.w3)return s(a,b,d)},getQueryParamValue:function(a){var b=
149
- i.location.search||i.location.hash;if(b){/\?/.test(b)&&(b=b.split("?")[1]);if(a==null)return u(b);for(var b=b.split("&"),d=0;d<b.length;d++)if(b[d].substring(0,b[d].indexOf("="))==a)return u(b[d].substring(b[d].indexOf("=")+1))}return""}}}();
150
-
151
-
@@ -1,56 +0,0 @@
1
- function pinboardNS_fetch_script(url) {
2
- //document.writeln('<s'+'cript type="text/javascript" src="' + url + '"></s'+'cript>');
3
- (function(){
4
- var pinboardLinkroll = document.createElement('script');
5
- pinboardLinkroll.type = 'text/javascript';
6
- pinboardLinkroll.async = true;
7
- pinboardLinkroll.src = url;
8
- document.getElementsByTagName('head')[0].appendChild(pinboardLinkroll);
9
- })();
10
- }
11
-
12
- function pinboardNS_show_bmarks(r) {
13
- var lr = new Pinboard_Linkroll();
14
- lr.set_items(r);
15
- lr.show_bmarks();
16
- }
17
-
18
- function Pinboard_Linkroll() {
19
- var items;
20
-
21
- this.set_items = function(i) {
22
- this.items = i;
23
- }
24
- this.show_bmarks = function() {
25
- var lines = [];
26
- for (var i = 0; i < this.items.length; i++) {
27
- var item = this.items[i];
28
- var str = this.format_item(item);
29
- lines.push(str);
30
- }
31
- document.getElementById(linkroll).innerHTML = lines.join("\n");
32
- }
33
- this.cook = function(v) {
34
- return v.replace('<', '&lt;').replace('>', '&gt>');
35
- }
36
-
37
- this.format_item = function(it) {
38
- var str = "<li class=\"pin-item\">";
39
- if (!it.d) { return; }
40
- str += "<p><a class=\"pin-title\" href=\"" + this.cook(it.u) + "\">" + this.cook(it.d) + "</a>";
41
- if (it.n) {
42
- str += "<span class=\"pin-description\">" + this.cook(it.n) + "</span>\n";
43
- }
44
- if (it.t.length > 0) {
45
- for (var i = 0; i < it.t.length; i++) {
46
- var tag = it.t[i];
47
- str += " <a class=\"pin-tag\" href=\"https://pinboard.in/u:"+ this.cook(it.a) + "/t:" + this.cook(tag) + "\">" + this.cook(tag).replace(/^\s+|\s+$/g, '') + "</a> ";
48
- }
49
- }
50
- str += "</p></li>\n";
51
- return str;
52
- }
53
- }
54
- Pinboard_Linkroll.prototype = new Pinboard_Linkroll();
55
- pinboardNS_fetch_script("https://feeds.pinboard.in/json/v1/u:"+pinboard_user+"/?cb=pinboardNS_show_bmarks\&count="+pinboard_count);
56
-
@@ -1,78 +0,0 @@
1
- // JSON-P Twitter fetcher for Octopress
2
- // (c) Brandon Mathis // MIT License
3
-
4
- /* Sky Slavin, Ludopoli. MIT license. * based on JavaScript Pretty Date * Copyright (c) 2008 John Resig (jquery.com) * Licensed under the MIT license. */
5
- function prettyDate(time) {
6
- if (navigator.appName === 'Microsoft Internet Explorer') {
7
- return "<span>&infin;</span>"; // because IE date parsing isn't fun.
8
- }
9
- var say = {
10
- just_now: " now",
11
- minute_ago: "1m",
12
- minutes_ago: "m",
13
- hour_ago: "1h",
14
- hours_ago: "h",
15
- yesterday: "1d",
16
- days_ago: "d",
17
- last_week: "1w",
18
- weeks_ago: "w"
19
- };
20
-
21
- var current_date = new Date(),
22
- current_date_time = current_date.getTime(),
23
- current_date_full = current_date_time + (1 * 60000),
24
- date = new Date(time),
25
- diff = ((current_date_full - date.getTime()) / 1000),
26
- day_diff = Math.floor(diff / 86400);
27
-
28
- if (isNaN(day_diff) || day_diff < 0) { return "<span>&infin;</span>"; }
29
-
30
- return day_diff === 0 && (
31
- diff < 60 && say.just_now ||
32
- diff < 120 && say.minute_ago ||
33
- diff < 3600 && Math.floor(diff / 60) + say.minutes_ago ||
34
- diff < 7200 && say.hour_ago ||
35
- diff < 86400 && Math.floor(diff / 3600) + say.hours_ago) ||
36
- day_diff === 1 && say.yesterday ||
37
- day_diff < 7 && day_diff + say.days_ago ||
38
- day_diff === 7 && say.last_week ||
39
- day_diff > 7 && Math.ceil(day_diff / 7) + say.weeks_ago;
40
- }
41
-
42
- function linkifyTweet(text, url) {
43
- // Linkify urls, usernames, hashtags
44
- text = text.replace(/(https?:\/\/)([\w\-:;?&=+.%#\/]+)/gi, '<a href="$1$2">$2</a>')
45
- .replace(/(^|\W)@(\w+)/g, '$1<a href="https://twitter.com/$2">@$2</a>')
46
- .replace(/(^|\W)#(\w+)/g, '$1<a href="https://search.twitter.com/search?q=%23$2">#$2</a>');
47
-
48
- // Use twitter's api to replace t.co shortened urls with expanded ones.
49
- for (var u in url) {
50
- if(url[u].expanded_url != null){
51
- var shortUrl = new RegExp(url[u].url, 'g');
52
- text = text.replace(shortUrl, url[u].expanded_url);
53
- var shortUrl = new RegExp(">"+(url[u].url.replace(/https?:\/\//, '')), 'g');
54
- text = text.replace(shortUrl, ">"+url[u].display_url);
55
- }
56
- }
57
- return text
58
- }
59
-
60
- function showTwitterFeed(tweets, twitter_user) {
61
- var timeline = document.getElementById('tweets'),
62
- content = '';
63
-
64
- for (var t in tweets) {
65
- content += '<li>'+'<p>'+'<a href="https://twitter.com/'+twitter_user+'/status/'+tweets[t].id_str+'">'+prettyDate(tweets[t].created_at)+'</a>'+linkifyTweet(tweets[t].text.replace(/\n/g, '<br>'), tweets[t].entities.urls)+'</p>'+'</li>';
66
- }
67
- timeline.innerHTML = content;
68
- }
69
-
70
- function getTwitterFeed(user, count, replies) {
71
- count = parseInt(count, 10);
72
- $.ajax({
73
- url: "https://api.twitter.com/1/statuses/user_timeline/" + user + ".json?trim_user=true&count=" + (count + 20) + "&include_entities=1&exclude_replies=" + (replies ? "0" : "1") + "&callback=?"
74
- , type: 'jsonp'
75
- , error: function (err) { $('#tweets li.loading').addClass('error').text("Twitter's busted"); }
76
- , success: function(data) { showTwitterFeed(data.slice(0, count), user); }
77
- })
78
- }