├── .gitignore ├── LICENSE ├── README.md ├── _config.yml ├── layout ├── _partial │ ├── archive.ejs │ ├── article.ejs │ ├── footer.ejs │ ├── head.ejs │ ├── header.ejs │ ├── loading.ejs │ ├── post.ejs │ ├── scripts.ejs │ └── sidebar.ejs ├── index.ejs ├── layout.ejs ├── page.ejs └── post.ejs └── source ├── favicon.png ├── icomoon ├── Read Me.txt ├── demo-files │ ├── demo.css │ └── demo.js ├── demo.html ├── fonts │ ├── icomoon.eot │ ├── icomoon.svg │ ├── icomoon.ttf │ └── icomoon.woff ├── selection.json └── style.css ├── img ├── algolia.svg ├── avatar.png ├── azure.svg ├── baidu.svg ├── google.svg └── sidebar-bg.png ├── js ├── app.js ├── jquery.js └── search.js ├── style.scss └── style ├── base.scss ├── content.scss ├── footer.scss ├── header.scss ├── highlight.scss ├── layout.scss ├── normalize.scss ├── pagination.scss ├── search.scss ├── sidebar.scss └── variables.scss /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | 3 | # Logs 4 | logs 5 | *.log 6 | npm-debug.log* 7 | yarn-debug.log* 8 | yarn-error.log* 9 | 10 | # Runtime data 11 | pids 12 | *.pid 13 | *.seed 14 | *.pid.lock 15 | 16 | # Directory for instrumented libs generated by jscoverage/JSCover 17 | lib-cov 18 | 19 | # Coverage directory used by tools like istanbul 20 | coverage 21 | 22 | # nyc test coverage 23 | .nyc_output 24 | 25 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 26 | .grunt 27 | 28 | # Bower dependency directory (https://bower.io/) 29 | bower_components 30 | 31 | # node-waf configuration 32 | .lock-wscript 33 | 34 | # Compiled binary addons (http://nodejs.org/api/addons.html) 35 | build/Release 36 | 37 | # Dependency directories 38 | node_modules/ 39 | jspm_packages/ 40 | 41 | # Typescript v1 declaration files 42 | typings/ 43 | 44 | # Optional npm cache directory 45 | .npm 46 | 47 | # Optional eslint cache 48 | .eslintcache 49 | 50 | # Optional REPL history 51 | .node_repl_history 52 | 53 | # Output of 'npm pack' 54 | *.tgz 55 | 56 | # Yarn Integrity file 57 | .yarn-integrity 58 | 59 | # dotenv environment variables file 60 | .env 61 | 62 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 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 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Hexo Theme Element 2 | 3 | Element is another minimal theme for [Hexo](http://hexo.io). 4 | 5 | ## Dependencies 6 | 7 | This theme depends on the following Hexo plugins: 8 | 9 | * hexo-generator-tag 10 | * hexo-generator-feed 11 | * hexo-renderer-ejs 12 | * hexo-renderer-scss 13 | * hexo-renderer-marked 14 | * hexo-pagination 15 | * hexo-all-minifier 16 | * hexo-autoprefixer 17 | * hexo-front-matter 18 | 19 | ## Customization 20 | 21 | First of all change the site logo in `header.ejs`. 22 | 23 | Element is customizable via the `_config.yml` in the theme directory. 24 | 25 | Element also depends on the global `_config.yml`. For example: 26 | 27 | * Set `disqus_shortname` field to your disqus short name. 28 | * Set `theme` field to `hexo-theme-element`. 29 | * Set `title`, `url`, `author` and `description`. 30 | 31 | In addition to these settings, you may also want to edit/replace the following files: 32 | 33 | * Replace the author avatar: `source/img/avatar.png`. 34 | 35 | This theme currently supports 3 search services: 36 | 37 | * Google custom search (does not require plugin) 38 | * Algolia search (requires plugin https://github.com/LouisBarranqueiro/hexo-algoliasearch) 39 | * Microsoft Azure search (requires plugin https://github.com/artchen/hexo-azuresearch) 40 | 41 | Find search configuration in theme's `_config.yaml`: 42 | 43 | ```yaml 44 | search: 45 | enable: true 46 | service: azure # google/algolia/azure 47 | # google 48 | google_api_key: 49 | google_engine_id: 50 | # algolia 51 | algolia_app_id: 52 | algolia_api_key: 53 | algolia_index_name: 54 | # azure 55 | azure_service_name: 56 | azure_index_name: 57 | azure_query_key: 58 | ``` 59 | 60 | ## Demo 61 | 62 | [Artifact.me](https://artifact.me) 63 | 64 | ## Copyright 65 | 66 | Public resources used in this theme: 67 | 68 | * [icomoon](https://icomoon.io/) 69 | * [normalize.css](https://necolas.github.io/normalize.css/) 70 | * [Google Fonts - Oswald](https://fonts.google.com/specimen/Oswald) 71 | * [Google Fonts - Inconsolata](https://fonts.google.com/specimen/Inconsolata) 72 | * [Google Fonts - Crimson Text](https://fonts.google.com/specimen/Crimson+Text) 73 | 74 | Copyright © Art Chen 75 | 76 | Please do not remove the "Theme by Art Chen" text and links. 77 | 78 | 请不要删除页面底部的作者信息和链接。 79 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | # Meta 2 | description: Private theme for artifact.me 3 | keywords: hexo,theme,artifact,otakism 4 | 5 | # Author 6 | author_avatar: /img/avatar.png 7 | 8 | # Search 9 | search: 10 | enable: false 11 | service: google # google/algolia/azure 12 | # google 13 | google_api_key: 14 | google_engine_id: 15 | # algolia 16 | algolia_app_id: 17 | algolia_api_key: 18 | algolia_index_name: 19 | # azure 20 | azure_service_name: 21 | azure_index_name: 22 | azure_query_key: 23 | 24 | # Miscellaneous 25 | google_analytics: 26 | favicon: /favicon.png 27 | 28 | # Less 29 | less: 30 | compress: true 31 | 32 | # Comment 33 | disqus_shortname: 34 | valine: 35 | enable: false 36 | appid: 37 | appkey: 38 | notify: false 39 | verify: false 40 | placeholder: Just go go 41 | avatar: retro 42 | guest_info: nick,mail,link 43 | pageSize: 10 44 | visitor: false 45 | 46 | # use url, not username 47 | social: 48 | - name: feed 49 | url: /atom.xml 50 | - name: email 51 | url: 52 | - name: github 53 | url: https://github.com/artchen 54 | - name: twitter 55 | url: 56 | - name: google 57 | url: 58 | - name: facebook 59 | url: 60 | - name: linkedin 61 | url: 62 | - name: weibo 63 | url: 64 | - name: tumblr 65 | url: 66 | - name: dribbble 67 | url: 68 | - name: pinterest 69 | url: 70 | - name: instagram 71 | url: 72 | - name: behance 73 | url: 74 | -------------------------------------------------------------------------------- /layout/_partial/archive.ejs: -------------------------------------------------------------------------------- 1 | 7 | 8 | 13 | 14 | <% if (page.total > 1){ %> 15 | 21 | <% } %> 22 | 23 | -------------------------------------------------------------------------------- /layout/_partial/article.ejs: -------------------------------------------------------------------------------- 1 |
4 | 5 |
6 |

7 | <%= post.title %> 8 |

9 | 15 |
16 | 17 |
18 | <%- post.content %> 19 |
20 | 21 |
22 | <% if (post.tags && post.tags.length){ %> 23 | <%- list_tags(post.tags, { 24 | show_count: false, 25 | style: 'none', 26 | separator: '' 27 | }) %> 28 | <% } %> 29 |
30 | 31 | <% if (post.comments && (theme.disqus_shortname || theme.valine.enable || config.disqus_shortname)){ %> 32 |
33 | <% if (theme.disqus_shortname || config.disqus_shortname){ %> 34 |
35 | 36 |
37 | <% } %> 38 |
39 | <% } %> 40 | 41 |
42 | -------------------------------------------------------------------------------- /layout/_partial/footer.ejs: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | -------------------------------------------------------------------------------- /layout/_partial/head.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | <% 4 | var title = page.title; 5 | if (is_archive()) { 6 | title = 'Archives'; 7 | if (is_month()) 8 | title += ': ' + page.year + '/' + page.month; 9 | else if (is_year()) 10 | title += ': ' + page.year; 11 | } 12 | else if (is_category()) 13 | title = 'Category: ' + page.category; 14 | else if (is_tag()) 15 | title = 'Tag: ' + page.tag; 16 | %> 17 | <% if (title) { %><%= title %> | <% } %><%= config.title %> 18 | 19 | <%- open_graph({twitter_id: theme.twitter, google_plus: theme.google_plus, fb_admins: theme.fb_admins, fb_app_id: theme.fb_app_id}) %> 20 | <% if (theme.rss) { %> 21 | 22 | <% } %> 23 | <% if (theme.favicon) { %> 24 | 25 | <% } %> 26 | 27 | 28 | 29 | 30 | <% if (theme.google_analytics) { %> 31 | 32 | 39 | <% } %> 40 | 41 | <%- css('icomoon/style.css') %> 42 | <%- css('style.css') %> 43 | 44 | 45 | -------------------------------------------------------------------------------- /layout/_partial/header.ejs: -------------------------------------------------------------------------------- 1 | <%- partial('_partial/loading') %> 2 | 3 | 28 | -------------------------------------------------------------------------------- /layout/_partial/loading.ejs: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | 5 | -------------------------------------------------------------------------------- /layout/_partial/post.ejs: -------------------------------------------------------------------------------- 1 |
  • 2 | 3 |

    <%= post.title %>

    4 | 9 |
    10 |
  • 11 | -------------------------------------------------------------------------------- /layout/_partial/scripts.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 40 | 41 | 42 | 43 | 44 | <%- js('js/search.js') %> 45 | <%- js('js/app.js') %> 46 | 47 | 48 | 49 | <% if (theme.disqus_shortname || config.disqus_shortname){ %> 50 | 63 | <% } %> 64 | 65 | 66 | <% if (theme.valine.enable && theme.valine.appid && theme.valine.appkey){ %> 67 | 68 | 69 | 88 | <% } %> 89 | 90 | 91 | 92 | 103 | -------------------------------------------------------------------------------- /layout/_partial/sidebar.ejs: -------------------------------------------------------------------------------- 1 |
    2 | 3 | <% display_toc = (is_post() || is_page()) && post.toc === true; %> 4 | 5 | 16 | 17 |
    19 | <% if ( display_toc ) { %> 20 | <%- toc(post.content) %> 21 | <% } else { %> 22 |
    No Index
    23 | <% } %> 24 |
    25 | 26 |
    28 | 29 | 30 |
    31 |
    32 | 33 |
    34 | 39 |
    40 | 41 | <%- config.description %> 42 | 43 |
    44 |
    45 | 46 | 47 | 58 | 59 |
    60 | 61 |
    62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 |
    72 | 73 |
    74 | -------------------------------------------------------------------------------- /layout/index.ejs: -------------------------------------------------------------------------------- 1 | <%- partial('_partial/archive') %> 2 | -------------------------------------------------------------------------------- /layout/layout.ejs: -------------------------------------------------------------------------------- 1 | <% 2 | var siteWrapperClass = is_post() || is_page() ? 'is_post_page' : ''; 3 | %> 4 | 5 | 6 | <%- partial('_partial/head') %> 7 | 8 |
    9 | <%- partial('_partial/header', null, {cache: !config.relative_link}) %> 10 | 11 |
    12 | <%- body %> 13 | 14 |
    15 | <%- partial('_partial/footer', null, {cache: !config.relative_link}) %> 16 | 17 |
    18 |
    19 | <%- partial('_partial/sidebar', {post: page}) %> 20 | <%- partial('_partial/scripts') %> 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /layout/page.ejs: -------------------------------------------------------------------------------- 1 | <%- partial('_partial/article', {post: page, index: false}) %> -------------------------------------------------------------------------------- /layout/post.ejs: -------------------------------------------------------------------------------- 1 | <%- partial('_partial/article', {post: page, index: false}) %> -------------------------------------------------------------------------------- /source/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/artchen/hexo-theme-element/8936c703e1e397cdf9bedafa719bcf810dd9d354/source/favicon.png -------------------------------------------------------------------------------- /source/icomoon/Read Me.txt: -------------------------------------------------------------------------------- 1 | Open *demo.html* to see a list of all the glyphs in your font along with their codes/ligatures. 2 | 3 | To use the generated font in desktop programs, you can install the TTF font. In order to copy the character associated with each icon, refer to the text box at the bottom right corner of each glyph in demo.html. The character inside this text box may be invisible; but it can still be copied. See this guide for more info: https://icomoon.io/#docs/local-fonts 4 | 5 | You won't need any of the files located under the *demo-files* directory when including the generated font in your own projects. 6 | 7 | You can import *selection.json* back to the IcoMoon app using the *Import Icons* button (or via Main Menu → Manage Projects) to retrieve your icon selection. 8 | -------------------------------------------------------------------------------- /source/icomoon/demo-files/demo.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding: 0; 3 | margin: 0; 4 | font-family: sans-serif; 5 | font-size: 1em; 6 | line-height: 1.5; 7 | color: #555; 8 | background: #fff; 9 | } 10 | h1 { 11 | font-size: 1.5em; 12 | font-weight: normal; 13 | } 14 | small { 15 | font-size: .66666667em; 16 | } 17 | a { 18 | color: #e74c3c; 19 | text-decoration: none; 20 | } 21 | a:hover, a:focus { 22 | box-shadow: 0 1px #e74c3c; 23 | } 24 | .bshadow0, input { 25 | box-shadow: inset 0 -2px #e7e7e7; 26 | } 27 | input:hover { 28 | box-shadow: inset 0 -2px #ccc; 29 | } 30 | input, fieldset { 31 | font-family: sans-serif; 32 | font-size: 1em; 33 | margin: 0; 34 | padding: 0; 35 | border: 0; 36 | } 37 | input { 38 | color: inherit; 39 | line-height: 1.5; 40 | height: 1.5em; 41 | padding: .25em 0; 42 | } 43 | input:focus { 44 | outline: none; 45 | box-shadow: inset 0 -2px #449fdb; 46 | } 47 | .glyph { 48 | font-size: 16px; 49 | width: 15em; 50 | padding-bottom: 1em; 51 | margin-right: 4em; 52 | margin-bottom: 1em; 53 | float: left; 54 | overflow: hidden; 55 | } 56 | .liga { 57 | width: 80%; 58 | width: calc(100% - 2.5em); 59 | } 60 | .talign-right { 61 | text-align: right; 62 | } 63 | .talign-center { 64 | text-align: center; 65 | } 66 | .bgc1 { 67 | background: #f1f1f1; 68 | } 69 | .fgc1 { 70 | color: #999; 71 | } 72 | .fgc0 { 73 | color: #000; 74 | } 75 | p { 76 | margin-top: 1em; 77 | margin-bottom: 1em; 78 | } 79 | .mvm { 80 | margin-top: .75em; 81 | margin-bottom: .75em; 82 | } 83 | .mtn { 84 | margin-top: 0; 85 | } 86 | .mtl, .mal { 87 | margin-top: 1.5em; 88 | } 89 | .mbl, .mal { 90 | margin-bottom: 1.5em; 91 | } 92 | .mal, .mhl { 93 | margin-left: 1.5em; 94 | margin-right: 1.5em; 95 | } 96 | .mhmm { 97 | margin-left: 1em; 98 | margin-right: 1em; 99 | } 100 | .mls { 101 | margin-left: .25em; 102 | } 103 | .ptl { 104 | padding-top: 1.5em; 105 | } 106 | .pbs, .pvs { 107 | padding-bottom: .25em; 108 | } 109 | .pvs, .pts { 110 | padding-top: .25em; 111 | } 112 | .unit { 113 | float: left; 114 | } 115 | .unitRight { 116 | float: right; 117 | } 118 | .size1of2 { 119 | width: 50%; 120 | } 121 | .size1of1 { 122 | width: 100%; 123 | } 124 | .clearfix:before, .clearfix:after { 125 | content: " "; 126 | display: table; 127 | } 128 | .clearfix:after { 129 | clear: both; 130 | } 131 | .hidden-true { 132 | display: none; 133 | } 134 | .textbox0 { 135 | width: 3em; 136 | background: #f1f1f1; 137 | padding: .25em .5em; 138 | line-height: 1.5; 139 | height: 1.5em; 140 | } 141 | #testDrive { 142 | display: block; 143 | padding-top: 24px; 144 | line-height: 1.5; 145 | } 146 | .fs0 { 147 | font-size: 16px; 148 | } 149 | .fs1 { 150 | font-size: 24px; 151 | } 152 | .fs2 { 153 | font-size: 20px; 154 | } 155 | 156 | -------------------------------------------------------------------------------- /source/icomoon/demo-files/demo.js: -------------------------------------------------------------------------------- 1 | if (!('boxShadow' in document.body.style)) { 2 | document.body.setAttribute('class', 'noBoxShadow'); 3 | } 4 | 5 | document.body.addEventListener("click", function(e) { 6 | var target = e.target; 7 | if (target.tagName === "INPUT" && 8 | target.getAttribute('class').indexOf('liga') === -1) { 9 | target.select(); 10 | } 11 | }); 12 | 13 | (function() { 14 | var fontSize = document.getElementById('fontSize'), 15 | testDrive = document.getElementById('testDrive'), 16 | testText = document.getElementById('testText'); 17 | function updateTest() { 18 | testDrive.innerHTML = testText.value || String.fromCharCode(160); 19 | if (window.icomoonLiga) { 20 | window.icomoonLiga(testDrive); 21 | } 22 | } 23 | function updateSize() { 24 | testDrive.style.fontSize = fontSize.value + 'px'; 25 | } 26 | fontSize.addEventListener('change', updateSize, false); 27 | testText.addEventListener('input', updateTest, false); 28 | testText.addEventListener('change', updateTest, false); 29 | updateSize(); 30 | }()); 31 | -------------------------------------------------------------------------------- /source/icomoon/demo.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IcoMoon Demo 6 | 7 | 8 | 9 | 10 | 11 |
    12 |

    Font Name: icomoon (Glyphs: 28)

    13 |
    14 |
    15 |

    Grid Size: 24

    16 |
    17 |
    18 | 19 | 20 | 21 | icon-close 22 |
    23 |
    24 | 25 | 26 |
    27 |
    28 | liga: 29 | 30 |
    31 |
    32 |
    33 |
    34 | 35 | 36 | 37 | icon-list 38 |
    39 |
    40 | 41 | 42 |
    43 |
    44 | liga: 45 | 46 |
    47 |
    48 |
    49 |
    50 | 51 | 52 | 53 | icon-menu 54 |
    55 |
    56 | 57 | 58 |
    59 |
    60 | liga: 61 | 62 |
    63 |
    64 |
    65 |
    66 | 67 | 68 | 69 | icon-person 70 |
    71 |
    72 | 73 | 74 |
    75 |
    76 | liga: 77 | 78 |
    79 |
    80 |
    81 |
    82 | 83 | 84 | 85 | icon-search 86 |
    87 |
    88 | 89 | 90 |
    91 |
    92 | liga: 93 | 94 |
    95 |
    96 |
    97 |
    98 | 99 | 100 | 101 | icon-share 102 |
    103 |
    104 | 105 | 106 |
    107 |
    108 | liga: 109 | 110 |
    111 |
    112 |
    113 |
    114 |

    Grid Size: 20

    115 |
    116 |
    117 | 118 | 119 | 120 | icon-creative-commons 121 |
    122 |
    123 | 124 | 125 |
    126 |
    127 | liga: 128 | 129 |
    130 |
    131 |
    132 |
    133 | 134 | 135 | 136 | icon-chevron-down 137 |
    138 |
    139 | 140 | 141 |
    142 |
    143 | liga: 144 | 145 |
    146 |
    147 |
    148 |
    149 | 150 | 151 | 152 | icon-chevron-left 153 |
    154 |
    155 | 156 | 157 |
    158 |
    159 | liga: 160 | 161 |
    162 |
    163 |
    164 |
    165 | 166 | 167 | 168 | icon-chevron-right 169 |
    170 |
    171 | 172 | 173 |
    174 |
    175 | liga: 176 | 177 |
    178 |
    179 |
    180 |
    181 | 182 | 183 | 184 | icon-chevron-thin-down 185 |
    186 |
    187 | 188 | 189 |
    190 |
    191 | liga: 192 | 193 |
    194 |
    195 |
    196 |
    197 | 198 | 199 | 200 | icon-chevron-thin-left 201 |
    202 |
    203 | 204 | 205 |
    206 |
    207 | liga: 208 | 209 |
    210 |
    211 |
    212 |
    213 | 214 | 215 | 216 | icon-chevron-thin-right 217 |
    218 |
    219 | 220 | 221 |
    222 |
    223 | liga: 224 | 225 |
    226 |
    227 |
    228 |
    229 | 230 | 231 | 232 | icon-chevron-thin-up 233 |
    234 |
    235 | 236 | 237 |
    238 |
    239 | liga: 240 | 241 |
    242 |
    243 |
    244 |
    245 | 246 | 247 | 248 | icon-chevron-up 249 |
    250 |
    251 | 252 | 253 |
    254 |
    255 | liga: 256 | 257 |
    258 |
    259 |
    260 |
    261 | 262 | 263 | 264 | icon-mail 265 |
    266 |
    267 | 268 | 269 |
    270 |
    271 | liga: 272 | 273 |
    274 |
    275 |
    276 |
    277 | 278 | 279 | 280 | icon-feed 281 |
    282 |
    283 | 284 | 285 |
    286 |
    287 | liga: 288 | 289 |
    290 |
    291 |
    292 |
    293 | 294 | 295 | 296 | icon-behance 297 |
    298 |
    299 | 300 | 301 |
    302 |
    303 | liga: 304 | 305 |
    306 |
    307 |
    308 |
    309 | 310 | 311 | 312 | icon-weibo 313 |
    314 |
    315 | 316 | 317 |
    318 |
    319 | liga: 320 | 321 |
    322 |
    323 |
    324 |
    325 | 326 | 327 | 328 | icon-dribbble 329 |
    330 |
    331 | 332 | 333 |
    334 |
    335 | liga: 336 | 337 |
    338 |
    339 |
    340 |
    341 | 342 | 343 | 344 | icon-facebook 345 |
    346 |
    347 | 348 | 349 |
    350 |
    351 | liga: 352 | 353 |
    354 |
    355 |
    356 |
    357 | 358 | 359 | 360 | icon-github 361 |
    362 |
    363 | 364 | 365 |
    366 |
    367 | liga: 368 | 369 |
    370 |
    371 |
    372 |
    373 | 374 | 375 | 376 | icon-google 377 |
    378 |
    379 | 380 | 381 |
    382 |
    383 | liga: 384 | 385 |
    386 |
    387 |
    388 |
    389 | 390 | 391 | 392 | icon-instagram 393 |
    394 |
    395 | 396 | 397 |
    398 |
    399 | liga: 400 | 401 |
    402 |
    403 |
    404 |
    405 | 406 | 407 | 408 | icon-linkedin 409 |
    410 |
    411 | 412 | 413 |
    414 |
    415 | liga: 416 | 417 |
    418 |
    419 |
    420 |
    421 | 422 | 423 | 424 | icon-pinterest 425 |
    426 |
    427 | 428 | 429 |
    430 |
    431 | liga: 432 | 433 |
    434 |
    435 |
    436 |
    437 | 438 | 439 | 440 | icon-tumblr 441 |
    442 |
    443 | 444 | 445 |
    446 |
    447 | liga: 448 | 449 |
    450 |
    451 |
    452 |
    453 | 454 | 455 | 456 | icon-twitter 457 |
    458 |
    459 | 460 | 461 |
    462 |
    463 | liga: 464 | 465 |
    466 |
    467 |
    468 | 469 | 470 |
    471 |

    Font Test Drive

    472 | 477 | 479 | 480 |
      481 |
    482 |
    483 | 484 |
    485 |

    Generated by IcoMoon

    486 |
    487 | 488 | 489 | 490 | 491 | -------------------------------------------------------------------------------- /source/icomoon/fonts/icomoon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/artchen/hexo-theme-element/8936c703e1e397cdf9bedafa719bcf810dd9d354/source/icomoon/fonts/icomoon.eot -------------------------------------------------------------------------------- /source/icomoon/fonts/icomoon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Generated by IcoMoon 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /source/icomoon/fonts/icomoon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/artchen/hexo-theme-element/8936c703e1e397cdf9bedafa719bcf810dd9d354/source/icomoon/fonts/icomoon.ttf -------------------------------------------------------------------------------- /source/icomoon/fonts/icomoon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/artchen/hexo-theme-element/8936c703e1e397cdf9bedafa719bcf810dd9d354/source/icomoon/fonts/icomoon.woff -------------------------------------------------------------------------------- /source/icomoon/selection.json: -------------------------------------------------------------------------------- 1 | { 2 | "IcoMoonType": "selection", 3 | "icons": [ 4 | { 5 | "icon": { 6 | "paths": [ 7 | "M810 274l-238 238 238 238-60 60-238-238-238 238-60-60 238-238-238-238 60-60 238 238 238-238z" 8 | ], 9 | "attrs": [], 10 | "isMulticolor": false, 11 | "isMulticolor2": false, 12 | "tags": [ 13 | "close" 14 | ], 15 | "defaultCode": 58829, 16 | "grid": 24 17 | }, 18 | "attrs": [], 19 | "properties": { 20 | "order": 39, 21 | "ligatures": "clear, close", 22 | "id": 157, 23 | "prevSize": 24, 24 | "code": 58829, 25 | "name": "close" 26 | }, 27 | "setIdx": 1, 28 | "setId": 6, 29 | "iconIdx": 157 30 | }, 31 | { 32 | "icon": { 33 | "paths": [ 34 | "M298 298h598v86h-598v-86zM298 726v-86h598v86h-598zM298 554v-84h598v84h-598zM128 384v-86h86v86h-86zM128 726v-86h86v86h-86zM128 554v-84h86v84h-86z" 35 | ], 36 | "attrs": [], 37 | "isMulticolor": false, 38 | "isMulticolor2": false, 39 | "tags": [ 40 | "list" 41 | ], 42 | "defaultCode": 59542, 43 | "grid": 24 44 | }, 45 | "attrs": [], 46 | "properties": { 47 | "order": 50, 48 | "ligatures": "list", 49 | "id": 442, 50 | "prevSize": 24, 51 | "code": 59542, 52 | "name": "list" 53 | }, 54 | "setIdx": 1, 55 | "setId": 6, 56 | "iconIdx": 442 57 | }, 58 | { 59 | "icon": { 60 | "paths": [ 61 | "M128 256h768v86h-768v-86zM128 554v-84h768v84h-768zM128 768v-86h768v86h-768z" 62 | ], 63 | "attrs": [], 64 | "isMulticolor": false, 65 | "isMulticolor2": false, 66 | "tags": [ 67 | "menu" 68 | ], 69 | "defaultCode": 58834, 70 | "grid": 24 71 | }, 72 | "attrs": [], 73 | "properties": { 74 | "order": 48, 75 | "ligatures": "menu", 76 | "id": 489, 77 | "prevSize": 24, 78 | "code": 58834, 79 | "name": "menu" 80 | }, 81 | "setIdx": 1, 82 | "setId": 6, 83 | "iconIdx": 489 84 | }, 85 | { 86 | "icon": { 87 | "paths": [ 88 | "M512 598c114 0 342 56 342 170v86h-684v-86c0-114 228-170 342-170zM512 512c-94 0-170-76-170-170s76-172 170-172 170 78 170 172-76 170-170 170z" 89 | ], 90 | "attrs": [], 91 | "isMulticolor": false, 92 | "isMulticolor2": false, 93 | "tags": [ 94 | "person" 95 | ], 96 | "defaultCode": 59389, 97 | "grid": 24 98 | }, 99 | "attrs": [], 100 | "properties": { 101 | "order": 42, 102 | "ligatures": "person", 103 | "id": 557, 104 | "prevSize": 24, 105 | "code": 59389, 106 | "name": "person" 107 | }, 108 | "setIdx": 1, 109 | "setId": 6, 110 | "iconIdx": 557 111 | }, 112 | { 113 | "icon": { 114 | "paths": [ 115 | "M406 598c106 0 192-86 192-192s-86-192-192-192-192 86-192 192 86 192 192 192zM662 598l212 212-64 64-212-212v-34l-12-12c-48 42-112 66-180 66-154 0-278-122-278-276s124-278 278-278 276 124 276 278c0 68-24 132-66 180l12 12h34z" 116 | ], 117 | "attrs": [], 118 | "isMulticolor": false, 119 | "isMulticolor2": false, 120 | "tags": [ 121 | "search" 122 | ], 123 | "defaultCode": 59574, 124 | "grid": 24 125 | }, 126 | "attrs": [], 127 | "properties": { 128 | "order": 46, 129 | "ligatures": "search", 130 | "id": 655, 131 | "prevSize": 24, 132 | "code": 59574, 133 | "name": "search" 134 | }, 135 | "setIdx": 1, 136 | "setId": 6, 137 | "iconIdx": 655 138 | }, 139 | { 140 | "icon": { 141 | "paths": [ 142 | "M768 686c68 0 124 56 124 124s-56 126-124 126-124-58-124-126c0-10 0-20 2-28l-302-176c-24 22-54 34-88 34-70 0-128-58-128-128s58-128 128-128c34 0 64 12 88 34l300-174c-2-10-4-20-4-30 0-70 58-128 128-128s128 58 128 128-58 128-128 128c-34 0-64-14-88-36l-300 176c2 10 4 20 4 30s-2 20-4 30l304 176c22-20 52-32 84-32z" 143 | ], 144 | "attrs": [], 145 | "isMulticolor": false, 146 | "isMulticolor2": false, 147 | "tags": [ 148 | "share" 149 | ], 150 | "defaultCode": 59405, 151 | "grid": 24 152 | }, 153 | "attrs": [], 154 | "properties": { 155 | "order": 51, 156 | "ligatures": "share", 157 | "id": 681, 158 | "prevSize": 24, 159 | "code": 59405, 160 | "name": "share" 161 | }, 162 | "setIdx": 1, 163 | "setId": 6, 164 | "iconIdx": 681 165 | }, 166 | { 167 | "icon": { 168 | "paths": [ 169 | "M391.75 595.353c-20.797 0-36.5-7.603-47.1-22.806-10.7-15.097-16-35.297-16-60.497 0-55.5 20.997-83.303 63.1-83.303 8.4 0 17.5 2.803 27.3 8.403s18.097 15.4 24.8 29.4l63.1-32.8c-25.2-45.4-67-68.1-125.303-68.1-39.85 0-72.797 13.2-98.794 39.5-26.103 26.4-39.206 61.997-39.206 106.9 0 46 12.956 81.9 38.703 107.7 25.8 25.8 59.803 38.6 101.8 38.6 26.4 0 50.5-6.6 72.353-19.697 21.847-13.206 38.947-31.303 51.347-54.303l-58.1-29.4c-11.2 26.9-30.553 40.403-58 40.403zM663.447 595.353c-20.797 0-36.494-7.603-47.1-22.806-10.7-15.097-16-35.297-16-60.497 0-55.5 21.003-83.303 63.1-83.303 8.903 0 18.303 2.803 28.103 8.403 9.853 5.6 18.1 15.4 24.9 29.4l62.197-32.8c-24.7-45.4-66.197-68.1-124.497-68.1-39.8 0-72.75 13.2-98.8 39.5-26.097 26.4-39.103 61.997-39.103 106.9 0 46 12.703 81.9 38.253 107.7 25.5 25.8 59.55 38.6 102.2 38.6 25.747 0 49.647-6.6 71.45-19.697 21.903-13.206 39.3-31.303 52.203-54.303l-58.903-29.4c-11.2 26.9-30.6 40.403-58.003 40.403zM860.816 163.013c-95.159-95.038-211.659-142.525-349.463-142.525-136.134 0-251.391 47.487-345.709 142.525-96.778 98.306-145.163 214.613-145.163 348.978 0 134.353 48.384 249.85 145.163 346.506 96.778 96.687 212.034 145.016 345.709 145.016 135.344 0 252.656-48.747 351.922-146.216 93.478-92.578 140.244-207.684 140.244-345.306 0-137.634-47.575-253.972-142.703-348.978zM799.284 793.397c-81.206 80.281-176.769 120.419-286.7 120.419-109.916 0-204.622-39.75-284.181-119.219-79.556-79.434-119.337-173.662-119.337-282.606 0-108.956 40.169-203.994 120.566-285.081 77.1-78.656 171.416-117.988 282.953-117.988 111.581 0 206.306 39.331 284.244 117.988 78.747 77.819 118.103 172.825 118.103 285.081 0 113.053-38.547 206.859-115.647 281.406z" 170 | ], 171 | "attrs": [], 172 | "isMulticolor": false, 173 | "isMulticolor2": false, 174 | "tags": [ 175 | "creative-commons" 176 | ], 177 | "grid": 20 178 | }, 179 | "attrs": [], 180 | "properties": { 181 | "id": 12, 182 | "order": 47, 183 | "prevSize": 20, 184 | "code": 59672, 185 | "name": "creative-commons" 186 | }, 187 | "setIdx": 2, 188 | "setId": 5, 189 | "iconIdx": 11 190 | }, 191 | { 192 | "icon": { 193 | "paths": [ 194 | "M231.219 386.458c22.323-22.835 53.402-24.627 80.691 0l200.090 191.846 200.090-191.846c27.29-24.627 58.419-22.835 80.589 0 22.323 22.784 20.89 61.286 0 82.688-20.787 21.402-240.384 230.502-240.384 230.502-11.11 11.418-25.702 17.152-40.294 17.152s-29.184-5.734-40.397-17.152c0 0-219.494-209.101-240.384-230.502-20.941-21.402-22.323-59.904 0-82.688z" 195 | ], 196 | "attrs": [], 197 | "isMulticolor": false, 198 | "isMulticolor2": false, 199 | "tags": [ 200 | "chevron-down" 201 | ], 202 | "grid": 20 203 | }, 204 | "attrs": [], 205 | "properties": { 206 | "id": 34, 207 | "order": 17, 208 | "prevSize": 20, 209 | "code": 59648, 210 | "name": "chevron-down" 211 | }, 212 | "setIdx": 2, 213 | "setId": 5, 214 | "iconIdx": 33 215 | }, 216 | { 217 | "icon": { 218 | "paths": [ 219 | "M637.542 231.219c22.835 22.323 24.627 53.402 0 80.691l-191.846 200.090 191.846 200.090c24.627 27.29 22.835 58.419 0 80.589-22.784 22.323-61.286 20.89-82.688 0-21.402-20.787-230.502-240.384-230.502-240.384-11.418-11.11-17.152-25.702-17.152-40.294s5.734-29.184 17.152-40.397c0 0 209.101-219.494 230.502-240.384 21.402-20.941 59.904-22.323 82.688 0z" 220 | ], 221 | "attrs": [], 222 | "isMulticolor": false, 223 | "isMulticolor2": false, 224 | "tags": [ 225 | "chevron-left" 226 | ], 227 | "grid": 20 228 | }, 229 | "attrs": [], 230 | "properties": { 231 | "id": 35, 232 | "order": 16, 233 | "prevSize": 20, 234 | "code": 59649, 235 | "name": "chevron-left" 236 | }, 237 | "setIdx": 2, 238 | "setId": 5, 239 | "iconIdx": 34 240 | }, 241 | { 242 | "icon": { 243 | "paths": [ 244 | "M469.146 231.219c21.402 20.89 230.502 240.384 230.502 240.384 11.418 11.213 17.152 25.805 17.152 40.397s-5.734 29.184-17.152 40.294c0 0-209.101 219.597-230.502 240.384-21.402 20.89-59.904 22.323-82.688 0-22.835-22.221-24.627-53.299 0-80.589l191.846-200.090-191.846-200.090c-24.627-27.29-22.835-58.419 0-80.691 22.784-22.323 61.286-20.941 82.688 0z" 245 | ], 246 | "attrs": [], 247 | "isMulticolor": false, 248 | "isMulticolor2": false, 249 | "tags": [ 250 | "chevron-right" 251 | ], 252 | "grid": 20 253 | }, 254 | "attrs": [], 255 | "properties": { 256 | "id": 36, 257 | "order": 15, 258 | "prevSize": 20, 259 | "code": 59650, 260 | "name": "chevron-right" 261 | }, 262 | "setIdx": 2, 263 | "setId": 5, 264 | "iconIdx": 35 265 | }, 266 | { 267 | "icon": { 268 | "paths": [ 269 | "M891.802 312.781c13.926-13.722 36.301-13.722 50.125 0s13.875 35.891 0 49.613l-404.89 400.896c-13.824 13.722-36.198 13.722-50.125 0l-404.89-400.896c-13.824-13.722-13.824-35.891 0-49.613 13.875-13.722 36.301-13.722 50.125 0l379.853 365.619 379.802-365.619z" 270 | ], 271 | "attrs": [], 272 | "isMulticolor": false, 273 | "isMulticolor2": false, 274 | "tags": [ 275 | "chevron-thin-down" 276 | ], 277 | "grid": 20 278 | }, 279 | "attrs": [], 280 | "properties": { 281 | "id": 41, 282 | "order": 18, 283 | "prevSize": 20, 284 | "code": 59651, 285 | "name": "chevron-thin-down" 286 | }, 287 | "setIdx": 2, 288 | "setId": 5, 289 | "iconIdx": 40 290 | }, 291 | { 292 | "icon": { 293 | "paths": [ 294 | "M711.219 891.802c13.722 13.926 13.722 36.301 0 50.125s-35.891 13.875-49.613 0l-400.896-404.89c-13.722-13.824-13.722-36.198 0-50.125l400.896-404.89c13.722-13.824 35.891-13.824 49.613 0 13.722 13.875 13.722 36.301 0 50.125l-365.619 379.853 365.619 379.802z" 295 | ], 296 | "attrs": [], 297 | "isMulticolor": false, 298 | "isMulticolor2": false, 299 | "tags": [ 300 | "chevron-thin-left" 301 | ], 302 | "grid": 20 303 | }, 304 | "attrs": [], 305 | "properties": { 306 | "id": 42, 307 | "order": 19, 308 | "prevSize": 20, 309 | "code": 59652, 310 | "name": "chevron-thin-left" 311 | }, 312 | "setIdx": 2, 313 | "setId": 5, 314 | "iconIdx": 41 315 | }, 316 | { 317 | "icon": { 318 | "paths": [ 319 | "M678.4 512l-365.619-379.904c-13.722-13.824-13.722-36.198 0-50.125 13.722-13.824 35.891-13.824 49.613 0l400.896 404.89c13.722 13.875 13.722 36.301 0 50.125l-400.896 404.89c-13.722 13.875-35.891 13.824-49.613 0-13.722-13.773-13.722-36.198 0-50.125l365.619-379.75z" 320 | ], 321 | "attrs": [], 322 | "isMulticolor": false, 323 | "isMulticolor2": false, 324 | "tags": [ 325 | "chevron-thin-right" 326 | ], 327 | "grid": 20 328 | }, 329 | "attrs": [], 330 | "properties": { 331 | "id": 43, 332 | "order": 20, 333 | "prevSize": 20, 334 | "code": 59653, 335 | "name": "chevron-thin-right" 336 | }, 337 | "setIdx": 2, 338 | "setId": 5, 339 | "iconIdx": 42 340 | }, 341 | { 342 | "icon": { 343 | "paths": [ 344 | "M132.198 711.219c-13.926 13.722-36.301 13.722-50.125 0s-13.875-35.891 0-49.613l404.89-400.896c13.824-13.722 36.198-13.722 50.125 0l404.89 400.896c13.824 13.722 13.824 35.891 0 49.613-13.875 13.722-36.301 13.722-50.074 0l-379.904-365.619-379.802 365.619z" 345 | ], 346 | "attrs": [], 347 | "isMulticolor": false, 348 | "isMulticolor2": false, 349 | "tags": [ 350 | "chevron-thin-up" 351 | ], 352 | "grid": 20 353 | }, 354 | "attrs": [], 355 | "properties": { 356 | "id": 44, 357 | "order": 21, 358 | "prevSize": 20, 359 | "code": 59654, 360 | "name": "chevron-thin-up" 361 | }, 362 | "setIdx": 2, 363 | "setId": 5, 364 | "iconIdx": 43 365 | }, 366 | { 367 | "icon": { 368 | "paths": [ 369 | "M792.781 637.542c-22.323 22.835-53.402 24.627-80.691 0l-200.090-191.846-200.090 191.846c-27.29 24.627-58.419 22.835-80.589 0-22.323-22.784-20.89-61.286 0-82.688 20.787-21.402 240.384-230.502 240.384-230.502 11.11-11.418 25.702-17.152 40.294-17.152s29.184 5.734 40.397 17.152c0 0 219.494 209.101 240.384 230.502 20.941 21.402 22.323 59.904 0 82.688z" 370 | ], 371 | "attrs": [], 372 | "isMulticolor": false, 373 | "isMulticolor2": false, 374 | "tags": [ 375 | "chevron-up" 376 | ], 377 | "grid": 20 378 | }, 379 | "attrs": [], 380 | "properties": { 381 | "id": 45, 382 | "order": 22, 383 | "prevSize": 20, 384 | "code": 59655, 385 | "name": "chevron-up" 386 | }, 387 | "setIdx": 2, 388 | "setId": 5, 389 | "iconIdx": 44 390 | }, 391 | { 392 | "icon": { 393 | "paths": [ 394 | "M80.589 270.643c24.986 13.414 371.098 199.373 384 206.285s29.594 10.189 46.387 10.189c16.794 0 33.485-3.277 46.387-10.189s359.014-192.87 384-206.285c25.037-13.466 48.691-65.843 2.765-65.843h-866.253c-45.926 0-22.272 52.378 2.714 65.843zM952.986 383.437c-28.416 14.797-378.214 197.069-395.622 206.182s-29.594 10.189-46.387 10.189-28.979-1.075-46.387-10.189-365.21-191.437-393.626-206.234c-19.968-10.445-19.763 1.792-19.763 11.213s0 373.402 0 373.402c0 21.504 28.979 51.2 51.2 51.2h819.2c22.221 0 51.2-29.696 51.2-51.2 0 0 0-363.93 0-373.35s0.205-21.658-19.814-11.213z" 395 | ], 396 | "attrs": [], 397 | "isMulticolor": false, 398 | "isMulticolor2": false, 399 | "tags": [ 400 | "mail" 401 | ], 402 | "grid": 20 403 | }, 404 | "attrs": [], 405 | "properties": { 406 | "id": 219, 407 | "order": 36, 408 | "prevSize": 20, 409 | "code": 59661, 410 | "name": "mail" 411 | }, 412 | "setIdx": 2, 413 | "setId": 5, 414 | "iconIdx": 218 415 | }, 416 | { 417 | "icon": { 418 | "paths": [ 419 | "M122.88 122.88v121.19c362.803 0 656.896 294.195 656.896 656.998h121.293c0-429.773-348.416-778.189-778.189-778.189zM122.88 365.414v121.293c228.813 0 414.362 185.498 414.362 414.413h121.242c0-295.834-239.821-535.706-535.603-535.706zM239.053 668.621c-64.205 0-116.224 52.122-116.224 116.275s52.019 116.224 116.224 116.224 116.173-52.019 116.173-116.224-51.968-116.275-116.173-116.275z" 420 | ], 421 | "attrs": [], 422 | "isMulticolor": false, 423 | "isMulticolor2": false, 424 | "tags": [ 425 | "rss" 426 | ], 427 | "grid": 20 428 | }, 429 | "attrs": [], 430 | "properties": { 431 | "id": 266, 432 | "order": 25, 433 | "prevSize": 20, 434 | "code": 59658, 435 | "name": "feed" 436 | }, 437 | "setIdx": 2, 438 | "setId": 5, 439 | "iconIdx": 265 440 | }, 441 | { 442 | "icon": { 443 | "paths": [ 444 | "M413.286 476.211c0 0 96.87-7.526 96.87-125.901 0-118.528-79.258-176.179-179.712-176.179h-330.445v661.811h330.445c0 0 201.779 6.605 201.779-195.379-0.051-0.051 8.755-164.352-118.938-164.352zM145.613 291.686h184.832c0 0 44.954 0 44.954 68.813 0 68.915-26.419 78.899-56.422 78.899h-173.363v-147.712zM321.075 718.285h-175.462v-176.896h184.832c0 0 66.97-0.922 66.97 90.88 0 77.414-50.022 85.453-76.339 86.016zM801.229 342.426c-244.275 0-244.070 254.31-244.070 254.31s-16.691 252.979 244.070 252.979c0 0 217.242 13.005 217.242-175.974h-111.718c0 0 3.686 71.219-101.786 71.219 0 0-111.821 7.782-111.821-115.2h328.858c0.051-0.051 36.301-287.334-220.774-287.334zM900.608 541.389h-208.589c0 0 13.619-101.99 111.718-101.99s96.87 101.99 96.87 101.99zM926.566 212.992h-261.99v81.613h261.99v-81.613z" 445 | ], 446 | "attrs": [], 447 | "isMulticolor": false, 448 | "isMulticolor2": false, 449 | "tags": [ 450 | "behance" 451 | ], 452 | "grid": 20 453 | }, 454 | "attrs": [], 455 | "properties": { 456 | "id": 322, 457 | "order": 43, 458 | "prevSize": 20, 459 | "code": 59660, 460 | "name": "behance" 461 | }, 462 | "setIdx": 2, 463 | "setId": 5, 464 | "iconIdx": 321 465 | }, 466 | { 467 | "icon": { 468 | "paths": [ 469 | "M752.026 515.482c-14.029-4.301-23.706-7.27-16.333-26.010 15.923-40.806 17.613-75.981 0.358-101.12-32.41-47.104-121.037-44.595-222.618-1.28 0-0.102-31.898 14.182-23.757-11.622 15.667-51.046 13.261-93.85-11.059-118.528-55.091-56.218-201.574 2.099-327.27 129.997-94.157 95.795-148.787 197.274-148.787 285.082 0 167.987 211.558 280.32 418.56 280.32 271.309 0 451.84-170.701 451.84-298.086 0-77.056-63.693-120.73-120.934-138.752zM421.683 877.005c-165.12 16.384-307.763-58.726-318.464-167.68-10.701-109.005 114.483-210.688 279.654-227.226 165.171-16.384 307.763 58.675 318.464 167.68 10.701 109.107-114.483 210.842-279.654 227.226zM1021.44 378.726c-0.051-169.574-137.523-306.995-307.2-306.995-19.814 0-35.789 15.974-35.789 35.789s15.974 35.789 35.789 35.789c130.099 0 235.571 105.523 235.571 235.622 0 19.814 16.026 35.789 35.84 35.789s35.789-16.026 35.789-35.84v-0.154zM879.053 373.504c-16.333-79.974-79.411-143.002-159.386-159.386-19.354-3.994-38.298 8.499-42.291 27.904-3.942 19.302 8.499 38.298 27.904 42.291 52.019 10.598 92.979 51.61 103.629 103.578 3.994 19.405 22.938 31.795 42.291 27.904 19.302-3.994 31.846-22.989 27.853-42.291zM336.998 588.902c-66.56 13.414-111.462 69.222-100.301 124.621 11.162 55.501 74.086 89.6 140.646 76.186 66.509-13.414 111.411-69.222 100.301-124.621-11.162-55.398-74.189-89.6-140.646-76.186z" 470 | ], 471 | "attrs": [], 472 | "isMulticolor": false, 473 | "isMulticolor2": false, 474 | "tags": [ 475 | "sina-weibo" 476 | ], 477 | "grid": 20 478 | }, 479 | "attrs": [], 480 | "properties": { 481 | "id": 340, 482 | "order": 27, 483 | "prevSize": 20, 484 | "code": 59662, 485 | "name": "weibo" 486 | }, 487 | "setIdx": 2, 488 | "setId": 5, 489 | "iconIdx": 339 490 | }, 491 | { 492 | "icon": { 493 | "paths": [ 494 | "M489.728 379.955c-69.53-123.597-143.923-224.41-149.35-231.834-112.179 53.043-195.891 156.416-222.054 280.934 10.547 0.205 178.278 2.202 371.405-49.101zM539.802 515.123c5.222-1.69 10.547-3.277 15.821-4.813-10.086-22.886-21.094-45.824-32.614-68.403-207.155 62.054-405.914 57.549-412.928 57.344-0.154 4.301-0.358 8.499-0.358 12.8 0 103.373 39.066 197.683 103.219 268.902l-0.256-0.307c0 0 110.080-195.277 327.117-265.523zM264.755 829.133v-0.205c-2.97-2.304-6.144-4.403-9.114-6.912 5.427 4.352 9.114 7.117 9.114 7.117zM415.642 121.446c-0.358 0.102-0.768 0.205-0.768 0.205 0.307-0.102 0.717-0.102 0.717-0.102l0.051-0.102zM777.677 210.125c-70.861-62.362-163.789-100.403-265.677-100.403-32.717 0-64.41 3.994-94.822 11.315 6.144 8.192 81.664 108.493 150.426 234.701 151.654-56.781 208.947-143.974 210.074-145.613zM512 983.040c-260.096 0-470.989-210.893-470.989-470.989-0.051-260.198 210.842-471.091 470.989-471.091 260.198 0 471.040 210.893 471.040 471.091 0 260.096-210.842 470.989-471.040 470.989zM580.403 577.843c-236.083 82.278-314.061 247.706-315.648 251.085 68.301 53.299 153.907 85.299 247.194 85.299 55.706 0 108.8-11.315 157.030-31.795-5.939-35.277-29.338-158.515-85.965-305.51-0.819 0.307-1.69 0.614-2.611 0.922zM598.528 415.744c9.421 19.098 18.33 38.605 26.778 58.317 3.021 6.912 5.837 13.926 8.704 20.787 138.906-17.51 275.712 12.186 280.218 13.107-0.973-95.386-35.123-182.886-91.494-251.494-0.922 1.178-65.485 94.362-224.205 159.283zM658.483 558.336c52.787 145.203 74.189 263.27 78.285 287.283 90.317-60.979 154.522-157.696 172.39-269.824-7.987-2.56-120.627-38.246-250.675-17.459z" 495 | ], 496 | "attrs": [], 497 | "isMulticolor": false, 498 | "isMulticolor2": false, 499 | "tags": [ 500 | "dribbble" 501 | ], 502 | "grid": 20 503 | }, 504 | "attrs": [], 505 | "properties": { 506 | "id": 358, 507 | "order": 44, 508 | "prevSize": 20, 509 | "code": 59670, 510 | "name": "dribbble" 511 | }, 512 | "setIdx": 2, 513 | "setId": 5, 514 | "iconIdx": 357 515 | }, 516 | { 517 | "icon": { 518 | "paths": [ 519 | "M870.4 51.2h-716.8c-56.32 0-102.4 46.080-102.4 102.4v716.8c0 56.371 46.080 102.4 102.4 102.4h358.4v-358.4h-102.4v-126.72h102.4v-104.96c0-110.797 62.054-188.621 192.819-188.621l92.314 0.102v133.376h-61.286c-50.893 0-70.246 38.195-70.246 73.626v86.528h131.482l-29.082 126.669h-102.4v358.4h204.8c56.32 0 102.4-46.029 102.4-102.4v-716.8c0-56.32-46.080-102.4-102.4-102.4z" 520 | ], 521 | "attrs": [], 522 | "isMulticolor": false, 523 | "isMulticolor2": false, 524 | "tags": [ 525 | "facebook" 526 | ], 527 | "grid": 20 528 | }, 529 | "attrs": [], 530 | "properties": { 531 | "id": 360, 532 | "order": 33, 533 | "prevSize": 20, 534 | "code": 59663, 535 | "name": "facebook" 536 | }, 537 | "setIdx": 2, 538 | "setId": 5, 539 | "iconIdx": 359 540 | }, 541 | { 542 | "icon": { 543 | "paths": [ 544 | "M674.816 579.021c-36.762 0-66.56 41.318-66.56 92.109 0 50.893 29.798 92.211 66.56 92.211s66.56-41.318 66.56-92.211c-0.051-50.79-29.798-92.109-66.56-92.109zM906.547 339.251c7.629-18.688 7.936-124.877-32.512-226.611 0 0-92.723 10.189-233.011 106.496-29.44-8.192-79.258-12.186-128.973-12.186-49.818 0-99.584 3.994-129.024 12.186-140.339-96.307-233.062-106.496-233.062-106.496-40.397 101.734-39.987 207.923-32.461 226.611-47.514 51.61-76.544 113.613-76.544 198.195 0 367.923 305.306 373.811 382.31 373.811 17.51 0 52.122 0.102 88.781 0.102 36.608 0 71.27-0.102 88.678-0.102 77.107 0 382.31-5.888 382.31-373.811 0-84.582-28.979-146.586-76.493-198.195zM513.434 866.048h-2.867c-193.075 0-343.501-22.989-343.501-210.688 0-45.005 15.872-86.682 53.606-121.293 62.822-57.702 169.216-27.187 289.894-27.187 0.512 0 1.024 0 1.485 0 0.512 0 0.922 0 1.382 0 120.678 0 227.123-30.515 289.997 27.187 37.632 34.611 53.504 76.288 53.504 121.293 0 187.699-150.374 210.688-343.501 210.688zM349.235 579.021c-36.762 0-66.56 41.318-66.56 92.109 0 50.893 29.798 92.211 66.56 92.211 36.813 0 66.611-41.318 66.611-92.211 0-50.79-29.798-92.109-66.611-92.109z" 545 | ], 546 | "attrs": [], 547 | "isMulticolor": false, 548 | "isMulticolor2": false, 549 | "tags": [ 550 | "github" 551 | ], 552 | "grid": 20 553 | }, 554 | "attrs": [], 555 | "properties": { 556 | "id": 364, 557 | "order": 32, 558 | "prevSize": 20, 559 | "code": 59664, 560 | "name": "github" 561 | }, 562 | "setIdx": 2, 563 | "setId": 5, 564 | "iconIdx": 363 565 | }, 566 | { 567 | "icon": { 568 | "paths": [ 569 | "M101.837 286.157c0 76.493 25.549 131.686 75.878 164.096 41.267 26.624 89.088 30.618 113.971 30.618 6.042 0 10.906-0.307 14.285-0.512 0 0-7.885 51.405 30.208 102.195h-1.741c-65.997 0-281.242 13.773-281.242 190.822 0 180.019 197.683 189.184 237.363 189.184 3.123 0 4.966-0.102 4.966-0.102 0.41 0 3.226 0.102 8.090 0.102 25.446 0 91.238-3.174 152.32-32.922 79.258-38.4 119.45-105.421 119.45-198.912 0-90.317-61.235-144.077-105.933-183.398-27.29-24.013-50.893-44.698-50.893-64.819 0-20.48 17.254-35.891 39.014-55.398 35.277-31.488 68.557-76.39 68.557-161.28 0-74.598-9.677-124.723-69.325-156.518 6.195-3.174 28.211-5.478 39.066-7.014 32.307-4.403 79.565-9.421 79.565-35.789v-5.069h-235.469c-2.355 0.102-238.131 8.806-238.131 224.717zM481.946 747.622c4.506 71.987-57.088 125.082-149.606 131.789-93.952 6.912-171.264-35.379-175.77-107.315-2.202-34.611 13.005-68.403 42.752-95.386 30.157-27.29 71.578-44.186 116.634-47.514 5.325-0.307 10.598-0.614 15.872-0.614 86.989 0.051 145.869 51.149 150.118 119.040zM420.454 236.851c23.091 81.306-11.776 166.195-67.379 181.914-6.4 1.792-12.954 2.662-19.661 2.662-50.893 0-101.325-51.507-120.064-122.522-10.445-39.731-9.574-74.65 2.406-108.134 11.725-33.024 32.922-55.194 59.546-62.72 6.4-1.792 13.005-2.714 19.712-2.714 61.44 0 100.966 25.498 125.44 111.514zM819.2 409.6v-153.6h-102.4v153.6h-153.6v102.4h153.6v153.6h102.4v-153.6h153.6v-102.4h-153.6z" 570 | ], 571 | "attrs": [], 572 | "isMulticolor": false, 573 | "isMulticolor2": false, 574 | "tags": [ 575 | "google+" 576 | ], 577 | "grid": 20 578 | }, 579 | "attrs": [], 580 | "properties": { 581 | "id": 366, 582 | "order": 28, 583 | "prevSize": 20, 584 | "code": 59665, 585 | "name": "google" 586 | }, 587 | "setIdx": 2, 588 | "setId": 5, 589 | "iconIdx": 365 590 | }, 591 | { 592 | "icon": { 593 | "paths": [ 594 | "M870.4 51.2h-716.8c-56.32 0-102.4 46.080-102.4 102.4v716.8c0 56.371 46.080 102.4 102.4 102.4h716.8c56.32 0 102.4-46.029 102.4-102.4v-716.8c0-56.32-46.080-102.4-102.4-102.4zM511.181 794.778c156.621 0 283.546-127.027 283.546-283.597 0-17.306-2.202-33.997-5.274-50.381h80.947v369.459c0 19.558-15.872 35.328-35.482 35.328h-645.837c-19.61-0-35.482-15.77-35.482-35.328v-369.459h79.309c-3.123 16.384-5.325 33.075-5.325 50.381 0 156.621 127.027 283.597 283.597 283.597zM333.978 511.181c0-97.894 79.36-177.203 177.254-177.203 97.843 0 177.254 79.309 177.254 177.203s-79.411 177.254-177.254 177.254c-97.946 0-177.254-79.36-177.254-177.254zM834.918 307.2h-82.688c-19.558 0-35.43-15.974-35.43-35.43v-82.79c0-19.558 15.872-35.379 35.379-35.379h82.688c19.661 0 35.533 15.821 35.533 35.379v82.739c0 19.507-15.872 35.482-35.482 35.482z" 595 | ], 596 | "attrs": [], 597 | "isMulticolor": false, 598 | "isMulticolor2": false, 599 | "tags": [ 600 | "instagram" 601 | ], 602 | "grid": 20 603 | }, 604 | "attrs": [], 605 | "properties": { 606 | "id": 368, 607 | "order": 29, 608 | "prevSize": 20, 609 | "code": 59666, 610 | "name": "instagram" 611 | }, 612 | "setIdx": 2, 613 | "setId": 5, 614 | "iconIdx": 367 615 | }, 616 | { 617 | "icon": { 618 | "paths": [ 619 | "M256 153.6c0 54.374-36.352 101.171-102.451 101.171-62.208 0-102.349-44.134-102.349-98.509 0-55.808 38.912-105.062 102.4-105.062s101.171 46.592 102.4 102.4zM51.2 972.8v-665.6h204.8v665.6h-204.8z", 620 | "M358.4 534.733c0-79.104-2.611-145.203-5.222-202.291h184.013l9.114 88.218h3.891c25.907-41.523 89.395-102.4 195.686-102.4 129.638 0 226.918 86.784 226.918 273.51v381.030h-204.8v-351.283c0-81.613-31.078-143.872-102.4-143.872-54.374 0-81.613 44.032-95.898 80.333-5.222 13.005-6.502 31.13-6.502 49.306v365.517h-204.8v-438.067z" 621 | ], 622 | "attrs": [ 623 | {}, 624 | {} 625 | ], 626 | "isMulticolor": false, 627 | "isMulticolor2": false, 628 | "tags": [ 629 | "linkedin" 630 | ], 631 | "grid": 20 632 | }, 633 | "attrs": [ 634 | {}, 635 | {} 636 | ], 637 | "properties": { 638 | "id": 372, 639 | "order": 45, 640 | "prevSize": 20, 641 | "code": 59671, 642 | "name": "linkedin" 643 | }, 644 | "setIdx": 2, 645 | "setId": 5, 646 | "iconIdx": 371 647 | }, 648 | { 649 | "icon": { 650 | "paths": [ 651 | "M441.19 677.222c-26.931 141.005-59.75 276.173-157.082 346.778-30.003-213.094 44.083-373.094 78.541-542.976-58.726-98.816 7.066-297.574 130.816-248.576 152.32 60.211-131.891 367.206 58.88 405.606 199.219 39.987 280.525-345.6 156.979-470.989-178.432-181.146-519.475-4.25-477.491 255.078 10.189 63.386 75.674 82.586 26.163 170.086-114.227-25.293-148.326-115.405-143.923-235.52 7.066-196.608 176.589-334.182 346.675-353.28 215.091-24.115 416.973 79.002 444.877 281.293 31.386 228.403-97.075 475.802-327.117 457.984-62.362-4.864-88.474-35.789-137.318-65.485z" 652 | ], 653 | "attrs": [], 654 | "isMulticolor": false, 655 | "isMulticolor2": false, 656 | "tags": [ 657 | "pinterest" 658 | ], 659 | "grid": 20 660 | }, 661 | "attrs": [], 662 | "properties": { 663 | "id": 374, 664 | "order": 31, 665 | "prevSize": 20, 666 | "code": 59667, 667 | "name": "pinterest" 668 | }, 669 | "setIdx": 2, 670 | "setId": 5, 671 | "iconIdx": 373 672 | }, 673 | { 674 | "icon": { 675 | "paths": [ 676 | "M798.72 931.635c-39.782 18.995-75.776 32.307-107.981 39.987-32.256 7.578-67.123 11.418-104.602 11.418-42.547 0-80.179-5.478-112.896-16.282-32.717-10.906-60.57-26.419-83.712-46.49-23.091-20.224-39.117-41.574-48.026-64.205-8.909-22.682-13.363-55.603-13.363-98.611v-330.496h-102.861v-133.325c36.557-11.981 67.891-29.184 93.952-51.712 26.112-22.426 47.002-49.408 62.822-80.896 15.77-31.386 26.573-71.475 32.563-120.064h132.352v238.182h220.877v147.814h-220.877v241.613c0 54.579 2.867 89.702 8.602 105.216 5.683 15.514 16.333 27.904 31.846 37.12 20.634 12.493 44.186 18.79 70.707 18.79 47.104 0 94.003-15.514 140.595-46.49v148.429z" 677 | ], 678 | "attrs": [], 679 | "isMulticolor": false, 680 | "isMulticolor2": false, 681 | "tags": [ 682 | "tumblr" 683 | ], 684 | "grid": 20 685 | }, 686 | "attrs": [], 687 | "properties": { 688 | "id": 379, 689 | "order": 34, 690 | "prevSize": 20, 691 | "code": 59668, 692 | "name": "tumblr" 693 | }, 694 | "setIdx": 2, 695 | "setId": 5, 696 | "iconIdx": 378 697 | }, 698 | { 699 | "icon": { 700 | "paths": [ 701 | "M886.579 319.795c0.41 8.294 0.563 16.691 0.563 24.986 0 255.488-194.406 549.99-549.888 549.99-109.21 0-210.739-32-296.294-86.886 15.155 1.792 30.515 2.714 46.080 2.714 90.624 0 173.926-30.925 240.026-82.688-84.531-1.587-155.955-57.395-180.531-134.195 11.776 2.202 23.91 3.379 36.352 3.379 17.664 0 34.765-2.304 50.944-6.707-88.422-17.818-155.034-95.898-155.034-189.594 0-0.819 0-1.587 0-2.406 26.061 14.49 55.91 23.194 87.552 24.218-51.866-34.714-86.016-93.798-86.016-160.922 0-35.379 9.523-68.608 26.214-97.178 95.283 116.992 237.773 193.894 398.387 201.984-3.277-14.182-4.966-28.877-4.966-44.083 0-106.701 86.477-193.178 193.229-193.178 55.603 0 105.83 23.398 141.107 60.979 43.981-8.704 85.35-24.781 122.726-46.899-14.438 45.107-45.107 82.995-84.992 106.906 39.117-4.71 76.288-15.002 111.002-30.413-25.907 38.81-58.675 72.806-96.461 99.994z" 702 | ], 703 | "attrs": [], 704 | "isMulticolor": false, 705 | "isMulticolor2": false, 706 | "tags": [ 707 | "twitter" 708 | ], 709 | "grid": 20 710 | }, 711 | "attrs": [], 712 | "properties": { 713 | "id": 381, 714 | "order": 30, 715 | "prevSize": 20, 716 | "code": 59669, 717 | "name": "twitter" 718 | }, 719 | "setIdx": 2, 720 | "setId": 5, 721 | "iconIdx": 380 722 | } 723 | ], 724 | "height": 1024, 725 | "metadata": { 726 | "name": "icomoon" 727 | }, 728 | "preferences": { 729 | "showGlyphs": true, 730 | "showQuickUse": true, 731 | "showQuickUse2": true, 732 | "showSVGs": true, 733 | "fontPref": { 734 | "prefix": "icon-", 735 | "metadata": { 736 | "fontFamily": "icomoon" 737 | }, 738 | "metrics": { 739 | "emSize": 1024, 740 | "baseline": 6.25, 741 | "whitespace": 50 742 | }, 743 | "embed": false 744 | }, 745 | "imagePref": { 746 | "prefix": "icon-", 747 | "png": true, 748 | "useClassSelector": true, 749 | "color": 0, 750 | "bgColor": 16777215, 751 | "classSelector": ".icon" 752 | }, 753 | "historySize": 100, 754 | "showCodes": true, 755 | "gridSize": 16 756 | } 757 | } -------------------------------------------------------------------------------- /source/icomoon/style.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'icomoon'; 3 | src: url('fonts/icomoon.eot?uxdgz6'); 4 | src: url('fonts/icomoon.eot?uxdgz6#iefix') format('embedded-opentype'), 5 | url('fonts/icomoon.ttf?uxdgz6') format('truetype'), 6 | url('fonts/icomoon.woff?uxdgz6') format('woff'), 7 | url('fonts/icomoon.svg?uxdgz6#icomoon') format('svg'); 8 | font-weight: normal; 9 | font-style: normal; 10 | } 11 | 12 | [class^="icon-"], [class*=" icon-"] { 13 | /* use !important to prevent issues with browser extensions that change fonts */ 14 | font-family: 'icomoon' !important; 15 | speak: none; 16 | font-style: normal; 17 | font-weight: normal; 18 | font-variant: normal; 19 | text-transform: none; 20 | line-height: 1; 21 | 22 | /* Better Font Rendering =========== */ 23 | -webkit-font-smoothing: antialiased; 24 | -moz-osx-font-smoothing: grayscale; 25 | } 26 | 27 | .icon-close:before { 28 | content: "\e5cd"; 29 | } 30 | .icon-list:before { 31 | content: "\e896"; 32 | } 33 | .icon-menu:before { 34 | content: "\e5d2"; 35 | } 36 | .icon-person:before { 37 | content: "\e7fd"; 38 | } 39 | .icon-search:before { 40 | content: "\e8b6"; 41 | } 42 | .icon-share:before { 43 | content: "\e80d"; 44 | } 45 | .icon-creative-commons:before { 46 | content: "\e918"; 47 | } 48 | .icon-chevron-down:before { 49 | content: "\e900"; 50 | } 51 | .icon-chevron-left:before { 52 | content: "\e901"; 53 | } 54 | .icon-chevron-right:before { 55 | content: "\e902"; 56 | } 57 | .icon-chevron-thin-down:before { 58 | content: "\e903"; 59 | } 60 | .icon-chevron-thin-left:before { 61 | content: "\e904"; 62 | } 63 | .icon-chevron-thin-right:before { 64 | content: "\e905"; 65 | } 66 | .icon-chevron-thin-up:before { 67 | content: "\e906"; 68 | } 69 | .icon-chevron-up:before { 70 | content: "\e907"; 71 | } 72 | .icon-mail:before { 73 | content: "\e90d"; 74 | } 75 | .icon-feed:before { 76 | content: "\e90a"; 77 | } 78 | .icon-behance:before { 79 | content: "\e90c"; 80 | } 81 | .icon-weibo:before { 82 | content: "\e90e"; 83 | } 84 | .icon-dribbble:before { 85 | content: "\e916"; 86 | } 87 | .icon-facebook:before { 88 | content: "\e90f"; 89 | } 90 | .icon-github:before { 91 | content: "\e910"; 92 | } 93 | .icon-google:before { 94 | content: "\e911"; 95 | } 96 | .icon-instagram:before { 97 | content: "\e912"; 98 | } 99 | .icon-linkedin:before { 100 | content: "\e917"; 101 | } 102 | .icon-pinterest:before { 103 | content: "\e913"; 104 | } 105 | .icon-tumblr:before { 106 | content: "\e914"; 107 | } 108 | .icon-twitter:before { 109 | content: "\e915"; 110 | } 111 | 112 | -------------------------------------------------------------------------------- /source/img/algolia.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Algolia_logo_bg-white 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /source/img/avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/artchen/hexo-theme-element/8936c703e1e397cdf9bedafa719bcf810dd9d354/source/img/avatar.png -------------------------------------------------------------------------------- /source/img/azure.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/img/baidu.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/img/google.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /source/img/sidebar-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/artchen/hexo-theme-element/8936c703e1e397cdf9bedafa719bcf810dd9d354/source/img/sidebar-bg.png -------------------------------------------------------------------------------- /source/js/app.js: -------------------------------------------------------------------------------- 1 | var customSearch; 2 | 3 | (function($){ 4 | "use strict"; 5 | 6 | var switchSidebarTab = function(e) { 7 | var self = $(this), 8 | target = self.attr('data-toggle'), 9 | counter_target = target === 'toc' ? 'bio' : 'toc'; 10 | if (self.hasClass('active')) { 11 | return; 12 | } 13 | toggleActive(self, e); 14 | toggleActive(self.siblings('.dark-btn'), e); 15 | $('.site-' + counter_target).toggleClass('show'); 16 | setTimeout(function() { 17 | $('.site-' + counter_target).hide(); 18 | $('.site-' + target).show(); 19 | setTimeout(function() { 20 | $('.site-' + target).toggleClass('show'); 21 | }, 50); 22 | }, 240); 23 | }; 24 | 25 | var toggleActive = function(self, e) { 26 | e.preventDefault(); 27 | self.toggleClass('active'); 28 | }; 29 | 30 | var scrolltoElement = function(e) { 31 | e.preventDefault(); 32 | var self = $(this), 33 | correction = e.data ? e.data.correction ? e.data.correction : 0 : 0; 34 | $('html, body').animate({'scrollTop': $(self.attr('href')).offset().top - correction }, 400); 35 | }; 36 | 37 | var openBio = function(e) { 38 | $('body').addClass('bio-open'); 39 | $('.site-nav-switch').addClass('active'); 40 | }; 41 | 42 | var closeBio = function(e) { 43 | $('body').removeClass('bio-open'); 44 | $('.site-nav-switch').removeClass('active'); 45 | }; 46 | 47 | $(function() { 48 | $(".post-list, #footer, #page-nav").addClass('show'); 49 | $('.site-nav-switch').on('click', openBio); 50 | $('.site-wrapper .overlay, #sidebar-close').on('click', closeBio); 51 | $('.window-nav, .go-comment, .site-toc a').on('click', scrolltoElement); 52 | $('.sidebar-switch .dark-btn').on('click', switchSidebarTab); 53 | 54 | setTimeout(function() { 55 | $('#loading-bar-wrapper').fadeOut(500); 56 | }, 300); 57 | }); 58 | 59 | })(jQuery); 60 | -------------------------------------------------------------------------------- /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
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
      \n
      \n \n
      \n
      \n \n ',this.config={selectors:{body:"body",container:"#universal-search",searchForm:".u-search-form",searchInput:".u-search-input",modal:"#universal-search .us-modal",modalBody:"#universal-search .us-modal__body",modalFooter:"#universal-search .us-modal__footer",modalOverlay:"#universal-search .us-modal__overlay",modalResults:"#universal-search .us-modal__results",modalMetadata:"#universal-search .us-modal__footer__metadata",modalMetadataTotal:"#universal-search .us-modal__footer__metadata__total",modalMetadataRange:"#universal-search .us-modal__footer__metadata__range",modalLoadingBar:"#universal-search .us-modal__loading__bar",modalAjaxContent:"#universal-search .us-modal__ajax-content",modalLogo:"#universal-search .us-modal__logo",buttonClose:"#universal-search .us-modal__close",buttonNext:"#universal-search .us-modal__nav__next",buttonPrev:"#universal-search .us-modal__nav__prev"},services:{google:{logo:"google.svg",url:"https://cse.google.com"},algolia:{logo:"algolia.svg",url:"https://www.algolia.com"},azure:{logo:"azure.svg",url:"https://azure.microsoft.com/en-us/services/search/"},hexo:{logo:"",url:""}},imagePath:"/img/",resultsPerPage:10},this.dom={},this.percentLoaded=0,this.isOpened=!1,this.queryText="",this.pagination={next:-1,prev:-1,total:0,current:1},this.config=s({},this.config,t),r("body").append(this.TEMPLATE),Object.keys(this.config.selectors).forEach(function(t){o.dom[t]=r(o.config.selectors[t])}),this.dom.modalFooter.show(),this.dom.modalOverlay.on("click",this.close.bind(this)),this.dom.buttonClose.on("click",this.close.bind(this)),this.dom.buttonNext.on("click",this.nextPage.bind(this)),this.dom.buttonPrev.on("click",this.prevPage.bind(this)),this.dom.searchForm.each(function(t,e){r(e).on("submit",o.onSubmit.bind(o))})}return t.buildResult=function(t){return'\n
    • \n \n '+t.title+'\n '+t.excerpt+'\n \n \n
    • \n '},t.prototype.close=function(){this.isOpened=!1,this.dom.container.fadeOut(),this.dom.body.removeClass(this.BODY_MODAL_ACTIVE_CLASS)},t.prototype.beforeQuery=function(){var o=this;this.isOpened||(this.dom.container.fadeIn(),this.dom.body.addClass(this.BODY_MODAL_ACTIVE_CLASS)),this.dom.searchInput.each(function(t,e){r(e).val(o.queryText)}),r(document.activeElement).trigger("blur"),this.dom.modalAjaxContent.removeClass(this.AJAX_CONTENT_LOADED_CLASS),this.dom.modalLoadingBar.show(),this.loadingTimer=setInterval(function(){o.percentLoaded=Math.min(o.percentLoaded+5,95),o.dom.modalLoadingBar.css("width",o.percentLoaded+"%")},100)},t.prototype.afterQuery=function(){var t=this;this.dom.modalBody.scrollTop(0),this.dom.modalAjaxContent.addClass(this.AJAX_CONTENT_LOADED_CLASS),clearInterval(this.loadingTimer),this.dom.modalLoadingBar.css("width","100%"),this.dom.modalLoadingBar.fadeOut(),setTimeout(function(){t.percentLoaded=0,t.dom.modalLoadingBar.css("width","0%")},300)},t.prototype.onSubmit=function(t){t.preventDefault(),this.queryText=""+r(t.target).find(".u-search-input").val(),this.queryText&&this.search(1)},t.prototype.query=function(t,e,o){return o()},t.prototype.search=function(t){this.beforeQuery(),this.query(this.queryText,t,this.afterQuery.bind(this))},t.prototype.nextPage=function(){-1!==this.pagination.next&&this.search(this.pagination.next)},t.prototype.prevPage=function(){-1!==this.pagination.prev&&this.search(this.pagination.prev)},t.prototype.onError=function(t,e){var o="";switch(e){case"success":o="No result found for "+t+".";break;case"timeout":o="Search timed out.";break;default:o="Mysterious error."}var a='\n
    • \n '+o+"\n
    • \n ";this.dom.modalResults.html(a)},t.prototype.addLogo=function(t){var e="",o=this.config.services[t];o&&o.logo&&(e+='\n \n \n \n '),this.dom.modalLogo.html(e)},t}(),u=(a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var o in e)e.hasOwnProperty(o)&&(t[o]=e[o])})(t,e)},function(t,e){function o(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(o.prototype=e.prototype,new o)}),c=function(o){function i(t){var e=o.call(this,t)||this;return e.serviceId="algolia",e.serviceConfig=e.config,e.endpoint="https://{appId}-dsn.algolia.net/1/indexes/{indexName}",e.endpoint=e.endpoint.replace("{appId}",t.appId).replace("{indexName}",t.indexName),e.addLogo(e.serviceId),e}return u(i,o),i.prototype.buildResults=function(t){var n="";return t.forEach(function(t){var e=t.permalink||"/"+t.path||"",o=t.title,a=t._highlightResult.excerptStrip.value||"";n+=i.buildResult({url:e,title:o,excerpt:a})}),n},i.prototype.buildMetadata=function(t){var e=t.hits.length;this.pagination.current=t.page*t.hitsPerPage+1,this.pagination.total=parseInt(t.nbHits),this.dom.modalMetadataTotal.html(""+this.pagination.total),this.dom.modalMetadataRange.html(this.pagination.current+" - "+(this.pagination.current+e-1)),0","");n+=i.buildResult({url:e,title:o,excerpt:a})}),n},i.prototype.buildMetadata=function(t){if(t.queries&&t.queries.request&&"0"!==t.queries.request[0].totalResults){var e=t.queries.request[0],o=e.count;this.pagination.current=e.startIndex,this.pagination.total=parseInt(e.totalResults),this.dom.modalMetadataTotal.html(""+this.pagination.total),this.dom.modalMetadataRange.html(this.pagination.current+" - "+(this.pagination.current+o-1))}else this.dom.modalMetadata.hide();t.queries&&t.queries.nextPage?(this.pagination.next=t.queries.nextPage[0].startIndex,this.dom.buttonNext.show()):(this.pagination.next=-1,this.dom.buttonNext.hide()),t.queries&&t.queries.previousPage?(this.pagination.prev=t.queries.previousPage[0].startIndex,this.dom.buttonPrev.show()):(this.pagination.prev=-1,this.dom.buttonPrev.hide())},i.prototype.query=function(a,t,n){var i=this;r.get(this.endpoint,{key:this.serviceConfig.apiKey,cx:this.serviceConfig.engineId,q:a,start:t,num:this.serviceConfig.resultsPerPage},function(t,e){if("success"===e&&t.items&&0 ol { 291 | text-align: left; 292 | list-style: none; 293 | 294 | li { 295 | 296 | a { 297 | color: darken(white, 10%); 298 | font-size: 15px; 299 | 300 | &:hover { 301 | color: $brand-color; 302 | } 303 | } 304 | ol { 305 | list-style: none; 306 | padding-left: 15px; 307 | } 308 | } 309 | } 310 | } 311 | 312 | -------------------------------------------------------------------------------- /source/style/variables.scss: -------------------------------------------------------------------------------- 1 | $fallback-font-family: Helvetica, Arial, "Hiragino Sans GB", "Hiragino Sans GB W3", Microsoft JhengHei, WenQuanYi Micro Hei, "Microsoft YaHei", sans-serif; 2 | $base-font-family: "Oswald", $fallback-font-family; 3 | $code-font-family: "inconsolata", Consolas, monospace, sans-serif; 4 | $article-font-family: "Crimson Text", $fallback-font-family; 5 | 6 | $base-font-size: 16px; 7 | $small-font-size: $base-font-size * 0.875; 8 | $base-line-height: 1.5; 9 | 10 | $spacing-unit: 30px; 11 | 12 | $material-red: #f44336; 13 | $material-pink: #e91e63; 14 | $material-purple: #9c27b0; 15 | $material-deep-purple: #673ab7; 16 | $material-indigo: #3f51b5; 17 | $material-blue: #2196f3; 18 | $material-teal: #009688; 19 | $material-green: #4caf50; 20 | $material-light-green: #8bc34a; 21 | $material-orange: #ff9800; 22 | $material-deep-orange: #ff5722; 23 | $material-brown: #795548; 24 | $material-blue-grey: #607d8b; 25 | $material-grey: #9e9e9e; 26 | 27 | $github-color: #467cc2; 28 | $twitter-color: #55acee; 29 | $facebook-color: #3765a3; 30 | $google-color: #db4437; 31 | $pinterest-color: #bc1725; 32 | $dribbble-color: #ed699c; 33 | $weibo-color: #f8712a; 34 | $tumblr-color: #35465c; 35 | $instagram-color: #3f729b; 36 | $linkedin-color: #0077B5; 37 | $behance-color: #1769FF; 38 | $tixora-color: #33475A; 39 | 40 | $black: #414141; 41 | $white: #ffffff; 42 | $text-color: #313232; 43 | $background-color: #F9F9F9; 44 | $brand-color: $material-teal; 45 | $accent-color: $material-orange; 46 | $grey-color: #828282; 47 | $blue: #3eb0ef; 48 | $green: #a4d037; 49 | $purple: #ad26b4; 50 | $yellow: #fecd35; 51 | $red: #f05230; 52 | $darkgrey: #15171A; 53 | $midgrey: #738a94; 54 | $lightgrey: #c5d2d9; 55 | $whitegrey: #e5eff5; 56 | $pink: #fa3a57; 57 | $brown: #a3821a; 58 | 59 | $dark-mode: lighten($darkgrey, 2%); 60 | $dark-mode-site-background: #090a0b; 61 | $dark-mode-post-background: #191b1f; 62 | $dark-mode-text-color: lighten($dark-mode-site-background, 80%); 63 | 64 | $article-width: 728px; 65 | 66 | $modal-threshold: 680px; 67 | $on-phone: 768px; 68 | $on-laptop: 992px; 69 | $on-desktop: 1200px; 70 | --------------------------------------------------------------------------------