oulu-rails 0.5.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (194) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +22 -0
  3. data/README.md +23 -0
  4. data/lib/oulu-rails/version.rb +3 -0
  5. data/lib/oulu-rails.rb +27 -0
  6. data/vendor/assets/javascripts/oulu/dev/positions-p.js.coffee +34 -0
  7. data/vendor/assets/javascripts/oulu/dev/positions-pp.js.coffee +57 -0
  8. data/vendor/assets/javascripts/oulu/dev/positions.js.coffee +6 -0
  9. data/vendor/assets/javascripts/oulu/helpers/js-autosize.js.coffee +2 -0
  10. data/vendor/assets/javascripts/oulu/helpers/js-checkbox.js.coffee +6 -0
  11. data/vendor/assets/javascripts/oulu/helpers/js-click-animate.js.coffee +8 -0
  12. data/vendor/assets/javascripts/oulu/helpers/js-delay-hidden.js.coffee +4 -0
  13. data/vendor/assets/javascripts/oulu/helpers/js-focused.js.coffee +7 -0
  14. data/vendor/assets/javascripts/oulu/helpers/js-hack.js.coffee +8 -0
  15. data/vendor/assets/javascripts/oulu/helpers/js-hide-after.j.coffee +5 -0
  16. data/vendor/assets/javascripts/oulu/helpers/js-hover-z-index.js.coffee +5 -0
  17. data/vendor/assets/javascripts/oulu/helpers/js-hovered.js.coffee +17 -0
  18. data/vendor/assets/javascripts/oulu/helpers/js-one-animate.js.coffee +5 -0
  19. data/vendor/assets/javascripts/oulu/helpers/js-open-children.js.coffee +28 -0
  20. data/vendor/assets/javascripts/oulu/helpers/js-open.js.coffee +51 -0
  21. data/vendor/assets/javascripts/oulu/helpers/js-scroll-to-top.js.coffee +11 -0
  22. data/vendor/assets/javascripts/oulu/helpers/js-scroll.js.coffee +9 -0
  23. data/vendor/assets/javascripts/oulu/helpers/js-side-slide.js.coffee +6 -0
  24. data/vendor/assets/javascripts/oulu/helpers/js-window-loading.js.coffee +15 -0
  25. data/vendor/assets/javascripts/oulu/helpers/js-window-sizes.js.coffee +6 -0
  26. data/vendor/assets/javascripts/oulu/helpers/open-close.js.coffee +23 -0
  27. data/vendor/assets/javascripts/oulu/ie/PIE_IE678.js +72 -0
  28. data/vendor/assets/javascripts/oulu/ie/PIE_IE9.js +46 -0
  29. data/vendor/assets/javascripts/oulu/ie/ie-selectors.js.coffee +3 -0
  30. data/vendor/assets/javascripts/oulu/ie/ie8-selectors.js.coffee +3 -0
  31. data/vendor/assets/javascripts/oulu/ie/ie9-selectors.js.coffee +6 -0
  32. data/vendor/assets/javascripts/oulu/ie/jquery.belatedPNG.min.js +29 -0
  33. data/vendor/assets/javascripts/oulu/ie/jquery.linkscubber.js +7 -0
  34. data/vendor/assets/javascripts/oulu/ie/svgeezy.min.js +12 -0
  35. data/vendor/assets/javascripts/oulu/plugins/check-box.js.coffee +34 -0
  36. data/vendor/assets/javascripts/oulu/plugins/footerFixed.js +74 -0
  37. data/vendor/assets/javascripts/oulu/plugins/jquery.autosize.min.js +7 -0
  38. data/vendor/assets/javascripts/oulu/plugins/jquery.cheat-code.js +63 -0
  39. data/vendor/assets/javascripts/oulu/plugins/jquery.css3form.js +195 -0
  40. data/vendor/assets/javascripts/oulu/plugins/jquery.depend.min.js +13 -0
  41. data/vendor/assets/javascripts/oulu/plugins/sns-buttons.js +339 -0
  42. data/vendor/assets/javascripts/oulu-ie8.js +6 -0
  43. data/vendor/assets/javascripts/oulu-ie9.js +2 -0
  44. data/vendor/assets/javascripts/oulu.js +2 -0
  45. data/vendor/assets/stylesheets/_oulu-base.css.sass +86 -0
  46. data/vendor/assets/stylesheets/_oulu.css.sass +13 -0
  47. data/vendor/assets/stylesheets/bootcamp/CHANGELOG.md +70 -0
  48. data/vendor/assets/stylesheets/bootcamp/CONTRIBUTING.md +72 -0
  49. data/vendor/assets/stylesheets/bootcamp/Gruntfile.coffee +34 -0
  50. data/vendor/assets/stylesheets/bootcamp/LICENSE.md +7 -0
  51. data/vendor/assets/stylesheets/bootcamp/README.md +52 -0
  52. data/vendor/assets/stylesheets/bootcamp/bower.json +15 -0
  53. data/vendor/assets/stylesheets/bootcamp/dist/_bootcamp.scss +46 -0
  54. data/vendor/assets/stylesheets/bootcamp/dist/bootcamp.coffee +101 -0
  55. data/vendor/assets/stylesheets/bootcamp/dist/core/functions/_actual.scss +3 -0
  56. data/vendor/assets/stylesheets/bootcamp/dist/core/functions/_error.scss +29 -0
  57. data/vendor/assets/stylesheets/bootcamp/dist/core/functions/_expect.scss +6 -0
  58. data/vendor/assets/stylesheets/bootcamp/dist/core/functions/_not-to.scss +5 -0
  59. data/vendor/assets/stylesheets/bootcamp/dist/core/functions/_should.scss +6 -0
  60. data/vendor/assets/stylesheets/bootcamp/dist/core/functions/_to.scss +5 -0
  61. data/vendor/assets/stylesheets/bootcamp/dist/core/mixins/_describe.scss +31 -0
  62. data/vendor/assets/stylesheets/bootcamp/dist/core/mixins/_it.scss +31 -0
  63. data/vendor/assets/stylesheets/bootcamp/dist/core/mixins/_runner.scss +28 -0
  64. data/vendor/assets/stylesheets/bootcamp/dist/core/mixins/_should.scss +46 -0
  65. data/vendor/assets/stylesheets/bootcamp/dist/core/mixins/_xdescribe.scss +9 -0
  66. data/vendor/assets/stylesheets/bootcamp/dist/core/mixins/_xit.scss +9 -0
  67. data/vendor/assets/stylesheets/bootcamp/dist/core/variables/_helpers.scss +5 -0
  68. data/vendor/assets/stylesheets/bootcamp/dist/core/variables/_settings.scss +2 -0
  69. data/vendor/assets/stylesheets/bootcamp/dist/core/variables/_should.scss +6 -0
  70. data/vendor/assets/stylesheets/bootcamp/dist/core/variables/_trackers.scss +6 -0
  71. data/vendor/assets/stylesheets/bootcamp/dist/lib/_sassyjson.scss +1075 -0
  72. data/vendor/assets/stylesheets/bootcamp/dist/matchers/_be.scss +3 -0
  73. data/vendor/assets/stylesheets/bootcamp/dist/matchers/_equal.scss +3 -0
  74. data/vendor/assets/stylesheets/bootcamp/dist/matchers/lists/_be-empty.scss +3 -0
  75. data/vendor/assets/stylesheets/bootcamp/dist/matchers/lists/_be-longer-than.scss +3 -0
  76. data/vendor/assets/stylesheets/bootcamp/dist/matchers/lists/_be-shorter-than.scss +3 -0
  77. data/vendor/assets/stylesheets/bootcamp/dist/matchers/lists/_contain.scss +3 -0
  78. data/vendor/assets/stylesheets/bootcamp/dist/matchers/lists/_deep-contain.scss +3 -0
  79. data/vendor/assets/stylesheets/bootcamp/dist/matchers/lists/_deep-equal.scss +47 -0
  80. data/vendor/assets/stylesheets/bootcamp/dist/matchers/lists/_have-length-of.scss +3 -0
  81. data/vendor/assets/stylesheets/bootcamp/dist/matchers/numbers/_be-close-to.scss +12 -0
  82. data/vendor/assets/stylesheets/bootcamp/dist/matchers/numbers/_be-greater-than.scss +12 -0
  83. data/vendor/assets/stylesheets/bootcamp/dist/matchers/numbers/_be-less-than.scss +12 -0
  84. data/vendor/assets/stylesheets/bootcamp/dist/matchers/types/_be-falsy.scss +3 -0
  85. data/vendor/assets/stylesheets/bootcamp/dist/matchers/types/_be-null.scss +3 -0
  86. data/vendor/assets/stylesheets/bootcamp/dist/matchers/types/_be-truthy.scss +3 -0
  87. data/vendor/assets/stylesheets/bootcamp/dist/matchers/types/_have-type-of.scss +3 -0
  88. data/vendor/assets/stylesheets/bootcamp/dist/utils/_contain.scss +15 -0
  89. data/vendor/assets/stylesheets/bootcamp/dist/utils/_equal.scss +23 -0
  90. data/vendor/assets/stylesheets/bootcamp/dist/utils/_list-join.scss +35 -0
  91. data/vendor/assets/stylesheets/bootcamp/dist/utils/_power.scss +15 -0
  92. data/vendor/assets/stylesheets/bootcamp/package.json +63 -0
  93. data/vendor/assets/stylesheets/bootcamp/tasks/bootcamp.coffee +83 -0
  94. data/vendor/assets/stylesheets/bootcamp/test/core/functions/_actual.scss +10 -0
  95. data/vendor/assets/stylesheets/bootcamp/test/core/functions/_expect.scss +6 -0
  96. data/vendor/assets/stylesheets/bootcamp/test/core/functions/_not-to.scss +5 -0
  97. data/vendor/assets/stylesheets/bootcamp/test/core/functions/_should.scss +10 -0
  98. data/vendor/assets/stylesheets/bootcamp/test/core/functions/_to.scss +5 -0
  99. data/vendor/assets/stylesheets/bootcamp/test/core/mixins/_describe.scss +11 -0
  100. data/vendor/assets/stylesheets/bootcamp/test/core/mixins/_it.scss +5 -0
  101. data/vendor/assets/stylesheets/bootcamp/test/core/mixins/_should.scss +5 -0
  102. data/vendor/assets/stylesheets/bootcamp/test/core/mixins/_xdescribe.scss +28 -0
  103. data/vendor/assets/stylesheets/bootcamp/test/core/mixins/_xit.scss +12 -0
  104. data/vendor/assets/stylesheets/bootcamp/test/matchers/_be.scss +90 -0
  105. data/vendor/assets/stylesheets/bootcamp/test/matchers/_equal.scss +33 -0
  106. data/vendor/assets/stylesheets/bootcamp/test/matchers/lists/_be-empty.scss +12 -0
  107. data/vendor/assets/stylesheets/bootcamp/test/matchers/lists/_be-longer-than.scss +29 -0
  108. data/vendor/assets/stylesheets/bootcamp/test/matchers/lists/_be-shorter-than.scss +29 -0
  109. data/vendor/assets/stylesheets/bootcamp/test/matchers/lists/_contain.scss +39 -0
  110. data/vendor/assets/stylesheets/bootcamp/test/matchers/lists/_deep-contain.scss +51 -0
  111. data/vendor/assets/stylesheets/bootcamp/test/matchers/lists/_deep-equal.scss +151 -0
  112. data/vendor/assets/stylesheets/bootcamp/test/matchers/lists/_have-length-of.scss +31 -0
  113. data/vendor/assets/stylesheets/bootcamp/test/matchers/numbers/_be-close-to.scss +24 -0
  114. data/vendor/assets/stylesheets/bootcamp/test/matchers/numbers/_be-greater-than.scss +16 -0
  115. data/vendor/assets/stylesheets/bootcamp/test/matchers/numbers/_be-less-than.scss +16 -0
  116. data/vendor/assets/stylesheets/bootcamp/test/matchers/types/_be-falsy.scss +14 -0
  117. data/vendor/assets/stylesheets/bootcamp/test/matchers/types/_be-null.scss +13 -0
  118. data/vendor/assets/stylesheets/bootcamp/test/matchers/types/_be-truthy.scss +13 -0
  119. data/vendor/assets/stylesheets/bootcamp/test/matchers/types/_have-type-of.scss +17 -0
  120. data/vendor/assets/stylesheets/bootcamp/test/specs.scss +45 -0
  121. data/vendor/assets/stylesheets/bootcamp/test/utils/_contain.scss +41 -0
  122. data/vendor/assets/stylesheets/bootcamp/test/utils/_equal.scss +79 -0
  123. data/vendor/assets/stylesheets/bootcamp/test/utils/_list-join.scss +39 -0
  124. data/vendor/assets/stylesheets/bootcamp/test/utils/_power.scss +13 -0
  125. data/vendor/assets/stylesheets/helper/_base-helper.css.sass +133 -0
  126. data/vendor/assets/stylesheets/helper/_click-actions.css.sass +188 -0
  127. data/vendor/assets/stylesheets/helper/_fade-actions.css.sass +30 -0
  128. data/vendor/assets/stylesheets/helper/_margin-padding.css.sass +16 -0
  129. data/vendor/assets/stylesheets/helper/_typoglaphy.css.sass +9 -0
  130. data/vendor/assets/stylesheets/options/amazlet/_amazlet.css.sass +32 -0
  131. data/vendor/assets/stylesheets/options/glitch/_glitch.css.sass +31 -0
  132. data/vendor/assets/stylesheets/options/oulu-buttons/_button-basic.css.sass +31 -0
  133. data/vendor/assets/stylesheets/options/web-fonts/_cousine.css.sass +12 -0
  134. data/vendor/assets/stylesheets/options/web-fonts/_font-awsome.css.sass +8 -0
  135. data/vendor/assets/stylesheets/options/web-fonts/_icomoon.css.sass +10 -0
  136. data/vendor/assets/stylesheets/options/web-fonts/_lato.css.sass +12 -0
  137. data/vendor/assets/stylesheets/options/web-fonts/_montserrat.css.sass +13 -0
  138. data/vendor/assets/stylesheets/options/web-fonts/_old-standard.css.sass +12 -0
  139. data/vendor/assets/stylesheets/options/web-fonts/_open-sans.css.sass +11 -0
  140. data/vendor/assets/stylesheets/options/web-fonts/_podkova.css.sass +12 -0
  141. data/vendor/assets/stylesheets/options/web-fonts/_pt-sans.css.sass +12 -0
  142. data/vendor/assets/stylesheets/options/web-fonts/_roboto.css.sass +11 -0
  143. data/vendor/assets/stylesheets/options/web-fonts/_satisfy.css.sass +13 -0
  144. data/vendor/assets/stylesheets/options/web-fonts/_source-code-pro.css.sass +13 -0
  145. data/vendor/assets/stylesheets/options/web-fonts/_source-sans-pro.css.sass +13 -0
  146. data/vendor/assets/stylesheets/options/web-fonts/_special-elite.css.sass +12 -0
  147. data/vendor/assets/stylesheets/options/web-fonts/_tauri.css.sass +11 -0
  148. data/vendor/assets/stylesheets/options/web-fonts/_ubuntu.css.sass +12 -0
  149. data/vendor/assets/stylesheets/settings/functions/_background.css.sass +60 -0
  150. data/vendor/assets/stylesheets/settings/functions/_bool.css.sass +5 -0
  151. data/vendor/assets/stylesheets/settings/functions/_border.css.sass +47 -0
  152. data/vendor/assets/stylesheets/settings/functions/_color.css.sass +65 -0
  153. data/vendor/assets/stylesheets/settings/functions/_content.css.sass +5 -0
  154. data/vendor/assets/stylesheets/settings/functions/_cursor.css.sass +5 -0
  155. data/vendor/assets/stylesheets/settings/functions/_direction.css.sass +8 -0
  156. data/vendor/assets/stylesheets/settings/functions/_image.css.sass +8 -0
  157. data/vendor/assets/stylesheets/settings/functions/_length.css.sass +20 -0
  158. data/vendor/assets/stylesheets/settings/functions/_list.css.sass +11 -0
  159. data/vendor/assets/stylesheets/settings/functions/_map.css.sass +5 -0
  160. data/vendor/assets/stylesheets/settings/functions/_number.css.sass +63 -0
  161. data/vendor/assets/stylesheets/settings/functions/_position.css.sass +47 -0
  162. data/vendor/assets/stylesheets/settings/functions/_reverse.css.sass +22 -0
  163. data/vendor/assets/stylesheets/settings/functions/_string.css.sass +5 -0
  164. data/vendor/assets/stylesheets/settings/functions/_text.css.sass +34 -0
  165. data/vendor/assets/stylesheets/settings/initializers/_reset.css.sass +85 -0
  166. data/vendor/assets/stylesheets/settings/mixins/_animation.css.sass +15 -0
  167. data/vendor/assets/stylesheets/settings/mixins/_background.css.sass +33 -0
  168. data/vendor/assets/stylesheets/settings/mixins/_balloon-tale.css.sass +111 -0
  169. data/vendor/assets/stylesheets/settings/mixins/_basic-font.css.sass +40 -0
  170. data/vendor/assets/stylesheets/settings/mixins/_block.css.sass +30 -0
  171. data/vendor/assets/stylesheets/settings/mixins/_border.css.sass +28 -0
  172. data/vendor/assets/stylesheets/settings/mixins/_button-base.css.sass +27 -0
  173. data/vendor/assets/stylesheets/settings/mixins/_clear-type.css.sass +4 -0
  174. data/vendor/assets/stylesheets/settings/mixins/_color.css.sass +9 -0
  175. data/vendor/assets/stylesheets/settings/mixins/_filters.css.sass +5 -0
  176. data/vendor/assets/stylesheets/settings/mixins/_form.css.sass +7 -0
  177. data/vendor/assets/stylesheets/settings/mixins/_grids.css.sass +149 -0
  178. data/vendor/assets/stylesheets/settings/mixins/_html5-input-types.scss +118 -0
  179. data/vendor/assets/stylesheets/settings/mixins/_ie-hacks.css.sass +8 -0
  180. data/vendor/assets/stylesheets/settings/mixins/_lines.css.sass +18 -0
  181. data/vendor/assets/stylesheets/settings/mixins/_link.css.sass +11 -0
  182. data/vendor/assets/stylesheets/settings/mixins/_list.css.sass +21 -0
  183. data/vendor/assets/stylesheets/settings/mixins/_margin-padding.css.sass +69 -0
  184. data/vendor/assets/stylesheets/settings/mixins/_overlay.css.sass +5 -0
  185. data/vendor/assets/stylesheets/settings/mixins/_positions.css.sass +28 -0
  186. data/vendor/assets/stylesheets/settings/mixins/_rem.css.sass +53 -0
  187. data/vendor/assets/stylesheets/settings/mixins/_resets.css.sass +17 -0
  188. data/vendor/assets/stylesheets/settings/mixins/_responsive-utilities.css.sass +160 -0
  189. data/vendor/assets/stylesheets/settings/mixins/_sassmatic.css.sass +172 -0
  190. data/vendor/assets/stylesheets/settings/mixins/_sprite-background.css.sass +18 -0
  191. data/vendor/assets/stylesheets/settings/mixins/_tables.css.sass +14 -0
  192. data/vendor/assets/stylesheets/settings/mixins/_text.css.sass +21 -0
  193. data/vendor/assets/stylesheets/settings/variables/_default.css.sass +69 -0
  194. metadata +362 -0
@@ -0,0 +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>&nbsp;</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,6 @@
1
+ //= require oulu/ie/jquery.linkscubber
2
+ //= require oulu/ie/jquery.belatedPNG.min
3
+ //= require oulu/ie/PIE_IE678
4
+ //= require oulu/ie/jquery.linkscubber
5
+ //= require oulu/ie/svgeezy.min
6
+ //= require oulu/ie/ie8-selectors
@@ -0,0 +1,2 @@
1
+ //= require oulu/ie/PIE_IE9
2
+ //= require oulu/ie/ie-selectors
@@ -0,0 +1,2 @@
1
+ //= require_tree ./oulu/plugins
2
+ //= require_tree ./oulu/helpers
@@ -0,0 +1,86 @@
1
+ //////////////
2
+ //settings
3
+ //////////////
4
+
5
+ // compass
6
+ ///////////////////
7
+
8
+ @import compass/css3
9
+ @import compass/typography/links
10
+ @import compass/typography/lists
11
+ @import compass/typography/text
12
+ @import compass/utilities/general
13
+ @import compass/utilities/sprites
14
+ @import compass/utilities/tables
15
+
16
+ // compass plugins
17
+ ///////////////////
18
+
19
+ // compass-rgbapng https://github.com/aaronrussell/compass-rgbapng
20
+ @import rgbapng
21
+ // SassyLists http://sassylists.com/
22
+ @import SassyLists
23
+ // sass-ceaser-easing https://github.com/jhardy/compass-ceaser-easing
24
+ @import ceaser-easing
25
+ // modular-scale https://github.com/Team-Sass/modular-scale
26
+ @import modular-scale
27
+
28
+ // variables
29
+ ///////////////////
30
+
31
+ @import settings/variables/default
32
+
33
+ // functions
34
+ ///////////////////
35
+ @import settings/functions/number
36
+ @import settings/functions/string
37
+ @import settings/functions/length
38
+ @import settings/functions/list
39
+ @import settings/functions/map
40
+ @import settings/functions/bool
41
+ @import settings/functions/position
42
+ @import settings/functions/text
43
+ @import settings/functions/direction
44
+ @import settings/functions/reverse
45
+ @import settings/functions/color
46
+ @import settings/functions/image
47
+ @import settings/functions/background
48
+ @import settings/functions/border
49
+
50
+ // mixins
51
+ ///////////////////
52
+
53
+ @import settings/mixins/rem
54
+ @import settings/mixins/basic-font
55
+ @import settings/mixins/clear-type
56
+ @import settings/mixins/resets
57
+ @import settings/mixins/text
58
+ @import settings/mixins/positions
59
+ @import settings/mixins/block
60
+ @import settings/mixins/link
61
+ @import settings/mixins/border
62
+ @import settings/mixins/tables
63
+ @import settings/mixins/list
64
+ @import settings/mixins/color
65
+ @import settings/mixins/overlay
66
+ @import settings/mixins/balloon-tale
67
+ @import settings/mixins/sprite-background
68
+ @import settings/mixins/margin-padding
69
+ @import settings/mixins/animation
70
+ @import settings/mixins/grids
71
+ @import settings/mixins/responsive-utilities
72
+ @import settings/mixins/background
73
+ @import settings/mixins/lines
74
+ @import settings/mixins/button-base
75
+
76
+ // http://sassmatic.com/
77
+ // @import settings/mixins/sassmatic
78
+
79
+ // sass3.3以上のみ使用可
80
+ @import settings/mixins/html5-input-types
81
+
82
+ // initializers
83
+ ///////////////////
84
+
85
+ @import compass/reset
86
+ @import settings/initializers/reset
@@ -0,0 +1,13 @@
1
+ //////////////
2
+ //settings
3
+ //////////////
4
+
5
+ // oulu-base
6
+ @import oulu-base
7
+
8
+ // helper-classes
9
+ @import helper/base-helper
10
+ @import helper/margin-padding
11
+ @import helper/typoglaphy
12
+ @import helper/click-actions
13
+ @import helper/fade-actions
@@ -0,0 +1,70 @@
1
+ # Changelog
2
+
3
+ #### 1.1.7 - 2014-8-31
4
+
5
+ - Updated npm dependencies
6
+
7
+ #### 1.1.6 - 2014-6-27
8
+
9
+ - Switch to SassyJson
10
+
11
+ #### 1.1.5 - 2014-3-21
12
+
13
+ - Grunt: Fail instead of warn
14
+
15
+ #### 1.1.4 - 2014-2-24
16
+
17
+ - Updated npm dependencies
18
+
19
+ #### 1.1.2 - 2014-1-12
20
+
21
+ - Fix nested describe naming
22
+ - Add bc-util-list-join utility
23
+ - Fix newline regex on windows
24
+ - Update grunt-contrib-sass
25
+
26
+ #### 1.1.0 - 2013-11-19
27
+
28
+ - Sass 3.3 (breaking change)
29
+
30
+ #### 1.0.0 - 2013-11-16
31
+
32
+ - Add Matcher have-type-of
33
+ - Adds Warnings/Errors
34
+ - Adds leading underscores to scss files
35
+ - Remove be-undefined()
36
+ - Remove be-defined()
37
+ - Add Stringify Util
38
+ - Improve Statement output with stringify util
39
+ - Add Contain Util
40
+ - Add Equal Util
41
+ - Switch meaning of be() and equal()
42
+ - Clean up contain() and deep-contain() with contain util
43
+ - Renames internal variables to make more sense
44
+ - Refactor Grunt Task
45
+
46
+ #### 0.0.5 - 2013-10-20
47
+
48
+ - Better Test Output
49
+
50
+ #### 0.0.4 - 2013-10-19
51
+
52
+ - Restructuring
53
+ - Improved Matchers
54
+ - New List Matchers
55
+
56
+ #### 0.0.3 - 2013-10-13
57
+
58
+ - Restructuring
59
+ - Custom Matchers
60
+ - Grunt Plugin
61
+ - NPM
62
+
63
+ #### 0.0.2 - 2013-10-12
64
+
65
+ - Add Bower
66
+ - Cleanup
67
+
68
+ #### 0.0.1 - 2013-10-09
69
+
70
+ - Initial Release
@@ -0,0 +1,72 @@
1
+ # Contribute to Bootcamp
2
+
3
+ > This document is a work in progress, if you see something weird or just plain stupid. First know that I copied most of it from other projects. Then submit an issue.
4
+
5
+ Please take a moment to review this document in order to make the contribution process easy and effective for everyone involved.
6
+
7
+ Following these guidelines helps to communicate that you respect the time of the developers managing and developing this open source project. In return, they should reciprocate that respect in addressing your issue, assessing changes, and helping you finalize your pull requests.
8
+
9
+ ## Github Issues
10
+
11
+ Github issues for this repository is the preferred medium for bug reports and feature requests.
12
+
13
+ ## Bugs
14
+
15
+ A bug is demonstrable problem caused by the code in this repository, so please take the time to make sure that it is not a bug in your own code. Good bug reports are extremely helpful and are formed by the following guidelines:
16
+
17
+ 1. **Search through existing Github Issues** to make sure that your issue has not already been reported. If an issue already exists then that is the appropriate place for you to contribute.
18
+ 2. **Make sure the bug has not already been fixed** by attempting to reproduce the issue with the latest version of this repository.
19
+ 3. **Isolate the bug** as much as possible, the more code the more difficult it is to fix. Ideally you should create a [reduced test case](http://css-tricks.com/reduced-test-cases/).
20
+ 4. **Submit bug with as much detail as possible**. Just attaching a block of code is not enough, try your best to solve the issue and detail everything you tried.
21
+
22
+ **Example Bug Report:**
23
+
24
+ > ## A Short but Descriptive Title
25
+ >
26
+ > A summary of the bug and the environment in which it occurs (Browser/OS).
27
+ >
28
+ > Please include steps to reproduce the bug.
29
+ > 1. Step One
30
+ > 2. Step Two
31
+ > 3. Step Three
32
+ >
33
+ > A link to a reduced test case `http://url.com/example`
34
+ >
35
+ > Any other information you want to share that you think is applicable to the bug. Please include some code which you believe is causing the problem, or any errors that are occurring in the console.
36
+ >
37
+ > If you think you have a solution please include it here.
38
+
39
+ ## Features
40
+
41
+ Feature requests are welcome. But take a moment to find out whether your idea fits with the scope and aim of this project. It's up to you to make a strong case for any idea you have. Please provide as much detail and context as possible.
42
+
43
+ ## Making Changes
44
+
45
+ First, ensure that you have the latest version of everything installed. (Node.js, npm, grunt-cli)
46
+
47
+ 1. Fork and clone the repo.
48
+ 2. Check out the master or latest version branch
49
+ 3. Run `npm install` to install all Bootcamp dependencies
50
+ 4. Run `grunt` to prepare everything
51
+
52
+ Assuming that you don't see any red, you're ready to go. Just be sure to run `grunt` after making any change, to ensure that nothing has broken.
53
+
54
+ ## Pull Request
55
+
56
+ 1. Create a new branch, never work on the master branch directly. Use a short but descriptive branch name (eg. `add_new_feature`, `fix_certain_bug`, `update_weird_typo`).
57
+ 2. Add failing tests for the change you want to make. Run `grunt` to see the tests fail.
58
+ 3. Make the change.
59
+ 4. Run `grunt` to see if the tests pass. Repeat steps 2-4 until done.
60
+ 5. Update the documentation to reflect any changes.
61
+ 6. Push to your fork and submit a pull request.
62
+
63
+ ## Syntax
64
+
65
+ - Two space indents. Don't use tabs anywhere. Use `\t` if you need a tab character in a string.
66
+ - No trailing whitespace.
67
+ - Don't go overboard with the whitespace.
68
+ - Delimit string with single-quotes `'`, except in any Sass code, use double-quotes `"`.
69
+ - Prefer `if` and `else` to ["clever"](http://programmers.stackexchange.com/questions/25276/why-is-cleverness-considered-harmful-in-programming-by-some-people/25281#25281) uses of `? :` conditional or `||`, `&&` logical operators.
70
+ - Use verbose names (`or`, `and`, `not`, `unless`, etc.) in languages that support them.
71
+ - Comments are great. Just put them _before_ the line of code, _not_ at the _end_ of the line.
72
+ - **When in doubt, follow the conventions you see used in the source already.**
@@ -0,0 +1,34 @@
1
+ # global module: false
2
+ module.exports = (grunt) ->
3
+
4
+ # Modules
5
+ grunt.loadNpmTasks 'grunt-init'
6
+ grunt.loadNpmTasks 'grunt-contrib-sass'
7
+ grunt.loadNpmTasks 'grunt-contrib-watch'
8
+
9
+ # Grunt Tasks
10
+ grunt.initConfig
11
+ pkg: grunt.file.readJSON 'package.json'
12
+ meta: version: '<%= pkg.version %>'
13
+
14
+ # Sass
15
+ sass: test:
16
+ options:
17
+ style: 'expanded'
18
+ loadPath: './dist'
19
+ files: './test/results.css' : './test/specs.scss'
20
+
21
+ # Bootcamp
22
+ bootcamp: dist:
23
+ files: src: ['./test/results.css']
24
+
25
+ # Watch
26
+ watch: dist:
27
+ files: ['./dist/**/*.scss', './test/**/*.scss']
28
+ tasks: ['sass', 'bootcamp']
29
+
30
+ grunt.loadTasks 'tasks'
31
+
32
+ # Tasks
33
+ grunt.registerTask 'default', ['sass', 'bootcamp', 'watch']
34
+ grunt.registerTask 'test', ['sass', 'bootcamp']
@@ -0,0 +1,7 @@
1
+ Copyright (C) 2013 James Kyle
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
+
5
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6
+
7
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.