├── .gitignore
├── LICENSE
├── README.md
├── _config.yml
├── demo
├── ghost-theme-memory-screenshot.jpg
└── ghost-theme-memory-screenshot.png
├── layout
├── _partial
│ ├── archive.ejs
│ ├── article.ejs
│ ├── footer.ejs
│ ├── google-analytics.ejs
│ ├── head.ejs
│ ├── header.ejs
│ ├── loading.ejs
│ ├── post.ejs
│ ├── scripts.ejs
│ └── sidebar.ejs
├── archive.ejs
├── category.ejs
├── index.ejs
├── layout.ejs
├── page.ejs
├── post.ejs
└── tag.ejs
├── package.json
└── source
├── fonts
├── icomoon.eot
├── icomoon.svg
├── icomoon.ttf
├── icomoon.woff
└── selection.json
├── img
├── algolia.svg
├── avatar.png
├── azure.svg
├── baidu.svg
├── google.svg
├── logo.png
├── logo.psd
└── sidebar-bg.png
├── js
├── app.js
├── jquery.fitvids.js
├── jquery.min.js
└── search.js
├── style.scss
└── style
├── archive.scss
├── base.scss
├── button.scss
├── content.scss
├── fonts.scss
├── footer.scss
├── header.scss
├── loading.scss
├── normalize.scss
├── pagination.scss
├── post.scss
├── search.scss
├── sidebar.scss
└── variables.scss
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .DS_Store
3 | .idea
4 | *.iml
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015 Art Chen
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
23 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Hexo Theme Memory
2 |
3 | Memory is a minimal theme for [Hexo](http://hexo.io).
4 |
5 | This theme is also available on:
6 |
7 | * Ghost version: [ghost-theme-memory](https://github.com/artchen/ghost-theme-memory)
8 |
9 | ## Installation
10 |
11 | Git Clone:
12 | ```bash
13 | git clone https://github.com/artchen/hexo-theme-memory.git themes/hexo-theme-memory
14 | ```
15 |
16 | Install Dependencies in Hexo site root directory:
17 | ```bash
18 | npm i github:artchen/hexo-theme-memory
19 | ```
20 | If installing dependencies fails, try
22 |
23 | ```bash
24 | npm i hexo-generator-archive hexo-generator-tag hexo-renderer-ejs hexo-renderer-dartsass hexo-renderer-marked hexo-pagination hexo-toc
25 | ```
26 |
27 | - <%= page.tag %> -
4 | - <%= page.year %><%= page.month ? '.' + page.month : '' %> -
10 | - <%= page.category %> -
16 |
5 |
6 | <%= post.title %>
7 |
8 |
9 |
12 |
x
'; 27 | head.appendChild(div.childNodes[1]); 28 | } 29 | 30 | if ( options ) { 31 | $.extend( settings, options ); 32 | } 33 | 34 | return this.each(function(){ 35 | var selectors = [ 36 | 'iframe[src*="player.vimeo.com"]', 37 | 'iframe[src*="youtube.com"]', 38 | 'iframe[src*="youtube-nocookie.com"]', 39 | 'iframe[src*="kickstarter.com"][src*="video.html"]', 40 | 'object', 41 | 'embed' 42 | ]; 43 | 44 | if (settings.customSelector) { 45 | selectors.push(settings.customSelector); 46 | } 47 | 48 | var ignoreList = '.fitvidsignore'; 49 | 50 | if(settings.ignore) { 51 | ignoreList = ignoreList + ', ' + settings.ignore; 52 | } 53 | 54 | var $allVideos = $(this).find(selectors.join(',')); 55 | $allVideos = $allVideos.not('object object'); // SwfObj conflict patch 56 | $allVideos = $allVideos.not(ignoreList); // Disable FitVids on this video. 57 | 58 | $allVideos.each(function(){ 59 | var $this = $(this); 60 | if($this.parents(ignoreList).length > 0) { 61 | return; // Disable FitVids on this video. 62 | } 63 | if (this.tagName.toLowerCase() === 'embed' && $this.parent('object').length || $this.parent('.fluid-width-video-wrapper').length) { return; } 64 | if ((!$this.css('height') && !$this.css('width')) && (isNaN($this.attr('height')) || isNaN($this.attr('width')))) 65 | { 66 | $this.attr('height', 9); 67 | $this.attr('width', 16); 68 | } 69 | var height = ( this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10))) ) ? parseInt($this.attr('height'), 10) : $this.height(), 70 | width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.width(), 71 | aspectRatio = height / width; 72 | if(!$this.attr('name')){ 73 | var videoName = 'fitvid' + $.fn.fitVids._count; 74 | $this.attr('name', videoName); 75 | $.fn.fitVids._count++; 76 | } 77 | $this.wrap('').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+'%'); 78 | $this.removeAttr('height').removeAttr('width'); 79 | }); 80 | }); 81 | }; 82 | 83 | // Internal counter for unique video names. 84 | $.fn.fitVids._count = 0; 85 | 86 | // Works with either jQuery or Zepto 87 | })( window.jQuery || window.Zepto ); 88 | -------------------------------------------------------------------------------- /source/js/search.js: -------------------------------------------------------------------------------- 1 | !function(o){var a={};function n(t){if(a[t])return a[t].exports;var e=a[t]={i:t,l:!1,exports:{}};return o[t].call(e.exports,e,e.exports,n),e.l=!0,e.exports}n.m=o,n.c=a,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(o,a,function(t){return e[t]}.bind(null,a));return o},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=2)}([function(t,e){t.exports=jQuery},function(t,e,o){},function(t,e,o){"use strict";o.r(e);var a,n,i,r=o(0),s=function(){return(s=Object.assign||function(t){for(var e,o=1,a=arguments.length;o\n