jekyll-theme-mdui 0.4.2 → 0.4.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: 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: