jekyll-theme-mdui 0.4.2 → 0.4.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3072d6794fb268e825cdbdf198f60cf77fe70119
4
- data.tar.gz: 1fbdbc61dbe4a16fc25fb358cff6ecf5d0c154e3
3
+ metadata.gz: fac4c71cd7e970e7e7c2dee8d4cc89d25197d4fb
4
+ data.tar.gz: beafbffc970a18e4ceedca8580199332fdc9c84b
5
5
  SHA512:
6
- metadata.gz: 2286c8866dcdad5fd7c7a5f6223570250ea8b938c367931cdf7034aa51a611b4aa1c4e81b5bcf4760353b357a0adf394d83eff61e04c854684f2ac6b0b5ac051
7
- data.tar.gz: 0c25a17e3353a57da56e23c2d71eedf4476f5ef47a5b1103985846a834bebaa8242b1ead6169dc6b82efbfd413386243f40fd1845f6e5bd577e938f9870b199c
6
+ metadata.gz: 89f6b6b1987b2580bc137827d61037e9ca40fe904819ae88f417feb591ea142a886c61e19b2743e600787f8853d877011f510fcca025ced1d0ca55e671933ef6
7
+ data.tar.gz: 60a46c5f7c0c502cce7893109cea5113c31746946418708b6c3ef3302d92f026afcfa975ffa4315aec0ce1687042a1c0b824ab81910cc710e7db10fa9371ebee
data/README.md CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  ## General
20
20
 
21
- [![Version](https://img.shields.io/badge/version-0.4.2-green.svg?style=flat-square)]()
21
+ [![Version](https://img.shields.io/badge/version-0.4.5-green.svg?style=flat-square)]()
22
22
  [![Jekyll](https://img.shields.io/badge/Jekyll-3.4+-green.svg?style=flat-square)](https://jekyllrb.com/)
23
23
  [![Gem](https://img.shields.io/gem/dt/jekyll-theme-mdui.svg?style=flat-square)](https://rubygems.org/gems/jekyll-theme-mdui/)
24
24
 
@@ -1,3 +1,9 @@
1
+ {% if site.data.site.lang == 'zh-CN' %}
2
+ {% assign lang = site.data.lang[site.data.site.lang] %}
3
+ {% else %}
4
+ {% assign lang = site.data.lang.en-US %}
5
+ {% endif %}
6
+
1
7
  {% for menu in site.data.menus %}
2
8
  {% if menu.name == "navSearch" %}
3
9
  {% if menu.switch == true %}
@@ -15,7 +21,7 @@
15
21
  <div class="mdui-hidden-xs-down">
16
22
  {% for menu in site.data.menus %}
17
23
  {% if menu.name != "navSearch" %}
18
- <a href="{{menu.url | prepend: site.baseurl }}" class="mdui-btn {% if menu.url == page.url %}mdui-list-item-active{% endif %}">{{menu.name}}</a>
24
+ <a href="{{menu.url | prepend: site.baseurl }}" class="mdui-btn mdui-ripple {% if menu.url == page.url %}mdui-list-item-active{% endif %}">{{menu.name}}</a>
19
25
  {% endif %}
20
26
  {% endfor %}
21
27
  {% if navSearch == true %}
@@ -24,7 +30,7 @@
24
30
  <div class="typeahead__container">
25
31
  <div class="typeahead__field">
26
32
  <span class="typeahead__query">
27
- <input class="mdui-textfield-input k-nav-search" type="text" placeholder="Search"/>
33
+ <input class="mdui-textfield-input k-nav-search" type="text" placeholder="{{lang.page.search}}"/>
28
34
  </span>
29
35
  </div>
30
36
  </div>
@@ -41,7 +47,7 @@
41
47
  <div class="typeahead__field">
42
48
  <span class="typeahead__query">
43
49
  <i class="mdui-icon material-icons">&#xe8b6;</i>
44
- <input class="mdui-textfield-input k-nav-search" type="text" placeholder="Search"/>
50
+ <input class="mdui-textfield-input k-nav-search" type="text" placeholder="{{lang.page.search}}"/>
45
51
  </span>
46
52
  </div>
47
53
  </div>
@@ -5,6 +5,46 @@
5
5
  <script>
6
6
  (function($){$.fn.scrollToTop=function(options){var config={"speed":800};if(options){$.extend(config,{"speed":options})}return this.each(function(){var $this=$(this);$(window).scroll(function(){if($(this).scrollTop()>100){$this.fadeIn()}else{$this.fadeOut()}});$this.click(function(e){e.preventDefault();$("body, html").animate({scrollTop:0},config.speed)})})};$.fn.scrollBodyToTop=function(options){var config={"speed":800};if(options){$.extend(config,{"speed":options})}return this.each(function(){var $this=$(this);$(".placeholder").scroll(function(){if($(this).scrollTop()>100){$this.fadeIn()}else{$this.fadeOut()}});$this.click(function(e){e.preventDefault();$(".placeholder").animate({scrollTop:0},config.speed)})})}})(jQuery);
7
7
  </script>
8
+ <!--/* global-meng-script-start */-->
9
+ {% if site.data.site.uiux.meng == true %}
10
+ {% if site.data.meng.console.switch == true %}
11
+ {% if site.data.meng.console.theme_info == true %}
12
+ <script>
13
+ console.info("\n %c © Jekyll Theme MDUI | Version: 0.4.5 | https://github.com/KeJunMao/jekyll-theme-mdui \n\n", "color: #fff; background: #448aff; padding:5px 0; border-radius: 5px 5px 5px 5px;");
14
+ </script>
15
+ {% endif %}
16
+ <script>
17
+ console.info("\n %c {{site.data.meng.console.text}} \n\n", "color: {{site.data.meng.console.color}}; background: {{site.data.meng.console.background}}; padding:5px 0; border-radius: 5px 5px 5px 5px;");
18
+ </script>
19
+ {% endif %}
20
+ {% if site.data.meng.title.switch == true %}
21
+ <script>
22
+ var defaultTitle = document.title;
23
+ {% if site.data.meng.title.with_default_title == true %}
24
+ var hiddenText = '{{site.data.meng.title.hidden}}' +' '+ defaultTitle;
25
+ var visibleText = '{{site.data.meng.title.visible}}' +' '+ defaultTitle;
26
+ {% else %}
27
+ var hiddenText = '{{site.data.meng.title.hidden}}';
28
+ var visibleText = '{{site.data.meng.title.visible}}';
29
+ {% endif %}
30
+ var resetTime = {{site.data.meng.title.reset_time}};
31
+ document.addEventListener("visibilitychange", function() {
32
+ if(document.visibilityState == "hidden" ){
33
+ document.title = hiddenText;
34
+ }
35
+ if(document.visibilityState == "visible"){
36
+ document.title = visibleText;
37
+ setTimeout(function(){
38
+ if(document.visibilityState == "visible"){
39
+ document.title = defaultTitle;
40
+ }
41
+ },resetTime);
42
+ }
43
+ }, false);
44
+ </script>
45
+ {% endif %}
46
+ {% endif %}
47
+ <!--/* global-meng-script-end */-->
8
48
  <script type="text/javascript">
9
49
  /* NProgress */
10
50
  NProgress.configure({
@@ -42,7 +82,6 @@ drawer.addEventListener('closed.mdui.drawer', function () {
42
82
  $('body').on('touchstart',function(e){
43
83
  var touch = e.targetTouches[0];
44
84
  if (touch.pageX < 15){
45
- console.log(touch.pageX);
46
85
  var touchstartX = touch.pageX;
47
86
  $('body').on('touchmove',function(e){
48
87
  if (e.targetTouches[0].pageX < 240-touchstartX){
@@ -232,6 +271,90 @@ var disqus = {
232
271
  <script src="https://cdn.bootcss.com/highlight.js/9.11.0/highlight.min.js"></script>
233
272
  <script src="{{ "/assets/js/toc.min.js" | prepend: site.baseurl }}"></script>
234
273
  <script src="{{ "/assets/js/pushpin.js" | prepend: site.baseurl }}"></script>
274
+ <!--/* post-meng-script-start */-->
275
+ {% if site.data.site.uiux.meng == true %}
276
+ {% if site.data.site.meng.header.switch == true%}
277
+ <script>
278
+ const REG_HEX = /(^#?[0-9A-F]{6}$)|(^#?[0-9A-F]{3}$)/i;
279
+
280
+ /*
281
+ * rgb字符串解析
282
+ * accepts: #333 #accded (without # is also fine)
283
+ * not accept yet: rgb(), rgba()
284
+ */
285
+ var rgbToHex = function(rgb) {
286
+ var color = rgb.toString().match(/\d+/g);
287
+ var hex = "#";
288
+ for (var i = 0; i < 3; i++) {
289
+ hex += ("0" + Number(color[i]).toString(16)).slice(-2);
290
+ }
291
+ return hex;
292
+ };
293
+ function parseRGB(str){
294
+ if(typeof str === 'string' && REG_HEX.test(str) ){
295
+ str = str.replace('#', '');
296
+ let arr;
297
+ if(str.length === 3){
298
+ arr = str.split('').map(c => (c+c));
299
+ }
300
+ else if(str.length === 6){
301
+ arr = str.match(/[a-zA-Z0-9]{2}/g);
302
+ }
303
+ else{
304
+ throw new Error('wrong color format');
305
+ }
306
+ return arr.map((c) => parseInt(c, 16));
307
+ }
308
+ throw new Error('color should be string');
309
+ }
310
+
311
+ /*
312
+ * rgb value to hsl 色相(H)、饱和度(S)、明度(L)
313
+ */
314
+ function rgbToHsl(rgbStr){
315
+ let [r, g, b] = parseRGB(rgbStr);
316
+ r /= 255, g /= 255, b /= 255;
317
+ let max = Math.max(r, g, b), min = Math.min(r, g, b);
318
+ let h, s, l = (max + min) / 2;
319
+
320
+ if(max == min){
321
+ h = s = 0;
322
+ }else{
323
+ let d = max - min;
324
+ s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
325
+ switch(max){
326
+ case r: h = (g - b) / d + (g < b ? 6 : 0); break;
327
+ case g: h = (b - r) / d + 2; break;
328
+ case b: h = (r - g) / d + 4; break;
329
+ }
330
+ h /= 6;
331
+ }
332
+ return [h, s, l];
333
+ }
334
+
335
+ /*
336
+ * 判断颜色属于深色还是浅色
337
+ */
338
+ function isColorDarkOrLight(rgbStr){
339
+ var color = rgbToHex(rgbStr);
340
+ let [h, s, l] = rgbToHsl(color);
341
+ return (l > 0.5)? 'light' : 'dark';
342
+ }
343
+ var appVersion = navigator.appVersion;
344
+
345
+ if (appVersion.indexOf('Mobile') > 0){
346
+ var isMobile = true;
347
+ }
348
+ if (isMobile){
349
+ var s = document.createElement('script'); s.async = true;
350
+ s.type = 'text/javascript';
351
+ s.src = '{{ "/assets/js/rgbaster.min.js" | prepend: site.baseurl }}';
352
+ (document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
353
+ }
354
+ </script>
355
+ {% endif %}
356
+ {% endif %}
357
+ <!--/* post-meng-script-end */-->
235
358
  <script>
236
359
  $(function(){
237
360
  $('.mdui-card-content').find('a').attr('target','_blank');
data/_layouts/home.html CHANGED
@@ -11,7 +11,7 @@ layout: default
11
11
  <div class="k-posts-list">
12
12
  {% for post in paginator.posts %}
13
13
  <div class="mdui-card k-list-card mdui-shadow-{{site.data.site.card.card_shadow}} {% if site.data.site.card.card_hoverable == true%}mdui-hoverable{% endif %}">
14
- <div class="mdui-card-media k-post-media" data-original="{{post.img}}">
14
+ <div class="mdui-card-media mdui-ripple k-post-media" data-original="{{post.img}}">
15
15
  <div class="mdui-card-media-covered mdui-card-media-covered-gradient">
16
16
  <div class="mdui-card-primary">
17
17
  <div class="mdui-card-primary-title"><a class="mdui-text-color-white-text" href="{{post.url| prepend: site.baseurl}}">{{post.title}}</a></div>
data/assets/css/main.css CHANGED
@@ -196,6 +196,20 @@ body,header,#toc-card{
196
196
  opacity: .7;
197
197
  }
198
198
 
199
+ {% if site.data.site.uiux.meng == true %}
200
+ {% if site.data.meng.cursor.switch == true %}
201
+ body{
202
+ cursor:url({{site.data.meng.cursor.auto_url}}), auto;
203
+ }
204
+ a{
205
+ cursor:url({{site.data.meng.cursor.pointer_url}}), pointer;
206
+ }
207
+ .k-post-media{
208
+ cursor:url({{site.data.meng.cursor.pointer_url}}), pointer;
209
+ }
210
+ {% endif %}
211
+ {% endif %}
212
+
199
213
  {% for sns in site.data.sns %}
200
214
  {% if sns.name =='bilibili' and sns.url != null %}
201
215
  .k-bilibili{
@@ -0,0 +1,14 @@
1
+ !function(n,t){"use strict";var e=function(n,t){var e=document.createElement("canvas");return e.setAttribute("width",n),e.setAttribute("height",t),e.getContext("2d")},r=function(n,t){var r=new Image,i=n.src||n;"data:"!==i.substring(0,5)&&(r.crossOrigin="Anonymous"),r.onload=function(){var n=e(r.width,r.height);n.drawImage(r,0,0);var i=n.getImageData(0,0,r.width,r.height);t&&t(i.data)},r.src=i},i=function(n){return["rgb(",n,")"].join("")},a=function(n){var t=[];for(var e in n)t.push(o(e,n[e]));return t.sort(function(n,t){return t.count-n.count}),t},u=function(n,t){if(n.length>t)return n.slice(0,t);for(var e=n.length-1;t-1>e;e++)n.push(o("0,0,0",0));return n},o=function(n,t){return{name:i(n),count:t}},c=10,s={};s.colors=function(n,e){e=e||{};var o=e.exclude||[],s=e.paletteSize||c;r(n,function(n){for(var r={},c="",f=[],d=0;d<n.length;d+=4)f[0]=n[d],f[1]=n[d+1],f[2]=n[d+2],c=f.join(","),-1===f.indexOf(t)&&0!==n[d+3]&&-1===o.indexOf(i(c))&&(r[c]=c in r?r[c]+1:1);if(e.success){var g=u(a(r),s+1);e.success({dominant:g[0].name,secondary:g[1].name,palette:g.map(function(n){return n.name}).slice(1)})}})},n.RGBaster=n.RGBaster||s}(window);
2
+ var img = $('.k-post-media').css('background-image').replace('url(','').replace(')','').replace(/\"/gi, "");
3
+ var colors = RGBaster.colors(img, {
4
+ paletteSize: 30,
5
+ success: function(colors){
6
+ if(isColorDarkOrLight(colors.dominant) === "dark"){
7
+ $('header').css('color','#fff');
8
+ }else{
9
+ $('header').css('color','#000');
10
+ }
11
+ $('header').css('background-color',colors.dominant);
12
+ $("meta[name='theme-color']").attr('content', colors.dominant);
13
+ }
14
+ });
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-theme-mdui
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.4.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - KeJun
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-12 00:00:00.000000000 Z
11
+ date: 2017-06-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -106,6 +106,7 @@ files:
106
106
  - assets/js/jquery.typeahead.min.js
107
107
  - assets/js/pickerdata.js
108
108
  - assets/js/pushpin.js
109
+ - assets/js/rgbaster.min.js
109
110
  - assets/js/toc.min.js
110
111
  homepage: https://github.com/KeJunMao/jekyll-theme-mdui.git
111
112
  licenses: