middleman-oulu 0.5.32 → 0.5.35
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 +4 -4
- data/assets/javascripts/oulu/plugins/jquery.autosize.min.js +0 -0
- data/assets/javascripts/oulu/plugins/jquery.css3form.js +0 -0
- data/assets/javascripts/oulu/plugins/jquery.depend.min.js +0 -0
- data/assets/javascripts/oulu/plugins/sns-buttons.js +339 -339
- data/assets/stylesheets/options/web-fonts/_varela-round.sass +12 -0
- data/assets/stylesheets/settings/initializers/_reset.sass +2 -0
- data/assets/stylesheets/settings/mixins/_basic-font.sass +6 -0
- data/assets/stylesheets/settings/variables/_default.sass +5 -5
- data/lib/middleman-oulu/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 24dc6ffdf1ded73c56645d5bb32d290fd661c2ca
|
4
|
+
data.tar.gz: 259fcd455777cda7d4f3c204f1d093b4c2cbf07b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e450f5189fd25eadc8b268b533e4ff75b4b7a7b61c86a4f7b126b2fefe134ba259c8dd02f1aef15084c4d48cba32a61d51e5c35803812fc8eed8d28d9f371426
|
7
|
+
data.tar.gz: edcc2012f73556c98d69bf7f6d1992426c94d6aed994932eaf011fe5b12a0d822aa404a9b9d52339055c0e1b3f5f2dbc25daf017a4c1466b5108a4f7310406fd
|
File without changes
|
File without changes
|
File without changes
|
@@ -1,339 +1,339 @@
|
|
1
|
-
/*
|
2
|
-
* Social Info 0.2 - jQuery plugin
|
3
|
-
* written by cyokodog
|
4
|
-
*
|
5
|
-
* Copyright (c) 2014 cyokodog
|
6
|
-
* http://www.cyokodog.net/
|
7
|
-
* http://d.hatena.ne.jp/cyokodog/)
|
8
|
-
* http://cyokodog.tumblr.com/
|
9
|
-
* MIT LICENCE
|
10
|
-
*
|
11
|
-
* Built for jQuery library
|
12
|
-
* http://jquery.com
|
13
|
-
*
|
14
|
-
*/
|
15
|
-
|
16
|
-
;(function($){
|
17
|
-
|
18
|
-
$.social = $.social || {};
|
19
|
-
$.si = $.social.info = {
|
20
|
-
jsonp : function( p ){
|
21
|
-
return $.ajax({
|
22
|
-
url:p.url,
|
23
|
-
dataType:'jsonp',
|
24
|
-
data:p.data,
|
25
|
-
success:function( r ){
|
26
|
-
p.callback(r);
|
27
|
-
}
|
28
|
-
});
|
29
|
-
},
|
30
|
-
reArg : function(url , callback){
|
31
|
-
if(typeof url == 'object') return url;
|
32
|
-
if(typeof url == 'function'){
|
33
|
-
callback = url;
|
34
|
-
url = '';
|
35
|
-
}
|
36
|
-
url = url || location.href;
|
37
|
-
return {
|
38
|
-
url : url,
|
39
|
-
callback : callback
|
40
|
-
};
|
41
|
-
},
|
42
|
-
cache : {
|
43
|
-
twitter : {
|
44
|
-
entryCount : {}
|
45
|
-
}
|
46
|
-
},
|
47
|
-
version : '0.2',
|
48
|
-
id : 'social-info',
|
49
|
-
name : 'Social Info'
|
50
|
-
}
|
51
|
-
|
52
|
-
|
53
|
-
$.si.twitter = {
|
54
|
-
getEntryCount : function(url, callback){
|
55
|
-
var arg = $.extend({
|
56
|
-
url : location.href,
|
57
|
-
useCache : true,
|
58
|
-
callback : function( count ){}
|
59
|
-
}, $.si.reArg(url, callback))
|
60
|
-
var cache = $.si.cache.twitter.entryCount;
|
61
|
-
var eurl = encodeURIComponent(url);
|
62
|
-
if(arg.useCache && cache[eurl] != undefined){
|
63
|
-
arg.callback(cache[eurl]);
|
64
|
-
return;
|
65
|
-
}
|
66
|
-
$.si.jsonp({
|
67
|
-
url : 'http://urls.api.twitter.com/1/urls/count.json',
|
68
|
-
data : {
|
69
|
-
url : arg.url
|
70
|
-
},
|
71
|
-
callback : function(r){
|
72
|
-
var count = r = !r ? 0 : r.count;
|
73
|
-
cache[eurl] = count;
|
74
|
-
arg.callback(count);
|
75
|
-
}
|
76
|
-
});
|
77
|
-
},
|
78
|
-
getEntryUrl : function(url, title ){
|
79
|
-
url = url || location.href;
|
80
|
-
if(title) title = '&text=' + encodeURIComponent(title);
|
81
|
-
else{
|
82
|
-
if(url == location.href) title = '&text=' + encodeURIComponent(document.title);
|
83
|
-
}
|
84
|
-
return 'https://twitter.com/intent/tweet?url=' + encodeURIComponent(url) + (title || '');
|
85
|
-
},
|
86
|
-
getSearchUrl : function( url ){
|
87
|
-
url = url || location.href;
|
88
|
-
return 'https://twitter.com/search?q=' + encodeURIComponent( url );
|
89
|
-
}
|
90
|
-
}
|
91
|
-
|
92
|
-
$.si.facebook = {
|
93
|
-
getEntryCount : function( url , callback){
|
94
|
-
var arg = $.si.reArg(url, callback)
|
95
|
-
$.si.jsonp({
|
96
|
-
url : 'https://graph.facebook.com/',
|
97
|
-
data : {
|
98
|
-
id : arg.url
|
99
|
-
},
|
100
|
-
callback : function(r){
|
101
|
-
arg.callback(r.shares || 0);
|
102
|
-
}
|
103
|
-
});
|
104
|
-
},
|
105
|
-
getEntryUrl : function( url ){
|
106
|
-
url = url || location.href;
|
107
|
-
return 'http://www.facebook.com/sharer.php?u=' + encodeURIComponent(url);
|
108
|
-
},
|
109
|
-
getSearchUrl : function( url ){
|
110
|
-
url = url || location.href;
|
111
|
-
return 'https://www.facebook.com/#!/search/results.php?q=' + encodeURIComponent( url );
|
112
|
-
}
|
113
|
-
}
|
114
|
-
|
115
|
-
$.si.googleplus = {
|
116
|
-
getEntryCount : function( url , callback){
|
117
|
-
var arg = $.si.reArg(url, callback)
|
118
|
-
$.ajax({
|
119
|
-
type: "get",
|
120
|
-
dataType: "xml",
|
121
|
-
url: "http://query.yahooapis.com/v1/public/yql",
|
122
|
-
data: {
|
123
|
-
q: "SELECT content FROM data.headers WHERE url='https://plusone.google.com/_/+1/fastbutton?hl=ja&url=" + arg.url + "' and ua='#Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36'",
|
124
|
-
format: "xml",
|
125
|
-
env: "http://datatables.org/alltables.env"
|
126
|
-
},
|
127
|
-
success: function (data) {
|
128
|
-
var content = $(data).find("content").text();
|
129
|
-
var match = content.match(/window\.__SSR[\s*]=[\s*]{c:[\s*](\d+)/i);
|
130
|
-
var count = (match != null) ? match[1] : 0;
|
131
|
-
arg.callback(count);
|
132
|
-
}
|
133
|
-
});
|
134
|
-
},
|
135
|
-
getEntryUrl : function( url ){
|
136
|
-
url = url || location.href;
|
137
|
-
return 'https://plus.google.com/share?url=' + encodeURIComponent(url);
|
138
|
-
},
|
139
|
-
getSearchUrl : function( url ){
|
140
|
-
url = url || location.href;
|
141
|
-
return 'https://plus.google.com/u/0/?tab=mX#s/' + encodeURIComponent( url );
|
142
|
-
}
|
143
|
-
}
|
144
|
-
|
145
|
-
|
146
|
-
$.si.hatebu = {
|
147
|
-
getEntryCount : function( url , callback){
|
148
|
-
var arg = $.si.reArg(url, callback)
|
149
|
-
$.si.jsonp({
|
150
|
-
url : 'http://api.b.st-hatena.com/entry.count',
|
151
|
-
data : {
|
152
|
-
url : arg.url
|
153
|
-
},
|
154
|
-
callback : arg.callback
|
155
|
-
});
|
156
|
-
},
|
157
|
-
getEntryUrl : function(url){
|
158
|
-
url = url || location.href;
|
159
|
-
return 'http://b.hatena.ne.jp/entry/' + url.replace(/^http:\/\//,'').replace(/^https:\/\//,'s/');
|
160
|
-
},
|
161
|
-
getSearchUrl : function( url ){
|
162
|
-
url = url || location.href;
|
163
|
-
return 'http://b.hatena.ne.jp/entrylist?url=' + encodeURIComponent( url );
|
164
|
-
},
|
165
|
-
getEntryList : function( url, sort, callback){
|
166
|
-
if(typeof sort == 'function'){
|
167
|
-
callback = sort;
|
168
|
-
sort = 'count';
|
169
|
-
}
|
170
|
-
if(typeof url == 'function'){
|
171
|
-
callback = url;
|
172
|
-
sort = 'count';
|
173
|
-
url = '';
|
174
|
-
}
|
175
|
-
url = url || location.href;
|
176
|
-
$.si.jsonp({
|
177
|
-
url : 'http://b.hatena.ne.jp/entrylist/json',
|
178
|
-
data : {
|
179
|
-
sort : sort,
|
180
|
-
url : url
|
181
|
-
},
|
182
|
-
callback : callback
|
183
|
-
});
|
184
|
-
},
|
185
|
-
getEntry : function( url , callback){
|
186
|
-
var arg = $.si.reArg(url, callback)
|
187
|
-
$.si.jsonp({
|
188
|
-
url : 'http://b.hatena.ne.jp/entry/jsonlite/',
|
189
|
-
data : {
|
190
|
-
url : arg.url
|
191
|
-
},
|
192
|
-
callback : arg.callback
|
193
|
-
});
|
194
|
-
},
|
195
|
-
getProfileImgUrl : function(id, size){
|
196
|
-
size = size ? '_'+size : '';
|
197
|
-
return 'http://cdn.www.st-hatena.com/users/mo/'+id+'/profile'+size+'.gif';
|
198
|
-
},
|
199
|
-
getEntryImgUrl : function(url){
|
200
|
-
return 'http://b.hatena.ne.jp/entry/image/' + url;
|
201
|
-
}
|
202
|
-
};
|
203
|
-
|
204
|
-
|
205
|
-
})(jQuery);
|
206
|
-
|
207
|
-
/*
|
208
|
-
* Easy Social Buttons 0.2 - jQuery plugin
|
209
|
-
* written by cyokodog
|
210
|
-
*
|
211
|
-
* Copyright (c) 2014 cyokodog
|
212
|
-
* http://www.cyokodog.net/
|
213
|
-
* http://d.hatena.ne.jp/cyokodog/)
|
214
|
-
* http://cyokodog.tumblr.com/
|
215
|
-
* MIT LICENCE
|
216
|
-
*
|
217
|
-
* Built for jQuery library
|
218
|
-
* http://jquery.com
|
219
|
-
*
|
220
|
-
*/
|
221
|
-
|
222
|
-
|
223
|
-
;(function($){
|
224
|
-
|
225
|
-
var plugin = $.esb = $.easySocialButtons = function(option ){
|
226
|
-
var callee = arguments.callee;
|
227
|
-
if(!(this instanceof callee)) return new callee(option );
|
228
|
-
var o = this, c = o.config = $.extend(true, {}, callee.defaults, option);
|
229
|
-
c.orders = option.orders || c.orders;
|
230
|
-
c.buttons = $('<ul class="easy-social-buttons-container sns-buttons__items"/>');
|
231
|
-
if(c.inverseColor) c.buttons.addClass('esb-inverse');
|
232
|
-
$.each(c.orders, function(){
|
233
|
-
var sname = this.toString();
|
234
|
-
var api = c[sname] = $.esb[sname](option );
|
235
|
-
api.getButton().appendTo(c.buttons);
|
236
|
-
});
|
237
|
-
}
|
238
|
-
$.extend(plugin.prototype, {
|
239
|
-
getButtons : function(){ // ボタンの取得
|
240
|
-
var o = this, c = o.config;
|
241
|
-
return c.buttons;
|
242
|
-
},
|
243
|
-
getButtonAPI : function(name ){ // API の取得
|
244
|
-
var o = this, c = o.config;
|
245
|
-
return c[name];
|
246
|
-
}
|
247
|
-
});
|
248
|
-
$.extend(plugin, {
|
249
|
-
defaults : {
|
250
|
-
autoAdd : true, // true でボタンの自動挿入を行う
|
251
|
-
addMethod : 'insertAfter', // ボタンの挿入メソッドを指定
|
252
|
-
callback : function(api ){}, // プラグイン実行後のコールバック処理
|
253
|
-
orders : ['hatebu','twitter', 'facebook', 'googleplus'], // ボタンの表示順
|
254
|
-
labels : { // サービスの表示名
|
255
|
-
'hatebu' : '<i class="fa fa-hatena sns-buttons__icon is-hatena"></i>',
|
256
|
-
'twitter' : '<i class="fa fa-twitter sns-buttons__icon is-twitter"></i>',
|
257
|
-
'facebook' : '<i class="fa fa-facebook sns-buttons__icon is-facebook"></i>',
|
258
|
-
'googleplus' : '<i class="fa fa-google-plus sns-buttons__icon is-google-plus"></i>'
|
259
|
-
}
|
260
|
-
},
|
261
|
-
version : '0.2',
|
262
|
-
id : 'easy-social-buttons',
|
263
|
-
name : 'Easy Social Buttons'
|
264
|
-
});
|
265
|
-
|
266
|
-
$.fn.easySocialButtons = function(option ){
|
267
|
-
var c = $.extend(true, {}, plugin.defaults, option);
|
268
|
-
if(option) c.orders = option.orders || c.orders;
|
269
|
-
return this.each(function(){
|
270
|
-
var t = $(this);
|
271
|
-
c.url = t.prop('href') || t.data('href') || t.data('url') || c.url;
|
272
|
-
if(!c.url){
|
273
|
-
c.url = location.href;
|
274
|
-
c.addMethod = 'appendTo';
|
275
|
-
}
|
276
|
-
var api = $.easySocialButtons(c);
|
277
|
-
if(c.autoAdd){
|
278
|
-
api.getButtons(c)[c.addMethod](t);
|
279
|
-
}
|
280
|
-
c.callback.apply(t[0], [api]);
|
281
|
-
});
|
282
|
-
}
|
283
|
-
|
284
|
-
var DF = plugin.defaults;
|
285
|
-
$.each(DF.orders, function(idx){
|
286
|
-
var sname = this.toString();
|
287
|
-
var f = $.esb[sname] = function(option ){
|
288
|
-
var callee = arguments.callee;
|
289
|
-
if(!(this instanceof callee)) return new callee(option );
|
290
|
-
var o = this, c = o.config = $.extend(true, {}, callee.defaults, callee.overwrite[sname] || {}, option, option[sname]);
|
291
|
-
c.url = c.url || location.href;
|
292
|
-
c.button = $(c.tempalte);
|
293
|
-
c.wrapper = c.button.hasClass('esb') ? c.button : c.button.find('.esb');
|
294
|
-
c.label = c.wrapper.find('.esb-label').html(c.label);
|
295
|
-
c.counter = c.wrapper.find('.esb-counter').html(c.waitCounter);
|
296
|
-
c.entryLink = c.wrapper.find('a.esb-entry');
|
297
|
-
c.searchLink = c.wrapper.find('a.esb-search');
|
298
|
-
if(c.useBrandColor) c.wrapper.addClass('esb-' + sname);
|
299
|
-
if($.si){
|
300
|
-
var SI = $.si[sname];
|
301
|
-
if(c.counter.size() && SI.getEntryCount){
|
302
|
-
SI.getEntryCount(c.url, function(count ){
|
303
|
-
c.counter.text(count);
|
304
|
-
});
|
305
|
-
}
|
306
|
-
!SI.getEntryUrl || c.entryLink.prop('href', SI.getEntryUrl(c.url )).prop('title', c.entryTitle);
|
307
|
-
!SI.getSearchUrl || c.searchLink.prop('href', SI.getSearchUrl(c.url )).prop('title', c.searchTitle);
|
308
|
-
}
|
309
|
-
}
|
310
|
-
$.extend(f.prototype, {
|
311
|
-
getButton : function(){
|
312
|
-
var o = this, c = o.config;
|
313
|
-
return c.button;
|
314
|
-
}
|
315
|
-
});
|
316
|
-
$.extend(f, {
|
317
|
-
id : sname,
|
318
|
-
defaults : {
|
319
|
-
url : '',
|
320
|
-
label : DF.labels[sname],
|
321
|
-
entryTitle : '投稿する', // esb-entry クラスを持つ要素に割り当てる title 属性値
|
322
|
-
searchTitle : '検索する', // esb-search クラスを持つ要素に割り当てる title 属性値
|
323
|
-
waitCounter : '<span> </span>', // Web API の取得結果待ち時に表示するマークアップ
|
324
|
-
tempalte : '<li class="esb sns-buttons__item"><a class="esb-label esb-entry sns-buttons__entry-link" target="_blank"></a><a class="esb-counter esb-search sns-buttons__search-link" target="_blank"></a></li>', // ボタンのテンプレート
|
325
|
-
useBrandColor : false, // ブランドカラーの使用
|
326
|
-
inverseColor : false // ブランドカラー未使用時の配色の反転
|
327
|
-
},
|
328
|
-
overwrite : {
|
329
|
-
hatebu : {
|
330
|
-
entryTitle : 'ブックマークする'
|
331
|
-
}
|
332
|
-
}
|
333
|
-
});
|
334
|
-
});
|
335
|
-
})(jQuery);
|
336
|
-
|
337
|
-
$(function(){
|
338
|
-
$('.sns-buttons').easySocialButtons();
|
339
|
-
});
|
1
|
+
/*
|
2
|
+
* Social Info 0.2 - jQuery plugin
|
3
|
+
* written by cyokodog
|
4
|
+
*
|
5
|
+
* Copyright (c) 2014 cyokodog
|
6
|
+
* http://www.cyokodog.net/
|
7
|
+
* http://d.hatena.ne.jp/cyokodog/)
|
8
|
+
* http://cyokodog.tumblr.com/
|
9
|
+
* MIT LICENCE
|
10
|
+
*
|
11
|
+
* Built for jQuery library
|
12
|
+
* http://jquery.com
|
13
|
+
*
|
14
|
+
*/
|
15
|
+
|
16
|
+
;(function($){
|
17
|
+
|
18
|
+
$.social = $.social || {};
|
19
|
+
$.si = $.social.info = {
|
20
|
+
jsonp : function( p ){
|
21
|
+
return $.ajax({
|
22
|
+
url:p.url,
|
23
|
+
dataType:'jsonp',
|
24
|
+
data:p.data,
|
25
|
+
success:function( r ){
|
26
|
+
p.callback(r);
|
27
|
+
}
|
28
|
+
});
|
29
|
+
},
|
30
|
+
reArg : function(url , callback){
|
31
|
+
if(typeof url == 'object') return url;
|
32
|
+
if(typeof url == 'function'){
|
33
|
+
callback = url;
|
34
|
+
url = '';
|
35
|
+
}
|
36
|
+
url = url || location.href;
|
37
|
+
return {
|
38
|
+
url : url,
|
39
|
+
callback : callback
|
40
|
+
};
|
41
|
+
},
|
42
|
+
cache : {
|
43
|
+
twitter : {
|
44
|
+
entryCount : {}
|
45
|
+
}
|
46
|
+
},
|
47
|
+
version : '0.2',
|
48
|
+
id : 'social-info',
|
49
|
+
name : 'Social Info'
|
50
|
+
}
|
51
|
+
|
52
|
+
|
53
|
+
$.si.twitter = {
|
54
|
+
getEntryCount : function(url, callback){
|
55
|
+
var arg = $.extend({
|
56
|
+
url : location.href,
|
57
|
+
useCache : true,
|
58
|
+
callback : function( count ){}
|
59
|
+
}, $.si.reArg(url, callback))
|
60
|
+
var cache = $.si.cache.twitter.entryCount;
|
61
|
+
var eurl = encodeURIComponent(url);
|
62
|
+
if(arg.useCache && cache[eurl] != undefined){
|
63
|
+
arg.callback(cache[eurl]);
|
64
|
+
return;
|
65
|
+
}
|
66
|
+
$.si.jsonp({
|
67
|
+
url : 'http://urls.api.twitter.com/1/urls/count.json',
|
68
|
+
data : {
|
69
|
+
url : arg.url
|
70
|
+
},
|
71
|
+
callback : function(r){
|
72
|
+
var count = r = !r ? 0 : r.count;
|
73
|
+
cache[eurl] = count;
|
74
|
+
arg.callback(count);
|
75
|
+
}
|
76
|
+
});
|
77
|
+
},
|
78
|
+
getEntryUrl : function(url, title ){
|
79
|
+
url = url || location.href;
|
80
|
+
if(title) title = '&text=' + encodeURIComponent(title);
|
81
|
+
else{
|
82
|
+
if(url == location.href) title = '&text=' + encodeURIComponent(document.title);
|
83
|
+
}
|
84
|
+
return 'https://twitter.com/intent/tweet?url=' + encodeURIComponent(url) + (title || '');
|
85
|
+
},
|
86
|
+
getSearchUrl : function( url ){
|
87
|
+
url = url || location.href;
|
88
|
+
return 'https://twitter.com/search?q=' + encodeURIComponent( url );
|
89
|
+
}
|
90
|
+
}
|
91
|
+
|
92
|
+
$.si.facebook = {
|
93
|
+
getEntryCount : function( url , callback){
|
94
|
+
var arg = $.si.reArg(url, callback)
|
95
|
+
$.si.jsonp({
|
96
|
+
url : 'https://graph.facebook.com/',
|
97
|
+
data : {
|
98
|
+
id : arg.url
|
99
|
+
},
|
100
|
+
callback : function(r){
|
101
|
+
arg.callback(r.shares || 0);
|
102
|
+
}
|
103
|
+
});
|
104
|
+
},
|
105
|
+
getEntryUrl : function( url ){
|
106
|
+
url = url || location.href;
|
107
|
+
return 'http://www.facebook.com/sharer.php?u=' + encodeURIComponent(url);
|
108
|
+
},
|
109
|
+
getSearchUrl : function( url ){
|
110
|
+
url = url || location.href;
|
111
|
+
return 'https://www.facebook.com/#!/search/results.php?q=' + encodeURIComponent( url );
|
112
|
+
}
|
113
|
+
}
|
114
|
+
|
115
|
+
$.si.googleplus = {
|
116
|
+
getEntryCount : function( url , callback){
|
117
|
+
var arg = $.si.reArg(url, callback)
|
118
|
+
$.ajax({
|
119
|
+
type: "get",
|
120
|
+
dataType: "xml",
|
121
|
+
url: "http://query.yahooapis.com/v1/public/yql",
|
122
|
+
data: {
|
123
|
+
q: "SELECT content FROM data.headers WHERE url='https://plusone.google.com/_/+1/fastbutton?hl=ja&url=" + arg.url + "' and ua='#Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36'",
|
124
|
+
format: "xml",
|
125
|
+
env: "http://datatables.org/alltables.env"
|
126
|
+
},
|
127
|
+
success: function (data) {
|
128
|
+
var content = $(data).find("content").text();
|
129
|
+
var match = content.match(/window\.__SSR[\s*]=[\s*]{c:[\s*](\d+)/i);
|
130
|
+
var count = (match != null) ? match[1] : 0;
|
131
|
+
arg.callback(count);
|
132
|
+
}
|
133
|
+
});
|
134
|
+
},
|
135
|
+
getEntryUrl : function( url ){
|
136
|
+
url = url || location.href;
|
137
|
+
return 'https://plus.google.com/share?url=' + encodeURIComponent(url);
|
138
|
+
},
|
139
|
+
getSearchUrl : function( url ){
|
140
|
+
url = url || location.href;
|
141
|
+
return 'https://plus.google.com/u/0/?tab=mX#s/' + encodeURIComponent( url );
|
142
|
+
}
|
143
|
+
}
|
144
|
+
|
145
|
+
|
146
|
+
$.si.hatebu = {
|
147
|
+
getEntryCount : function( url , callback){
|
148
|
+
var arg = $.si.reArg(url, callback)
|
149
|
+
$.si.jsonp({
|
150
|
+
url : 'http://api.b.st-hatena.com/entry.count',
|
151
|
+
data : {
|
152
|
+
url : arg.url
|
153
|
+
},
|
154
|
+
callback : arg.callback
|
155
|
+
});
|
156
|
+
},
|
157
|
+
getEntryUrl : function(url){
|
158
|
+
url = url || location.href;
|
159
|
+
return 'http://b.hatena.ne.jp/entry/' + url.replace(/^http:\/\//,'').replace(/^https:\/\//,'s/');
|
160
|
+
},
|
161
|
+
getSearchUrl : function( url ){
|
162
|
+
url = url || location.href;
|
163
|
+
return 'http://b.hatena.ne.jp/entrylist?url=' + encodeURIComponent( url );
|
164
|
+
},
|
165
|
+
getEntryList : function( url, sort, callback){
|
166
|
+
if(typeof sort == 'function'){
|
167
|
+
callback = sort;
|
168
|
+
sort = 'count';
|
169
|
+
}
|
170
|
+
if(typeof url == 'function'){
|
171
|
+
callback = url;
|
172
|
+
sort = 'count';
|
173
|
+
url = '';
|
174
|
+
}
|
175
|
+
url = url || location.href;
|
176
|
+
$.si.jsonp({
|
177
|
+
url : 'http://b.hatena.ne.jp/entrylist/json',
|
178
|
+
data : {
|
179
|
+
sort : sort,
|
180
|
+
url : url
|
181
|
+
},
|
182
|
+
callback : callback
|
183
|
+
});
|
184
|
+
},
|
185
|
+
getEntry : function( url , callback){
|
186
|
+
var arg = $.si.reArg(url, callback)
|
187
|
+
$.si.jsonp({
|
188
|
+
url : 'http://b.hatena.ne.jp/entry/jsonlite/',
|
189
|
+
data : {
|
190
|
+
url : arg.url
|
191
|
+
},
|
192
|
+
callback : arg.callback
|
193
|
+
});
|
194
|
+
},
|
195
|
+
getProfileImgUrl : function(id, size){
|
196
|
+
size = size ? '_'+size : '';
|
197
|
+
return 'http://cdn.www.st-hatena.com/users/mo/'+id+'/profile'+size+'.gif';
|
198
|
+
},
|
199
|
+
getEntryImgUrl : function(url){
|
200
|
+
return 'http://b.hatena.ne.jp/entry/image/' + url;
|
201
|
+
}
|
202
|
+
};
|
203
|
+
|
204
|
+
|
205
|
+
})(jQuery);
|
206
|
+
|
207
|
+
/*
|
208
|
+
* Easy Social Buttons 0.2 - jQuery plugin
|
209
|
+
* written by cyokodog
|
210
|
+
*
|
211
|
+
* Copyright (c) 2014 cyokodog
|
212
|
+
* http://www.cyokodog.net/
|
213
|
+
* http://d.hatena.ne.jp/cyokodog/)
|
214
|
+
* http://cyokodog.tumblr.com/
|
215
|
+
* MIT LICENCE
|
216
|
+
*
|
217
|
+
* Built for jQuery library
|
218
|
+
* http://jquery.com
|
219
|
+
*
|
220
|
+
*/
|
221
|
+
|
222
|
+
|
223
|
+
;(function($){
|
224
|
+
|
225
|
+
var plugin = $.esb = $.easySocialButtons = function(option ){
|
226
|
+
var callee = arguments.callee;
|
227
|
+
if(!(this instanceof callee)) return new callee(option );
|
228
|
+
var o = this, c = o.config = $.extend(true, {}, callee.defaults, option);
|
229
|
+
c.orders = option.orders || c.orders;
|
230
|
+
c.buttons = $('<ul class="easy-social-buttons-container sns-buttons__items"/>');
|
231
|
+
if(c.inverseColor) c.buttons.addClass('esb-inverse');
|
232
|
+
$.each(c.orders, function(){
|
233
|
+
var sname = this.toString();
|
234
|
+
var api = c[sname] = $.esb[sname](option );
|
235
|
+
api.getButton().appendTo(c.buttons);
|
236
|
+
});
|
237
|
+
}
|
238
|
+
$.extend(plugin.prototype, {
|
239
|
+
getButtons : function(){ // ボタンの取得
|
240
|
+
var o = this, c = o.config;
|
241
|
+
return c.buttons;
|
242
|
+
},
|
243
|
+
getButtonAPI : function(name ){ // API の取得
|
244
|
+
var o = this, c = o.config;
|
245
|
+
return c[name];
|
246
|
+
}
|
247
|
+
});
|
248
|
+
$.extend(plugin, {
|
249
|
+
defaults : {
|
250
|
+
autoAdd : true, // true でボタンの自動挿入を行う
|
251
|
+
addMethod : 'insertAfter', // ボタンの挿入メソッドを指定
|
252
|
+
callback : function(api ){}, // プラグイン実行後のコールバック処理
|
253
|
+
orders : ['hatebu','twitter', 'facebook', 'googleplus'], // ボタンの表示順
|
254
|
+
labels : { // サービスの表示名
|
255
|
+
'hatebu' : '<i class="fa fa-hatena sns-buttons__icon is-hatena"></i>',
|
256
|
+
'twitter' : '<i class="fa fa-twitter sns-buttons__icon is-twitter"></i>',
|
257
|
+
'facebook' : '<i class="fa fa-facebook sns-buttons__icon is-facebook"></i>',
|
258
|
+
'googleplus' : '<i class="fa fa-google-plus sns-buttons__icon is-google-plus"></i>'
|
259
|
+
}
|
260
|
+
},
|
261
|
+
version : '0.2',
|
262
|
+
id : 'easy-social-buttons',
|
263
|
+
name : 'Easy Social Buttons'
|
264
|
+
});
|
265
|
+
|
266
|
+
$.fn.easySocialButtons = function(option ){
|
267
|
+
var c = $.extend(true, {}, plugin.defaults, option);
|
268
|
+
if(option) c.orders = option.orders || c.orders;
|
269
|
+
return this.each(function(){
|
270
|
+
var t = $(this);
|
271
|
+
c.url = t.prop('href') || t.data('href') || t.data('url') || c.url;
|
272
|
+
if(!c.url){
|
273
|
+
c.url = location.href;
|
274
|
+
c.addMethod = 'appendTo';
|
275
|
+
}
|
276
|
+
var api = $.easySocialButtons(c);
|
277
|
+
if(c.autoAdd){
|
278
|
+
api.getButtons(c)[c.addMethod](t);
|
279
|
+
}
|
280
|
+
c.callback.apply(t[0], [api]);
|
281
|
+
});
|
282
|
+
}
|
283
|
+
|
284
|
+
var DF = plugin.defaults;
|
285
|
+
$.each(DF.orders, function(idx){
|
286
|
+
var sname = this.toString();
|
287
|
+
var f = $.esb[sname] = function(option ){
|
288
|
+
var callee = arguments.callee;
|
289
|
+
if(!(this instanceof callee)) return new callee(option );
|
290
|
+
var o = this, c = o.config = $.extend(true, {}, callee.defaults, callee.overwrite[sname] || {}, option, option[sname]);
|
291
|
+
c.url = c.url || location.href;
|
292
|
+
c.button = $(c.tempalte);
|
293
|
+
c.wrapper = c.button.hasClass('esb') ? c.button : c.button.find('.esb');
|
294
|
+
c.label = c.wrapper.find('.esb-label').html(c.label);
|
295
|
+
c.counter = c.wrapper.find('.esb-counter').html(c.waitCounter);
|
296
|
+
c.entryLink = c.wrapper.find('a.esb-entry');
|
297
|
+
c.searchLink = c.wrapper.find('a.esb-search');
|
298
|
+
if(c.useBrandColor) c.wrapper.addClass('esb-' + sname);
|
299
|
+
if($.si){
|
300
|
+
var SI = $.si[sname];
|
301
|
+
if(c.counter.size() && SI.getEntryCount){
|
302
|
+
SI.getEntryCount(c.url, function(count ){
|
303
|
+
c.counter.text(count);
|
304
|
+
});
|
305
|
+
}
|
306
|
+
!SI.getEntryUrl || c.entryLink.prop('href', SI.getEntryUrl(c.url )).prop('title', c.entryTitle);
|
307
|
+
!SI.getSearchUrl || c.searchLink.prop('href', SI.getSearchUrl(c.url )).prop('title', c.searchTitle);
|
308
|
+
}
|
309
|
+
}
|
310
|
+
$.extend(f.prototype, {
|
311
|
+
getButton : function(){
|
312
|
+
var o = this, c = o.config;
|
313
|
+
return c.button;
|
314
|
+
}
|
315
|
+
});
|
316
|
+
$.extend(f, {
|
317
|
+
id : sname,
|
318
|
+
defaults : {
|
319
|
+
url : '',
|
320
|
+
label : DF.labels[sname],
|
321
|
+
entryTitle : '投稿する', // esb-entry クラスを持つ要素に割り当てる title 属性値
|
322
|
+
searchTitle : '検索する', // esb-search クラスを持つ要素に割り当てる title 属性値
|
323
|
+
waitCounter : '<span> </span>', // Web API の取得結果待ち時に表示するマークアップ
|
324
|
+
tempalte : '<li class="esb sns-buttons__item"><a class="esb-label esb-entry sns-buttons__entry-link" target="_blank"></a><a class="esb-counter esb-search sns-buttons__search-link" target="_blank"></a></li>', // ボタンのテンプレート
|
325
|
+
useBrandColor : false, // ブランドカラーの使用
|
326
|
+
inverseColor : false // ブランドカラー未使用時の配色の反転
|
327
|
+
},
|
328
|
+
overwrite : {
|
329
|
+
hatebu : {
|
330
|
+
entryTitle : 'ブックマークする'
|
331
|
+
}
|
332
|
+
}
|
333
|
+
});
|
334
|
+
});
|
335
|
+
})(jQuery);
|
336
|
+
|
337
|
+
$(function(){
|
338
|
+
$('.sns-buttons').easySocialButtons();
|
339
|
+
});
|
@@ -0,0 +1,12 @@
|
|
1
|
+
// ヒラギノ丸を使うときに使う
|
2
|
+
@import url(//fonts.googleapis.com/css?family=Varela+Round)
|
3
|
+
=varela-round($fw: 400, $ls: 0, $fs: null, $tx-rendering: true)
|
4
|
+
// $fw: フォントの太さ, $ls: 字間, $fs: フォントスタイル
|
5
|
+
font-family: 'Varela Round', sans-serif
|
6
|
+
font-weight: $fw
|
7
|
+
@if not $ls == 0
|
8
|
+
letter-spacing: $ls
|
9
|
+
@if (not $fs == null)
|
10
|
+
font-style: italic
|
11
|
+
@if $tx-rendering
|
12
|
+
text-rendering: optimizelegibility
|
@@ -10,6 +10,12 @@
|
|
10
10
|
@if $text-rendering
|
11
11
|
text-rendering: optimizelegibility
|
12
12
|
|
13
|
+
=maru-serif($text-rendering: true)
|
14
|
+
font-family: $basic-maru
|
15
|
+
*font-family: $basic-legacy-ie-sans-serif
|
16
|
+
@if $text-rendering
|
17
|
+
text-rendering: optimizelegibility
|
18
|
+
|
13
19
|
=bold-ja($text-rendering: true)
|
14
20
|
font-family: $basic-bold-sans-serif
|
15
21
|
*font-family: $basic-legacy-ie-sans-serif
|
@@ -2,9 +2,9 @@
|
|
2
2
|
// positions
|
3
3
|
////////////////
|
4
4
|
|
5
|
-
$all: top right bottom left
|
6
|
-
$horizontal: left right
|
7
|
-
$vertical: top bottom
|
5
|
+
$all: top right bottom left !important
|
6
|
+
$horizontal: left right !important
|
7
|
+
$vertical: top bottom !important
|
8
8
|
|
9
9
|
/////////////////
|
10
10
|
// compass
|
@@ -66,7 +66,7 @@ $basic-sans-serif: "Lucida Grande", "Lucida Sans Unicode", Roboto, "Droid Sans",
|
|
66
66
|
$basic-legacy-ie-sans-serif: "MS Pゴシック", "Lucida Sans Unicode", sans-serif !default
|
67
67
|
$basic-bold-sans-serif: "ヒラギノ角ゴ StdN", "Hiragino Kaku Gothic StdN", "メイリオ", Meiryo, Roboto, "Droid Sans", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "MS Pゴシック", Helvetica, Arial, Verdana, sans-serif, "MS Pゴシック", Helvetica, Arial, Verdana, sans-serif !default
|
68
68
|
$basic-serif: "Times New Roman", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "HGS明朝E", "游明朝", YuMincho, Meiryo, serif !default
|
69
|
-
$basic-mono: Osaka-mono, "MS Gothic", monospace
|
70
|
-
|
69
|
+
$basic-mono: Osaka-mono, "MS Gothic", monospace !default
|
70
|
+
$basic-maru: "Varela Round", "Lucida Grande", "Lucida Sans Unicode", Roboto, "Droid Sans", "HG丸ゴシックM-PRO", "Hiragino Maru Gothic Pro", "游ゴシック", YuGothic, "メイリオ", Meiryo, "MS Pゴシック", Helvetica, Arial, Verdana, sans-serif !default
|
71
71
|
$basic-fonts: $basic-sans-serif !default
|
72
72
|
$basic-legacy-ie-fonts: $basic-legacy-ie-sans-serif !default
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: middleman-oulu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.35
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- machida
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-03-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -173,6 +173,7 @@ files:
|
|
173
173
|
- assets/stylesheets/options/web-fonts/_tauri.sass
|
174
174
|
- assets/stylesheets/options/web-fonts/_ubuntu-mono.sass
|
175
175
|
- assets/stylesheets/options/web-fonts/_ubuntu.sass
|
176
|
+
- assets/stylesheets/options/web-fonts/_varela-round.sass
|
176
177
|
- assets/stylesheets/options/web-fonts/_vt323.sass
|
177
178
|
- assets/stylesheets/settings/functions/_animation.sass
|
178
179
|
- assets/stylesheets/settings/functions/_background.sass
|