├── .editorconfig ├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── _config.yml ├── languages ├── default.yml ├── en-GB.yml ├── en-US.yml ├── en.yml ├── es-ES.yml ├── es.yml ├── fr-FR.yml ├── fr.yml ├── nl-NL.yml ├── nl.yml ├── no.yml ├── ru-RU.yml ├── ru.yml ├── zh-CN.yml └── zh-TW.yml ├── layout ├── _partial │ ├── after-footer.ejs │ ├── archive-post.ejs │ ├── archive.ejs │ ├── article.ejs │ ├── baidu_tongji.ejs │ ├── footer.ejs │ ├── gauges-analytics.ejs │ ├── google-analytics.ejs │ ├── head.ejs │ ├── header.ejs │ └── post │ │ ├── category.ejs │ │ ├── date.ejs │ │ ├── gallery.ejs │ │ ├── nav.ejs │ │ ├── tag.ejs │ │ └── title.ejs ├── archive.ejs ├── category.ejs ├── index.ejs ├── layout.ejs ├── page.ejs ├── post.ejs └── tag.ejs ├── makefile ├── package.json ├── preview ├── preview-dark-mode.png └── preview.png └── source ├── css ├── donate.css ├── source.css └── typing.css ├── images ├── alipay.svg ├── bitcoin.svg ├── github.svg ├── like.svg ├── paypal.svg └── wechat.svg └── js └── typing.js /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | *.sh 3 | *.sketch 4 | package-lock.json 5 | npm-debug.log -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ## [Unreleased] 4 | 5 | 6 | 7 | ## [Released] 8 | 9 | ## [1.5.1] - 2018-03-14 10 | 11 | - fix mobile menu style 12 | 13 | ## [1.5.0] - 2018-03-14 14 | 15 | - add mobile menu 16 | - add nav left style in desktop view 17 | 18 | ## [1.4.0] - 2017-11-27 19 | 20 | - add donate section 21 | 22 | ## [1.3.3] - 2017-11-27 23 | 24 | - add max-width for content 25 | - fix responsive width 26 | - change fonts 27 | 28 | ## [1.2.3] - 2017-09-15 29 | 30 | - fix extra links in archive page 31 | - switch the order of comments section 32 | 33 | 34 | ## [1.2.2] - 2017-09-10 35 | 36 | - fix #7 37 | - fix #10 38 | 39 | ### Added 40 | 41 | - Add en.yml to languages to fix unstable english behaviour #8 42 | - Add instruction about language Setting #9 43 | - Add optional icons system #12,#13 44 | - Add gitment comment system #14 45 | 46 | 47 | ## [1.1.1] - 2017-03-14 48 | 49 | ### Fixed 50 | 51 | - fix #1 52 | 53 | ### Added 54 | 55 | - add dark mode 56 | 57 | 58 | ## [1.0.1] - 2016-09-06 59 | 60 | ### Fixed 61 | 62 | - fix category and tag page style 63 | 64 | ### Added 65 | 66 | - make it responsive 67 | 68 | 69 | ## [1.0.0] - 2016-08-04 70 | 71 | Release the first version. 72 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 GeekPlux geekplux@gmail.com 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 13 | all 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 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Typing 2 | 3 | > A pure and fresh Hexo theme. 4 | 5 | * Minimal And Clean Design 6 | * Dark And Light Modes 7 | * Optional Fontawesome Icons 8 | 9 | ## Preview 10 | 11 | - [My blog](http://geekplux.com) 12 | - [Online Demo](http://geekplux.github.io/hexo-theme-typing/) 13 | 14 | ![](preview/preview.png) 15 | 16 | ##### Dark mode 17 | 18 | ![](preview/preview-dark-mode.png) 19 | 20 | Other preview images in `preview` folder. 21 | 22 | ## Installation 23 | 24 | ### Install 25 | 26 | ```shell 27 | cd your-blog 28 | git clone https://github.com/geekplux/hexo-theme-typing themes/typing 29 | ``` 30 | 31 | **Typing requires Hexo 2.4 and above.** 32 | 33 | ### Enable 34 | 35 | Modify `theme` setting in `_config.yml` to `typing`. 36 | 37 | Also if your website language is English make sure to explicitly specify it: `language: "en"` 38 | 39 | ### Update 40 | 41 | ``` bash 42 | cd themes/typing 43 | git pull 44 | ``` 45 | 46 | ## Configuration 47 | 48 | ``` yml 49 | # Dark Mode 50 | dark: false // whether to open dark mode 51 | 52 | # Header 53 | menu: 54 | Home: / 55 | Archives: /archives 56 | 57 | # Your Feed Location 58 | #rss: /atom.xml 59 | 60 | # Content 61 | fancybox: true 62 | 63 | # Display a "Read More" link under each post's excerpt in /archives page 64 | #excerpt_link: 'Read More' 65 | 66 | # Miscellaneous 67 | google_analytics: 68 | favicon: /favicon.png 69 | twitter: 70 | google_plus: 71 | 72 | # Profile 73 | nickname: NickName 74 | description: Lorem ipsum dolor sit amet, **consectetur adipiscing elit.** Fusce eget urna vitae velit *eleifend interdum at ac* nisi. 75 | 76 | # Load forkawesome icons? Also see the links option 77 | icons: true 78 | 79 | # Footer area links 80 | # NOTICE) If you set "icons: false" link names will be clear text 81 | # If "icons: true" link names will interpreted as forkawesome icon names 82 | # NOTICE) Use the forkawesome icon names (https://forkaweso.me/Fork-Awesome/icons/) without the fa- prefix 83 | links: 84 | twitter: https://twitter.com/ 85 | github-alt: https://github.com/ 86 | # ... 87 | 88 | # nav position (top, left. top is default) 89 | nav: top 90 | 91 | # Info 92 | archive_footer_content: Lorem ipsum dolor sit amet, **consectetur adipiscing elit.** Fusce eget urna vitae velit *eleifend interdum at ac* nisi. 93 | post_footer_content: ipsum dolor sit amet, **consectetur adipiscing elit.** Fusce eget urna vitae velit *eleifend interdum at ac* nisi. 94 | 95 | # Gitment 96 | gitment: 97 | owner: 98 | repo: 99 | client: 100 | id: 101 | secret: 102 | 103 | # Donate 104 | donate: 105 | github: 106 | paypal: 107 | bitcoin: 108 | BTCQR: 109 | AliPayQR: 110 | WeChatQR: 111 | ``` 112 | 113 | - **menu** - Navigation menu 114 | - **nickname** - Your nickname 115 | - **description** - Description below the name 116 | - **icons** - Load [fontawesome](http://fontawesome.io/) icons? 117 | - **links** - Footer area links. Text links if `icons: false` and icons if `icons: true` 118 | - **archive_footer_content**: - Content in your archives page footer(Markdown supported) 119 | - **post_footer_content**: - Content in your posts and pages footer(Markdown supported) 120 | - **fancybox** - Enable [Fancybox] 121 | - **google_analytics** - Google Analytics ID 122 | - **favicon** - Favicon path 123 | - **twitter** - Twitter ID 124 | - **google_plus** - Google+ ID 125 | - **gitment** - [Gitment](https://github.com/imsun/gitment) Options 126 | - **donate** - Donate Options 127 | 128 | 129 | ## ChangeLog 130 | 131 | - [CHANGELOG](CHANGELOG.md) 132 | 133 | ## Development 134 | 135 | Anyone is welcome to contribute! 136 | 137 | ```shell 138 | mkdir typing_dev && cd typing_dev 139 | git clone https://github.com/hexojs/hexo-theme-unit-test.git 140 | ``` 141 | [Fork and clone](https://help.github.com/articles/fork-a-repo/) `https://github.com/geekplux/hexo-theme-typing.git` 142 | ```shell 143 | cd hexo-theme-unit-test && npm install 144 | cd ../hexo-theme-typing && npm install 145 | ``` 146 | To test your changes to the theme, modify the `theme` setting in the 147 | `/hexo-theme-unit-test/_config.yml` file to `typing` and 148 | execute these commands in the `hexo-theme-typing` folder: 149 | ```shell 150 | make all 151 | cd ../hexo-theme-unit-test 152 | hexo server 153 | ``` 154 | Now you can browse it at [127.0.0.1:4000](http://127.0.0.1:4000/) 155 | 156 | 157 | ### LICENSE 158 | 159 | Typing © [@geekplux](https://github.com/geekplux), Released under the [MIT](LICENSE) License. 160 | 161 | Authored and maintained by [@geekplux](https://github.com/geekplux) with help from contributors ([list](https://github.com/geekplux/hexo-theme-typing/graphs/contributors)). 162 | 163 | --- 164 | 165 | > Blog [geekplux.com](http://geekplux.com)  ·  166 | > GitHub [@geekplux](https://github.com/geekplux)  ·  167 | > Twitter [@geekplux](https://twitter.com/geekplux) 168 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | # Dark Mode 2 | dark: false 3 | 4 | # Header 5 | menu: 6 | Home: / 7 | Archives: /archives 8 | About: /about 9 | 10 | # Your Feed Location 11 | #rss: /atom.xml 12 | 13 | # Content 14 | fancybox: true 15 | 16 | # Display a "Read More" link under each post's excerpt in /archives page 17 | #excerpt_link: 'Read More' 18 | 19 | # Miscellaneous 20 | google_analytics: 21 | favicon: /favicon.ico 22 | twitter: 23 | google_plus: 24 | fb_admins: 25 | fb_app_id: 26 | 27 | 28 | # Profile 29 | nickname: NickName 30 | description: Lorem ipsum dolor sit amet, **consectetur adipiscing elit.** Fusce eget urna vitae velit *eleifend interdum at ac nisi. In nec ligula lacus. Cum sociis natoque* penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed eu cursus erat, ut dapibus quam. Aliquam eleifend dolor vitae [libero pharetra](http://hexo.io) adipiscing. Etiam adipiscing dolor a quam tempor, eu convallis nulla varius. Aliquam sollicitudin risus a porta aliquam. 31 | 32 | # Load fontawesome icons? Also see the links option 33 | icons: false 34 | 35 | # Footer area links 36 | # NOTICE) If you set "icons: false" link names will be clear text 37 | # If "icons: true" link names will interpreted as fontawesome icon names 38 | # NOTICE) Use the fontawesome icon names without the fa- prefix (http://fontawesome.io/cheatsheet/) 39 | links: 40 | book: /archives/ 41 | globe: https://github.com/geekplux/hexo-theme-typing 42 | twitter: https://twitter.com/ 43 | github-alt: https://github.com/ 44 | youtube-play: https://www.youtube.com/ 45 | stack-overflow: https://stackoverflow.com/ 46 | google-plus: https://plus.google.com/ 47 | rss: /atom.xml 48 | 49 | # nav position (top, left. top is default) 50 | nav: left 51 | 52 | # Info 53 | archive_footer_content: Lorem ipsum dolor sit amet, **consectetur adipiscing elit.** Fusce eget urna vitae velit *eleifend interdum at ac nisi. In nec ligula lacus. Cum sociis natoque* penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed eu cursus erat, ut dapibus quam. Archive 54 | post_footer_content: ipsum dolor sit amet, **consectetur adipiscing elit.** Fusce eget urna vitae velit *eleifend interdum at ac nisi. In nec ligula lacus. Cum sociis natoque* penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed eu cursus erat, ut dapibus quam. Post 55 | 56 | # Gitment 57 | gitment: 58 | owner: 59 | repo: 60 | client: 61 | id: 62 | secret: 63 | 64 | # Utterances 65 | # NOTICE) make sure the app is installed on the repo before using this commit system 66 | # see https://utteranc.es/ for more 67 | utterances: 68 | enable: false 69 | repo: # your repo in this format: 'username/reponame', note that there is no '.git' suffix 70 | 71 | # If you want to use valine,you should get the appId and appKey form https://leancloud.cn ,more setting please see https://valine.js.org 72 | valine: 73 | enable: false # !!if you want use valine comment system,please set enable: true 74 | appId: #your leancloud appId 75 | appKey: #your leancloud appKey 76 | guest_info: nick,mail,link #valine comment header info 77 | placeholder: Just go go # valine comment input placeholder(like: Please leave your footprints ) 78 | avatar: mm # gravatar style https://valine.js.org/avatar 79 | pageSize: 10 # comment list page size 80 | verify: false # valine verify code (true/false) 81 | notify: false # valine mail notify (true/false) 82 | lang: zh-cn 83 | 84 | # Donate 85 | donate: 86 | enable: false 87 | github: https://github.com/geekplux 88 | paypal: https://www.paypal.me/geekplux 89 | bitcoin: 1AVngxh56oLvAzXsEFnzccUohZdHswjC7j 90 | BTCQR: http://7b1evr.com1.z0.glb.clouddn.com/donate/bitcoin.png 91 | AliPayQR: http://7b1evr.com1.z0.glb.clouddn.com/donate/alipayQR.jpg 92 | WeChatQR: http://7b1evr.com1.z0.glb.clouddn.com/donate/wechatQR.jpg 93 | -------------------------------------------------------------------------------- /languages/default.yml: -------------------------------------------------------------------------------- 1 | categories: Categories 2 | search: Search 3 | tags: Tags 4 | tagcloud: Tag Cloud 5 | tweets: Tweets 6 | prev: Prev 7 | next: Next 8 | comment: Comments 9 | archive_a: Archives 10 | archive_b: "Archives: %s" 11 | page: Page %d 12 | recent_posts: Recent Posts 13 | newer: Newer 14 | older: Older 15 | share: Share 16 | powered_by: Powered by 17 | rss_feed: RSS Feed 18 | category: Category 19 | tag: Tag 20 | date_published: Published Date 21 | -------------------------------------------------------------------------------- /languages/en-GB.yml: -------------------------------------------------------------------------------- 1 | en.yml -------------------------------------------------------------------------------- /languages/en-US.yml: -------------------------------------------------------------------------------- 1 | en.yml -------------------------------------------------------------------------------- /languages/en.yml: -------------------------------------------------------------------------------- 1 | categories: Categories 2 | search: Search 3 | tags: Tags 4 | tagcloud: Tag Cloud 5 | tweets: Tweets 6 | prev: Prev 7 | next: Next 8 | comment: Comments 9 | archive_a: Archives 10 | archive_b: "Archives: %s" 11 | page: Page %d 12 | recent_posts: Recent Posts 13 | newer: Newer 14 | older: Older 15 | share: Share 16 | powered_by: Powered by 17 | rss_feed: RSS Feed 18 | category: Category 19 | tag: Tag 20 | date_published: Published Date 21 | -------------------------------------------------------------------------------- /languages/es-ES.yml: -------------------------------------------------------------------------------- 1 | es.yml -------------------------------------------------------------------------------- /languages/es.yml: -------------------------------------------------------------------------------- 1 | categories: Categorías 2 | search: Buscar 3 | tags: Tags 4 | tagcloud: Nube de Tags 5 | tweets: Tweets 6 | prev: Previo 7 | next: Siguiente 8 | comment: Comentarios 9 | archive_a: Archivos 10 | archive_b: "Archivos: %s" 11 | page: Página %d 12 | recent_posts: Posts recientes 13 | newer: Nuevo 14 | older: Viejo 15 | share: Compartir 16 | powered_by: Construido por 17 | rss_feed: RSS 18 | category: Categoría 19 | tag: Tag 20 | date_published: Published Date 21 | -------------------------------------------------------------------------------- /languages/fr-FR.yml: -------------------------------------------------------------------------------- 1 | fr.yml -------------------------------------------------------------------------------- /languages/fr.yml: -------------------------------------------------------------------------------- 1 | categories: Catégories 2 | search: Rechercher 3 | tags: Mot-clés 4 | tagcloud: Nuage de mot-clés 5 | tweets: Tweets 6 | prev: Précédent 7 | next: Suivant 8 | comment: Commentaires 9 | archive_a: Archives 10 | archive_b: "Archives: %s" 11 | page: Page %d 12 | recent_posts: Articles récents 13 | newer: Récent 14 | older: Ancien 15 | share: Partager 16 | powered_by: Propulsé by 17 | rss_feed: Flux RSS 18 | category: Catégorie 19 | tag: Mot-clé 20 | date_published: Published Date 21 | -------------------------------------------------------------------------------- /languages/nl-NL.yml: -------------------------------------------------------------------------------- 1 | nl.yml -------------------------------------------------------------------------------- /languages/nl.yml: -------------------------------------------------------------------------------- 1 | categories: Categorieën 2 | search: Zoeken 3 | tags: Labels 4 | tagcloud: Tag Cloud 5 | tweets: Tweets 6 | prev: Vorige 7 | next: Volgende 8 | comment: Commentaren 9 | archive_a: Archieven 10 | archive_b: "Archieven: %s" 11 | page: Pagina %d 12 | recent_posts: Recente berichten 13 | newer: Nieuwer 14 | older: Ouder 15 | share: Delen 16 | powered_by: Powered by 17 | rss_feed: RSS Feed 18 | category: Categorie 19 | tag: Label 20 | date_published: Published Date 21 | -------------------------------------------------------------------------------- /languages/no.yml: -------------------------------------------------------------------------------- 1 | categories: Kategorier 2 | search: Søk 3 | tags: Tags 4 | tagcloud: Tag Cloud 5 | tweets: Tweets 6 | prev: Forrige 7 | next: Neste 8 | comment: Kommentarer 9 | archive_a: Arkiv 10 | archive_b: "Arkiv: %s" 11 | page: Side %d 12 | recent_posts: Siste innlegg 13 | newer: Newer 14 | older: Older 15 | share: Share 16 | powered_by: Powered by 17 | rss_feed: RSS Feed 18 | category: Category 19 | tag: Tag 20 | date_published: Published Date 21 | -------------------------------------------------------------------------------- /languages/ru-RU.yml: -------------------------------------------------------------------------------- 1 | ru.yml -------------------------------------------------------------------------------- /languages/ru.yml: -------------------------------------------------------------------------------- 1 | categories: Категории 2 | search: Поиск 3 | tags: Метки 4 | tagcloud: Облако меток 5 | tweets: Твиты 6 | prev: Назад 7 | next: Вперед 8 | comment: Комментарии 9 | archive_a: Архив 10 | archive_b: "Архив: %s" 11 | page: Страница %d 12 | recent_posts: Недавние записи 13 | newer: Следующий 14 | older: Предыдущий 15 | share: Поделиться 16 | powered_by: Создано с помощью 17 | rss_feed: RSS-каналы 18 | category: Категория 19 | tag: Метка 20 | date_published: Published Date 21 | -------------------------------------------------------------------------------- /languages/zh-CN.yml: -------------------------------------------------------------------------------- 1 | categories: 分类 2 | search: 搜索 3 | tags: 标签 4 | tagcloud: 标签云 5 | tweets: 推文 6 | prev: 上一页 7 | next: 下一页 8 | comment: 留言 9 | archive_a: 归档 10 | archive_b: 归档:%s 11 | page: 第 %d 页 12 | recent_posts: 最新文章 13 | newer: Newer 14 | older: Older 15 | share: Share 16 | powered_by: Powered by 17 | rss_feed: RSS Feed 18 | category: Category 19 | tag: Tag 20 | date_published: Published Date 21 | -------------------------------------------------------------------------------- /languages/zh-TW.yml: -------------------------------------------------------------------------------- 1 | categories: 分類 2 | search: 搜尋 3 | tags: 標籤 4 | tagcloud: 標籤雲 5 | tweets: 推文 6 | prev: 上一頁 7 | next: 下一頁 8 | comment: 留言 9 | archive_a: 彙整 10 | archive_b: 彙整:%s 11 | page: 第 %d 頁 12 | recent_posts: 最新文章 13 | newer: Newer 14 | older: Older 15 | share: Share 16 | powered_by: Powered by 17 | rss_feed: RSS Feed 18 | category: Category 19 | tag: Tag 20 | date_published: Published Date 21 | -------------------------------------------------------------------------------- /layout/_partial/after-footer.ejs: -------------------------------------------------------------------------------- 1 | <% if (config.disqus_shortname && !is_home() && !is_archive()) { %> 2 | 15 | <% } %> 16 | 17 | <% if (theme.gitment.owner && theme.gitment.repo && theme.gitment.client.id && theme.gitment.client.secret && !is_home() && !is_archive()) { %> 18 | <%- css('https://cdn.jsdelivr.net/npm/gitment/style/default.min.css') %> 19 | <%- js('https://cdn.jsdelivr.net/npm/gitment/dist/gitment.browser.min.js') %> 20 | 31 | <% } %> 32 | 33 | <% if (theme.utterances.enable && theme.utterances.repo){ %> 34 | 51 | <% } %> 52 | 53 | <% if (theme.valine.enable && theme.valine.appId && theme.valine.appKey){ %> 54 | <%- js('https://cdn.jsdelivr.net/npm/leancloud-storage@3/dist/av-min.js') %> 55 | <%- js('https://cdn.jsdelivr.net/npm/valine@1/dist/Valine.min.js') %> 56 | 76 | <% } %> 77 | 78 | <%- js('https://cdn.jsdelivr.net/npm/jquery@3/dist/jquery.min.js') %> 79 | <%- js('https://cdn.jsdelivr.net/npm/clipboard@2/dist/clipboard.min.js') %> 80 | 81 | <% if (theme.fancybox){ %> 82 | <%- js('https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@3/dist/jquery.fancybox.min.js') %> 83 | <% } %> 84 | 85 | <%- js('js/typing') %> 86 | 87 | <%- partial('baidu_tongji', {}, { cache: true }) %> 88 | <%- partial('google-analytics', {}, { cache: true }) %> 89 | <%- partial('gauges-analytics', {}, { cache: true }) %> 90 | -------------------------------------------------------------------------------- /layout/_partial/archive-post.ejs: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | <%- partial('post/date', {class_name: 'archive-article-date', date_format: 'MMM D YYYY'}) %> 5 | <%- partial('post/title', {class_name: 'archive-article-title'}) %> 6 |
7 |
8 |
9 | -------------------------------------------------------------------------------- /layout/_partial/archive.ejs: -------------------------------------------------------------------------------- 1 | <% if (pagination == 2){ %> 2 | <% page.posts.each(function(post){ %> 3 | <%- partial('article', {post: post, index: true}) %> 4 | <% }) %> 5 | <% } else { %> 6 | <% var last; %> 7 | <% page.posts.each(function(post, i){ %> 8 | <% var year = post.date.year(); %> 9 | <% if (last != year){ %> 10 | <% if (last != null){ %> 11 | 12 | <% } %> 13 | <% last = year; %> 14 |
15 |
16 | <% } %> 17 | <%- partial('archive-post', {post: post, even: i % 2 == 0}) %> 18 | <% }) %> 19 | <% if (page.posts.length){ %> 20 |
21 | <% } %> 22 | <% } %> 23 | <% if (page.total > 1){ %> 24 | 31 | <% } %> 32 | -------------------------------------------------------------------------------- /layout/_partial/article.ejs: -------------------------------------------------------------------------------- 1 |
2 | <%- partial('_partial/header', {}, { cache: true }) %> 3 |
4 |
5 | <%- partial('post/gallery') %> 6 | <% if (post.link || post.title){ %> 7 |
8 | <%- partial('post/title', {class_name: 'p-name article-title'}) %> 9 |
10 | <% } %> 11 |
12 | <% if (post.excerpt && index){ %> 13 | <%- post.excerpt %> 14 | <% if (theme.excerpt_link){ %> 15 |

16 | <%= theme.excerpt_link %> 17 |

18 | <% } %> 19 | <% } else { %> 20 | <%- post.content %> 21 | <% } %> 22 | <% if (theme.donate.enable){ %> 23 | 40 | <% } %> 41 |
42 | 63 |
64 | <% if (!index){ %> 65 | <%- partial('post/nav') %> 66 | <% } %> 67 |
68 | 69 | <% if (!index && post.comments && theme.gitment.owner && theme.gitment.repo && theme.gitment.client.id && theme.gitment.client.secret){ %> 70 |
71 |
72 |
73 | <% } %> 74 | 75 | <% if(!index && post.comments && theme.utterances.enable && theme.utterances.repo){ %> 76 |
77 |
78 |
79 | <% } %> 80 | 81 | <% if (!index && post.comments && config.disqus_shortname){ %> 82 |
83 |
84 | 85 |
86 |
87 | <% } %> 88 | 89 | <% if(!index && post.comments && theme.valine.enable && theme.valine.appId && theme.valine.appKey){ %> 90 |
91 |
92 |
93 | <% } %> 94 | -------------------------------------------------------------------------------- /layout/_partial/baidu_tongji.ejs: -------------------------------------------------------------------------------- 1 | <% if (theme.baidu_tongji) { %> 2 | 11 | <% } %> 12 | -------------------------------------------------------------------------------- /layout/_partial/footer.ejs: -------------------------------------------------------------------------------- 1 | <% if (is_home()) { %> 2 |