├── .bowerrc ├── .editorconfig ├── .gitattributes ├── .gitignore ├── .hound.yml ├── .javascript_ignore ├── .jshintrc ├── .stylintrc ├── LICENSE ├── README.md ├── _config.yml ├── languages ├── de.yml ├── default.yml ├── en.yml ├── fr-FR.yml ├── id.yml ├── it.yml ├── ja.yml ├── ko.yml ├── nl-NL.yml ├── pt-BR.yml ├── pt.yml ├── ru.yml ├── zh-Hans.yml ├── zh-hk.yml └── zh-tw.yml ├── layout ├── _custom │ ├── header.swig │ └── sidebar.swig ├── _layout.swig ├── _macro │ ├── post-collapse.swig │ ├── post-copyright.swig │ ├── post.swig │ ├── reward.swig │ ├── sidebar.swig │ └── wechat-subscriber.swig ├── _partials │ ├── comments.swig │ ├── footer.swig │ ├── head.swig │ ├── head │ │ ├── custom-head.swig │ │ └── external-fonts.swig │ ├── header.swig │ ├── page-header.swig │ ├── pagination.swig │ ├── search.swig │ ├── search │ │ ├── localsearch.swig │ │ ├── swiftype.swig │ │ └── tinysou.swig │ └── share │ │ ├── add-this.swig │ │ ├── baidushare.swig │ │ ├── duoshuo_share.swig │ │ └── jiathis.swig ├── _scripts │ ├── boostrap.swig │ ├── commons.swig │ ├── pages │ │ └── post-details.swig │ ├── schemes │ │ ├── gemini.swig │ │ ├── mist.swig │ │ ├── muse.swig │ │ └── pisces.swig │ └── vendors.swig ├── _third-party │ ├── analytics │ │ ├── analytics-with-widget.swig │ │ ├── application-insights.swig │ │ ├── baidu-analytics.swig │ │ ├── busuanzi-counter.swig │ │ ├── cnzz-analytics.swig │ │ ├── facebook-sdk.swig │ │ ├── google-analytics.swig │ │ ├── index.swig │ │ ├── lean-analytics.swig │ │ ├── tencent-analytics.swig │ │ ├── tencent-mta.swig │ │ └── vkontakte-api.swig │ ├── comments │ │ ├── changyan.swig │ │ ├── disqus.swig │ │ ├── duoshuo.swig │ │ ├── gitment.swig │ │ ├── hypercomments.swig │ │ ├── index.swig │ │ ├── livere.swig │ │ ├── valine.swig │ │ └── youyan.swig │ ├── duoshuo-hot-articles.swig │ ├── exturl.swig │ ├── mathjax.swig │ ├── needsharebutton.swig │ ├── rating.swig │ ├── schedule.swig │ ├── scroll-cookie.swig │ ├── search │ │ ├── algolia-search │ │ │ ├── assets.swig │ │ │ └── dom.swig │ │ ├── index.swig │ │ ├── localsearch.swig │ │ └── tinysou.swig │ └── seo │ │ └── baidu-push.swig ├── archive.swig ├── category.swig ├── index.swig ├── page.swig ├── post.swig ├── schedule.swig └── tag.swig ├── package.json ├── scripts ├── img.js ├── merge-configs.js ├── merge.js └── tags │ ├── button.js │ ├── center-quote.js │ ├── exturl.js │ ├── full-image.js │ ├── group-pictures.js │ ├── label.js │ ├── lazy-image.js │ ├── note.js │ └── tabs.js ├── source ├── css │ ├── _common │ │ ├── components │ │ │ ├── back-to-top-sidebar.styl │ │ │ ├── back-to-top.styl │ │ │ ├── buttons.styl │ │ │ ├── comments.styl │ │ │ ├── components.styl │ │ │ ├── footer │ │ │ │ └── footer.styl │ │ │ ├── header │ │ │ │ ├── header.styl │ │ │ │ ├── headerband.styl │ │ │ │ ├── menu.styl │ │ │ │ ├── site-meta.styl │ │ │ │ └── site-nav.styl │ │ │ ├── highlight │ │ │ │ ├── diff.styl │ │ │ │ ├── highlight.styl │ │ │ │ └── theme.styl │ │ │ ├── pages │ │ │ │ ├── archive.styl │ │ │ │ ├── categories.styl │ │ │ │ ├── pages.styl │ │ │ │ ├── post-detail.styl │ │ │ │ └── schedule.styl │ │ │ ├── pagination.styl │ │ │ ├── post │ │ │ │ ├── post-button.styl │ │ │ │ ├── post-collapse.styl │ │ │ │ ├── post-copyright.styl │ │ │ │ ├── post-eof.styl │ │ │ │ ├── post-expand.styl │ │ │ │ ├── post-gallery.styl │ │ │ │ ├── post-meta.styl │ │ │ │ ├── post-nav.styl │ │ │ │ ├── post-reward.styl │ │ │ │ ├── post-rtl.styl │ │ │ │ ├── post-tags.styl │ │ │ │ ├── post-title.styl │ │ │ │ ├── post-type.styl │ │ │ │ ├── post-widgets.styl │ │ │ │ └── post.styl │ │ │ ├── sidebar │ │ │ │ ├── sidebar-author-links.styl │ │ │ │ ├── sidebar-author.styl │ │ │ │ ├── sidebar-blogroll.styl │ │ │ │ ├── sidebar-dimmer.styl │ │ │ │ ├── sidebar-feed-link.styl │ │ │ │ ├── sidebar-nav.styl │ │ │ │ ├── sidebar-toc.styl │ │ │ │ ├── sidebar-toggle.styl │ │ │ │ ├── sidebar.styl │ │ │ │ └── site-state.styl │ │ │ ├── tag-cloud.styl │ │ │ ├── tags │ │ │ │ ├── blockquote-center.styl │ │ │ │ ├── exturl.styl │ │ │ │ ├── full-image.styl │ │ │ │ ├── group-pictures.styl │ │ │ │ ├── label.styl │ │ │ │ ├── note-modern.styl │ │ │ │ ├── note.styl │ │ │ │ ├── tabs.styl │ │ │ │ └── tags.styl │ │ │ └── third-party │ │ │ │ ├── algolia-search.styl │ │ │ │ ├── baidushare.styl │ │ │ │ ├── balloon.styl │ │ │ │ ├── busuanzi-counter.styl │ │ │ │ ├── duoshuo.styl │ │ │ │ ├── gitment.styl │ │ │ │ ├── han.styl │ │ │ │ ├── headroom.styl │ │ │ │ ├── jiathis.styl │ │ │ │ ├── localsearch.styl │ │ │ │ ├── needsharebutton.styl │ │ │ │ └── third-party.styl │ │ ├── outline │ │ │ └── outline.styl │ │ └── scaffolding │ │ │ ├── base.styl │ │ │ ├── helpers.styl │ │ │ ├── mobile.styl │ │ │ ├── normalize.styl │ │ │ ├── scaffolding.styl │ │ │ └── tables.styl │ ├── _custom │ │ └── custom.styl │ ├── _mixins │ │ ├── Gemini.styl │ │ ├── Mist.styl │ │ ├── Muse.styl │ │ ├── Pisces.styl │ │ ├── base.styl │ │ └── custom.styl │ ├── _schemes │ │ ├── Gemini │ │ │ └── index.styl │ │ ├── Mist │ │ │ ├── _base.styl │ │ │ ├── _header.styl │ │ │ ├── _logo.styl │ │ │ ├── _menu.styl │ │ │ ├── _posts-expanded.styl │ │ │ ├── _search.styl │ │ │ ├── index.styl │ │ │ ├── outline │ │ │ │ └── outline.styl │ │ │ └── sidebar │ │ │ │ └── sidebar-blogroll.styl │ │ ├── Muse │ │ │ ├── _layout.styl │ │ │ ├── _logo.styl │ │ │ ├── _menu.styl │ │ │ ├── _search.styl │ │ │ ├── index.styl │ │ │ └── sidebar │ │ │ │ └── sidebar-blogroll.styl │ │ └── Pisces │ │ │ ├── _archive.styl │ │ │ ├── _brand.styl │ │ │ ├── _darling.styl │ │ │ ├── _footer.styl │ │ │ ├── _layout.styl │ │ │ ├── _links.styl │ │ │ ├── _mai.styl │ │ │ ├── _menu.styl │ │ │ ├── _posts.styl │ │ │ ├── _sidebar.styl │ │ │ └── index.styl │ ├── _variables │ │ ├── Gemini.styl │ │ ├── Mist.styl │ │ ├── Muse.styl │ │ ├── Pisces.styl │ │ ├── base.styl │ │ └── custom.styl │ └── main.styl ├── fonts │ ├── .gitkeep │ ├── Candyshop.otf │ ├── sigmarone1.woff2 │ ├── sigmarone2.woff2 │ └── sigmarone3.woff2 ├── images │ ├── DIYgod-avatar.jpg │ ├── DIYgod-avatar.webp │ ├── DIYgod-avatar2.jpeg │ ├── DIYgod-avatar2.webp │ ├── alipay.png │ ├── alipay.webp │ ├── apple-touch-icon-next.png │ ├── apple-touch-icon-next.webp │ ├── avatar.gif │ ├── card-avatar.jpg │ ├── card-avatar.webp │ ├── card-avatar2.jpeg │ ├── card-avatar2.webp │ ├── cc-by-nc-nd.png │ ├── cc-by-nc-nd.webp │ ├── cc-by-nc-sa.png │ ├── cc-by-nc-sa.webp │ ├── cc-by-nc.png │ ├── cc-by-nc.webp │ ├── cc-by-nd.png │ ├── cc-by-nd.webp │ ├── cc-by-sa.png │ ├── cc-by-sa.webp │ ├── cc-by.png │ ├── cc-by.webp │ ├── cc-zero.png │ ├── cc-zero.webp │ ├── cursor.ico │ ├── footer.png │ ├── footer.webp │ ├── header-darling.jpg │ ├── header-darling.webp │ ├── header-darling2.jpg │ ├── header-darling2.webp │ ├── header-darling3.jpg │ ├── header-darling3.webp │ ├── header-darling4.jpg │ ├── header-darling4.webp │ ├── header-darlings.jpg │ ├── header-darlings.webp │ ├── header-gyx-s.png │ ├── header-gyx-s.webp │ ├── header-gyx.png │ ├── header-gyx.webp │ ├── header-leg.jpg │ ├── header-leg.webp │ ├── header-mai.jpg │ ├── header-mai.webp │ ├── header-sagiri.jpg │ ├── header-sagiri.webp │ ├── header.jpg │ ├── header.webp │ ├── live2d │ │ ├── 22 │ │ │ ├── 22.2048 │ │ │ │ ├── texture_00.png │ │ │ │ └── texture_00.webp │ │ │ ├── 22.moc │ │ │ └── 22.model.json │ │ └── 33 │ │ │ ├── 33.2048 │ │ │ ├── texture_00.png │ │ │ └── texture_00.webp │ │ │ ├── 33.moc │ │ │ └── 33.model.json │ ├── loading.gif │ ├── logo.svg │ ├── placeholder.gif │ ├── quote-l.svg │ ├── quote-r.svg │ ├── scroll.png │ ├── scroll.webp │ ├── searchicon.png │ ├── searchicon.webp │ ├── wechatpay.png │ └── wechatpay.webp ├── js │ ├── sagiri.min.js │ ├── sagiri.min.js.LICENSE.txt │ ├── sagiri.min.js.map │ └── video-report.html └── lib │ ├── algolia-instant-search │ ├── instantsearch.min.css │ └── instantsearch.min.js │ ├── needsharebutton │ ├── font-embedded.css │ ├── needsharebutton.css │ └── needsharebutton.js │ ├── pace │ ├── pace-theme-barber-shop.min.css │ ├── pace-theme-big-counter.min.css │ ├── pace-theme-bounce.min.css │ ├── pace-theme-center-atom.min.css │ ├── pace-theme-center-circle.min.css │ ├── pace-theme-center-radar.min.css │ ├── pace-theme-center-simple.min.css │ ├── pace-theme-corner-indicator.min.css │ ├── pace-theme-fill-left.min.css │ ├── pace-theme-flash.min.css │ ├── pace-theme-loading-bar.min.css │ ├── pace-theme-mac-osx.min.css │ ├── pace-theme-minimal.min.css │ └── pace.min.js │ ├── social-share.js │ ├── css │ │ └── share.min.css │ ├── fonts │ │ ├── iconfont.eot │ │ ├── iconfont.svg │ │ ├── iconfont.ttf │ │ └── iconfont.woff │ └── js │ │ ├── jquery.share.min.js │ │ └── social-share.min.js │ ├── sw-toolbox │ └── sw-toolbox.js │ ├── ua-parser-js │ └── dist │ │ ├── ua-parser.min.js │ │ └── ua-parser.pack.js │ └── velocity-animate │ ├── LICENSE.md │ ├── README.md │ ├── package.json │ ├── velocity.js │ ├── velocity.min.js │ ├── velocity.ui.js │ └── velocity.ui.min.js ├── src ├── affix.js ├── algolia-search.js ├── bootstrap.js ├── clipboard.js ├── cursor-effects.js ├── evanyou.js ├── index.js ├── kanban.js ├── leancloud.js ├── live2d.js ├── mix.js ├── motion.js ├── pisces.js ├── pjax.js ├── post-details.js ├── scroll.js ├── scrollspy.js ├── search.js ├── share.js ├── since.js ├── title.js ├── type.js ├── utils.js └── zoom.js ├── webpack.config.js └── yarn.lock /.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "source/lib" 3 | } 4 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | charset = utf-8 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | indent_style = space 11 | indent_size = 2 12 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | source/lib/* linguist-vendored 2 | scripts/merge.js linguist-vendored 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | *.log 4 | *.iml 5 | node_modules/ 6 | -------------------------------------------------------------------------------- /.hound.yml: -------------------------------------------------------------------------------- 1 | javascript: 2 | enabled: true 3 | config_file: .jshintrc 4 | ignore_file: .javascript_ignore 5 | -------------------------------------------------------------------------------- /.javascript_ignore: -------------------------------------------------------------------------------- 1 | source/vendors/* 2 | source/lib/* 3 | source/js/src/affix.js 4 | source/js/src/scrollspy.js 5 | source/js/src/js.cookie.js 6 | -------------------------------------------------------------------------------- /.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "asi": false, 3 | "bitwise": true, 4 | "browser": true, 5 | "camelcase": true, 6 | "curly": true, 7 | "forin": true, 8 | "immed": true, 9 | "latedef": "nofunc", 10 | "maxlen": 120, 11 | "newcap": true, 12 | "noarg": true, 13 | "noempty": true, 14 | "nonew": true, 15 | "predef": [ 16 | "$", 17 | "jQuery", 18 | "NexT", 19 | "CONFIG" 20 | ], 21 | "quotmark": true, 22 | "trailing": true, 23 | "undef": true, 24 | "unused": true, 25 | 26 | "expr": true 27 | } 28 | -------------------------------------------------------------------------------- /.stylintrc: -------------------------------------------------------------------------------- 1 | { 2 | "blocks": false, 3 | "brackets": "always", 4 | "colons": "always", 5 | "colors": "always", 6 | "commaSpace": "always", 7 | "commentSpace": "always", 8 | "cssLiteral": "never", 9 | "customProperties": [], 10 | "depthLimit": false, 11 | "duplicates": true, 12 | "efficient": "always", 13 | "exclude": [], 14 | "extendPref": false, 15 | "globalDupe": false, 16 | "groupOutputByFile": true, 17 | "indentPref": false, 18 | "leadingZero": "never", 19 | "maxErrors": false, 20 | "maxWarnings": false, 21 | "mixed": false, 22 | "mixins": [], 23 | "namingConvention": "lowercase-dash", 24 | "namingConventionStrict": false, 25 | "none": "never", 26 | "noImportant": true, 27 | "parenSpace": false, 28 | "placeholders": "always", 29 | "prefixVarsWithDollar": "always", 30 | "quotePref": false, 31 | "reporterOptions": { 32 | "columns": ["lineData", "severity", "description", "rule"], 33 | "columnSplitter": " ", 34 | "showHeaders": false, 35 | "truncate": true 36 | }, 37 | "semicolons": "always", 38 | "sortOrder": "grouped", 39 | "stackedProperties": false, 40 | "trailingWhitespace": "never", 41 | "universal": false, 42 | "valid": true, 43 | "zeroUnits": "never", 44 | "zIndexNormalize": false 45 | } 46 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2014-2017 DIYgod 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 |

Sagiri

2 | 3 | > As lovely as sagiri 4 | 5 | [![npm](https://img.shields.io/npm/v/hexo-theme-sagiri.svg?style=flat-square)](https://www.npmjs.com/package/hexo-theme-sagiri) 6 | [![npm](https://img.shields.io/npm/l/hexo-theme-sagiri.svg?style=flat-square)](https://github.com/DIYgod/hexo-theme-sagiri/blob/master/LICENSE) 7 | [![npm](https://img.shields.io/npm/dt/hexo-theme-sagiri.svg?style=flat-square)](https://www.npmjs.com/package/hexo-theme-sagiri) 8 | [![dependency Status](https://img.shields.io/david/DIYgod/hexo-theme-sagiri.svg?style=flat-square)](https://david-dm.org/DIYgod/hexo-theme-sagiri) 9 | [![devDependency Status](https://img.shields.io/david/dev/DIYgod/hexo-theme-sagiri.svg?style=flat-square)](https://david-dm.org/DIYgod/hexo-theme-sagiri#info=devDependencies) 10 | [![donate](https://img.shields.io/badge/$-donate-ff69b4.svg?style=flat-square)](https://github.com/DIYgod/hexo-theme-sagiri#donate) 11 | 12 | ## Introduction 13 | 14 | Lovely theme for Hexo. 15 | 16 | As lovely as sagiri, based on [hexo-theme-next](https://github.com/iissnan/hexo-theme-next) 17 | 18 | ## Who use hexo-theme-sagiri? 19 | 20 | ## Donate 21 | 22 | - [Donate via Paypal](https://www.paypal.me/DIYgod) 23 | - [Donate via WeChat Pay](https://ws4.sinaimg.cn/large/006tKfTcgy1fhu1uowywej307s07st8h.jpg) 24 | - [Donate via Alipay](https://ws4.sinaimg.cn/large/006tKfTcgy1fhu1vf4ih7j307s07sdfm.jpg) 25 | - Donate via Bitcoin: 13CwQLHzPYm2tewNMSJBeArbbRM5NSmCD1 26 | 27 | ## Author 28 | 29 | **hexo-theme-sagiri** © [DIYgod](https://github.com/DIYgod), Released under the [MIT](./LICENSE) License.
30 | Authored and maintained by DIYgod with help from contributors ([list](https://github.com/DIYgod/hexo-theme-sagiri/contributors)). 31 | 32 | > Blog [@Anotherhome](https://www.anotherhome.net) · GitHub [@DIYgod](https://github.com/DIYgod) · Twitter [@DIYgod](https://twitter.com/DIYgod) · Telegram Channel [@awesomeDIYgod](https://t.me/awesomeDIYgod) 33 | -------------------------------------------------------------------------------- /languages/de.yml: -------------------------------------------------------------------------------- 1 | title: 2 | archive: Archiv 3 | category: Kategorie 4 | tag: Tag 5 | 6 | author: Author 7 | 8 | menu: 9 | home: Startseite 10 | archives: Archiv 11 | categories: Kategorien 12 | tags: Tags 13 | about: Über 14 | feed: RSS 15 | search: Suche 16 | 17 | sidebar: 18 | overview: Übersicht 19 | toc: Inhaltsverzeichnis 20 | 21 | post: 22 | created: Post created 23 | sticky: Sticky 24 | posted: Veröffentlicht am 25 | modified: Updated at 26 | in: in 27 | read_more: Weiterlesen 28 | untitled: Unbenannt 29 | toc_empty: Dieser Artikel hat kein Inhaltsverzeichnis 30 | visitors: Visitors 31 | wordcount: Words count in article 32 | min2read: Reading time 33 | totalcount: Site words total count 34 | copyright: 35 | author: Post author 36 | link: Post link 37 | license_title: Copyright Notice 38 | license_content: 'All articles in this blog are licensed under 39 | %s unless stating additionally.' 40 | 41 | page: 42 | totally: Gesamt 43 | tags: tags 44 | 45 | footer: 46 | powered: "Erstellt mit %s" 47 | theme: Theme 48 | 49 | counter: 50 | tag_cloud: 51 | zero: Keine Tags 52 | one: Insgesamt ein Tag 53 | other: "Insgesamt %d Tags" 54 | 55 | categories: 56 | zero: Keine Kategorien 57 | one: Insgesamt eine Kategorie 58 | other: "Insgesamt %d Kategorien" 59 | 60 | archive_posts: 61 | zero: Keine Artikel vorhanden. 62 | one: Ein Artikel. 63 | other: "Insgesamt %d Artikel." 64 | 65 | state: 66 | posts: Artikel 67 | pages: Seiten 68 | tags: Tags 69 | categories: Kategorien 70 | 71 | cheers: 72 | um: Öhm.. 73 | ok: OK 74 | nice: Schön 75 | good: Gut 76 | great: Wunderbar 77 | excellent: Exzellent 78 | 79 | keep_on: Bleib dran. 80 | 81 | symbol: 82 | comma: '. ' 83 | period: ', ' 84 | colon: ':' 85 | 86 | reward: 87 | donate: Donate 88 | wechatpay: WeChat Pay 89 | alipay: Alipay 90 | bitcoin: Bitcoin 91 | -------------------------------------------------------------------------------- /languages/default.yml: -------------------------------------------------------------------------------- 1 | title: 2 | archive: Archive 3 | category: Category 4 | tag: Tag 5 | schedule: Schedule 6 | 7 | author: Author 8 | 9 | menu: 10 | home: Home 11 | archives: Archives 12 | categories: Categories 13 | tags: Tags 14 | about: About 15 | search: Search 16 | schedule: Schedule 17 | sitemap: Sitemap 18 | commonweal: Commonweal 404 19 | 20 | sidebar: 21 | overview: Overview 22 | toc: Table of Contents 23 | 24 | post: 25 | created: Post created 26 | modified: Post modified 27 | sticky: Sticky 28 | posted: Posted on 29 | in: In 30 | more: more 31 | read_more: Read more 32 | untitled: Untitled 33 | toc_empty: This post does not have a Table of Contents 34 | visitors: Visitors 35 | wordcount: Words count in article 36 | min2read: Reading time 37 | totalcount: Site words total count 38 | copyright: 39 | author: Post author 40 | link: Post link 41 | license_title: Copyright Notice 42 | license_content: 'All articles in this blog are licensed under 43 | %s unless stating additionally.' 44 | 45 | page: 46 | totally: Totally 47 | tags: tags 48 | 49 | footer: 50 | powered: "Powered by %s" 51 | theme: Theme 52 | 53 | counter: 54 | tag_cloud: 55 | zero: No tags 56 | one: 1 tag in total 57 | other: "%d tags in total" 58 | 59 | categories: 60 | zero: No categories 61 | one: 1 category in total 62 | other: "%d categories in total" 63 | 64 | archive_posts: 65 | zero: No posts. 66 | one: 1 post. 67 | other: "%d posts in total." 68 | 69 | state: 70 | posts: posts 71 | pages: pages 72 | tags: tags 73 | categories: categories 74 | 75 | search: 76 | placeholder: Searching... 77 | 78 | cheers: 79 | um: Um.. 80 | ok: OK 81 | nice: Nice 82 | good: Good 83 | great: Great 84 | excellent: Excellent 85 | 86 | keep_on: Keep on posting. 87 | 88 | symbol: 89 | comma: ', ' 90 | period: '. ' 91 | colon: ':' 92 | 93 | reward: 94 | donate: Donate 95 | wechatpay: WeChat Pay 96 | alipay: Alipay 97 | bitcoin: Bitcoin 98 | -------------------------------------------------------------------------------- /languages/en.yml: -------------------------------------------------------------------------------- 1 | title: 2 | archive: Archive 3 | category: Category 4 | tag: Tag 5 | schedule: Schedule 6 | 7 | author: Author 8 | 9 | menu: 10 | home: Home 11 | archives: Archives 12 | categories: Categories 13 | tags: Tags 14 | about: About 15 | search: Search 16 | schedule: Schedule 17 | sitemap: Sitemap 18 | commonweal: Commonweal 404 19 | 20 | sidebar: 21 | overview: Overview 22 | toc: Table of Contents 23 | 24 | post: 25 | created: Post created 26 | modified: Post modified 27 | sticky: Sticky 28 | posted: Posted on 29 | in: In 30 | more: more 31 | read_more: Read more 32 | untitled: Untitled 33 | toc_empty: This post does not have a Table of Contents 34 | visitors: Visitors 35 | wordcount: Words count in article 36 | min2read: Reading time 37 | totalcount: Site words total count 38 | copyright: 39 | author: Post author 40 | link: Post link 41 | license_title: Copyright Notice 42 | license_content: 'All articles in this blog are licensed under 43 | %s unless stating additionally.' 44 | 45 | page: 46 | totally: Totally 47 | tags: tags 48 | 49 | footer: 50 | powered: "Powered by %s" 51 | theme: Theme 52 | 53 | counter: 54 | tag_cloud: 55 | zero: No tags 56 | one: 1 tag in total 57 | other: "%d tags in total" 58 | 59 | categories: 60 | zero: No categories 61 | one: 1 category in total 62 | other: "%d categories in total" 63 | 64 | archive_posts: 65 | zero: No posts. 66 | one: 1 post. 67 | other: "%d posts in total." 68 | 69 | state: 70 | posts: posts 71 | pages: pages 72 | tags: tags 73 | categories: categories 74 | 75 | search: 76 | placeholder: Searching... 77 | 78 | cheers: 79 | um: Um.. 80 | ok: OK 81 | nice: Nice 82 | good: Good 83 | great: Great 84 | excellent: Excellent 85 | 86 | keep_on: Keep on posting. 87 | 88 | symbol: 89 | comma: ', ' 90 | period: '. ' 91 | colon: ':' 92 | 93 | reward: 94 | donate: Donate 95 | wechatpay: WeChat Pay 96 | alipay: Alipay 97 | bitcoin: Bitcoin 98 | 99 | gitmentbutton: Show comments from Gitment 100 | -------------------------------------------------------------------------------- /languages/fr-FR.yml: -------------------------------------------------------------------------------- 1 | title: 2 | archive: Archive 3 | category: Catégorie 4 | tag: Tag 5 | 6 | author: Author 7 | 8 | menu: 9 | home: Accueil 10 | archives: Archives 11 | categories: Categories 12 | tags: Tags 13 | about: A propos 14 | search: recherche 15 | 16 | sidebar: 17 | overview: Ensemble 18 | toc: Table Des Matières 19 | 20 | post: 21 | sticky: Sticky 22 | posted: Posté le 23 | modified: Updated at 24 | in: In 25 | read_more: Lire la suite 26 | untitled: Non titré 27 | toc_empty: This post does not have a Table of Contents 28 | visitors: Visitors 29 | wordcount: Words count in article 30 | min2read: Reading time 31 | totalcount: Site words total count 32 | copyright: 33 | author: Post author 34 | link: Post link 35 | license_title: Copyright Notice 36 | license_content: 'All articles in this blog are licensed under 37 | %s unless stating additionally.' 38 | 39 | page: 40 | totally: Total 41 | tags: tags 42 | 43 | footer: 44 | powered: "Powered by %s" 45 | theme: Thème 46 | 47 | counter: 48 | tag_cloud: 49 | zero: Aucun tags 50 | one: 1 tag au total 51 | other: "%d tags au total" 52 | 53 | categories: 54 | zero: Aucun categories 55 | one: 1 category au total 56 | other: "%d categories au total" 57 | 58 | archive_posts: 59 | zero: Aucun article. 60 | one: 1 article. 61 | other: "%d articles au total." 62 | 63 | state: 64 | posts: articles 65 | pages: pages 66 | tags: tags 67 | categories: categories 68 | 69 | cheers: 70 | um: Um.. 71 | ok: OK 72 | nice: Jolie 73 | good: Bien 74 | great: Super 75 | excellent: Excellent 76 | 77 | keep_on: Et ca ne fait que commencer. 78 | 79 | symbol: 80 | comma: ', ' 81 | period: '. ' 82 | colon: ':' 83 | 84 | reward: 85 | donate: Donate 86 | wechatpay: WeChat Pay 87 | alipay: Alipay 88 | bitcoin: Bitcoin 89 | -------------------------------------------------------------------------------- /languages/id.yml: -------------------------------------------------------------------------------- 1 | title: 2 | archive: Arsip 3 | category: Kategori 4 | tag: Tag 5 | 6 | author: Penulis 7 | 8 | menu: 9 | home: Beranda 10 | archives: Arsip 11 | categories: Kategori 12 | tags: Tags 13 | about: Tentang 14 | search: Pencarian 15 | 16 | sidebar: 17 | overview: Ikhtisar 18 | toc: Daftar Isi 19 | 20 | post: 21 | sticky: Sticky 22 | posted: Diposting di 23 | modified: Updated at 24 | in: Di 25 | read_more: Baca lebih 26 | untitled: Tidak ada title 27 | toc_empty: Posting ini tidak memiliki Daftar Isi 28 | visitors: Pengunjung 29 | wordcount: Words count in article 30 | min2read: Reading time 31 | totalcount: Site words total count 32 | copyright: 33 | author: Post author 34 | link: Post link 35 | license_title: Copyright Notice 36 | license_content: 'All articles in this blog are licensed under 37 | %s unless stating additionally.' 38 | 39 | page: 40 | totally: Total 41 | tags: tags 42 | 43 | footer: 44 | powered: "Powered by %s" 45 | theme: Tema 46 | 47 | counter: 48 | tag_cloud: 49 | zero: Tidak ada tags 50 | one: 1 total tag 51 | other: "%d total tags" 52 | 53 | categories: 54 | zero: Tidak ada kategori 55 | one: 1 total categori 56 | other: "%d total kategori" 57 | 58 | archive_posts: 59 | zero: Tidak ada posting. 60 | one: 1 posting. 61 | other: "%d total posting." 62 | 63 | state: 64 | posts: posting 65 | pages: halaman 66 | tags: tags 67 | categories: kategori 68 | 69 | cheers: 70 | um: Um.. 71 | ok: OK 72 | nice: Bagus 73 | good: Bagus 74 | great: Besar 75 | excellent: Baik 76 | 77 | keep_on: Terus Posting. 78 | 79 | symbol: 80 | comma: ', ' 81 | period: '. ' 82 | colon: ':' 83 | 84 | reward: 85 | donate: Donate 86 | wechatpay: WeChat Pay 87 | alipay: Alipay 88 | bitcoin: Bitcoin 89 | -------------------------------------------------------------------------------- /languages/it.yml: -------------------------------------------------------------------------------- 1 | title: 2 | archive: Archivio 3 | category: Categoria 4 | tag: Tag 5 | schedule: Programma 6 | 7 | author: Autore 8 | 9 | menu: 10 | home: Home 11 | archives: Archivi 12 | categories: Categorie 13 | tags: Tags 14 | about: Informazioni su 15 | search: Cerca 16 | schedule: Programma 17 | sitemap: Sitemap 18 | commonweal: Commonweal 404 19 | 20 | sidebar: 21 | overview: Panoramica 22 | toc: Indice 23 | 24 | post: 25 | created: Post creato 26 | modified: Post modificato 27 | sticky: Sticky 28 | posted: Scritto il 29 | in: In 30 | more: espandi 31 | read_more: Leggi di più 32 | untitled: Senza titolo 33 | toc_empty: Questo post non ha un indice 34 | visitors: Visitatori 35 | wordcount: Numero di parole nell'articolo 36 | min2read: Tempo di lettura 37 | totalcount: Numero totale di parole 38 | copyright: 39 | author: Autore 40 | link: Link 41 | license_title: Copyright 42 | license_content: 'Tutti gli articoli in questo sito sono sotto licenza 43 | %s salvo disposizione contraria.' 44 | 45 | page: 46 | totally: Totale 47 | tags: tags 48 | 49 | footer: 50 | powered: "Powered by %s" 51 | theme: Tema 52 | 53 | counter: 54 | tag_cloud: 55 | zero: Nessun tag 56 | one: 1 tag in totale 57 | other: "%d tags in totale." 58 | 59 | categories: 60 | zero: Nessuna categoria 61 | one: 1 categoria in totale 62 | other: "%d categorie in totale." 63 | 64 | archive_posts: 65 | zero: Nessun post. 66 | one: 1 post. 67 | other: "%d posts in totale." 68 | 69 | state: 70 | posts: posts 71 | pages: pagine 72 | tags: tags 73 | categories: categorie 74 | 75 | search: 76 | placeholder: Cerca... 77 | 78 | cheers: 79 | um: Mh.. 80 | ok: OK 81 | nice: Bello 82 | good: Buono 83 | great: Ottimo 84 | excellent: Eccellente 85 | 86 | keep_on: Continua così. 87 | 88 | symbol: 89 | comma: ', ' 90 | period: '. ' 91 | colon: ':' 92 | 93 | reward: 94 | donate: Dona 95 | wechatpay: WeChat Pay 96 | alipay: Alipay 97 | bitcoin: Bitcoin 98 | -------------------------------------------------------------------------------- /languages/ja.yml: -------------------------------------------------------------------------------- 1 | title: 2 | archive: アーカイブ 3 | category: カテゴリ 4 | tag: タグ 5 | 6 | author: Author 7 | 8 | menu: 9 | home: ホーム 10 | archives: アーカイブ 11 | categories: カテゴリ 12 | tags: タグ 13 | about: About 14 | search: 検索 15 | 16 | sidebar: 17 | overview: 概要 18 | toc: 見出し 19 | 20 | post: 21 | sticky: 固定 22 | posted: 投稿日 23 | modified: Updated at 24 | in: In 25 | read_more: 続きを読む 26 | untitled: 無題 27 | toc_empty: 見出しがありません 28 | visitors: Visitors 29 | wordcount: Words count in article 30 | min2read: Reading time 31 | totalcount: Site words total count 32 | copyright: 33 | author: Post author 34 | link: Post link 35 | license_title: Copyright Notice 36 | license_content: 'All articles in this blog are licensed under 37 | %s unless stating additionally.' 38 | 39 | page: 40 | totally: 全ページ 41 | tags: タグ 42 | 43 | footer: 44 | powered: "Powered by %s" 45 | theme: Theme 46 | 47 | counter: 48 | tag_cloud: 49 | zero: タグなし 50 | one: "全 1 タグ" 51 | other: "全 %d タグ" 52 | 53 | categories: 54 | zero: カテゴリなし 55 | one: "全 1 カテゴリ" 56 | other: "全 %d カテゴリ" 57 | 58 | archive_posts: 59 | zero: ポストなし 60 | one: "全 1 ポスト" 61 | other: "全 %d ポスト" 62 | 63 | state: 64 | posts: ポスト 65 | pages: ページ 66 | tags: タグ 67 | categories: カテゴリ 68 | 69 | cheers: 70 | um: うーん 71 | ok: OK 72 | nice: まあまあ 73 | good: いいね 74 | great: すごい 75 | excellent: 最高 76 | 77 | keep_on: もっと書こう! 78 | 79 | symbol: 80 | comma: ', ' 81 | period: '. ' 82 | colon: ':' 83 | 84 | reward: 85 | donate: Donate 86 | wechatpay: WeChat Pay 87 | alipay: Alipay 88 | bitcoin: Bitcoin 89 | -------------------------------------------------------------------------------- /languages/ko.yml: -------------------------------------------------------------------------------- 1 | title: 2 | archive: 아카이브 3 | category: 카테고리 4 | tag: 태그 5 | 6 | author: 작성자 7 | 8 | menu: 9 | home: 홈 10 | archives: 아카이브 11 | categories: 카테고리 12 | tags: 태그 13 | about: About 14 | search: 검색 15 | 16 | sidebar: 17 | overview: 흝어보기 18 | toc: 목차 19 | 20 | post: 21 | sticky: 고정 22 | posted: 작성일 23 | modified: Updated at 24 | in: In 25 | read_more: 더 읽어보기 26 | untitled: 제목 없음 27 | toc_empty: 목차 없음 28 | visitors: 방문객 29 | wordcount: Words count in article 30 | min2read: Reading time 31 | totalcount: Site words total count 32 | copyright: 33 | author: Post author 34 | link: Post link 35 | license_title: Copyright Notice 36 | license_content: 'All articles in this blog are licensed under 37 | %s unless stating additionally.' 38 | 39 | page: 40 | totally: 모두 41 | tags: 태그 42 | 43 | footer: 44 | powered: "Powered by %s" 45 | theme: Theme 46 | 47 | counter: 48 | tag_cloud: 49 | zero: 태그 없음 50 | one: 1개의 태그 51 | other: "총 %d개의 태그" 52 | 53 | categories: 54 | zero: 카테고리 없음 55 | one: 1개의 카테고리 56 | other: "총 %d개의 카테고리" 57 | 58 | archive_posts: 59 | zero: 포스트 없음 60 | one: 1개의 포스트 61 | other: "총 %d개의 포스트" 62 | 63 | state: 64 | posts: 포스트 65 | pages: 페이지 66 | tags: 태그 67 | categories: 카테고리 68 | 69 | cheers: 70 | um: 음.. 71 | ok: OK 72 | nice: 잘했어요 73 | good: 좋아요 74 | great: 훌륭해요 75 | excellent: 완벽해요 76 | 77 | keep_on: 포스트를 마저 작성하세요 78 | 79 | symbol: 80 | comma: ', ' 81 | period: '. ' 82 | colon: ':' 83 | 84 | reward: 85 | donate: Donate 86 | wechatpay: WeChat Pay 87 | alipay: Alipay 88 | bitcoin: Bitcoin 89 | -------------------------------------------------------------------------------- /languages/nl-NL.yml: -------------------------------------------------------------------------------- 1 | title: 2 | archive: Archief 3 | category: Categorie 4 | tag: Label 5 | schedule: Rooster 6 | 7 | author: Auteur 8 | 9 | menu: 10 | home: Home 11 | archives: Archieven 12 | categories: Categorieën 13 | tags: Labels 14 | about: Over 15 | search: Zoeken 16 | schedule: Rooster 17 | sitemap: Sitemap 18 | commonweal: Gezond verstand 404 19 | 20 | sidebar: 21 | overview: Overzicht 22 | toc: Inhoudsopgave 23 | 24 | post: 25 | created: Post aangemaakt 26 | modified: Post aangepast 27 | sticky: Sticky 28 | posted: Geplaatst op 29 | in: In 30 | more: meer 31 | read_more: Lees meer 32 | untitled: Naamloos 33 | toc_empty: Deze post heeft geen inhoudsopgave 34 | visitors: Bezoekers 35 | wordcount: Aantal woorden in artikel 36 | min2read: Leestijd 37 | totalcount: Aantal woorden in site 38 | copyright: 39 | author: Post auteur 40 | link: Post link 41 | license_title: Copyright melding 42 | license_content: 'Alle artikelen op deze blog zijn gelicenseerd onder 43 | %s, mits niet anders aangegeven.' 44 | 45 | page: 46 | totally: Totaal 47 | tags: labels 48 | 49 | footer: 50 | powered: "Mede mogelijk gemaakt door %s" 51 | theme: Thema 52 | 53 | counter: 54 | tag_cloud: 55 | zero: Geen labels 56 | one: 1 label in totaal 57 | other: "%d labels in totaal" 58 | 59 | categories: 60 | zero: Geen categorieën 61 | one: 1 categorie in totaal 62 | other: "%d categorieën in totaal" 63 | 64 | archive_posts: 65 | zero: Geen posts. 66 | one: 1 post. 67 | other: "%d posts in totaal." 68 | 69 | state: 70 | posts: posts 71 | pages: pagina's 72 | tags: labels 73 | categories: categorieën 74 | 75 | search: 76 | placeholder: Zoeken... 77 | 78 | cheers: 79 | um: Um.. 80 | ok: Oké 81 | nice: Leuk 82 | good: Goed 83 | great: Geweldig 84 | excellent: Uitstekend 85 | 86 | keep_on: Blijf posten. 87 | 88 | symbol: 89 | comma: ', ' 90 | period: '. ' 91 | colon: ':' 92 | 93 | reward: 94 | donate: Doneer 95 | wechatpay: WeChat Pay 96 | alipay: Alipay 97 | bitcoin: Bitcoin 98 | -------------------------------------------------------------------------------- /languages/pt-BR.yml: -------------------------------------------------------------------------------- 1 | title: 2 | archive: Arquivo 3 | category: Categoria 4 | tag: Tag 5 | 6 | author: Autor 7 | 8 | menu: 9 | home: Home 10 | archives: Arquivos 11 | categories: Categorias 12 | tags: Tags 13 | about: Sobre 14 | search: Pesquisar 15 | 16 | sidebar: 17 | overview: Visão geral 18 | toc: Tabela de conteúdo 19 | 20 | post: 21 | sticky: Sticky 22 | posted: Postado em 23 | modified: Updated at 24 | in: Em 25 | read_more: Leia mais 26 | untitled: Sem título 27 | toc_empty: Este post não possui tabela de conteúdo 28 | visitors: Visitantes 29 | wordcount: Words count in article 30 | min2read: Reading time 31 | totalcount: Site words total count 32 | copyright: 33 | author: Post author 34 | link: Post link 35 | license_title: Copyright Notice 36 | license_content: 'All articles in this blog are licensed under 37 | %s unless stating additionally.' 38 | 39 | page: 40 | totally: Totalmente 41 | tags: tags 42 | 43 | footer: 44 | powered: "Feito com %s" 45 | theme: Tema 46 | 47 | counter: 48 | tag_cloud: 49 | zero: Sem tags 50 | one: 1 tag no total de 51 | other: "%d tags no total de" 52 | 53 | categories: 54 | zero: Sem categoria 55 | one: 1 categoria no total de 56 | other: "%d categoria no total de" 57 | 58 | archive_posts: 59 | zero: Sem posts. 60 | one: 1 post. 61 | other: "%d posts no total." 62 | 63 | state: 64 | posts: Posts 65 | pages: Páginas 66 | tags: Tags 67 | categories: Categorias 68 | 69 | cheers: 70 | um: Uhmmmm... 71 | ok: OK 72 | nice: Bom 73 | good: Muito Bom 74 | great: Ótimo 75 | excellent: Excelente 76 | 77 | keep_on: Continuar no post. 78 | 79 | symbol: 80 | comma: '. ' 81 | period: ', ' 82 | colon: ':' 83 | 84 | reward: 85 | donate: Donate 86 | wechatpay: WeChat Pay 87 | alipay: Alipay 88 | bitcoin: Bitcoin 89 | -------------------------------------------------------------------------------- /languages/pt.yml: -------------------------------------------------------------------------------- 1 | title: 2 | archive: Arquivo 3 | category: Categoria 4 | tag: Tag 5 | 6 | author: Author 7 | 8 | menu: 9 | home: Home 10 | archives: Arquivos 11 | categories: Categorias 12 | tags: Tags 13 | about: Sobre 14 | search: Pesquisa 15 | 16 | sidebar: 17 | overview: Visão Geral 18 | toc: Tabela de Conteúdo 19 | 20 | post: 21 | sticky: Sticky 22 | posted: Postado em 23 | modified: Updated at 24 | in: Em 25 | read_more: Ler mais 26 | untitled: Sem título 27 | toc_empty: Esta publicação não possui uma tabela de conteúdo 28 | visitors: Visitors 29 | wordcount: Words count in article 30 | min2read: Reading time 31 | totalcount: Site words total count 32 | copyright: 33 | author: Post author 34 | link: Post link 35 | license_title: Copyright Notice 36 | license_content: 'All articles in this blog are licensed under 37 | %s unless stating additionally.' 38 | 39 | page: 40 | totally: Totalmente 41 | tags: tags 42 | 43 | footer: 44 | powered: "Desenvolvido com amor com %s" 45 | theme: Tema 46 | 47 | counter: 48 | tag_cloud: 49 | zero: Sem tags 50 | one: 1 tag no total 51 | other: "%d tags no total" 52 | 53 | categories: 54 | zero: Sem categorias 55 | one: 1 categoria no total 56 | other: "%d categorias no total" 57 | 58 | archive_posts: 59 | zero: Sem publicações. 60 | one: 1 post. 61 | other: "%d publicações no total." 62 | 63 | state: 64 | posts: publicações 65 | pages: páginas 66 | tags: tags 67 | categories: categorias 68 | 69 | cheers: 70 | um: Um.. 71 | ok: OK 72 | nice: Legal 73 | good: Bom 74 | great: Grandioso 75 | excellent: Excelente 76 | 77 | keep_on: Mantenha-se publicando! 78 | 79 | symbol: 80 | comma: ', ' 81 | period: '. ' 82 | colon: ':' 83 | 84 | reward: 85 | donate: Donate 86 | wechatpay: WeChat Pay 87 | alipay: Alipay 88 | bitcoin: Bitcoin 89 | -------------------------------------------------------------------------------- /languages/ru.yml: -------------------------------------------------------------------------------- 1 | title: 2 | archive: Архив 3 | category: Категория 4 | tag: Тэг 5 | schedule: Календарь 6 | 7 | author: Автор 8 | 9 | menu: 10 | home: Главная 11 | archives: Архив 12 | categories: Категории 13 | tags: Тэги 14 | about: О сайте 15 | search: Поиск 16 | schedule: Календарь 17 | sitemap: Карта сайта 18 | 19 | sidebar: 20 | overview: Обзор 21 | toc: Содержание 22 | 23 | post: 24 | created: Дата создания записи 25 | modified: Дата обновления записи 26 | sticky: Ссылка 27 | posted: Размещено 28 | in: в категории 29 | more: далее 30 | read_more: Читать полностью 31 | untitled: Без имени 32 | toc_empty: Эта запись без оглавления 33 | visitors: Просмотров 34 | wordcount: Кол-во слов в статье 35 | min2read: Время чтения в минутах 36 | totalcount: Общее кол-во слов в записях 37 | copyright: 38 | author: Автор записи 39 | link: Ссылка на запись 40 | license_title: Информация об авторских правах 41 | license_content: 'Все записи на этом сайте защищены лицензией 42 | %s если не указано дополнительно.' 43 | 44 | page: 45 | totally: Всего 46 | tags: тэги 47 | 48 | footer: 49 | powered: "Powered by %s" 50 | theme: Theme 51 | 52 | counter: 53 | tag_cloud: 54 | zero: Нет тэгов. 55 | one: 1 тэг. 56 | two: "%d тэга всего." 57 | three: "%d тэга всего." 58 | four: "%d тэга всего." 59 | other: "%d тэгов всего." 60 | 61 | categories: 62 | zero: Нет категорий. 63 | one: 1 категория. 64 | two: "%d категории всего." 65 | three: "%d категории всего." 66 | four: "%d категории всего." 67 | other: "%d категорий всего." 68 | 69 | archive_posts: 70 | zero: Нет записей. 71 | one: 1 запись. 72 | two: "%d записи всего." 73 | three: "%d записи всего." 74 | four: "%d записи всего." 75 | other: "%d записей всего." 76 | 77 | state: 78 | posts: Архив 79 | pages: Страницы 80 | tags: Тэги 81 | categories: Категории 82 | 83 | search: 84 | placeholder: Поиск... 85 | 86 | cheers: 87 | um: Эм.. 88 | ok: OK 89 | nice: Неплохо 90 | good: Хорошо 91 | great: Замечательно 92 | excellent: Великолепно 93 | 94 | keep_on: Продолжаю писать. 95 | 96 | symbol: 97 | comma: ', ' 98 | period: '. ' 99 | colon: ':' 100 | 101 | reward: 102 | donate: Донат 103 | wechatpay: WeChat Pay 104 | alipay: Alipay 105 | bitcoin: Bitcoin 106 | -------------------------------------------------------------------------------- /languages/zh-Hans.yml: -------------------------------------------------------------------------------- 1 | title: 2 | archive: 归档 3 | category: 分类 4 | tag: 标签 5 | schedule: 日程表 6 | 7 | author: 博主 8 | 9 | menu: 10 | home: 首页 11 | archives: 归档 12 | categories: 分类 13 | tags: 标签 14 | about: 关于 15 | search: 搜索 16 | schedule: 日程表 17 | sitemap: 站点地图 18 | commonweal: 公益404 19 | 20 | sidebar: 21 | overview: 关于我 22 | toc: 文章目录 23 | 24 | post: 25 | created: 创建于 26 | modified: 更新于 27 | sticky: 置顶 28 | posted: 发表于 29 | in: 分类于 30 | read_more: 阅读全文 31 | untitled: 未命名 32 | toc_empty: 此文章未包含目录 33 | visitors: 阅读次数 34 | wordcount: 字数统计 35 | min2read: 阅读时长 36 | totalcount: Site words total count 37 | copyright: 38 | author: 本文作者 39 | link: 本文链接 40 | license_title: 版权声明 41 | license_content: '本博客所有文章除特别声明外,均采用 42 | %s 许可协议。转载请注明出处!' 43 | 44 | page: 45 | totally: 共有 46 | tags: 标签 47 | 48 | footer: 49 | powered: "由 %s 强力驱动" 50 | theme: 主题 51 | 52 | counter: 53 | tag_cloud: 54 | zero: 暂无标签 55 | one: 目前共计 1 个标签 56 | other: "目前共计 %d 个标签" 57 | 58 | categories: 59 | zero: 暂无分类 60 | one: 目前共计 1 个分类 61 | other: "目前共计 %d 个分类" 62 | 63 | archive_posts: 64 | zero: 暂无日志。 65 | one: 目前共计 1 篇日志。 66 | other: "目前共计 %d 篇日志。" 67 | 68 | state: 69 | posts: 日志 70 | pages: 页面 71 | tags: 标签 72 | categories: 分类 73 | 74 | search: 75 | placeholder: 搜索... 76 | 77 | cheers: 78 | um: 嗯.. 79 | ok: OK 80 | nice: 好 81 | good: 很好 82 | great: 非常好 83 | excellent: 太棒了 84 | 85 | keep_on: 继续努力。 86 | 87 | symbol: 88 | comma: ', ' 89 | period: '。 ' 90 | colon: ':' 91 | 92 | reward: 93 | donate: 赞赏 94 | wechatpay: 微信扫一扫,向我赞赏 95 | alipay: 支付宝扫一扫,向我赞赏 96 | bitcoin: 比特币 97 | 98 | gitmentbutton: 显示 Gitment 评论 99 | -------------------------------------------------------------------------------- /languages/zh-hk.yml: -------------------------------------------------------------------------------- 1 | title: 2 | archive: 歸檔 3 | category: 分類 4 | tag: 標籤 5 | schedule: 日程表 6 | 7 | author: 博主 8 | 9 | menu: 10 | home: 首頁 11 | archives: 歸檔 12 | categories: 分類 13 | tags: 標籤 14 | about: 關於 15 | search: 檢索 16 | schedule: 日程表 17 | sitemap: 站點地圖 18 | commonweal: 公益404 19 | 20 | sidebar: 21 | overview: 本站概覽 22 | toc: 文章目錄 23 | 24 | post: 25 | created: 創建於 26 | modified: 更新於 27 | sticky: 置頂 28 | posted: 發表於 29 | in: 分類於 30 | read_more: 閱讀全文 31 | untitled: 未命名 32 | toc_empty: 此文章未包含目錄 33 | visitors: 閱讀次數 34 | wordcount: 字數統計 35 | min2read: 閱讀時長 36 | totalcount: Site words total count 37 | copyright: 38 | author: Post author 39 | link: Post link 40 | license_title: Copyright Notice 41 | license_content: 'All articles in this blog are licensed under 42 | %s unless stating additionally.' 43 | 44 | page: 45 | totally: 共有 46 | tags: 標籤 47 | 48 | footer: 49 | powered: "由 %s 強力驅動" 50 | theme: 主題 51 | 52 | counter: 53 | tag_cloud: 54 | zero: 暫無標籤 55 | one: 目前共有 1 個標籤 56 | other: "目前共有 %d 個標籤" 57 | 58 | categories: 59 | zero: 暫無分類 60 | one: 目前共有 1 個分類 61 | other: "目前共有 %d 個分類" 62 | 63 | archive_posts: 64 | zero: 暫無文章。 65 | one: 目前共有 1 篇文章。 66 | other: "目前共有 %d 篇文章。" 67 | 68 | state: 69 | posts: 文章 70 | pages: 頁面 71 | tags: 標籤 72 | categories: 分類 73 | 74 | search: 75 | placeholder: 搜索... 76 | 77 | cheers: 78 | um: 嗯.. 79 | ok: OK 80 | nice: 好 81 | good: 很好 82 | great: 非常好 83 | excellent: 激爆好 84 | 85 | keep_on: 繼續努力。 86 | 87 | symbol: 88 | comma: ', ' 89 | period: '。 ' 90 | colon: ':' 91 | 92 | reward: 93 | donate: 打賞 94 | wechatpay: 微信支付 95 | alipay: 支付寶 96 | bitcoin: 比特幣 97 | 98 | gitmentbutton: 顯示 Gitment 評論 99 | -------------------------------------------------------------------------------- /languages/zh-tw.yml: -------------------------------------------------------------------------------- 1 | title: 2 | archive: 歸檔 3 | category: 分類 4 | tag: 標籤 5 | schedule: 日程表 6 | 7 | author: 博主 8 | 9 | menu: 10 | home: 首頁 11 | archives: 歸檔 12 | categories: 分類 13 | tags: 標籤 14 | about: 關於 15 | search: 檢索 16 | schedule: 日程表 17 | sitemap: 站點地圖 18 | commonweal: 公益404 19 | 20 | sidebar: 21 | overview: 本站概覽 22 | toc: 文章目錄 23 | 24 | post: 25 | created: 創建於 26 | modified: 更新於 27 | sticky: 置頂 28 | posted: 發表於 29 | in: 分類於 30 | read_more: 閱讀全文 31 | untitled: 未命名 32 | toc_empty: 此文章未包含目錄 33 | visitors: 閱讀次數 34 | wordcount: 字數統計 35 | min2read: 閱讀時長 36 | totalcount: Site words total count 37 | copyright: 38 | author: Post author 39 | link: Post link 40 | license_title: Copyright Notice 41 | license_content: 'All articles in this blog are licensed under 42 | %s unless stating additionally.' 43 | 44 | page: 45 | totally: 共有 46 | tags: 標籤 47 | 48 | footer: 49 | powered: "由 %s 強力驅動" 50 | theme: 主題 51 | 52 | counter: 53 | tag_cloud: 54 | zero: 暫無標籤 55 | one: 目前共計 1 個標籤 56 | other: "目前共計 %d 個標籤" 57 | 58 | categories: 59 | zero: 暫無分類 60 | one: 目前共計 1 個分類 61 | other: "目前共計 %d 個分類" 62 | 63 | archive_posts: 64 | zero: 暫無文章。 65 | one: 目前共計 1 篇文章。 66 | other: "目前共計 %d 篇文章。" 67 | 68 | state: 69 | posts: 文章 70 | pages: 頁面 71 | tags: 標籤 72 | categories: 分類 73 | 74 | search: 75 | placeholder: 搜索... 76 | 77 | cheers: 78 | um: 嗯.. 79 | ok: OK 80 | nice: 好 81 | good: 很好 82 | great: 非常好 83 | excellent: 非常屌 84 | 85 | keep_on: 繼續努力。 86 | 87 | symbol: 88 | comma: ', ' 89 | period: '。 ' 90 | colon: ':' 91 | 92 | reward: 93 | donate: 打賞 94 | wechatpay: 微信支付 95 | alipay: 支付寶 96 | bitcoin: 比特幣 97 | 98 | gitmentbutton: 顯示 Gitment 評論 99 | -------------------------------------------------------------------------------- /layout/_custom/header.swig: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /layout/_custom/sidebar.swig: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /layout/_macro/post-collapse.swig: -------------------------------------------------------------------------------- 1 | {% macro render(post) %} 2 | 3 |
4 |
5 | 6 | <{% if theme.seo %}h3{% else %}h2{% endif %} class="post-title"> 7 | {% if post.link %}{# Link posts #} 8 | 12 | {% else %} 13 | 20 | {% endif %} 21 | 22 | 23 | 30 | 31 |
32 |
33 | 34 | {% endmacro %} 35 | -------------------------------------------------------------------------------- /layout/_macro/post-copyright.swig: -------------------------------------------------------------------------------- 1 | 15 | -------------------------------------------------------------------------------- /layout/_macro/reward.swig: -------------------------------------------------------------------------------- 1 |
2 |
{{ theme.reward_comment }}
3 | 6 | 30 |
31 | -------------------------------------------------------------------------------- /layout/_macro/wechat-subscriber.swig: -------------------------------------------------------------------------------- 1 |
2 | {{ theme.author }} wechat 3 |
{{ theme.wechat_subscriber.description }}
4 |
5 | -------------------------------------------------------------------------------- /layout/_partials/footer.swig: -------------------------------------------------------------------------------- 1 |

博客已萌萌哒运行(●'◡'●)ノ♥

2 | {% if theme.footer.custom_text %}

{{ theme.footer.custom_text }}

{% endif %} 3 | {% set current = date(Date.now(), "YYYY") %} 4 |

© {{ current }} {{ config.title }}. 5 | 由 Hexo 强力驱动. 6 | Theme By Sagiri v{{ theme.version }}. 7 | 站点地图. 8 |

9 |

Made with by {{ theme.footer.copyright || config.author }}.

10 | -------------------------------------------------------------------------------- /layout/_partials/head/custom-head.swig: -------------------------------------------------------------------------------- 1 | {# 2 | Custom head. 3 | #} 4 | -------------------------------------------------------------------------------- /layout/_partials/head/external-fonts.swig: -------------------------------------------------------------------------------- 1 | {% if theme.font.enable %} 2 | 3 | {% set font_config = theme.font %} 4 | {% set font_families = '' %} 5 | {% set font_styles = ':300,300italic,400,400italic,700,700italic' %} 6 | {% set font_found = false %} 7 | 8 | {% if font_config.global.family and font_config.global.external %} 9 | {% set font_families += font_config.global.family + font_styles %} 10 | {% set font_found = true %} 11 | {% endif %} 12 | 13 | {% if font_config.headings.family and font_config.headings.external %} 14 | {% if font_found %} 15 | {% set font_families += '|' %} 16 | {% endif %} 17 | 18 | {% set font_families += font_config.headings.family + font_styles %} 19 | {% endif %} 20 | 21 | {% if font_config.posts.family and font_config.posts.external %} 22 | {% if font_found %} 23 | {% set font_families += '|' %} 24 | {% endif %} 25 | 26 | {% set font_families += font_config.posts.family + font_styles %} 27 | {% endif %} 28 | 29 | {% if font_config.logo.family and font_config.logo.external %} 30 | {% if font_found %} 31 | {% set font_families += '|' %} 32 | {% endif %} 33 | 34 | {% set font_families += font_config.logo.family + font_styles %} 35 | {% endif %} 36 | 37 | {% if font_config.codes.family and font_config.codes.external %} 38 | {% if font_found %} 39 | {% set font_families += '|' %} 40 | {% endif %} 41 | 42 | {% set font_families += font_config.codes.family + font_styles %} 43 | {% endif %} 44 | 45 | {% if font_config.title.family and font_config.title.external %} 46 | {% if font_found %} 47 | {% set font_families += '|' %} 48 | {% endif %} 49 | 50 | {% set font_families += font_config.title.family + font_styles %} 51 | {% endif %} 52 | 53 | {% if font_families !== '' %} 54 | {% set font_families += '&subset=latin,latin-ext' %} 55 | {% set font_host = font_config.host | default('//fonts.googleapis.com') %} 56 | 57 | {% endif %} 58 | 59 | {% endif %} 60 | -------------------------------------------------------------------------------- /layout/_partials/page-header.swig: -------------------------------------------------------------------------------- 1 |
2 | 3 | <{% if theme.seo %}h2{% else %}h1{% endif %} class="post-title" itemprop="name headline">{{ page.title }} 4 | 5 | {% if page.description %} 6 |
7 |
{{ page.description }}
8 |
9 | {% endif %} 10 | 11 |
12 | -------------------------------------------------------------------------------- /layout/_partials/pagination.swig: -------------------------------------------------------------------------------- 1 | {% if page.prev or page.next %} 2 | 12 | {% endif %} 13 | -------------------------------------------------------------------------------- /layout/_partials/search.swig: -------------------------------------------------------------------------------- 1 | {% if theme.algolia_search.enable %} 2 | {% include '../_third-party/search/algolia-search/dom.swig' %} 3 | {% elseif theme.swiftype_key %} 4 | {% include 'search/swiftype.swig' %} 5 | {% elseif theme.tinysou_Key %} 6 | {% include 'search/tinysou.swig' %} 7 | {% elseif theme.local_search.enable %} 8 | {% include 'search/localsearch.swig' %} 9 | {% endif %} 10 | -------------------------------------------------------------------------------- /layout/_partials/search/localsearch.swig: -------------------------------------------------------------------------------- 1 | 17 | -------------------------------------------------------------------------------- /layout/_partials/search/swiftype.swig: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | 5 | 13 | -------------------------------------------------------------------------------- /layout/_partials/search/tinysou.swig: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | -------------------------------------------------------------------------------- /layout/_partials/share/add-this.swig: -------------------------------------------------------------------------------- 1 | 2 |
3 | 4 |
5 | -------------------------------------------------------------------------------- /layout/_partials/share/baidushare.swig: -------------------------------------------------------------------------------- 1 | {% if theme.baidushare.type === "button" %} 2 |
3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 33 | {% elseif theme.baidushare.type === "slide" %} 34 | 54 | {% endif %} 55 | 58 | -------------------------------------------------------------------------------- /layout/_partials/share/duoshuo_share.swig: -------------------------------------------------------------------------------- 1 |
5 |
6 | 15 |
16 |
17 |
18 |
-------------------------------------------------------------------------------- /layout/_partials/share/jiathis.swig: -------------------------------------------------------------------------------- 1 | 2 |
3 | 分享到: 4 | 收藏夹 5 | 复制网址 6 | 邮件 7 | 微信 8 | QQ空间 9 | 腾讯微博 10 | 豆瓣 11 | 一键分享 12 | 13 | 更多 14 | 15 |
16 | 24 | 25 | -------------------------------------------------------------------------------- /layout/_scripts/boostrap.swig: -------------------------------------------------------------------------------- 1 | {% 2 | set boot_scripts = [ 3 | 'src/bootstrap.js' 4 | ] 5 | %} 6 | 7 | {% for bs in boot_scripts %} 8 | 9 | {% endfor %} 10 | -------------------------------------------------------------------------------- /layout/_scripts/commons.swig: -------------------------------------------------------------------------------- 1 | {% 2 | set js_commons = [ 3 | 'src/utils.js', 4 | 'src/motion.js' 5 | ] 6 | %} 7 | 8 | {% for common in js_commons %} 9 | 10 | {% endfor %} 11 | -------------------------------------------------------------------------------- /layout/_scripts/pages/post-details.swig: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /layout/_scripts/schemes/gemini.swig: -------------------------------------------------------------------------------- 1 | {% 2 | set scripts = [ 3 | 'src/affix.js', 4 | 'src/schemes/pisces.js' 5 | ] 6 | %} 7 | 8 | {% for script in scripts %} 9 | 10 | {% endfor %} 11 | -------------------------------------------------------------------------------- /layout/_scripts/schemes/mist.swig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/layout/_scripts/schemes/mist.swig -------------------------------------------------------------------------------- /layout/_scripts/schemes/muse.swig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/layout/_scripts/schemes/muse.swig -------------------------------------------------------------------------------- /layout/_scripts/schemes/pisces.swig: -------------------------------------------------------------------------------- 1 | {% 2 | set scripts = [ 3 | 'src/affix.js', 4 | 'src/schemes/pisces.js' 5 | ] 6 | %} 7 | 8 | {% for script in scripts %} 9 | 10 | {% endfor %} 11 | -------------------------------------------------------------------------------- /layout/_scripts/vendors.swig: -------------------------------------------------------------------------------- 1 | {# Reset `window.Promise` when it was not a function. #} 2 | {# IE refers the element whose id is `Promise` as `window.Promise`, this causes Velocity throwing an exception #} 3 | 8 | -------------------------------------------------------------------------------- /layout/_third-party/analytics/analytics-with-widget.swig: -------------------------------------------------------------------------------- 1 | {% include 'busuanzi-counter.swig' %} 2 | {% include 'tencent-mta.swig' %} 3 | {% include 'tencent-analytics.swig' %} 4 | {% include 'cnzz-analytics.swig' %} -------------------------------------------------------------------------------- /layout/_third-party/analytics/application-insights.swig: -------------------------------------------------------------------------------- 1 | {% if theme.application_insights %} 2 | 11 | {% endif %} -------------------------------------------------------------------------------- /layout/_third-party/analytics/baidu-analytics.swig: -------------------------------------------------------------------------------- 1 | {% if theme.baidu_analytics %} 2 | 11 | {% endif %} 12 | -------------------------------------------------------------------------------- /layout/_third-party/analytics/busuanzi-counter.swig: -------------------------------------------------------------------------------- 1 | {% if theme.busuanzi_count.enable %} 2 |
3 | 4 | 5 | {% if theme.busuanzi_count.site_uv %} 6 | 7 | {{ theme.busuanzi_count.site_uv_header }} 8 | 9 | {{ theme.busuanzi_count.site_uv_footer }} 10 | 11 | {% endif %} 12 | 13 | {% if theme.busuanzi_count.site_pv %} 14 | 15 | {{ theme.busuanzi_count.site_pv_header }} 16 | 17 | {{ theme.busuanzi_count.site_pv_footer }} 18 | 19 | {% endif %} 20 |
21 | {% endif %} 22 | -------------------------------------------------------------------------------- /layout/_third-party/analytics/cnzz-analytics.swig: -------------------------------------------------------------------------------- 1 | {% if theme.cnzz_siteid %} 2 | 3 |
4 | 5 |
6 | 7 | {% endif %} 8 | -------------------------------------------------------------------------------- /layout/_third-party/analytics/facebook-sdk.swig: -------------------------------------------------------------------------------- 1 | {% if theme.facebook_sdk.enable %} 2 | 19 | {% endif %} 20 | -------------------------------------------------------------------------------- /layout/_third-party/analytics/google-analytics.swig: -------------------------------------------------------------------------------- 1 | {% if theme.google_analytics %} 2 | 10 | {% endif %} -------------------------------------------------------------------------------- /layout/_third-party/analytics/index.swig: -------------------------------------------------------------------------------- 1 | {% include 'facebook-sdk.swig' %} 2 | {% include 'vkontakte-api.swig' %} 3 | {% include 'google-analytics.swig' %} 4 | {% include 'baidu-analytics.swig' %} 5 | {% include 'application-insights.swig' %} 6 | -------------------------------------------------------------------------------- /layout/_third-party/analytics/tencent-analytics.swig: -------------------------------------------------------------------------------- 1 | {% if theme.tencent_analytics %} 2 | 10 | {% endif %} 11 | -------------------------------------------------------------------------------- /layout/_third-party/analytics/tencent-mta.swig: -------------------------------------------------------------------------------- 1 | {% if theme.tencent_mta %} 2 | 14 | {% endif %} 15 | -------------------------------------------------------------------------------- /layout/_third-party/analytics/vkontakte-api.swig: -------------------------------------------------------------------------------- 1 | {% if theme.vkontakte_api.enable %} 2 | 3 |
4 | 26 | 27 | {% endif %} 28 | -------------------------------------------------------------------------------- /layout/_third-party/comments/changyan.swig: -------------------------------------------------------------------------------- 1 | {% if theme.changyan.enable and theme.changyan.appid and theme.changyan.appkey %} 2 | {% if is_home() %} 3 | 4 | {% else %} 5 | 16 | 17 | {% endif %} 18 | {% endif %} 19 | -------------------------------------------------------------------------------- /layout/_third-party/comments/disqus.swig: -------------------------------------------------------------------------------- 1 | {% if not (theme.duoshuo and theme.duoshuo.shortname) and not theme.duoshuo_shortname %} 2 | {% if theme.disqus.enable %} 3 | 4 | {% if page.comments %} 5 | 18 | {% endif %} 19 | 20 | {% endif %} 21 | {% endif %} 22 | -------------------------------------------------------------------------------- /layout/_third-party/comments/duoshuo.swig: -------------------------------------------------------------------------------- 1 | {% if (theme.duoshuo and theme.duoshuo.shortname) or theme.duoshuo_shortname %} 2 | 3 | {% if theme.duoshuo %} 4 | {% set duoshuo_shortname = theme.duoshuo.shortname %} 5 | {% else %} 6 | {% set duoshuo_shortname = theme.duoshuo_shortname %} 7 | {% endif %} 8 | 9 | 21 | 22 | {% if theme.duoshuo_info.ua_enable %} 23 | {% if theme.duoshuo_info.admin_enable %} 24 | {% set ua_parser_internal = url_for(theme.vendors._internal) + '/ua-parser-js/dist/ua-parser.min.js?v=0.7.9' %} 25 | 26 | 27 | {% endif %} 28 | {% set ua_parser_internal = url_for(theme.vendors._internal) + '/ua-parser-js/dist/ua-parser.min.js?v=0.7.9' %} 29 | 30 | 31 | {% endif %} 32 | 33 | {% endif %} 34 | -------------------------------------------------------------------------------- /layout/_third-party/comments/hypercomments.swig: -------------------------------------------------------------------------------- 1 | {% if not (theme.duoshuo and theme.duoshuo.shortname) and not theme.duoshuo_shortname and not theme.disqus_shortname %} 2 | 3 | {% if theme.hypercomments_id %} 4 | 5 | 24 | 25 | {% endif %} 26 | 27 | {% endif %} 28 | -------------------------------------------------------------------------------- /layout/_third-party/comments/index.swig: -------------------------------------------------------------------------------- 1 | {% include 'duoshuo.swig' %} 2 | {% include 'disqus.swig' %} 3 | {% include 'hypercomments.swig' %} 4 | {% include 'youyan.swig' %} 5 | {% include 'livere.swig' %} 6 | {% include 'changyan.swig' %} 7 | {% include 'gitment.swig' %} 8 | {% include 'valine.swig' %} 9 | -------------------------------------------------------------------------------- /layout/_third-party/comments/livere.swig: -------------------------------------------------------------------------------- 1 | {% if not (theme.duoshuo and theme.duoshuo.shortname) and not theme.duoshuo_shortname and not (theme.disqus.enable and theme.disqus.shortname) and not theme.hypercomments_id %} 2 | 3 | {% if page.comments and theme.livere_uid %} 4 | 14 | {% endif %} 15 | 16 | {% endif %} 17 | -------------------------------------------------------------------------------- /layout/_third-party/comments/valine.swig: -------------------------------------------------------------------------------- 1 | {% if page.comments and theme.valine.enable and theme.valine.appid and theme.valine.appkey %} 2 | 3 | 4 | 5 | 16 | {% endif %} 17 | -------------------------------------------------------------------------------- /layout/_third-party/comments/youyan.swig: -------------------------------------------------------------------------------- 1 | {% if not (theme.duoshuo and theme.duoshuo.shortname) 2 | and not theme.duoshuo_shortname 3 | and not theme.disqus_shortname 4 | and not theme.hypercomments_id %} 5 | 6 | {% if theme.youyan_uid %} 7 | {% set uid = theme.youyan_uid %} 8 | 9 | {% if page.comments %} 10 | 11 | 12 | 13 | {% endif %} 14 | {% endif %} 15 | 16 | {% endif %} 17 | -------------------------------------------------------------------------------- /layout/_third-party/duoshuo-hot-articles.swig: -------------------------------------------------------------------------------- 1 | {# 多说热评文章 #} 2 | {% if (theme.duoshuo_hotartical and page.title) %} 3 |

热评文章

4 |
5 | {% endif %} 6 | -------------------------------------------------------------------------------- /layout/_third-party/exturl.swig: -------------------------------------------------------------------------------- 1 | {% if theme.exturl %} 2 | 3 | {% endif %} 4 | -------------------------------------------------------------------------------- /layout/_third-party/mathjax.swig: -------------------------------------------------------------------------------- 1 | {% if theme.mathjax.enable %} 2 | {% if not theme.mathjax.per_page or (page.total or page.mathjax) %} 3 | 12 | 13 | 21 | 22 | {% endif %} 23 | {% endif %} 24 | -------------------------------------------------------------------------------- /layout/_third-party/needsharebutton.swig: -------------------------------------------------------------------------------- 1 | {% if theme.needmoreshare2.enable %} 2 | {% set needmoreshare2_css = url_for(theme.vendors._internal + '/needsharebutton/needsharebutton.css') %} 3 | {% if theme.vendors.needmoreshare2 %} 4 | {% set needmoreshare2_css = theme.vendors.needmoreshare2_css %} 5 | {% endif %} 6 | 7 | 8 | {% set needmoreshare2_js = url_for(theme.vendors._internal + '/needsharebutton/needsharebutton.js') %} 9 | {% if theme.vendors.needmoreshare2_js %} 10 | {% set needmoreshare2_js = theme.vendors.needmoreshare2_js %} 11 | {% endif %} 12 | 13 | 14 | 30 | {% endif %} -------------------------------------------------------------------------------- /layout/_third-party/rating.swig: -------------------------------------------------------------------------------- 1 | {% if theme.rating.enable and (not is_home() and is_post()) %} 2 | 18 | {% endif %} 19 | -------------------------------------------------------------------------------- /layout/_third-party/scroll-cookie.swig: -------------------------------------------------------------------------------- 1 | {% if theme.save_scroll %} 2 | 3 | 4 | {% endif %} 5 | -------------------------------------------------------------------------------- /layout/_third-party/search/algolia-search/assets.swig: -------------------------------------------------------------------------------- 1 | {% if theme.algolia_search.enable %} 2 | 3 | {# S: Include Algolia instantsearch.js library #} 4 | {% set algolia_instant_css = url_for(theme.vendors._internal + '/algolia-instant-search/instantsearch.min.css') %} 5 | {% if theme.vendors.algolia_instant_css %} 6 | {% set algolia_instant_css = theme.vendors.algolia_instant_css %} 7 | {% endif %} 8 | 9 | 10 | {% set algolia_instant_js = url_for(theme.vendors._internal + '/algolia-instant-search/instantsearch.min.js') %} 11 | {% if theme.vendors.algolia_instant_js %} 12 | {% set algolia_instant_js = theme.vendors.algolia_instant_js %} 13 | {% endif %} 14 | 15 | {# E: Include Algolia instantsearch.js library #} 16 | 17 | 18 | {% endif %} 19 | -------------------------------------------------------------------------------- /layout/_third-party/search/algolia-search/dom.swig: -------------------------------------------------------------------------------- 1 | {% if theme.algolia_search.enable %} 2 | 20 | {% endif %} 21 | -------------------------------------------------------------------------------- /layout/_third-party/search/index.swig: -------------------------------------------------------------------------------- 1 | {% include 'tinysou.swig' %} 2 | {% include 'localsearch.swig' %} 3 | {% include 'algolia-search/assets.swig' %} 4 | -------------------------------------------------------------------------------- /layout/_third-party/search/tinysou.swig: -------------------------------------------------------------------------------- 1 | {% if config.tinysou_Key %} 2 | 23 | {% endif %} -------------------------------------------------------------------------------- /layout/_third-party/seo/baidu-push.swig: -------------------------------------------------------------------------------- 1 | {% if theme.baidu_push %} 2 | 16 | {% endif %} 17 | -------------------------------------------------------------------------------- /layout/archive.swig: -------------------------------------------------------------------------------- 1 | {% extends '_layout.swig' %} 2 | {% import '_macro/post-collapse.swig' as post_template %} 3 | {% import '_macro/sidebar.swig' as sidebar_template %} 4 | 5 | {% block title %}{{ __('title.archive') }} | {{ config.title }}{% endblock %} 6 | 7 | {% block page_class %}page-archive{% endblock %} 8 | 9 | {% block content %} 10 | 11 | {#####################} 12 | {### ARCHIVE BLOCK ###} 13 | {#####################} 14 |
15 |
16 |

归档

17 |
18 |
19 | 分类 20 |
21 |
22 | {{ list_categories() }} 23 |
24 |
25 | 26 | {% for post in page.posts %} 27 | 28 | {# Show year #} 29 | {% set year %} 30 | {% set post.year = date(post.date, 'YYYY') %} 31 | 32 | {% if post.year !== year %} 33 | {% if year %} 34 |
35 | {% endif %} 36 | {% set year = post.year %} 37 |
38 |
39 | <{% if theme.seo %}h2{% else %}h1{% endif %} class="archive-year" id="archive-year-{{ year }}">{{ year }} 40 |
41 | {% endif %} 42 | {# endshow #} 43 | 44 | {{ post_template.render(post) }} 45 | 46 | {% endfor %} 47 |
48 | 49 |
50 | 51 | {#########################} 52 | {### END ARCHIVE BLOCK ###} 53 | {#########################} 54 | 55 | {% include '_partials/pagination.swig' %} 56 | 57 | {% endblock %} 58 | 59 | {% block sidebar %} 60 | {{ sidebar_template.render(false) }} 61 | {% endblock %} 62 | -------------------------------------------------------------------------------- /layout/category.swig: -------------------------------------------------------------------------------- 1 | {% extends '_layout.swig' %} 2 | {% import '_macro/post-collapse.swig' as post_template %} 3 | {% import '_macro/sidebar.swig' as sidebar_template %} 4 | 5 | {% block title %}{{ __('title.category') }}: {{ page.category }} | {{ config.title }}{% endblock %} 6 | 7 | {% block content %} 8 | 9 | {######################} 10 | {### CATEGORY BLOCK ###} 11 | {######################} 12 |
13 | 14 |
15 |
16 | <{% if theme.seo %}h2{% else %}h1{% endif %}>{# 17 | #}{{ page.category }}{# 18 | #}{{ __('title.category') }} 19 | 20 |
21 | 22 | {% for post in page.posts %} 23 | {{ post_template.render(post) }} 24 | {% endfor %} 25 |
26 | 27 |
28 | {##########################} 29 | {### END CATEGORY BLOCK ###} 30 | {##########################} 31 | 32 | {% include '_partials/pagination.swig' %} 33 | 34 | {% endblock %} 35 | 36 | {% block sidebar %} 37 | {{ sidebar_template.render(false) }} 38 | {% endblock %} 39 | -------------------------------------------------------------------------------- /layout/index.swig: -------------------------------------------------------------------------------- 1 | {% extends '_layout.swig' %} 2 | {% import '_macro/post.swig' as post_template %} 3 | {% import '_macro/sidebar.swig' as sidebar_template %} 4 | 5 | {% block title %}{{ config.title }}{% if theme.index_with_subtitle and config.subtitle %} - {{config.subtitle }}{% endif %}{% endblock %} 6 | 7 | {% block page_class %} 8 | {% if is_home() %}page-home{% endif -%} 9 | {% endblock %} 10 | 11 | {% block content %} 12 |
13 | {% for post in page.posts %} 14 | {{ post_template.render(post, true) }} 15 | {% endfor %} 16 |
17 | 18 | {% include '_partials/pagination.swig' %} 19 | {% endblock %} 20 | 21 | {% block sidebar %} 22 | {{ sidebar_template.render(false) }} 23 | {% endblock %} 24 | -------------------------------------------------------------------------------- /layout/post.swig: -------------------------------------------------------------------------------- 1 | {% extends '_layout.swig' %} 2 | {% import '_macro/post.swig' as post_template %} 3 | {% import '_macro/sidebar.swig' as sidebar_template %} 4 | 5 | 6 | {% block title %}{{ page.title }} | {{ config.title }}{% endblock %} 7 | 8 | {% block page_class %}page-post-detail{% endblock %} 9 | 10 | 11 | {% block content %} 12 | 13 |
14 | {{ post_template.render(page) }} 15 | 16 |
17 | {% if theme.jiathis %} 18 | {% include '_partials/share/jiathis.swig' %} 19 | {% elseif theme.baidushare %} 20 | {% include '_partials/share/baidushare.swig' %} 21 | {% elseif theme.add_this_id %} 22 | {% include '_partials/share/add-this.swig' %} 23 | {% elseif theme.duoshuo_shortname and theme.duoshuo_share %} 24 | {% include '_partials/share/duoshuo_share.swig' %} 25 | {% endif %} 26 |
27 |
28 | 29 | {% endblock %} 30 | 31 | {% block sidebar %} 32 | {{ sidebar_template.render(true) }} 33 | {% endblock %} 34 | 35 | {% block script_extra %} 36 | {% include '_scripts/pages/post-details.swig' %} 37 | {% endblock %} 38 | -------------------------------------------------------------------------------- /layout/schedule.swig: -------------------------------------------------------------------------------- 1 | {% extends '_layout.swig' %} 2 | {% import '_macro/sidebar.swig' as sidebar_template %} 3 | 4 | {% block title %}{{ __('title.schedule') }} | {{ config.title }}{% endblock %} 5 | 6 | {% block page_class %}page-post-detail page-calendar{% endblock %} 7 | 8 | {% block content %} 9 | {######################} 10 | {### SCHEDULE BLOCK ###} 11 | {######################} 12 |
13 |
14 | 16 |
17 |
18 | {##########################} 19 | {### END SCHEDULE BLOCK ###} 20 | {##########################} 21 | {% endblock %} 22 | 23 | {% block sidebar %} 24 | {{ sidebar_template.render(false) }} 25 | {% endblock %} 26 | -------------------------------------------------------------------------------- /layout/tag.swig: -------------------------------------------------------------------------------- 1 | {% extends '_layout.swig' %} 2 | {% import '_macro/post-collapse.swig' as post_template %} 3 | {% import '_macro/sidebar.swig' as sidebar_template %} 4 | 5 | {% block title %}{{ __('title.tag') }}: {{ page.tag }} | {{ config.title }}{% endblock %} 6 | 7 | {% block content %} 8 | 9 | {#################} 10 | {### TAG BLOCK ###} 11 | {#################} 12 |
13 | 14 |
15 |
16 | <{% if theme.seo %}h2{% else %}h1{% endif %}>{# 17 | #}{{ page.tag }}{# 18 | #}{{ __('title.tag') }} 19 | 20 |
21 | 22 | {% for post in page.posts %} 23 | {{ post_template.render(post) }} 24 | {% endfor %} 25 |
26 | 27 |
28 | {#####################} 29 | {### END TAG BLOCK ###} 30 | {#####################} 31 | 32 | {% include '_partials/pagination.swig' %} 33 | {% endblock %} 34 | 35 | {% block sidebar %} 36 | {{ sidebar_template.render(false) }} 37 | {% endblock %} 38 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hexo-theme-sagiri", 3 | "version": "0.0.1", 4 | "description": "As lovely as sagiri", 5 | "main": "index.js", 6 | "directories": { 7 | "test": "test" 8 | }, 9 | "scripts": { 10 | "build": "cross-env NODE_ENV=production webpack --config webpack.config.js --progress" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "git+https://github.com/DIYgod/hexo-theme-sagiri.git" 15 | }, 16 | "keywords": [ 17 | "sagiri", 18 | "Hexo" 19 | ], 20 | "author": "DIYgod", 21 | "license": "MIT", 22 | "bugs": { 23 | "url": "https://github.com/DIYgod/hexo-theme-sagiri/issues" 24 | }, 25 | "homepage": "https://diygod.me", 26 | "devDependencies": { 27 | "@babel/core": "^7.5.5", 28 | "@babel/preset-env": "^7.5.5", 29 | "babel-loader": "^8.0.6", 30 | "coffee-script": "^1.10.0", 31 | "cross-env": "7.0.3", 32 | "exports-loader": "2.0.0", 33 | "file-loader": "6.2.0", 34 | "git-revision-webpack-plugin": "3.0.6", 35 | "webpack": "^5.0.0", 36 | "webpack-bundle-analyzer": "^4.0.0", 37 | "webpack-cli": "4.5.0" 38 | }, 39 | "dependencies": { 40 | "aplayer": "1.10.1", 41 | "corner-notie": "1.2.1", 42 | "disqusjs": "^1.2.5", 43 | "dplayer": "1.26.0", 44 | "fancybox": "3.0.1", 45 | "fastclick": "1.0.6", 46 | "gsap": "3.6.0", 47 | "jquery-pjax": "2.0.1", 48 | "lazyload": "2.0.0-rc.2", 49 | "leancloud-storage": "4.10.1", 50 | "nprogress": "0.2.0", 51 | "social-share.js": "1.0.16", 52 | "velocity-animate": "1.5.2", 53 | "zoom-image": "0.1.4" 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /scripts/img.js: -------------------------------------------------------------------------------- 1 | hexo.extend.filter.register('after_render:html', (htmlContent) => { 2 | return htmlContent.replace(//gi, function (str, p1, p2) { 3 | if (/loading="lazy"/gi.test(p1)) { 4 | return str; 5 | } 6 | return `${str.replace('`; 7 | }); 8 | }); 9 | -------------------------------------------------------------------------------- /scripts/merge-configs.js: -------------------------------------------------------------------------------- 1 | /* global hexo */ 2 | 3 | var merge = require('./merge'); 4 | 5 | /** 6 | * Merge configs in _data/next.yml into hexo.theme.config. 7 | * Note: configs in _data/next.yml will override configs in hexo.theme.config. 8 | */ 9 | hexo.on('generateBefore', function () { 10 | if (hexo.locals.get) { 11 | var data = hexo.locals.get('data'); 12 | if ( data && data.next ) { 13 | if ( data.next.override ) { 14 | hexo.theme.config = data.next; 15 | } else { 16 | merge(hexo.theme.config, data.next); 17 | } 18 | } 19 | } 20 | }); 21 | -------------------------------------------------------------------------------- /scripts/tags/button.js: -------------------------------------------------------------------------------- 1 | /* global hexo */ 2 | // Usage: {% button /path/to/url/, text, icon [class], title %} 3 | // Alias: {% btn /path/to/url/, text, icon [class], title %} 4 | 5 | function postButton(args) { 6 | args = args.join(' ').split(','); 7 | var url = args[0]; 8 | var text = args[1] || ''; 9 | var icon = args[2] || ''; 10 | var title = args[3] || ''; 11 | 12 | if (!url) { 13 | hexo.log.warn('URL can NOT be empty'); 14 | } 15 | 16 | text = text.trim(); 17 | icon = icon.trim(); 18 | title = title.trim(); 19 | 20 | var result = [' 0 && result.push(' title="' + title + '"'); 22 | result.push('>'); 23 | icon.length > 0 && result.push(''); 24 | text.length > 0 && result.push(text); 25 | result.push(''); 26 | 27 | return result.join(''); 28 | } 29 | 30 | hexo.extend.tag.register('button', postButton); 31 | hexo.extend.tag.register('btn', postButton); 32 | -------------------------------------------------------------------------------- /scripts/tags/center-quote.js: -------------------------------------------------------------------------------- 1 | /* global hexo */ 2 | // Usage: {% centerquote %} Something {% endcenterquote %} 3 | // Alias: {% cq %} Something {% endcq %} 4 | 5 | function centerQuote (args, content) { 6 | return '
' + 7 | hexo.render.renderSync({text: content, engine: 'markdown'}) + 8 | '
'; 9 | } 10 | 11 | hexo.extend.tag.register('centerquote', centerQuote, {ends: true}); 12 | hexo.extend.tag.register('cq', centerQuote, {ends: true}); 13 | -------------------------------------------------------------------------------- /scripts/tags/full-image.js: -------------------------------------------------------------------------------- 1 | /* global hexo */ 2 | // Usage: {% fullimage /path/to/image, alt, title %} 3 | // Alias: {% fi /path/to/image, alt, title %} 4 | 5 | function fullImage(args) { 6 | args = args.join(' ').split(','); 7 | var src = args[0]; 8 | var alt = args[1] || ''; 9 | var title = args[2] || ''; 10 | 11 | if (!src) { 12 | hexo.log.warn('Image src can NOT be empty'); 13 | } 14 | alt = alt.trim(); 15 | title = title.trim(); 16 | 17 | var image = [' 0 && image.push('alt="' + alt + '"'); 19 | title.length > 0 && image.push('title="' + title + '"'); 20 | image.push('/>'); 21 | 22 | return image.join(' '); 23 | } 24 | 25 | hexo.extend.tag.register('fullimage', fullImage); 26 | hexo.extend.tag.register('fi', fullImage); 27 | -------------------------------------------------------------------------------- /scripts/tags/label.js: -------------------------------------------------------------------------------- 1 | /** 2 | * label.js | global hexo script. 3 | * 4 | * Usage: 5 | * 6 | * {% label [class]@Text %} 7 | * 8 | * [class] : default | primary | success | info | warning | danger. 9 | * If not defined, default class will be selected. 10 | */ 11 | 12 | function postLabel (args) { 13 | args = args.join(' ').split('@'); 14 | var classes = args[0] || 'default'; 15 | var text = args[1] || ''; 16 | 17 | classes = classes.trim(); 18 | !text && hexo.log.warn('Label text must be defined!'); 19 | 20 | return '' + text + ''; 21 | } 22 | 23 | hexo.extend.tag.register('label', postLabel, { ends: false }); 24 | -------------------------------------------------------------------------------- /scripts/tags/lazy-image.js: -------------------------------------------------------------------------------- 1 | /* global hexo */ 2 | // Usage: {% lazyimage /path/to/image, alt, title %} 3 | // Alias: {% li /path/to/image, alt, title %} 4 | 5 | function lazyImage(args) { 6 | args = args.join(' ').split(','); 7 | var src = args[0]; 8 | var alt = args[1] || ''; 9 | var title = args[2] || ''; 10 | 11 | if (!src) { 12 | hexo.log.warn('Image src can NOT be empty'); 13 | } 14 | alt = alt.trim(); 15 | title = title.trim(); 16 | 17 | var image = [' 0 && image.push('alt="' + alt + '"'); 19 | title.length > 0 && image.push('title="' + title + '"'); 20 | image.push('/>'); 21 | 22 | return image.join(' '); 23 | } 24 | 25 | hexo.extend.tag.register('lazyimage', lazyImage); 26 | hexo.extend.tag.register('li', lazyImage); 27 | -------------------------------------------------------------------------------- /scripts/tags/note.js: -------------------------------------------------------------------------------- 1 | /** 2 | * note.js | global hexo script. 3 | * 4 | * ATTENTION! No need to write this tag in 1 line if u don't want see probally bugs. 5 | * 6 | * Usage: 7 | * 8 | * {% note [class] %} 9 | * Any content (support inline tags too). 10 | * {% endnote %} 11 | * 12 | * [class] : default | primary | success | info | warning | danger. 13 | * May be not defined. 14 | */ 15 | 16 | function bscallOut (args, content) { 17 | return '
' + hexo.render.renderSync({text: content, engine: 'markdown'}).trim() + '
'; 18 | } 19 | 20 | hexo.extend.tag.register('note', bscallOut, {ends: true}); 21 | -------------------------------------------------------------------------------- /source/css/_common/components/back-to-top-sidebar.styl: -------------------------------------------------------------------------------- 1 | .back-to-top { 2 | display: none; 3 | margin: 20px -10px -20px; 4 | background: $body-bg-color; 5 | font-size: $b2t-font-size; 6 | opacity: $b2t-opacity; 7 | cursor: pointer; 8 | text-align: center; 9 | -webkit-transform: translateZ(0); 10 | the-transition(); 11 | &:hover { opacity: 0.8; } 12 | 13 | +tablet() { 14 | fixbutton() if hexo-config('sidebar.onmobile'); 15 | hide() if not hexo-config('sidebar.onmobile'); 16 | } 17 | +mobile() { 18 | fixbutton() if hexo-config('sidebar.onmobile'); 19 | hide() if not hexo-config('sidebar.onmobile'); 20 | } 21 | 22 | &.back-to-top-on { 23 | display: block; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /source/css/_common/components/back-to-top.styl: -------------------------------------------------------------------------------- 1 | .back-to-top { 2 | box-sizing: border-box; 3 | position: fixed; 4 | bottom: $b2t-position-bottom; 5 | right: $b2t-position-right; 6 | z-index: $zindex-5; 7 | width: hexo-config('sidebar.scrollpercent') ? initial : 24px; 8 | font-size: $b2t-font-size; 9 | opacity: $b2t-opacity; 10 | color: $b2t-color; 11 | cursor: pointer; 12 | text-align: center; 13 | -webkit-transform: translateZ(0); 14 | transition-property: bottom; 15 | the-transition(); 16 | 17 | +tablet() { 18 | fixbutton() if hexo-config('sidebar.onmobile'); 19 | hide() if not hexo-config('sidebar.onmobile'); 20 | } 21 | +mobile() { 22 | fixbutton() if hexo-config('sidebar.onmobile'); 23 | hide() if not hexo-config('sidebar.onmobile'); 24 | } 25 | 26 | &.back-to-top-on { 27 | bottom: $b2t-position-bottom-on; 28 | } 29 | 30 | picture, 31 | img { 32 | width: 100%; 33 | height: 100%; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /source/css/_common/components/buttons.styl: -------------------------------------------------------------------------------- 1 | .btn { 2 | display: inline-block; 3 | padding: 0 20px; 4 | font-size: $btn-default-font-size; 5 | color: $btn-default-color; 6 | background: $btn-default-bg; 7 | border: $btn-default-border-width solid $btn-default-border-color; 8 | text-decoration: none; 9 | border-radius: $btn-default-radius; 10 | transition-property: background-color; 11 | the-transition(); 12 | line-height: 2; 13 | 14 | &:hover { 15 | border-color: $btn-default-hover-border-color; 16 | color: $btn-default-hover-color; 17 | background: $btn-default-hover-bg; 18 | } 19 | 20 | +.btn { 21 | margin: 0 0 8px 8px; 22 | } 23 | 24 | .fa-fw { 25 | width: (18em / 14); 26 | text-align: left; 27 | } 28 | } 29 | 30 | .btn-bar { 31 | display: block; 32 | width: 22px; 33 | height: 2px; 34 | background: $text-color; 35 | border-radius: 1px; 36 | 37 | &+.btn-bar { margin-top: 4px; } 38 | } 39 | -------------------------------------------------------------------------------- /source/css/_common/components/comments.styl: -------------------------------------------------------------------------------- 1 | .comments { margin: 60px 20px 0; } 2 | -------------------------------------------------------------------------------- /source/css/_common/components/components.styl: -------------------------------------------------------------------------------- 1 | @import "highlight"; 2 | @import "tags"; 3 | 4 | @import "buttons"; 5 | @import "pagination"; 6 | @import "comments"; 7 | @import "tag-cloud"; 8 | @import hexo-config('sidebar.b2t') ? "back-to-top-sidebar" : "back-to-top"; 9 | 10 | @import "header"; 11 | @import "post"; 12 | @import "sidebar"; 13 | @import "footer"; 14 | @import "third-party"; 15 | 16 | @import "pages"; 17 | -------------------------------------------------------------------------------- /source/css/_common/components/footer/footer.styl: -------------------------------------------------------------------------------- 1 | .footer { 2 | font-size: 14px; 3 | color: $grey-dark; 4 | 5 | img { border: none; } 6 | } 7 | 8 | .footer-inner { text-align: center; } 9 | 10 | .with-love { 11 | display: inline-block; 12 | margin: 0 5px; 13 | } 14 | 15 | .powered-by, 16 | .theme-info { display: inline-block; } 17 | 18 | .cc-license { 19 | margin-top: 10px; 20 | text-align: center; 21 | 22 | .cc-opacity { 23 | opacity: 0.7; 24 | border-bottom: none; 25 | 26 | &:hover { opacity: 0.9; } 27 | } 28 | 29 | img { display: inline-block; } 30 | } 31 | -------------------------------------------------------------------------------- /source/css/_common/components/header/header.styl: -------------------------------------------------------------------------------- 1 | .header { background: $head-bg; } 2 | 3 | .header-inner { position: relative; } 4 | 5 | 6 | @import "headerband"; 7 | @import "site-meta"; 8 | @import "site-nav"; 9 | @import "menu"; 10 | -------------------------------------------------------------------------------- /source/css/_common/components/header/headerband.styl: -------------------------------------------------------------------------------- 1 | .headband { 2 | height: $headband-height; 3 | background: $headband-bg; 4 | } 5 | -------------------------------------------------------------------------------- /source/css/_common/components/header/menu.styl: -------------------------------------------------------------------------------- 1 | // Menu 2 | // -------------------------------------------------- 3 | .menu { 4 | margin-top: 20px; 5 | padding-left: 0; 6 | text-align: center; 7 | } 8 | 9 | .menu .menu-item { 10 | display: inline-block; 11 | margin: 0 10px; 12 | list-style: none; 13 | 14 | @media screen and (max-width: 767px) { 15 | margin-top: 10px; 16 | } 17 | 18 | a { 19 | display: block; 20 | font-size: 13px; 21 | line-height: inherit; 22 | border-bottom: 1px solid $menu-link-border; 23 | transition-property: border-color; 24 | the-transition(); 25 | 26 | &:hover { border-bottom-color: $menu-link-hover-border; } 27 | } 28 | 29 | i { margin-right: 5px; } 30 | } 31 | 32 | .use-motion .menu-item { opacity: 0; } 33 | -------------------------------------------------------------------------------- /source/css/_common/components/header/site-meta.styl: -------------------------------------------------------------------------------- 1 | .site-meta { 2 | margin: 0; 3 | text-align: $site-meta-text-align; 4 | 5 | +mobile() { text-align: center; } 6 | } 7 | 8 | .brand { 9 | position: relative; 10 | display: inline-block; 11 | padding: 0 40px; 12 | color: $brand-color; 13 | background: $brand-bg; 14 | border-bottom: none; 15 | &:hover { color: $brand-hover-color; } 16 | } 17 | 18 | .logo { 19 | display: inline-block; 20 | margin-right: 5px; 21 | line-height: 36px; 22 | vertical-align: top; 23 | } 24 | 25 | .site-subtitle { 26 | margin-top: 10px; 27 | font-size: $subtitle-font-size; 28 | color: $subtitle-color; 29 | } 30 | 31 | .use-motion { 32 | .brand { opacity: 0; } 33 | 34 | .logo, .site-title, .site-subtitle { 35 | opacity: 0; 36 | position: relative; 37 | top: -10px; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /source/css/_common/components/header/site-nav.styl: -------------------------------------------------------------------------------- 1 | .site-nav-toggle { 2 | display: none; 3 | position: absolute; 4 | top: 10px; 5 | left: 10px; 6 | 7 | button { 8 | margin-top: 2px; 9 | padding: 9px 10px; 10 | background: transparent; 11 | border: none; 12 | } 13 | } 14 | 15 | .site-nav { 16 | +tablet() { display: block !important; } 17 | +desktop() { display: block !important; } 18 | } 19 | -------------------------------------------------------------------------------- /source/css/_common/components/highlight/diff.styl: -------------------------------------------------------------------------------- 1 | $highlight_theme = hexo-config("highlight_theme") 2 | 3 | if $highlight_theme == "normal" 4 | $highlight-deletion = #fdd 5 | $highlight-addition = #dfd 6 | else 7 | $highlight-deletion = #008000 8 | $highlight-addition = #800000 9 | -------------------------------------------------------------------------------- /source/css/_common/components/pages/archive.styl: -------------------------------------------------------------------------------- 1 | .page-archive { 2 | 3 | .archive-page-counter { 4 | position: relative; 5 | top: 3px; 6 | left: 20px; 7 | 8 | +mobile() { 9 | top: 5px; 10 | } 11 | } 12 | 13 | .posts-collapse { 14 | 15 | .archive-move-on { 16 | position: absolute; 17 | top: 11px; 18 | left: 0; 19 | margin-left: -6px; 20 | width: 10px; 21 | height: 10px; 22 | opacity: 0.5; 23 | background: $black-light; 24 | border: 1px solid white; 25 | 26 | circle(); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /source/css/_common/components/pages/categories.styl: -------------------------------------------------------------------------------- 1 | .category-all-page { 2 | .category-all-title { text-align: center; } 3 | 4 | .category-all { margin-top: 20px; } 5 | 6 | .category-list { 7 | margin: 0; 8 | padding: 0; 9 | list-style: none; 10 | } 11 | 12 | .category-list-item { margin: 5px 10px; } 13 | 14 | .category-list-count { 15 | color: $grey; 16 | &:before { 17 | display: inline; 18 | content: " (" 19 | } 20 | &:after { 21 | display: inline; 22 | content: ") " 23 | } 24 | } 25 | 26 | .category-list-child { padding-left: 10px; } 27 | } 28 | -------------------------------------------------------------------------------- /source/css/_common/components/pages/pages.styl: -------------------------------------------------------------------------------- 1 | // Page specific styles 2 | 3 | @import "archive"; 4 | @import "categories"; 5 | @import "schedule"; 6 | @import "post-detail"; 7 | -------------------------------------------------------------------------------- /source/css/_common/components/pages/post-detail.styl: -------------------------------------------------------------------------------- 1 | .page-post-detail { 2 | 3 | .sidebar-toggle-line { background: $sidebar-highlight; } 4 | 5 | .comments { overflow: hidden; } 6 | } 7 | -------------------------------------------------------------------------------- /source/css/_common/components/pagination.styl: -------------------------------------------------------------------------------- 1 | .pagination { 2 | margin: 120px 0 40px; 3 | text-align: center; 4 | border-top: 1px solid $pagination-border; 5 | } 6 | 7 | .page-number-basic { 8 | display: inline-block; 9 | position: relative; 10 | top: -1px; 11 | margin: 0 10px; 12 | padding: 0 11px; 13 | 14 | +mobile() { margin: 0 5px; } 15 | } 16 | 17 | .pagination { 18 | .prev, .next, .page-number { 19 | @extend .page-number-basic; 20 | border-bottom: 0; 21 | border-top: 1px solid $pagination-link-border; 22 | transition-property: border-color; 23 | the-transition(); 24 | 25 | &:hover { border-top-color: $pagination-link-hover-border; } 26 | } 27 | 28 | .space { 29 | @extend .page-number-basic; 30 | padding: 0; 31 | margin: 0; 32 | } 33 | 34 | .prev { margin-left: 0; } 35 | .next { margin-right: 0; } 36 | 37 | .page-number.current { 38 | color: $pagination-active-color; 39 | background: $pagination-active-bg; 40 | border-top-color: $pagination-active-border; 41 | } 42 | } 43 | 44 | @media (max-width: 767px) 45 | .pagination { border-top: none; } 46 | 47 | .pagination { 48 | .prev, .next, .page-number { 49 | border-top: 0; 50 | border-bottom: 1px solid $pagination-link-border; 51 | padding: 0 10px; 52 | 53 | &:hover { border-bottom-color: $pagination-link-hover-border; } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /source/css/_common/components/post/post-button.styl: -------------------------------------------------------------------------------- 1 | .post-button { 2 | margin-top: 40px; 3 | } 4 | -------------------------------------------------------------------------------- /source/css/_common/components/post/post-copyright.styl: -------------------------------------------------------------------------------- 1 | .post-copyright { 2 | margin: $post-copyright.margin; 3 | padding: $post-copyright.padding; 4 | border-left: $post-copyright.border.width $post-copyright.border.style $post-copyright.border.color; 5 | background-color: $post-copyright.bg; 6 | list-style: none; 7 | } 8 | -------------------------------------------------------------------------------- /source/css/_common/components/post/post-eof.styl: -------------------------------------------------------------------------------- 1 | .posts-expand { 2 | .post-eof { 3 | display: block; 4 | margin: $post-eof-margin-top auto $post-eof-margin-bottom; 5 | width: 8%; 6 | height: 1px; 7 | background: $grey-light; 8 | text-align: center; 9 | } 10 | } 11 | 12 | 13 | .post:last-child { 14 | .post-eof.post-eof.post-eof { 15 | display: none; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /source/css/_common/components/post/post-expand.styl: -------------------------------------------------------------------------------- 1 | // TODO: Refactor. 2 | 3 | .posts-expand { 4 | padding-top: 40px; 5 | } 6 | 7 | @media (max-width: 767px) { 8 | 9 | .post-body { 10 | pre { 11 | .gutter pre { 12 | padding-right: 10px; 13 | } 14 | } 15 | 16 | .highlight { 17 | margin-left: 0px; 18 | margin-right: 0px; 19 | padding: 0; 20 | .gutter pre { 21 | padding-right: 10px; 22 | } 23 | } 24 | } 25 | } 26 | 27 | .posts-expand .post-body { 28 | +desktop() { text-align: justify; } 29 | 30 | 31 | h2, h3, h4, h5, h6 { 32 | padding-top: 10px; 33 | 34 | .header-anchor{ 35 | float: right; 36 | margin-left: 10px; 37 | color: $grey-light; 38 | border-bottom-style: none; 39 | visibility: hidden; 40 | 41 | &:hover{ 42 | color: inherit; 43 | } 44 | } 45 | 46 | &:hover .header-anchor{ 47 | visibility: visible; 48 | } 49 | } 50 | 51 | ul li { list-style: circle; } 52 | 53 | img { 54 | box-sizing: border-box; 55 | margin: auto; 56 | padding: 3px; 57 | } 58 | } 59 | 60 | .posts-expand .post-body .fancybox img { margin: 0 auto 25px; } 61 | -------------------------------------------------------------------------------- /source/css/_common/components/post/post-gallery.styl: -------------------------------------------------------------------------------- 1 | .post-gallery { 2 | display: table; 3 | table-layout: fixed; 4 | width: 100%; 5 | border-collapse: separate; 6 | } 7 | 8 | .post-gallery-row { display: table-row; } 9 | 10 | .post-gallery .post-gallery-img { 11 | display: table-cell; 12 | text-align: center; 13 | vertical-align: middle; 14 | border: none; 15 | } 16 | 17 | .post-gallery .post-gallery-img img { 18 | max-width: 100%; 19 | max-height: 100%; 20 | border: none; 21 | } 22 | 23 | .fancybox-close, .fancybox-close:hover { border: none; } 24 | -------------------------------------------------------------------------------- /source/css/_common/components/post/post-meta.styl: -------------------------------------------------------------------------------- 1 | .posts-expand .post-meta { 2 | margin: 3px 0 60px 0; 3 | color: $grey-dark; 4 | font-family: $font-family-posts; 5 | font-size: 12px; 6 | text-align: center; 7 | 8 | .post-category-list { 9 | display: inline-block; 10 | margin: 0; 11 | padding: 3px; 12 | } 13 | .post-category-list-link { color: $grey-dark; } 14 | 15 | .post-description { 16 | font-size: 14px; 17 | margin-top: 2px; 18 | } 19 | } 20 | 21 | .post-wordcount { 22 | if !hexo-config('post_wordcount.separated_meta') { display: inline-block; } 23 | } 24 | 25 | .post-meta-divider { 26 | margin: 0 .5em; 27 | } 28 | 29 | .post-meta-item-icon { 30 | margin-right: 3px; 31 | +tablet() { 32 | display: inline-block; 33 | } 34 | +mobile() { 35 | display: inline-block; 36 | } 37 | } 38 | .post-meta-item-text { 39 | +tablet() { 40 | display: none; 41 | } 42 | +mobile() { 43 | display: none; 44 | } 45 | } 46 | 47 | .posts-expand .post-comments-count { 48 | +mobile() { display: none; } 49 | } 50 | -------------------------------------------------------------------------------- /source/css/_common/components/post/post-nav.styl: -------------------------------------------------------------------------------- 1 | .post-nav { 2 | display: table; 3 | margin-top: 15px; 4 | width: 100%; 5 | border-top: 1px solid $gainsboro; 6 | } 7 | 8 | .post-nav-divider { 9 | display: table-cell; 10 | width: 10%; 11 | } 12 | 13 | .post-nav-item { 14 | display: table-cell; 15 | padding: 40px 0 0 0; 16 | width: 45%; 17 | vertical-align: top; 18 | 19 | a { 20 | position: relative; 21 | display: block; 22 | line-height: 25px; 23 | font-size: 14px; 24 | color: $link-color; 25 | border-bottom: none; 26 | 27 | &:hover { 28 | color: $link-hover-color; 29 | border-bottom: none; 30 | } 31 | 32 | &:active { top: 2px; } 33 | } 34 | 35 | .fa { 36 | position: absolute; 37 | top: 8px; 38 | left: 0; 39 | font-size: 12px; 40 | } 41 | 42 | } 43 | 44 | .post-nav-next { 45 | a { padding-left: 15px; } 46 | } 47 | 48 | .post-nav-prev { 49 | text-align: right; 50 | 51 | a { padding-right: 15px; } 52 | 53 | .fa { 54 | right: 0; 55 | left: auto; 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /source/css/_common/components/post/post-reward.styl: -------------------------------------------------------------------------------- 1 | #rewardButton { 2 | cursor: pointer; 3 | border: 0; 4 | outline: 0; 5 | border-radius: 5px; 6 | padding: 0; 7 | margin: 0; 8 | letter-spacing: normal; 9 | text-transform: none; 10 | text-indent: 0px; 11 | text-shadow: none; 12 | } 13 | #rewardButton span { 14 | display: inline-block; 15 | width: 80px; 16 | height: 35px; 17 | border-radius: 5px; 18 | color: #fff; 19 | font-weight: 400; 20 | font-style: normal; 21 | font-variant: normal; 22 | font-stretch: normal; 23 | font-size: 18px; 24 | font-family: "Microsoft Yahei"; 25 | background: #F44336; 26 | } 27 | #rewardButton span:hover{ 28 | background: #F7877F; 29 | } 30 | #QR{ 31 | padding-top:20px; 32 | } 33 | #QR a{ 34 | border:0; 35 | } 36 | #QR img{ 37 | width: 180px; 38 | max-width: 100%; 39 | display: inline-block; 40 | margin: 0.8em 2em 0 2em; 41 | } 42 | #wechat:hover p{ 43 | animation: roll 0.1s infinite linear; 44 | -webkit-animation: roll 0.1s infinite linear; 45 | -moz-animation: roll 0.1s infinite linear; 46 | } 47 | #alipay:hover p{ 48 | animation: roll 0.1s infinite linear; 49 | -webkit-animation: roll 0.1s infinite linear; 50 | -moz-animation: roll 0.1s infinite linear; 51 | } 52 | #bitcoin:hover p { 53 | animation: roll 0.1s infinite linear; 54 | -webkit-animation: roll 0.1s infinite linear; 55 | -moz-animation: roll 0.1s infinite linear; 56 | } 57 | @keyframes roll { 58 | from { 59 | transform(rotateZ(30deg)); 60 | } 61 | to { 62 | transform(rotateZ(-30deg)); 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /source/css/_common/components/post/post-rtl.styl: -------------------------------------------------------------------------------- 1 | .rtl { 2 | &.post-body { 3 | p, a, h1, h2, h3, h4, h5, h6, li, ul, ol { 4 | direction: rtl; 5 | font-family: UKIJ Ekran; 6 | } 7 | } 8 | &.post-title { 9 | font-family: UKIJ Ekran; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /source/css/_common/components/post/post-tags.styl: -------------------------------------------------------------------------------- 1 | .posts-expand .post-tags { 2 | margin-top: 40px; 3 | text-align: center; 4 | 5 | a { 6 | display: inline-block; 7 | margin-right: 10px; 8 | font-size: 13px; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /source/css/_common/components/post/post-title.styl: -------------------------------------------------------------------------------- 1 | .posts-expand .post-title { 2 | text-align: center; 3 | word-break: break-word; 4 | font-weight: $posts-expand-title-font-weight 5 | } 6 | .posts-expand .post-title-link { 7 | display: inline-block; 8 | position: relative; 9 | color: $black-light; 10 | border-bottom: none; 11 | line-height: 1.2; 12 | vertical-align: top; 13 | 14 | .fa { font-size: 16px; } 15 | } 16 | -------------------------------------------------------------------------------- /source/css/_common/components/post/post-type.styl: -------------------------------------------------------------------------------- 1 | // TODO: Refactor. 2 | 3 | .page-home, .page-post-detail { 4 | .post-type-quote { 5 | .post-header, 6 | .post-tags { 7 | display: none; 8 | } 9 | 10 | blockquote { 11 | @extend .blockquote-center 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /source/css/_common/components/post/post-widgets.styl: -------------------------------------------------------------------------------- 1 | .post-widgets { 2 | border-top: 1px solid #eee; 3 | padding-top: 9px; 4 | margin-top: 45px; 5 | display: flex; 6 | justify-content: center; 7 | flex-wrap: wrap; 8 | align-items: center; 9 | 10 | .post-meta-divider { 11 | height: 28px; 12 | color: $grey-dark; 13 | } 14 | } 15 | 16 | .wp_rating { 17 | height: 20px; 18 | margin-right: 10px; 19 | text-align: center; 20 | line-height: 20px; 21 | padding-top: 6px; 22 | } 23 | 24 | .social-like { 25 | font-size: 14px; 26 | text-align: center; 27 | display: flex; 28 | justify-content: center; 29 | } 30 | 31 | .vk_like { 32 | width: 85px; 33 | height: 21px; 34 | padding-top: 7px; 35 | align-self: center; 36 | } 37 | 38 | .fb_like { 39 | height: 30px; 40 | align-self: center; 41 | } 42 | -------------------------------------------------------------------------------- /source/css/_common/components/sidebar/sidebar-author-links.styl: -------------------------------------------------------------------------------- 1 | .links-of-author { 2 | margin-top: 20px; 3 | } 4 | 5 | .links-of-author a { 6 | display: inline-block; 7 | vertical-align: middle; 8 | margin-right: 10px; 9 | margin-bottom: 10px; 10 | border-bottom-color: $black-light; 11 | font-size: 13px; 12 | 13 | &:before { 14 | display: inline-block; 15 | vertical-align: middle; 16 | margin-right: 3px; 17 | content: " "; 18 | width: 4px; 19 | height: 4px; 20 | border-radius: 50%; 21 | background: rgb(random-color(0, 255) - 50%, random-color(0, 255) - 50%, random-color(0, 255) - 50%); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /source/css/_common/components/sidebar/sidebar-author.styl: -------------------------------------------------------------------------------- 1 | .site-author-image { 2 | display: block; 3 | margin: 0 auto; 4 | padding: $site-author-image-padding; 5 | max-width: $site-author-image-width; 6 | height: $site-author-image-height; 7 | border: $site-author-image-border-width solid $site-author-image-border-color; 8 | } 9 | 10 | .site-author-name { 11 | margin: $site-author-name-margin; 12 | text-align: $site-author-name-align; 13 | color: $site-author-name-color; 14 | font-weight: $site-author-name-weight; 15 | } 16 | 17 | .site-description { 18 | margin-top: $site-description-margin-top; 19 | text-align: $site-description-align; 20 | font-size: $site-description-font-size; 21 | color: $site-description-color; 22 | } 23 | -------------------------------------------------------------------------------- /source/css/_common/components/sidebar/sidebar-blogroll.styl: -------------------------------------------------------------------------------- 1 | .links-of-blogroll { font-size: 13px; } 2 | 3 | .links-of-blogroll-title { 4 | margin-top: 20px; 5 | font-size: 14px; 6 | font-weight: $font-weight-bold; 7 | } 8 | .links-of-blogroll-list { 9 | margin: 0; 10 | padding: 0; 11 | list-style: none; 12 | } 13 | 14 | .links-of-blogroll-item { 15 | padding: 2px 10px; 16 | 17 | a { 18 | max-width: 280px; 19 | box-sizing: border-box; 20 | display: inline-block; 21 | overflow: hidden; 22 | white-space: nowrap; 23 | text-overflow: ellipsis; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /source/css/_common/components/sidebar/sidebar-dimmer.styl: -------------------------------------------------------------------------------- 1 | .sidebar-active #sidebar-dimmer { 2 | opacity: .7; 3 | -webkit-transform: translateX(-150%); 4 | transform: translateX(-150%); 5 | transition: opacity .2s; 6 | } 7 | 8 | #sidebar-dimmer { 9 | display: none; 10 | position: absolute; 11 | top: 0; 12 | left: 100%; 13 | width: 200%; 14 | height: 100%; 15 | background: #000; 16 | opacity: 0; 17 | transition: opacity .2s,transform 0s .2s; 18 | +mobile() { 19 | display: block; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /source/css/_common/components/sidebar/sidebar-feed-link.styl: -------------------------------------------------------------------------------- 1 | .feed-link { 2 | margin-top: 20px; 3 | 4 | a { 5 | display: inline-block; 6 | color: rgb(252, 100, 35); 7 | border: 1px solid rgb(252, 100, 35); 8 | border-radius: 4px; 9 | 10 | i { 11 | font-size: 14px; 12 | vertical-align: middle; 13 | margin-right: 2px; 14 | } 15 | 16 | span { 17 | vertical-align: middle; 18 | } 19 | 20 | &:hover { 21 | color:white; 22 | background: rgb(252, 100, 35); 23 | 24 | i { color: white; } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /source/css/_common/components/sidebar/sidebar-nav.styl: -------------------------------------------------------------------------------- 1 | // Sidebar Navigation 2 | 3 | .sidebar-nav { 4 | margin: 0 0 20px; 5 | padding-left: 0; 6 | } 7 | .sidebar-nav li { 8 | display: inline-block; 9 | cursor: pointer; 10 | border-bottom: 1px solid transparent; 11 | font-size: 14px; 12 | color: $sidebar-nav-color; 13 | 14 | &:hover { color: $sidebar-nav-hover-color; } 15 | } 16 | 17 | .sidebar-nav-toc { padding: 0 5px; } 18 | 19 | .sidebar-nav-overview { margin-left: 10px; } 20 | 21 | .sidebar-nav .sidebar-nav-active { 22 | color: $sidebar-highlight; 23 | border-bottom-color: $sidebar-highlight; 24 | 25 | &:hover { color: $sidebar-highlight; } 26 | } 27 | 28 | .sidebar-panel { display: none; } 29 | .sidebar-panel-active { display: block; } 30 | -------------------------------------------------------------------------------- /source/css/_common/components/sidebar/sidebar-toc.styl: -------------------------------------------------------------------------------- 1 | 2 | .post-toc-empty { 3 | font-size: 14px; 4 | color: $grey-dim; 5 | } 6 | 7 | .post-toc-wrap { overflow: hidden; } 8 | 9 | .post-toc { overflow: auto; } 10 | 11 | .post-toc ol { 12 | margin: 0; 13 | padding: 0 2px 5px 10px; 14 | text-align: left; 15 | list-style: none; 16 | font-size: 14px; 17 | 18 | & > ol { padding-left: 0; } 19 | 20 | a { 21 | the-transition(); 22 | transition-property: all; 23 | color: $toc-link-color; 24 | border-bottom-color: $toc-link-border-color; 25 | 26 | &:hover { 27 | color: $toc-link-hover-color; 28 | border-bottom-color: $toc-link-hover-border-color; 29 | } 30 | } 31 | } 32 | 33 | .post-toc .nav-item { 34 | overflow: hidden; 35 | text-overflow: ellipsis; 36 | white-space: nowrap if !hexo-config('toc.wrap'); 37 | line-height: 1.8; 38 | } 39 | 40 | .post-toc .nav .nav-child { display: none; } 41 | 42 | .post-toc .nav .active > .nav-child { display: block; } 43 | 44 | .post-toc .nav .active-current > .nav-child { 45 | display: block; 46 | & > .nav-item { display: block; } 47 | } 48 | 49 | .post-toc .nav .active > a { 50 | color: $toc-link-active-color; 51 | border-bottom-color: $toc-link-active-border-color; 52 | } 53 | 54 | .post-toc .nav .active-current > a { 55 | color: $toc-link-active-current-color; 56 | &:hover { 57 | color: $toc-link-active-current-border-color; 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /source/css/_common/components/sidebar/sidebar-toggle.styl: -------------------------------------------------------------------------------- 1 | .sidebar-toggle { 2 | position: fixed; 3 | right: $b2t-position-right; 4 | bottom: 45px; 5 | width: 14px; 6 | height: 14px; 7 | padding: 5px; 8 | background: $black-deep; 9 | line-height: 0; 10 | z-index: $zindex-5; 11 | cursor: pointer; 12 | -webkit-transform: translateZ(0); 13 | 14 | +tablet() { 15 | fixbutton() if hexo-config('sidebar.onmobile'); 16 | hide() if not hexo-config('sidebar.onmobile'); 17 | } 18 | +mobile() { 19 | fixbutton() if hexo-config('sidebar.onmobile'); 20 | hide() if not hexo-config('sidebar.onmobile'); 21 | } 22 | } 23 | 24 | 25 | 26 | .sidebar-toggle-line { 27 | position: relative; 28 | display: inline-block; 29 | vertical-align: top; 30 | height: 2px; 31 | width: 100%; 32 | background: white; 33 | margin-top: 3px; 34 | 35 | &:first-child { margin-top: 0; } 36 | } 37 | -------------------------------------------------------------------------------- /source/css/_common/components/sidebar/sidebar.styl: -------------------------------------------------------------------------------- 1 | .sidebar { 2 | position: fixed; 3 | right: 0; 4 | top: 0; 5 | bottom: 0; 6 | 7 | width: 0; 8 | z-index: $zindex-4; 9 | box-shadow: inset 0 2px 6px black; 10 | background: $black-deep; 11 | -webkit-transform: translateZ(0); // http://stackoverflow.com/questions/17079857/position-fixed-broken-in-chrome-with-flash-behind 12 | 13 | a { 14 | color: $grey-dark; 15 | border-bottom-color: $black-light; 16 | &:hover { color: $gainsboro; } 17 | } 18 | 19 | +tablet() { 20 | hide() if not hexo-config('sidebar.onmobile'); 21 | } 22 | +mobile() { 23 | hide() if not hexo-config('sidebar.onmobile'); 24 | } 25 | 26 | } 27 | 28 | .sidebar-inner { 29 | position: relative; 30 | padding: 20px 10px; 31 | color: $grey-dark; 32 | text-align: center; 33 | } 34 | 35 | .site-overview-wrap { 36 | overflow: hidden; 37 | } 38 | 39 | .site-overview { 40 | overflow-y: hidden; 41 | overflow-x: hidden; 42 | } 43 | 44 | @import "sidebar-toggle"; 45 | @import "sidebar-author"; 46 | @import "site-state"; 47 | @import "sidebar-feed-link"; 48 | @import "sidebar-author-links"; 49 | @import "sidebar-blogroll"; 50 | @import "sidebar-nav"; 51 | @import "sidebar-toc"; 52 | @import "sidebar-dimmer" if hexo-config('sidebar.onmobile'); 53 | -------------------------------------------------------------------------------- /source/css/_common/components/sidebar/site-state.styl: -------------------------------------------------------------------------------- 1 | .site-state { 2 | overflow: hidden; 3 | line-height: 1.4; 4 | white-space: nowrap; 5 | text-align: $site-state-align; 6 | } 7 | 8 | .site-state-item { 9 | display: inline-block; 10 | padding: 0 15px; 11 | border-left: 1px solid $site-state-item-border-color; 12 | 13 | &:first-child { border-left: none; } 14 | 15 | a { border-bottom: none; } 16 | } 17 | .site-state-item-count { 18 | display: block; 19 | text-align: center; 20 | color: $site-state-item-count-color; 21 | font-weight: $font-weight-bold; 22 | font-size: $site-state-item-count-font-size; 23 | } 24 | 25 | .site-state-item-name { 26 | font-size: $site-state-item-name-font-size; 27 | color: $site-state-item-name-color; 28 | } 29 | -------------------------------------------------------------------------------- /source/css/_common/components/tag-cloud.styl: -------------------------------------------------------------------------------- 1 | .tag-cloud { 2 | text-align: center; 3 | 4 | a { 5 | display: inline-block; 6 | margin: 10px; 7 | } 8 | } -------------------------------------------------------------------------------- /source/css/_common/components/tags/blockquote-center.styl: -------------------------------------------------------------------------------- 1 | // Blockquote with all children centered. 2 | .blockquote-center { 3 | position: relative; 4 | margin: 40px 0; 5 | padding: 0; 6 | border-left: none; 7 | text-align: center; 8 | 9 | &::before, &::after { 10 | position: absolute; 11 | content: ' '; 12 | display: block; 13 | width: 100%; 14 | height: 24px; 15 | opacity: 0.2; 16 | background-repeat: no-repeat; 17 | background-position: 0 -6px; 18 | background-size: 22px 22px; 19 | } 20 | &::before { 21 | top: -20px; 22 | background-image: url($center-quote-left); 23 | border-top: 1px solid $grey-light; 24 | } 25 | &::after { 26 | bottom: -20px; 27 | background-image: url($center-quote-right); 28 | border-bottom: 1px solid $grey-light; 29 | background-position: 100% 8px; 30 | } 31 | 32 | p, div { text-align: center; } 33 | } 34 | -------------------------------------------------------------------------------- /source/css/_common/components/tags/exturl.styl: -------------------------------------------------------------------------------- 1 | .exturl { 2 | // Remove the gray background color from active links in IE 10. 3 | background-color: transparent; 4 | 5 | cursor: pointer; 6 | border-bottom: 1px solid #999; 7 | 8 | .fa { 9 | font-size: 14px; 10 | } 11 | } 12 | 13 | // Improve readability when focused and also mouse hovered in all browsers. 14 | .exturl:active, .exturl:hover { 15 | outline: 0; 16 | color: $black-deep; 17 | border-bottom-color: $black-deep; 18 | } 19 | -------------------------------------------------------------------------------- /source/css/_common/components/tags/full-image.styl: -------------------------------------------------------------------------------- 1 | // Expand image to 126% with nagative margin-left/right on Desktop. 2 | .full-image.full-image.full-image { 3 | border: none; 4 | max-width: 100%; 5 | width: auto; 6 | margin: 20px auto; 7 | +desktop() { 8 | max-width: none; 9 | width: $full-image-width; 10 | margin: $full-image-margin-vertical $full-image-margin-horizontal; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /source/css/_common/components/tags/group-pictures.styl: -------------------------------------------------------------------------------- 1 | .post .post-body .group-picture { 2 | img { 3 | box-sizing: border-box; 4 | padding: 0 3px; 5 | border: none; 6 | } 7 | } 8 | 9 | .post .group-picture-row { 10 | overflow: hidden; 11 | margin-top: 6px; 12 | &:first-child { margin-top: 0; } 13 | } 14 | 15 | .post .group-picture-column { float: left; } 16 | 17 | .post-body .group-picture-column { 18 | float: none; 19 | margin-top: 10px; 20 | width: auto !important; 21 | img { margin: 0 auto; } 22 | } 23 | 24 | .page-archive { 25 | .group-picture-container { overflow: hidden; } 26 | .group-picture-row { 27 | float: left; 28 | &:first-child { margin-top: 6px; } 29 | } 30 | 31 | .group-picture-column { 32 | max-width: 150px; 33 | max-height: 150px; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /source/css/_common/components/tags/label.styl: -------------------------------------------------------------------------------- 1 | .post-body .label { 2 | display: inline; 3 | padding: 0 2px; 4 | white-space: nowrap; 5 | 6 | &.default { background-color: $label-default; } 7 | &.primary { background-color: $label-primary; } 8 | &.info { background-color: $label-info; } 9 | &.success { background-color: $label-success; } 10 | &.warning { background-color: $label-warning; } 11 | &.danger { background-color: $label-danger; } 12 | } 13 | -------------------------------------------------------------------------------- /source/css/_common/components/tags/tags.styl: -------------------------------------------------------------------------------- 1 | @import "full-image"; 2 | @import "blockquote-center"; 3 | @import "group-pictures"; 4 | @import "exturl" if hexo-config('exturl'); 5 | @import "note" if hexo-config('note.style') == 'simple' || hexo-config('note.style') == 'flat'; 6 | @import "note-modern" if hexo-config('note.style') == 'modern'; 7 | @import "label" if hexo-config('label'); 8 | @import "tabs" if hexo-config('tabs.enable'); 9 | -------------------------------------------------------------------------------- /source/css/_common/components/third-party/baidushare.styl: -------------------------------------------------------------------------------- 1 | .post-spread { 2 | margin-top: 20px; 3 | text-align: center; 4 | } 5 | 6 | .bdshare-slide-button-box a { border: none; } 7 | 8 | .bdsharebuttonbox { 9 | display: inline-block; 10 | 11 | a { border: none; } 12 | } 13 | -------------------------------------------------------------------------------- /source/css/_common/components/third-party/busuanzi-counter.styl: -------------------------------------------------------------------------------- 1 | if hexo-config("scheme") == Pisces 2 | .busuanzi-count { 3 | +tablet() { 4 | width: auto; 5 | } 6 | +mobile() { 7 | width: auto; 8 | } 9 | } 10 | 11 | .site-uv, 12 | .site-pv, 13 | .page-pv { 14 | display: inline-block; 15 | 16 | .busuanzi-value { 17 | margin: 0 5px; 18 | } 19 | } 20 | 21 | if hexo-config("busuanzi_count.site_pv") and hexo-config("busuanzi_count.site_uv") 22 | .site-uv 23 | { 24 | margin-right: 10px; 25 | 26 | &::after { 27 | content: "|"; 28 | padding-left: 10px; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /source/css/_common/components/third-party/gitment.styl: -------------------------------------------------------------------------------- 1 | #gitment-display-button{ 2 | display: inline-block; 3 | padding: 0 15px; 4 | color: #0a9caf; 5 | cursor: pointer; 6 | font-size: 14px; 7 | border: 1px solid #0a9caf; 8 | border-radius: 4px; 9 | } 10 | #gitment-display-button:hover{ 11 | color: #fff; 12 | background: #0a9caf; 13 | } -------------------------------------------------------------------------------- /source/css/_common/components/third-party/han.styl: -------------------------------------------------------------------------------- 1 | .fa { 2 | font-family: FontAwesome!important; 3 | } 4 | -------------------------------------------------------------------------------- /source/css/_common/components/third-party/headroom.styl: -------------------------------------------------------------------------------- 1 | 2 | /* head-animated */ 3 | 4 | .head-animated { 5 | -webkit-animation-duration: .5s; 6 | -moz-animation-duration: .5s; 7 | -o-animation-duration: .5s; 8 | animation-duration: .5s; 9 | -webkit-animation-fill-mode: both; 10 | -moz-animation-fill-mode: both; 11 | -o-animation-fill-mode: both; 12 | animation-fill-mode: both; 13 | } 14 | 15 | .head-animated.slideDown { 16 | -webkit-animation-name: slideDown; 17 | -moz-animation-name: slideDown; 18 | -o-animation-name: slideDown; 19 | animation-name: slideDown; 20 | } 21 | 22 | .head-animated.slideUp { 23 | -webkit-animation-name: slideUp; 24 | -moz-animation-name: slideUp; 25 | -o-animation-name: slideUp; 26 | animation-name: slideUp; 27 | } 28 | 29 | @-webkit-keyframes slideDown { 30 | 0% { 31 | -webkit-transform: translateY(-8em) 32 | } 33 | 100% { 34 | -webkit-transform: translateY(0) 35 | } 36 | } 37 | 38 | @-moz-keyframes slideDown { 39 | 0% { 40 | -moz-transform: translateY(-8em) 41 | } 42 | 100% { 43 | -moz-transform: translateY(0) 44 | } 45 | } 46 | 47 | @-o-keyframes slideDown { 48 | 0% { 49 | -o-transform: translateY(-8em) 50 | } 51 | 100% { 52 | -o-transform: translateY(0) 53 | } 54 | } 55 | 56 | @keyframes slideDown { 57 | 0% { 58 | transform: translateY(-8em) 59 | } 60 | 100% { 61 | transform: translateY(0) 62 | } 63 | } 64 | 65 | @-webkit-keyframes slideUp { 66 | 0% { 67 | -webkit-transform: translateY(0) 68 | } 69 | 100% { 70 | -webkit-transform: translateY(-8em) 71 | } 72 | } 73 | 74 | @-moz-keyframes slideUp { 75 | 0% { 76 | -moz-transform: translateY(0) 77 | } 78 | 100% { 79 | -moz-transform: translateY(-8em) 80 | } 81 | } 82 | 83 | @-o-keyframes slideUp { 84 | 0% { 85 | -o-transform: translateY(0) 86 | } 87 | 100% { 88 | -o-transform: translateY(-8em) 89 | } 90 | } 91 | 92 | @keyframes slideUp { 93 | 0% { 94 | transform: translateY(0) 95 | } 96 | 100% { 97 | transform: translateY(-8em) 98 | } 99 | } 100 | -------------------------------------------------------------------------------- /source/css/_common/components/third-party/jiathis.styl: -------------------------------------------------------------------------------- 1 | .post-spread { 2 | margin-top: 20px; 3 | text-align: center; 4 | } 5 | 6 | .jiathis_style { 7 | display: inline-block; 8 | 9 | a { border: none; } 10 | } -------------------------------------------------------------------------------- /source/css/_common/components/third-party/localsearch.styl: -------------------------------------------------------------------------------- 1 | .local-search-pop-overlay 2 | position: fixed 3 | width: 100% 4 | height: 100% 5 | top: 0 6 | left: 0 7 | z-index: 2080 8 | background-color: rgba(0, 0, 0, 0.3) 9 | 10 | .local-search-popup 11 | display: none 12 | position: fixed 13 | top: 10% 14 | left: 50% 15 | margin-left: -350px 16 | width: 700px 17 | height: 80% 18 | padding: 0 19 | background: #fff 20 | color: #333 21 | z-index: 9999 22 | border-radius: 5px 23 | +mobile() 24 | padding: 0 25 | top: 0 26 | left: 0 27 | margin: 0 28 | width: 100% 29 | height: 100% 30 | border-radius: 0 31 | 32 | ul.search-result-list 33 | padding: 0 34 | margin: 0 5px 35 | 36 | p.search-result 37 | border-bottom: 1px dashed #ccc 38 | padding: 5px 0 39 | 40 | a.search-result-title 41 | font-weight: bold 42 | font-size: 16px 43 | 44 | .search-keyword 45 | border-bottom: 1px dashed #f00 46 | font-weight: bold 47 | color: #f00 48 | 49 | .local-search-header 50 | padding: 5px 51 | height: 36px 52 | background: #f5f5f5 53 | border-top-left-radius: 5px 54 | border-top-right-radius: 5px 55 | 56 | #local-search-result 57 | overflow: auto 58 | position: relative 59 | padding: 5px 25px 60 | height: calc(100% - 55px) 61 | 62 | .local-search-input-wrapper 63 | display: inline-block 64 | width: calc(100% - 90px) 65 | height: 36px 66 | line-height: 36px 67 | padding: 0 5px 68 | 69 | .local-search-input-wrapper input 70 | padding: 8px 0 71 | height: 20px 72 | display: block 73 | width: 100% 74 | outline: none 75 | border: none 76 | background: transparent 77 | vertical-align: middle 78 | 79 | .search-icon, .popup-btn-close 80 | display: inline-block 81 | font-size: 18px 82 | color: #999 83 | height: 36px 84 | width: 18px 85 | padding-left: 10px 86 | padding-right: 10px 87 | 88 | .search-icon 89 | float: left 90 | 91 | .popup-btn-close 92 | border-left: 1px solid #eee 93 | float: right 94 | cursor: pointer 95 | 96 | #no-result 97 | position: absolute 98 | left: 50% 99 | top: 50% 100 | -webkit-transform: translate(-50%, -50%) 101 | transform: translate(-50%, -50%) 102 | color: #ccc 103 | -------------------------------------------------------------------------------- /source/css/_common/components/third-party/needsharebutton.styl: -------------------------------------------------------------------------------- 1 | #needsharebutton-postbottom { 2 | position: relative; 3 | cursor: pointer; 4 | height: 26px; 5 | 6 | .btn { 7 | display: initial; 8 | padding: 1px 4px; 9 | border: 1px solid $btn-default-border-color; 10 | border-radius: 3px; 11 | } 12 | } 13 | 14 | #needsharebutton-float { 15 | position: fixed; 16 | bottom: 38px; 17 | left: -8px; 18 | z-index: 9999; 19 | cursor: pointer; 20 | 21 | .btn { 22 | //display: initial; 23 | padding: 0 10px 0 14px 24 | border: 1px solid $btn-default-border-color; 25 | border-radius: 4px; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /source/css/_common/components/third-party/third-party.styl: -------------------------------------------------------------------------------- 1 | @import "duoshuo"; 2 | @import "gitment" if hexo-config('gitment.enable'); 3 | @import "jiathis"; 4 | @import "han"; 5 | @import "baidushare"; 6 | @import "localsearch"; 7 | @import "busuanzi-counter"; 8 | @import "algolia-search" if hexo-config('algolia_search.enable'); 9 | @import "needsharebutton" if hexo-config('needmoreshare2.enable'); 10 | @import "headroom"; 11 | -------------------------------------------------------------------------------- /source/css/_common/outline/outline.styl: -------------------------------------------------------------------------------- 1 | // 2 | // Layout 3 | // Note: Must name this file "outline" instead of "layout" 4 | // Or Hexo will use it as template layout. 5 | // ================================================= 6 | 7 | 8 | html, body { height: 100%; } 9 | 10 | .container { 11 | position: relative; 12 | min-height: 100%; 13 | overflow-x: hidden; 14 | } 15 | 16 | 17 | // Header Section 18 | // -------------------------------------------------- 19 | .header-inner { 20 | margin: 0 auto; 21 | padding: 100px 0 70px; 22 | width: $content-desktop; 23 | 24 | +desktop-large() { 25 | .container & { width: $content-desktop-large; } 26 | } 27 | } 28 | 29 | // Main Section 30 | // -------------------------------------------------- 31 | .main { padding-bottom: $footer-height + $gap-between-main-and-footer; } 32 | .main-inner { 33 | margin: 0 auto; 34 | width: $content-desktop; 35 | 36 | +desktop-large() { 37 | .container & { width: $content-desktop-large; } 38 | } 39 | } 40 | 41 | 42 | // Footer Section 43 | // -------------------------------------------------- 44 | .footer { 45 | position: absolute; 46 | left: 0; 47 | bottom: 0; 48 | width: 100%; 49 | min-height: $footer-height; 50 | } 51 | .footer-inner { 52 | box-sizing: border-box; 53 | margin: 20px auto; 54 | width: $content-desktop; 55 | 56 | +desktop-large() { 57 | .container & { width: $content-desktop-large; } 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /source/css/_common/scaffolding/helpers.styl: -------------------------------------------------------------------------------- 1 | // 2 | // Helpers 3 | // ================================================= 4 | 5 | 6 | 7 | // Alignment 8 | .text-left { text-align: left; } 9 | .text-center { text-align: center; } 10 | .text-right { text-align: right; } 11 | .text-justify { text-align: justify; } 12 | .text-nowrap { white-space: nowrap; } 13 | 14 | 15 | // Transformation 16 | .text-lowercase { text-transform: lowercase; } 17 | .text-uppercase { text-transform: uppercase; } 18 | .text-capitalize { text-transform: capitalize; } 19 | 20 | 21 | // Center-align a block level element. 22 | .center-block { 23 | display: block; 24 | margin-left: auto; 25 | margin-right: auto; 26 | } 27 | 28 | 29 | // Clearfix. http://nicolasgallagher.com/micro-clearfix-hack/ 30 | .clearfix { 31 | clearfix(); 32 | } 33 | 34 | .pullquote { 35 | width: 45%; 36 | 37 | &.left { 38 | float: left; 39 | margin-left: 5px; 40 | margin-right: 10px; 41 | } 42 | 43 | &.right { 44 | float: right; 45 | margin-left: 10px; 46 | margin-right: 5px; 47 | } 48 | } 49 | 50 | .affix.affix.affix { position: fixed; } 51 | 52 | .translation { 53 | margin-top: -20px; 54 | font-size: 14px; 55 | color: $grey-dark; 56 | } 57 | 58 | // https://davidwalsh.name/detect-scrollbar-width 59 | .scrollbar-measure { 60 | width: 100px; 61 | height: 100px; 62 | overflow: scroll; 63 | position: absolute; 64 | top: -9999px; 65 | } 66 | 67 | .use-motion .motion-element { opacity: 0; } 68 | -------------------------------------------------------------------------------- /source/css/_common/scaffolding/scaffolding.styl: -------------------------------------------------------------------------------- 1 | // 2 | // Scaffolding 3 | // ================================================= 4 | 5 | @import "normalize"; 6 | @import "base"; 7 | @import "helpers"; 8 | @import "tables"; 9 | @import "mobile" if hexo-config('mobile_layout_economy'); 10 | -------------------------------------------------------------------------------- /source/css/_common/scaffolding/tables.styl: -------------------------------------------------------------------------------- 1 | table { 2 | margin: 20px 0; 3 | width: $table-width; 4 | border-collapse: collapse; 5 | border-spacing: 0; 6 | border: 1px solid $table-border-color; 7 | font-size: $table-font-size; 8 | table-layout: fixed; 9 | word-wrap: break-all; 10 | } 11 | table>tbody>tr { 12 | &:nth-of-type(odd) { background-color: $table-row-odd-bg-color; } 13 | &:hover { background-color: $table-row-hover-bg-color; } 14 | } 15 | 16 | caption, th, td { 17 | padding: $table-cell-padding; 18 | text-align: $table-content-alignment; 19 | vertical-align: $table-content-vertical; 20 | font-weight: normal; 21 | } 22 | 23 | th, td { 24 | border-bottom: 3px solid $table-cell-border-bottom-color; 25 | border-right: 1px solid $table-cell-border-right-color; 26 | } 27 | 28 | th { 29 | padding-bottom: 10px; 30 | font-weight: $table-th-font-weight; 31 | } 32 | 33 | td { border-bottom-width: 1px; } 34 | -------------------------------------------------------------------------------- /source/css/_custom/custom.styl: -------------------------------------------------------------------------------- 1 | // Custom styles. 2 | -------------------------------------------------------------------------------- /source/css/_mixins/Gemini.styl: -------------------------------------------------------------------------------- 1 | @import "Pisces.styl"; 2 | -------------------------------------------------------------------------------- /source/css/_mixins/Mist.styl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/css/_mixins/Mist.styl -------------------------------------------------------------------------------- /source/css/_mixins/Muse.styl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/css/_mixins/Muse.styl -------------------------------------------------------------------------------- /source/css/_mixins/Pisces.styl: -------------------------------------------------------------------------------- 1 | sidebar-inline-links-item() { 2 | margin: 0 0 7px; 3 | if !hexo-config('social_icons.icons_only') { width: 50%; } 4 | 5 | & a { 6 | max-width: 216px; 7 | box-sizing: border-box; 8 | display: inline-block; 9 | margin-right: 0; 10 | margin-bottom: 0; 11 | padding: 0 5px; 12 | overflow: hidden; 13 | white-space: nowrap; 14 | text-overflow: ellipsis; 15 | if hexo-config('social_icons.transition') { the-transition(); } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /source/css/_mixins/custom.styl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/css/_mixins/custom.styl -------------------------------------------------------------------------------- /source/css/_schemes/Mist/_base.styl: -------------------------------------------------------------------------------- 1 | // Tags 2 | // -------------------------------------------------- 3 | h1, h2, h3, h4, h5, h6 { margin: 20px 0 10px; } 4 | 5 | p { margin: 0 0 25px 0; } 6 | 7 | a { border-bottom-color: $grey-light; } 8 | 9 | hr { 10 | margin: 20px 0; 11 | height: 2px; 12 | } 13 | -------------------------------------------------------------------------------- /source/css/_schemes/Mist/_header.styl: -------------------------------------------------------------------------------- 1 | // Header 2 | // -------------------------------------------------- 3 | .header { background: $whitesmoke; } 4 | .header-inner { 5 | padding: 25px 0 20px; 6 | clearfix(); 7 | 8 | +mobile() { 9 | width: auto; 10 | margin-bottom: 50px; 11 | padding: 10px; 12 | } 13 | } 14 | 15 | .site-meta { 16 | float: left; 17 | margin-left: -20px; 18 | line-height: normal; 19 | 20 | +mobile() { 21 | margin-left: 10px; 22 | } 23 | 24 | .brand { 25 | padding: 2px 1px; 26 | background: none; 27 | 28 | +mobile() { display: block; } 29 | } 30 | 31 | .logo { display: none; } 32 | 33 | .site-title { 34 | font-size: 22px; 35 | font-weight: bolder; 36 | 37 | +mobile() { line-height: 34px; } 38 | } 39 | } 40 | 41 | 42 | .logo-line-before, 43 | .logo-line-after { 44 | display: block; 45 | overflow: hidden; 46 | margin: 0 auto; 47 | width: 75%; 48 | 49 | +mobile() { display: none; } 50 | 51 | i { 52 | position: relative; 53 | display: block; 54 | height: 2px; 55 | background: $black-deep; 56 | +mobile() { height: 3px; } 57 | } 58 | } 59 | 60 | .use-motion { 61 | .logo-line-before i { left: -100%; } 62 | .logo-line-after i { right: -100%; } 63 | } 64 | -------------------------------------------------------------------------------- /source/css/_schemes/Mist/_logo.styl: -------------------------------------------------------------------------------- 1 | .site-subtitle { display: none; } 2 | -------------------------------------------------------------------------------- /source/css/_schemes/Mist/_menu.styl: -------------------------------------------------------------------------------- 1 | // Menu 2 | // -------------------------------------------------- 3 | .site-nav-toggle { 4 | position: static; 5 | float: right; 6 | } 7 | 8 | 9 | .menu { 10 | float: right; 11 | margin: 8px 0 0 0; 12 | 13 | +mobile() { 14 | margin: 20px 0 0 0; 15 | padding: 0; 16 | } 17 | 18 | br { display: none; } 19 | 20 | .menu-item { 21 | margin: 0; 22 | +mobile() { display: block; } 23 | } 24 | 25 | .menu-item a { 26 | padding: 0 10px; 27 | background: none; 28 | border: none; 29 | border-radius: 2px; 30 | transition-property: background; 31 | 32 | +mobile() { 33 | text-align: left; 34 | } 35 | 36 | &:hover { background: #e1e1e1; } 37 | } 38 | 39 | a::before { 40 | display: none; 41 | 42 | +mobile() { display: block; } 43 | } 44 | 45 | +mobile() { float: none; } 46 | } 47 | -------------------------------------------------------------------------------- /source/css/_schemes/Mist/_posts-expanded.styl: -------------------------------------------------------------------------------- 1 | // Post Expanded 2 | // -------------------------------------------------- 3 | .posts-expand { 4 | padding-top: 0; 5 | 6 | .post-title, 7 | .post-meta { 8 | text-align: $site-meta-text-align; 9 | +mobile() { text-align: center; } 10 | } 11 | .post-eof { display: none; } 12 | 13 | .post { margin-top: 120px; } 14 | .post:first-child { margin-top: 0; } 15 | 16 | .post-meta { 17 | margin-top: 5px; 18 | margin-bottom: 20px; 19 | } 20 | 21 | .post-title { 22 | position: relative; 23 | font-size: $font-size-headings-base; 24 | font-weight: 400; 25 | +mobile() { font-size: $font-size-headings-small; } 26 | +desktop-large() { font-size: $font-size-headings-large; } 27 | } 28 | .post-title:hover:before { background: $black-deep; } 29 | 30 | .post-body { 31 | +mobile() { font-size: $font-size-small; } 32 | } 33 | 34 | .post-body img { margin: 0; } 35 | 36 | .post-tags { 37 | text-align: left; 38 | a { 39 | padding: 1px 5px; 40 | background: $whitesmoke; 41 | border-bottom: none; 42 | } 43 | a:hover { background: $grey-light; } 44 | } 45 | .post-nav { margin-top: 40px; } 46 | } 47 | 48 | .post-button { 49 | margin-top: 20px; 50 | text-align: left; 51 | 52 | a { 53 | padding: 0; 54 | font-size: $font-size-base; 55 | //color: $grey-dim; 56 | background: none; 57 | border: none; 58 | border-bottom: 2px solid $grey-dim; 59 | transition-property: border; 60 | 61 | +mobile() { font-size: $font-size-small; } 62 | +desktop-large() { font-size: $font-size-large; } 63 | 64 | 65 | &:hover { border-bottom-color: $black-deep; } 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /source/css/_schemes/Mist/_search.styl: -------------------------------------------------------------------------------- 1 | // Search 2 | // -------------------------------------------------- 3 | .site-search form { 4 | display: none; 5 | } -------------------------------------------------------------------------------- /source/css/_schemes/Mist/index.styl: -------------------------------------------------------------------------------- 1 | // 2 | // Mist scheme 3 | // ================================================= 4 | 5 | @import "_base"; 6 | @import "outline/outline"; 7 | @import "_header"; 8 | @import "_logo"; 9 | @import "_menu"; 10 | @import "_search.styl"; 11 | @import "_posts-expanded"; 12 | @import "sidebar/sidebar-blogroll"; 13 | 14 | 15 | // Components 16 | // -------------------------------------------------- 17 | .btn { 18 | padding: 0 10px; 19 | border-width: 2px; 20 | border-radius: 0; 21 | } 22 | 23 | .headband { display: none; } 24 | 25 | 26 | // Search 27 | // -------------------------------------------------- 28 | .site-search { 29 | position: relative; 30 | float: right; 31 | margin-top: 5px; 32 | padding-top: 3px; 33 | 34 | +mobile() { 35 | float: none; 36 | padding: 0 10px; 37 | } 38 | } 39 | 40 | 41 | // Page - Container 42 | // -------------------------------------------------- 43 | .container .main-inner { 44 | +mobile() { width: auto; } 45 | } 46 | 47 | 48 | // Page - Post details 49 | // -------------------------------------------------- 50 | .page-post-detail { 51 | .post-title, 52 | .post-meta { text-align: center; } 53 | 54 | .post-title:before { display: none; } 55 | 56 | .post-meta { margin-bottom: 60px; } 57 | } 58 | 59 | 60 | // Pagination 61 | // -------------------------------------------------- 62 | .pagination { 63 | margin: 120px 0 0; 64 | text-align: left; 65 | 66 | +mobile() { 67 | margin: 80px 10px 0; 68 | text-align: center; 69 | } 70 | } 71 | 72 | // Footer 73 | // -------------------------------------------------- 74 | .footer { 75 | margin-top: 80px; 76 | padding: 10px 0; 77 | background: $whitesmoke; 78 | color: $grey-dim; 79 | } 80 | .footer-inner { 81 | margin: 0 auto; 82 | text-align: left; 83 | 84 | +mobile() { 85 | width: auto; 86 | text-align: center; 87 | } 88 | } 89 | 90 | // Helpers 91 | // -------------------------------------------------- 92 | -------------------------------------------------------------------------------- /source/css/_schemes/Mist/outline/outline.styl: -------------------------------------------------------------------------------- 1 | .main-inner { margin-top: 80px; } 2 | -------------------------------------------------------------------------------- /source/css/_schemes/Mist/sidebar/sidebar-blogroll.styl: -------------------------------------------------------------------------------- 1 | .links-of-blogroll-inline .links-of-blogroll-item { display: inline-block; } 2 | -------------------------------------------------------------------------------- /source/css/_schemes/Muse/_layout.styl: -------------------------------------------------------------------------------- 1 | .header-inner, .container .main-inner, .footer-inner { 2 | +mobile() { width: auto; } 3 | } 4 | 5 | // embed tag 6 | embed { 7 | display: block; 8 | margin: 0px auto 25px auto; 9 | } 10 | -------------------------------------------------------------------------------- /source/css/_schemes/Muse/_logo.styl: -------------------------------------------------------------------------------- 1 | .custom-logo { 2 | .site-meta-headline { text-align: center; } 3 | 4 | .brand { background: none; } 5 | 6 | .site-title { 7 | margin: 10px auto 0; 8 | font-size: 24px; 9 | color: $black-deep; 10 | a { border: none; } 11 | } 12 | 13 | 14 | } 15 | 16 | .custom-logo-image { 17 | margin: 0 auto; 18 | padding: 5px; 19 | max-width: 150px; 20 | background: white; 21 | } 22 | -------------------------------------------------------------------------------- /source/css/_schemes/Muse/_menu.styl: -------------------------------------------------------------------------------- 1 | .site-nav { 2 | +mobile() { 3 | position: absolute; 4 | left: 0; 5 | top: 52px; 6 | margin: 0; 7 | width: 100%; 8 | padding: 0; 9 | background: white; 10 | border-bottom: 1px solid $gray-lighter; 11 | z-index: $zindex-5; 12 | } 13 | } 14 | 15 | .menu { 16 | +mobile() { text-align: left; } 17 | } 18 | .menu .menu-item { 19 | +mobile() { 20 | display: block; 21 | margin: 0 10px; 22 | vertical-align: top; 23 | } 24 | 25 | br { 26 | +mobile() { display: none; } 27 | } 28 | 29 | a { 30 | +mobile() { padding: 5px 10px; } 31 | } 32 | .fa { margin-right: 0; } 33 | } 34 | -------------------------------------------------------------------------------- /source/css/_schemes/Muse/_search.styl: -------------------------------------------------------------------------------- 1 | // Search 2 | // -------------------------------------------------- 3 | .site-search form { 4 | display: none; 5 | } -------------------------------------------------------------------------------- /source/css/_schemes/Muse/index.styl: -------------------------------------------------------------------------------- 1 | @import "_layout.styl"; 2 | @import "_logo.styl"; 3 | @import "_menu.styl"; 4 | @import "_search.styl"; 5 | @import "sidebar/sidebar-blogroll"; 6 | -------------------------------------------------------------------------------- /source/css/_schemes/Muse/sidebar/sidebar-blogroll.styl: -------------------------------------------------------------------------------- 1 | .links-of-blogroll-inline .links-of-blogroll-item { display: inline-block; } 2 | -------------------------------------------------------------------------------- /source/css/_schemes/Pisces/_archive.styl: -------------------------------------------------------------------------------- 1 | .archive, 2 | .category { 3 | .posts-collapse { 4 | z-index: 0; 5 | } 6 | 7 | .collection-title { 8 | } 9 | 10 | .post { 11 | padding: 0; 12 | margin: 0; 13 | background: none; 14 | } 15 | } 16 | 17 | .archive, 18 | .tag { 19 | .posts-collapse { 20 | z-index: 0; 21 | } 22 | 23 | .collection-title { 24 | } 25 | 26 | .post { 27 | padding: 0; 28 | margin: 0; 29 | background: none; 30 | } 31 | } 32 | 33 | .category .collection-title { 34 | margin-top: 30px; 35 | } 36 | -------------------------------------------------------------------------------- /source/css/_schemes/Pisces/_brand.styl: -------------------------------------------------------------------------------- 1 | .site-brand-wrapper { 2 | position: relative; 3 | height: 650px; 4 | width: 100%; 5 | background-size: cover; 6 | background-position: center; 7 | background-repeat: no-repeat; 8 | 9 | +mobile() { 10 | height: 260px; 11 | } 12 | } 13 | 14 | .site-brand-bg { 15 | position: absolute; 16 | top: 0; 17 | bottom: 0; 18 | left: 0; 19 | right: 0; 20 | overflow: hidden; 21 | display: flex; 22 | align-items: center; 23 | justify-content: center; 24 | 25 | picture, 26 | img { 27 | width: 100%; 28 | } 29 | } 30 | 31 | .site-meta { 32 | padding: 20px 0; 33 | color: white; 34 | } 35 | 36 | .brand { 37 | padding: 0; 38 | background: none; 39 | position: relative; 40 | top: 180px; 41 | font-size: 68px; 42 | text-align: center; 43 | text-shadow: 0 1px 1px #47456d; 44 | margin-bottom: 130px; 45 | z-index: 1; 46 | font-family: $font-family-title; 47 | display: block; 48 | 49 | +mobile() { 50 | font-size: 7.8vw; 51 | top: 100px; 52 | margin-bottom: 0; 53 | } 54 | 55 | &:hover { color: white; } 56 | } 57 | 58 | .site-subtitle { 59 | margin: 10px 10px 0; 60 | font-weight: initial; 61 | } 62 | 63 | .site-search form { display: none; } 64 | 65 | .site-title { 66 | .guide { 67 | visibility: hidden; 68 | pointer-events: none; 69 | } 70 | 71 | .animate span { 72 | position: absolute; 73 | opacity: 0; 74 | } 75 | 76 | .animate svg { 77 | fill: #FF9800; 78 | overflow: visible; 79 | text-shadow: none; 80 | height: 1px; 81 | } 82 | 83 | .animate use { 84 | stroke: #fff; 85 | stroke-width: 13px; 86 | stroke-linejoin: round; 87 | } 88 | 89 | .animate { 90 | transition: 0.3s; 91 | position: absolute; 92 | top: 0; 93 | } 94 | } 95 | -------------------------------------------------------------------------------- /source/css/_schemes/Pisces/_darling.styl: -------------------------------------------------------------------------------- 1 | $darling-blue = #00a7e0 2 | $darling-black = #000 3 | $darling-red = #ff3f1a 4 | 5 | .theme-darling { 6 | .site-title { 7 | text-shadow: 1px 1px 0 $darling-red, -1px -1px 0 $darling-blue; 8 | } 9 | 10 | .site-master-description { 11 | } 12 | 13 | .post-meta { 14 | .post-time { 15 | color: $darling-blue; 16 | } 17 | .post-wordcount { 18 | color: $darling-black; 19 | 20 | a { 21 | color: $darling-black; 22 | } 23 | } 24 | .leancloud_visitors { 25 | color: $darling-red; 26 | } 27 | } 28 | 29 | .site-state-posts .site-state-item-name { 30 | color: $darling-blue; 31 | } 32 | 33 | .site-state-categories .site-state-item-name { 34 | color: $darling-red; 35 | } 36 | 37 | .posts-collapse { 38 | .post:before { 39 | display: none; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /source/css/_schemes/Pisces/_links.styl: -------------------------------------------------------------------------------- 1 | .post .post-body .links { 2 | ul { 3 | list-style: none; 4 | padding: 0; 5 | margin: 0; 6 | overflow: hidden; 7 | 8 | li { 9 | float: left; 10 | width: 50%; 11 | position: relative; 12 | transition: all .3s ease-out; 13 | border-radius: 5px; 14 | list-style: none; 15 | 16 | &:hover { 17 | background: rgba(230,244,250,.5); 18 | } 19 | 20 | a { 21 | display: block; 22 | padding: 0 10px 0 90px; 23 | height: 90px; 24 | color: #555; 25 | 26 | img { 27 | width: 60px; 28 | height: 60px; 29 | border-radius: 50%; 30 | position: absolute; 31 | top: 15px; 32 | left: 15px; 33 | cursor: pointer; 34 | margin: 0; 35 | } 36 | 37 | h4, 38 | p { 39 | cursor: pointer; 40 | white-space: nowrap; 41 | text-overflow: ellipsis; 42 | overflow: hidden; 43 | margin: 0; 44 | } 45 | 46 | h4 { 47 | padding-top: 20px; 48 | font-size: 16px; 49 | } 50 | 51 | p { 52 | margin: 10px 0; 53 | line-height: 24px; 54 | } 55 | } 56 | } 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /source/css/_schemes/Pisces/_mai.styl: -------------------------------------------------------------------------------- 1 | $darling-blue = #00a7e0 2 | $darling-black = #000 3 | $darling-red = #ff3f1a 4 | 5 | .theme-mai { 6 | .site-title { 7 | text-shadow: 1px 1px 0 $darling-red, -1px -1px 0 $darling-blue; 8 | } 9 | 10 | .site-brand-wrapper { 11 | background-image: url(/images/header-mai.jpg) !important; 12 | background-position: center top ; 13 | } 14 | 15 | .site-master-description { 16 | span:nth-child(1) { 17 | color: $darling-blue !important; 18 | } 19 | span:nth-child(2) { 20 | color: $darling-red !important; 21 | } 22 | } 23 | 24 | .post-meta { 25 | .post-time { 26 | color: $darling-blue; 27 | } 28 | .post-wordcount { 29 | color: $darling-black; 30 | 31 | a { 32 | color: $darling-black; 33 | } 34 | } 35 | .leancloud_visitors { 36 | color: $darling-red; 37 | } 38 | } 39 | 40 | .site-author-name { 41 | text-shadow: 1px 1px 0 $darling-red, -1px -1px 0 $darling-blue; 42 | } 43 | 44 | .site-state-posts .site-state-item-name { 45 | color: $darling-blue; 46 | } 47 | 48 | .site-state-categories .site-state-item-name { 49 | color: $darling-red; 50 | } 51 | 52 | .posts-collapse { 53 | .post:before { 54 | display: none; 55 | } 56 | } 57 | 58 | .brand { 59 | +mobile() { 60 | top: 60px; 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /source/css/_schemes/Pisces/index.styl: -------------------------------------------------------------------------------- 1 | @import "_layout"; 2 | @import "_brand"; 3 | @import "_menu"; 4 | @import "_sidebar"; 5 | @import "_posts"; 6 | @import "_footer"; 7 | @import "_archive"; 8 | @import "_links"; 9 | @import "_darling"; 10 | // @import "_mai"; 11 | -------------------------------------------------------------------------------- /source/css/_variables/Gemini.styl: -------------------------------------------------------------------------------- 1 | // Variables of Gemini scheme 2 | // ================================================= 3 | 4 | @import "Pisces.styl"; 5 | 6 | // Settings for some of the most global styles. 7 | // -------------------------------------------------- 8 | $body-bg-color = #eee 9 | $main-desktop = 75% 10 | $sidebar-desktop = 240px 11 | $content-desktop = calc(100% - 252px) 12 | 13 | // Borders. 14 | // -------------------------------------------------- 15 | $box-shadow-inner = 0 2px 2px 0 rgba(0,0,0,.12), 0 3px 1px -2px rgba(0,0,0,.06), 0 1px 5px 0 rgba(0,0,0,.12) 16 | $box-shadow = 0 2px 2px 0 rgba(0,0,0,.12), 0 3px 1px -2px rgba(0,0,0,.06), 0 1px 5px 0 rgba(0,0,0,.12), 0 -1px .5px 0 rgba(0,0,0,.09) 17 | 18 | $border-radius-inner = initial 19 | $border-radius = initial 20 | //$border-radius-inner = 0 0 3px 3px; 21 | //$border-radius = 3px; 22 | -------------------------------------------------------------------------------- /source/css/_variables/Mist.styl: -------------------------------------------------------------------------------- 1 | // Variables of Mist scheme 2 | // ================================================= 3 | 4 | $font-size-headings-base = 26px 5 | 6 | $brand-color = $black-deep 7 | $brand-hover-color = $brand-color 8 | 9 | $site-meta-text-align = left 10 | $posts-collapse-left = 0 11 | 12 | $btn-default-color = $link-color 13 | $btn-default-bg = transparent 14 | -------------------------------------------------------------------------------- /source/css/_variables/Muse.styl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/css/_variables/Muse.styl -------------------------------------------------------------------------------- /source/css/_variables/custom.styl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/css/_variables/custom.styl -------------------------------------------------------------------------------- /source/css/main.styl: -------------------------------------------------------------------------------- 1 | // CSS Style Guide: http://codeguide.co/#css 2 | 3 | 4 | 5 | $scheme = hexo-config('scheme') ? hexo-config('scheme') : 'Muse'; 6 | $variables = base $scheme custom; 7 | $mixins = base $scheme custom; 8 | 9 | 10 | 11 | // Variables Layer 12 | // -------------------------------------------------- 13 | for $variable in $variables 14 | @import "_variables/" + $variable 15 | 16 | 17 | // Mixins Layer 18 | // -------------------------------------------------- 19 | for $mixin in $mixins 20 | @import "_mixins/" + $mixin; 21 | 22 | 23 | 24 | // Common Layer 25 | // -------------------------------------------------- 26 | 27 | // Scaffolding 28 | @import "_common/scaffolding"; 29 | 30 | // Layout 31 | @import "_common/outline"; 32 | 33 | // Components 34 | @import "_common/components"; 35 | 36 | 37 | // Schemes Layer 38 | // -------------------------------------------------- 39 | @import "_schemes/" + $scheme; 40 | 41 | 42 | 43 | // Custom Layer 44 | // -------------------------------------------------- 45 | @import "_custom/custom"; 46 | 47 | @import "../../node_modules/nprogress/nprogress.css" 48 | 49 | #nprogress .bar { 50 | background: $main-color; 51 | } 52 | 53 | .post-body .aplayer { 54 | margin-bottom: 30px; 55 | } 56 | 57 | @import "../../node_modules/aplayer/dist/APlayer.min.css" 58 | 59 | @import "../../node_modules/zoom-image/css/zoom-image.css" 60 | 61 | @import "../../node_modules/disqusjs/dist/disqusjs.css" 62 | -------------------------------------------------------------------------------- /source/fonts/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/fonts/.gitkeep -------------------------------------------------------------------------------- /source/fonts/Candyshop.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/fonts/Candyshop.otf -------------------------------------------------------------------------------- /source/fonts/sigmarone1.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/fonts/sigmarone1.woff2 -------------------------------------------------------------------------------- /source/fonts/sigmarone2.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/fonts/sigmarone2.woff2 -------------------------------------------------------------------------------- /source/fonts/sigmarone3.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/fonts/sigmarone3.woff2 -------------------------------------------------------------------------------- /source/images/DIYgod-avatar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/DIYgod-avatar.jpg -------------------------------------------------------------------------------- /source/images/DIYgod-avatar.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/DIYgod-avatar.webp -------------------------------------------------------------------------------- /source/images/DIYgod-avatar2.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/DIYgod-avatar2.jpeg -------------------------------------------------------------------------------- /source/images/DIYgod-avatar2.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/DIYgod-avatar2.webp -------------------------------------------------------------------------------- /source/images/alipay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/alipay.png -------------------------------------------------------------------------------- /source/images/alipay.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/alipay.webp -------------------------------------------------------------------------------- /source/images/apple-touch-icon-next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/apple-touch-icon-next.png -------------------------------------------------------------------------------- /source/images/apple-touch-icon-next.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/apple-touch-icon-next.webp -------------------------------------------------------------------------------- /source/images/avatar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/avatar.gif -------------------------------------------------------------------------------- /source/images/card-avatar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/card-avatar.jpg -------------------------------------------------------------------------------- /source/images/card-avatar.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/card-avatar.webp -------------------------------------------------------------------------------- /source/images/card-avatar2.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/card-avatar2.jpeg -------------------------------------------------------------------------------- /source/images/card-avatar2.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/card-avatar2.webp -------------------------------------------------------------------------------- /source/images/cc-by-nc-nd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/cc-by-nc-nd.png -------------------------------------------------------------------------------- /source/images/cc-by-nc-nd.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/cc-by-nc-nd.webp -------------------------------------------------------------------------------- /source/images/cc-by-nc-sa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/cc-by-nc-sa.png -------------------------------------------------------------------------------- /source/images/cc-by-nc-sa.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/cc-by-nc-sa.webp -------------------------------------------------------------------------------- /source/images/cc-by-nc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/cc-by-nc.png -------------------------------------------------------------------------------- /source/images/cc-by-nc.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/cc-by-nc.webp -------------------------------------------------------------------------------- /source/images/cc-by-nd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/cc-by-nd.png -------------------------------------------------------------------------------- /source/images/cc-by-nd.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/cc-by-nd.webp -------------------------------------------------------------------------------- /source/images/cc-by-sa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/cc-by-sa.png -------------------------------------------------------------------------------- /source/images/cc-by-sa.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/cc-by-sa.webp -------------------------------------------------------------------------------- /source/images/cc-by.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/cc-by.png -------------------------------------------------------------------------------- /source/images/cc-by.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/cc-by.webp -------------------------------------------------------------------------------- /source/images/cc-zero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/cc-zero.png -------------------------------------------------------------------------------- /source/images/cc-zero.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/cc-zero.webp -------------------------------------------------------------------------------- /source/images/cursor.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/cursor.ico -------------------------------------------------------------------------------- /source/images/footer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/footer.png -------------------------------------------------------------------------------- /source/images/footer.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/footer.webp -------------------------------------------------------------------------------- /source/images/header-darling.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/header-darling.jpg -------------------------------------------------------------------------------- /source/images/header-darling.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/header-darling.webp -------------------------------------------------------------------------------- /source/images/header-darling2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/header-darling2.jpg -------------------------------------------------------------------------------- /source/images/header-darling2.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/header-darling2.webp -------------------------------------------------------------------------------- /source/images/header-darling3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/header-darling3.jpg -------------------------------------------------------------------------------- /source/images/header-darling3.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/header-darling3.webp -------------------------------------------------------------------------------- /source/images/header-darling4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/header-darling4.jpg -------------------------------------------------------------------------------- /source/images/header-darling4.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/header-darling4.webp -------------------------------------------------------------------------------- /source/images/header-darlings.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/header-darlings.jpg -------------------------------------------------------------------------------- /source/images/header-darlings.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/header-darlings.webp -------------------------------------------------------------------------------- /source/images/header-gyx-s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/header-gyx-s.png -------------------------------------------------------------------------------- /source/images/header-gyx-s.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/header-gyx-s.webp -------------------------------------------------------------------------------- /source/images/header-gyx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/header-gyx.png -------------------------------------------------------------------------------- /source/images/header-gyx.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/header-gyx.webp -------------------------------------------------------------------------------- /source/images/header-leg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/header-leg.jpg -------------------------------------------------------------------------------- /source/images/header-leg.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/header-leg.webp -------------------------------------------------------------------------------- /source/images/header-mai.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/header-mai.jpg -------------------------------------------------------------------------------- /source/images/header-mai.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/header-mai.webp -------------------------------------------------------------------------------- /source/images/header-sagiri.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/header-sagiri.jpg -------------------------------------------------------------------------------- /source/images/header-sagiri.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/header-sagiri.webp -------------------------------------------------------------------------------- /source/images/header.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/header.jpg -------------------------------------------------------------------------------- /source/images/header.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/header.webp -------------------------------------------------------------------------------- /source/images/live2d/22/22.2048/texture_00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/live2d/22/22.2048/texture_00.png -------------------------------------------------------------------------------- /source/images/live2d/22/22.2048/texture_00.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/live2d/22/22.2048/texture_00.webp -------------------------------------------------------------------------------- /source/images/live2d/22/22.moc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/live2d/22/22.moc -------------------------------------------------------------------------------- /source/images/live2d/22/22.model.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Live2D Model Setting", 3 | "name": "22", 4 | "model": "22.moc", 5 | "textures": [ 6 | "22.2048/texture_00.png" 7 | ] 8 | } -------------------------------------------------------------------------------- /source/images/live2d/33/33.2048/texture_00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/live2d/33/33.2048/texture_00.png -------------------------------------------------------------------------------- /source/images/live2d/33/33.2048/texture_00.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/live2d/33/33.2048/texture_00.webp -------------------------------------------------------------------------------- /source/images/live2d/33/33.moc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/live2d/33/33.moc -------------------------------------------------------------------------------- /source/images/live2d/33/33.model.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Live2D Model Setting", 3 | "name": "33", 4 | "model": "33.moc", 5 | "textures": [ 6 | "33.2048/texture_00.png" 7 | ] 8 | } -------------------------------------------------------------------------------- /source/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/loading.gif -------------------------------------------------------------------------------- /source/images/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml 24 | -------------------------------------------------------------------------------- /source/images/placeholder.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/placeholder.gif -------------------------------------------------------------------------------- /source/images/quote-l.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 13 | 14 | -------------------------------------------------------------------------------- /source/images/quote-r.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 12 | 13 | -------------------------------------------------------------------------------- /source/images/scroll.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/scroll.png -------------------------------------------------------------------------------- /source/images/scroll.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/scroll.webp -------------------------------------------------------------------------------- /source/images/searchicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/searchicon.png -------------------------------------------------------------------------------- /source/images/searchicon.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/searchicon.webp -------------------------------------------------------------------------------- /source/images/wechatpay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/wechatpay.png -------------------------------------------------------------------------------- /source/images/wechatpay.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/images/wechatpay.webp -------------------------------------------------------------------------------- /source/lib/pace/pace-theme-big-counter.min.css: -------------------------------------------------------------------------------- 1 | .pace{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pace.pace-inactive .pace-progress{display:none}.pace .pace-progress{position:fixed;z-index:2000;top:0;right:0;height:5rem;width:5rem;-webkit-transform:translate3d(0,0,0)!important;-ms-transform:translate3d(0,0,0)!important;transform:translate3d(0,0,0)!important}.pace .pace-progress:after{display:block;position:absolute;top:0;right:.5rem;content:attr(data-progress-text);font-family:"Helvetica Neue",sans-serif;font-weight:100;font-size:5rem;line-height:1;text-align:right;color:rgba(34,153,221,.19999999999999996)} -------------------------------------------------------------------------------- /source/lib/pace/pace-theme-center-atom.min.css: -------------------------------------------------------------------------------- 1 | .pace,.pace .pace-progress{z-index:2000;height:60px;width:100px}.pace .pace-activity,.pace .pace-progress:before{border-radius:50%;display:block;position:absolute}.pace.pace-inactive{display:none}.pace{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:fixed;margin:auto;top:0;left:0;right:0;bottom:0}.pace .pace-progress{position:absolute;-webkit-transform:translate3d(0,0,0)!important;-ms-transform:translate3d(0,0,0)!important;transform:translate3d(0,0,0)!important}.pace .pace-progress:before{content:attr(data-progress-text);text-align:center;color:#fff;background:#29d;font-family:"Helvetica Neue",sans-serif;font-size:14px;font-weight:100;line-height:1;padding:20% 0 7px;width:50%;height:40%;margin:10px 0 0 30px;z-index:999}.pace .pace-activity{font-size:15px;line-height:1;z-index:2000;-webkit-animation:pace-theme-center-atom-spin 2s linear infinite;-moz-animation:pace-theme-center-atom-spin 2s linear infinite;-o-animation:pace-theme-center-atom-spin 2s linear infinite;animation:pace-theme-center-atom-spin 2s linear infinite;border:5px solid #29d;content:' ';top:0;left:0;height:60px;width:100px}.pace .pace-activity:after,.pace .pace-activity:before{content:' ';display:block;position:absolute;top:-5px;left:-5px;height:60px;width:100px}.pace .pace-activity:after{border-radius:50%;border:5px solid #29d;-webkit-transform:rotate(60deg);-moz-transform:rotate(60deg);-o-transform:rotate(60deg);transform:rotate(60deg)}.pace .pace-activity:before{border-radius:50%;border:5px solid #29d;-webkit-transform:rotate(120deg);-moz-transform:rotate(120deg);-o-transform:rotate(120deg);transform:rotate(120deg)}@-webkit-keyframes pace-theme-center-atom-spin{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(359deg)}}@-moz-keyframes pace-theme-center-atom-spin{0%{-moz-transform:rotate(0)}100%{-moz-transform:rotate(359deg)}}@-o-keyframes pace-theme-center-atom-spin{0%{-o-transform:rotate(0)}100%{-o-transform:rotate(359deg)}}@keyframes pace-theme-center-atom-spin{0%{transform:rotate(0)}100%{transform:rotate(359deg)}} -------------------------------------------------------------------------------- /source/lib/pace/pace-theme-center-circle.min.css: -------------------------------------------------------------------------------- 1 | .pace,.pace .pace-progress{z-index:2000;left:0;top:0;height:6rem}.pace{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-perspective:12rem;-moz-perspective:12rem;-ms-perspective:12rem;-o-perspective:12rem;perspective:12rem;position:fixed;width:6rem;margin:auto;right:0;bottom:0}.pace.pace-inactive .pace-progress{display:none}.pace .pace-progress{display:block;position:absolute;width:6rem!important;line-height:6rem;font-size:2rem;border-radius:50%;background:rgba(34,153,221,.8);color:#fff;font-family:"Helvetica Neue",sans-serif;font-weight:100;text-align:center;-webkit-animation:pace-theme-center-circle-spin linear infinite 2s;-moz-animation:pace-theme-center-circle-spin linear infinite 2s;-ms-animation:pace-theme-center-circle-spin linear infinite 2s;-o-animation:pace-theme-center-circle-spin linear infinite 2s;animation:pace-theme-center-circle-spin linear infinite 2s;-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-ms-transform-style:preserve-3d;-o-transform-style:preserve-3d;transform-style:preserve-3d}.pace .pace-progress:after{content:attr(data-progress-text);display:block}@-webkit-keyframes pace-theme-center-circle-spin{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(360deg)}}@-moz-keyframes pace-theme-center-circle-spin{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(360deg)}}@-ms-keyframes pace-theme-center-circle-spin{from{-ms-transform:rotateY(0)}to{-ms-transform:rotateY(360deg)}}@-o-keyframes pace-theme-center-circle-spin{from{-o-transform:rotateY(0)}to{-o-transform:rotateY(360deg)}}@keyframes pace-theme-center-circle-spin{from{transform:rotateY(0)}to{transform:rotateY(360deg)}} -------------------------------------------------------------------------------- /source/lib/pace/pace-theme-center-radar.min.css: -------------------------------------------------------------------------------- 1 | .pace,.pace .pace-activity{z-index:2000;height:90px;width:90px}.pace{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:fixed;margin:auto;top:0;left:0;right:0;bottom:0}.pace.pace-inactive .pace-activity{display:none}.pace .pace-activity,.pace .pace-activity:before{position:absolute;display:block;border-color:#29d transparent transparent;border-radius:50%}.pace .pace-activity{left:-30px;top:-30px;border-width:30px;border-style:double;-webkit-animation:spin 1s linear infinite;-moz-animation:spin 1s linear infinite;-o-animation:spin 1s linear infinite;animation:spin 1s linear infinite}.pace .pace-activity:before{content:' ';top:10px;left:10px;height:50px;width:50px;border-width:10px;border-style:solid}@-webkit-keyframes spin{100%{-webkit-transform:rotate(359deg)}}@-moz-keyframes spin{100%{-moz-transform:rotate(359deg)}}@-o-keyframes spin{100%{-moz-transform:rotate(359deg)}}@keyframes spin{100%{transform:rotate(359deg)}} -------------------------------------------------------------------------------- /source/lib/pace/pace-theme-center-simple.min.css: -------------------------------------------------------------------------------- 1 | .pace{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:2000;position:fixed;margin:auto;top:0;left:0;right:0;bottom:0;height:5px;width:200px;background:#fff;border:1px solid #29d;overflow:hidden}.pace .pace-progress{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0);max-width:200px;z-index:2000;display:block;position:absolute;top:0;right:100%;height:100%;width:100%;background:#29d}.pace.pace-inactive{display:none} -------------------------------------------------------------------------------- /source/lib/pace/pace-theme-corner-indicator.min.css: -------------------------------------------------------------------------------- 1 | .pace{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pace .pace-activity{display:block;position:fixed;z-index:2000;top:0;right:0;width:300px;height:300px;background:#29d;-webkit-transition:-webkit-transform .3s;transition:transform .3s;-webkit-transform:translateX(100%) translateY(-100%) rotate(45deg);transform:translateX(100%) translateY(-100%) rotate(45deg);pointer-events:none}.pace.pace-active .pace-activity{-webkit-transform:translateX(50%) translateY(-50%) rotate(45deg);transform:translateX(50%) translateY(-50%) rotate(45deg)}.pace .pace-activity::after,.pace .pace-activity::before{-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;bottom:30px;left:50%;display:block;border:5px solid #fff;border-radius:50%;content:''}.pace .pace-activity::before{margin-left:-40px;width:80px;height:80px;border-right-color:rgba(0,0,0,.2);border-left-color:rgba(0,0,0,.2);-webkit-animation:pace-theme-corner-indicator-spin 3s linear infinite;animation:pace-theme-corner-indicator-spin 3s linear infinite}.pace .pace-activity::after{bottom:50px;margin-left:-20px;width:40px;height:40px;border-top-color:rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.2);-webkit-animation:pace-theme-corner-indicator-spin 1s linear infinite;animation:pace-theme-corner-indicator-spin 1s linear infinite}@-webkit-keyframes pace-theme-corner-indicator-spin{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(359deg)}}@keyframes pace-theme-corner-indicator-spin{0%{transform:rotate(0)}100%{transform:rotate(359deg)}} -------------------------------------------------------------------------------- /source/lib/pace/pace-theme-fill-left.min.css: -------------------------------------------------------------------------------- 1 | .pace{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pace-inactive{display:none}.pace .pace-progress{background-color:rgba(34,153,221,.19999999999999996);position:fixed;z-index:-1;top:0;right:100%;bottom:0;width:100%} -------------------------------------------------------------------------------- /source/lib/pace/pace-theme-flash.min.css: -------------------------------------------------------------------------------- 1 | .pace{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pace-inactive{display:none}.pace .pace-progress{background:#29d;position:fixed;z-index:2000;top:0;right:100%;width:100%;height:2px}.pace .pace-progress-inner{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;-webkit-transform:rotate(3deg) translate(0,-4px);-moz-transform:rotate(3deg) translate(0,-4px);-ms-transform:rotate(3deg) translate(0,-4px);-o-transform:rotate(3deg) translate(0,-4px);transform:rotate(3deg) translate(0,-4px)}.pace .pace-activity{display:block;position:fixed;z-index:2000;top:15px;right:15px;width:14px;height:14px;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:10px;-webkit-animation:pace-spinner .4s linear infinite;-moz-animation:pace-spinner .4s linear infinite;-ms-animation:pace-spinner .4s linear infinite;-o-animation:pace-spinner .4s linear infinite;animation:pace-spinner .4s linear infinite}@-webkit-keyframes pace-spinner{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes pace-spinner{0%{-moz-transform:rotate(0);transform:rotate(0)}100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes pace-spinner{0%{-o-transform:rotate(0);transform:rotate(0)}100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes pace-spinner{0%{-ms-transform:rotate(0);transform:rotate(0)}100%{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes pace-spinner{0%{transform:rotate(0)}100%{transform:rotate(360deg)}} -------------------------------------------------------------------------------- /source/lib/pace/pace-theme-mac-osx.min.css: -------------------------------------------------------------------------------- 1 | .pace,.pace .pace-progress{width:100%;height:12px;overflow:hidden}.pace,.pace .pace-activity{position:fixed;top:0;left:0}.pace{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:2000;background:#fff}.pace-inactive{display:none}.pace .pace-progress{background-color:#0087E1;position:fixed;top:0;right:100%;-webkit-border-radius:0 0 4px;-moz-border-radius:0 0 4px;-o-border-radius:0 0 4px;border-radius:0 0 4px;-webkit-box-shadow:inset -1px 0 #00558F,inset 0 -1px #00558F,inset 0 2px rgba(255,255,255,.5),inset 0 6px rgba(255,255,255,.3);-moz-box-shadow:inset -1px 0 #00558F,inset 0 -1px #00558F,inset 0 2px rgba(255,255,255,.5),inset 0 6px rgba(255,255,255,.3);-o-box-shadow:inset -1px 0 #00558F,inset 0 -1px #00558F,inset 0 2px rgba(255,255,255,.5),inset 0 6px rgba(255,255,255,.3);box-shadow:inset -1px 0 #00558F,inset 0 -1px #00558F,inset 0 2px rgba(255,255,255,.5),inset 0 6px rgba(255,255,255,.3)}.pace .pace-activity{right:-28px;bottom:0;-webkit-background-image:radial-gradient(rgba(255,255,255,.65) 0,rgba(255,255,255,.15) 100%);-moz-background-image:radial-gradient(rgba(255,255,255,.65) 0,rgba(255,255,255,.15) 100%);-o-background-image:radial-gradient(rgba(255,255,255,.65) 0,rgba(255,255,255,.15) 100%);background-image:radial-gradient(rgba(255,255,255,.65) 0,rgba(255,255,255,.15) 100%);-webkit-background-size:28px 100%;-moz-background-size:28px 100%;-o-background-size:28px 100%;background-size:28px 100%;-webkit-animation:pace-theme-mac-osx-motion .5s linear infinite;-moz-animation:pace-theme-mac-osx-motion .5s linear infinite;-ms-animation:pace-theme-mac-osx-motion .5s linear infinite;-o-animation:pace-theme-mac-osx-motion .5s linear infinite;animation:pace-theme-mac-osx-motion .5s linear infinite}@-webkit-keyframes pace-theme-mac-osx-motion{0%{-webkit-transform:none;transform:none}100%{-webkit-transform:translate(-28px,0);transform:translate(-28px,0)}}@-moz-keyframes pace-theme-mac-osx-motion{0%{-moz-transform:none;transform:none}100%{-moz-transform:translate(-28px,0);transform:translate(-28px,0)}}@-o-keyframes pace-theme-mac-osx-motion{0%{-o-transform:none;transform:none}100%{-o-transform:translate(-28px,0);transform:translate(-28px,0)}}@-ms-keyframes pace-theme-mac-osx-motion{0%{-ms-transform:none;transform:none}100%{-ms-transform:translate(-28px,0);transform:translate(-28px,0)}}@keyframes pace-theme-mac-osx-motion{0%{transform:none}100%{transform:translate(-28px,0)}} -------------------------------------------------------------------------------- /source/lib/pace/pace-theme-minimal.min.css: -------------------------------------------------------------------------------- 1 | .pace{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pace-inactive{display:none}.pace .pace-progress{background:#29d;position:fixed;z-index:2000;top:0;right:100%;width:100%;height:2px} -------------------------------------------------------------------------------- /source/lib/social-share.js/fonts/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/lib/social-share.js/fonts/iconfont.eot -------------------------------------------------------------------------------- /source/lib/social-share.js/fonts/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/lib/social-share.js/fonts/iconfont.ttf -------------------------------------------------------------------------------- /source/lib/social-share.js/fonts/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DIYgod/hexo-theme-sagiri/cd51615e04c88d7bf19ecf341c272f58c3b51681/source/lib/social-share.js/fonts/iconfont.woff -------------------------------------------------------------------------------- /source/lib/velocity-animate/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License 2 | 3 | Copyright (c) 2014 Julian Shapiro 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 | -------------------------------------------------------------------------------- /source/lib/velocity-animate/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "velocity-animate", 3 | "version": "1.5.0", 4 | "description": "Accelerated JavaScript animation.", 5 | "keywords": [ 6 | "velocity", 7 | "animation", 8 | "jquery", 9 | "animate", 10 | "ui", 11 | "velocity.js", 12 | "velocityjs", 13 | "javascript" 14 | ], 15 | "homepage": "http://velocityjs.org", 16 | "bugs": { 17 | "url": "http://github.com/julianshapiro/velocity/issues" 18 | }, 19 | "license": "MIT", 20 | "authors": [ 21 | { 22 | "name": "Julian Shapiro", 23 | "url": "http://julian.com/" 24 | }, 25 | { 26 | "name": "Ryc O'Chet", 27 | "url": "https://github.com/Rycochet" 28 | } 29 | ], 30 | "main": "velocity.js", 31 | "repository": "julianshapiro/velocity", 32 | "files": [ 33 | "velocity.js", 34 | "velocity.min.js", 35 | "velocity.ui.js", 36 | "velocity.ui.min.js" 37 | ], 38 | "devDependencies": { 39 | "grunt": "^1.0.1", 40 | "grunt-contrib-jshint": "~1.1.0", 41 | "grunt-contrib-uglify": "~2.2.0" 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/bootstrap.js: -------------------------------------------------------------------------------- 1 | /* global NexT: true */ 2 | 3 | $(document).ready(function () { 4 | 5 | $(document).trigger('bootstrap:before'); 6 | 7 | NexT.utils.isMobile() && window.FastClick.attach(document.body); 8 | 9 | NexT.utils.lazyLoadPostsImages(); 10 | 11 | NexT.utils.registerESCKeyEvent(); 12 | 13 | // NexT.utils.registerBackToTop(); 14 | 15 | // Mobile top menu bar. 16 | $('.site-nav-toggle button').on('click', function () { 17 | var $siteNav = $('.site-nav'); 18 | var ON_CLASS_NAME = 'site-nav-on'; 19 | var isSiteNavOn = $siteNav.hasClass(ON_CLASS_NAME); 20 | var animateAction = isSiteNavOn ? 'slideUp' : 'slideDown'; 21 | var animateCallback = isSiteNavOn ? 'removeClass' : 'addClass'; 22 | 23 | $siteNav.stop()[animateAction]('fast', function () { 24 | $siteNav[animateCallback](ON_CLASS_NAME); 25 | }); 26 | }); 27 | 28 | /** 29 | * Register JS handlers by condition option. 30 | * Need to add config option in Front-End at 'layout/_partials/head.swig' file. 31 | */ 32 | CONFIG.fancybox && NexT.utils.wrapImageWithFancyBox(); 33 | CONFIG.tabs && NexT.utils.registerTabsTag(); 34 | 35 | NexT.utils.embeddedVideoTransformer(); 36 | // NexT.utils.addActiveClassToMenuItem(); 37 | 38 | 39 | // Define Motion Sequence. 40 | NexT.motion.integrator 41 | .add(NexT.motion.middleWares.logo) 42 | .add(NexT.motion.middleWares.menu) 43 | .add(NexT.motion.middleWares.postList) 44 | .add(NexT.motion.middleWares.sidebar); 45 | 46 | $(document).trigger('motion:before'); 47 | 48 | // Bootstrap Motion. 49 | CONFIG.motion.enable && NexT.motion.integrator.bootstrap(); 50 | 51 | $(document).trigger('bootstrap:after'); 52 | }); 53 | -------------------------------------------------------------------------------- /src/clipboard.js: -------------------------------------------------------------------------------- 1 | var arCon = document.getElementsByClassName('post-body'); 2 | for (var i = 0; i < arCon.length; i++) { 3 | arCon[i].addEventListener('copy', function (e) { 4 | if (window.getSelection().toString() && window.getSelection().toString().length > 42) { 5 | setClipboardText(e); 6 | //alert('商业转载请联系作者获得授权,非商业转载请注明出处,谢谢合作。'); 7 | notie('商业转载请联系作者获得授权,非商业转载请注明出处,谢谢合作。', { 8 | type: 'info', 9 | autoHide: true, 10 | }); 11 | } 12 | }); 13 | } 14 | 15 | function setClipboardText (event) { 16 | var clipboardData = event.clipboardData || window.clipboardData; 17 | if (clipboardData) { 18 | event.preventDefault(); 19 | 20 | var htmlData = '' 21 | + '著作权归作者所有。
' 22 | + '商业转载请联系作者获得授权,非商业转载请注明出处。
' 23 | + '作者:' + CONFIG.site.author + '
' 24 | + '链接:' + window.location.href + '
' 25 | + '来源:' + CONFIG.site.title + '

' 26 | + window.getSelection().toString(); 27 | var textData = '' 28 | + '著作权归作者所有。\n' 29 | + '商业转载请联系作者获得授权,非商业转载请注明出处。\n' 30 | + '作者:' + CONFIG.site.author + '\n' 31 | + '链接:' + window.location.href + '\n' 32 | + '来源:' + CONFIG.site.title + '\n\n' 33 | + window.getSelection().toString(); 34 | 35 | clipboardData.setData('text/html', htmlData); 36 | clipboardData.setData('text/plain', textData); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/evanyou.js: -------------------------------------------------------------------------------- 1 | if (document.getElementById('evanyou')) { 2 | var c = document.getElementById('evanyou'), 3 | x = c.getContext('2d'), 4 | pr = window.devicePixelRatio || 1, 5 | w = window.innerWidth, 6 | h = window.innerHeight, 7 | f = 90, 8 | q, 9 | m = Math, 10 | r = 0, 11 | u = m.PI * 2, 12 | v = m.cos, 13 | z = m.random 14 | c.width = w * pr 15 | c.height = h * pr 16 | x.scale(pr, pr) 17 | x.globalAlpha = 0.6 18 | function evanyou () { 19 | x.clearRect(0, 0, w, h) 20 | q = [{ x: 0, y: h * .7 + f }, { x: 0, y: h * .7 - f }] 21 | while (q[1].x < w + f) d(q[0], q[1]) 22 | } 23 | function d (i, j) { 24 | x.beginPath() 25 | x.moveTo(i.x, i.y) 26 | x.lineTo(j.x, j.y) 27 | var k = j.x + (z() * 2 - 0.25) * f, 28 | n = y(j.y) 29 | x.lineTo(k, n) 30 | x.closePath() 31 | r -= u / -50 32 | x.fillStyle = '#' + (v(r) * 127 + 128 << 16 | v(r + u / 3) * 127 + 128 << 8 | v(r + u / 3 * 2) * 127 + 128).toString(16) 33 | x.fill() 34 | q[0] = q[1] 35 | q[1] = { x: k, y: n } 36 | } 37 | function y (p) { 38 | var t = p + (z() * 2 - 1.1) * f 39 | return (t > h || t < 0) ? y(p) : t 40 | } 41 | document.onclick = evanyou 42 | document.ontouchstart = evanyou 43 | evanyou() 44 | } 45 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | window.FastClick = require('fastclick'); 2 | require('lazyload'); 3 | 4 | window.notie = require('corner-notie'); 5 | window.APlayer = require('aplayer'); 6 | window.DPlayer = require('dplayer'); 7 | 8 | require('./utils'); 9 | require('./motion'); 10 | require('./affix'); 11 | require('./pisces')(); 12 | require('./scrollspy'); 13 | require('./post-details')(); 14 | require('./bootstrap'); 15 | require('./evanyou'); 16 | require('./leancloud')(); 17 | require('./share')(); 18 | require('./scroll'); 19 | require('./since'); 20 | require('./title'); 21 | require('./type'); 22 | // require('./kanban'); 23 | require('./mix'); 24 | require('./clipboard'); 25 | require('./pjax'); 26 | require('./search'); 27 | require('./zoom')(); 28 | require('./cursor-effects'); 29 | -------------------------------------------------------------------------------- /src/kanban.js: -------------------------------------------------------------------------------- 1 | if (!NexT.utils.isMobile()) { 2 | require('./live2d'); 3 | 4 | loadlive2d("live2d", "/images/live2d/22/22.model.json"); 5 | } 6 | -------------------------------------------------------------------------------- /src/mix.js: -------------------------------------------------------------------------------- 1 | // 顶部头像动画 2 | // $('.site-master-avatar').on('mouseover', function () { 3 | // this.classList.add('animated', 'tada'); 4 | // }); 5 | // $('.site-master-avatar').on('mouseout', function () { 6 | // this.classList.remove('animated', 'tada'); 7 | // }); 8 | 9 | // subtitle 10 | if (navigator.userAgent.match(/mobile/i)) { 11 | $('.menu-item').click(function () { 12 | const subtitle = $(this).find('.submenu'); 13 | if (subtitle.length) { 14 | if (subtitle.height()) { 15 | subtitle.css({ 16 | height: '' 17 | }) 18 | } else { 19 | subtitle.css({ 20 | height: subtitle[0].scrollHeight 21 | }) 22 | } 23 | } 24 | }) 25 | } else { 26 | $('.menu-item').hover(function () { 27 | const subtitle = $(this).find('.submenu'); 28 | if (subtitle.length) { 29 | subtitle.css({ 30 | height: subtitle[0].scrollHeight 31 | }) 32 | } 33 | }, function () { 34 | const subtitle = $(this).find('.submenu'); 35 | if (subtitle.length) { 36 | subtitle.css({ 37 | height: '' 38 | }) 39 | } 40 | }) 41 | } 42 | -------------------------------------------------------------------------------- /src/pisces.js: -------------------------------------------------------------------------------- 1 | function pisces () { 2 | 3 | $(document).ready(function () { 4 | 5 | var sidebarInner = $('.sidebar-inner'); 6 | 7 | initAffix(); 8 | resizeListener(); 9 | 10 | function initAffix () { 11 | var headerOffset = getHeaderOffset(), 12 | // footerOffset = getFooterOffset(), 13 | sidebarHeight = $('#sidebar').height(), 14 | contentHeight = $('#content').height(); 15 | 16 | // Not affix if sidebar taller then content (to prevent bottom jumping). 17 | if (sidebarHeight < contentHeight) { 18 | sidebarInner.affix({ 19 | offset: { 20 | top: headerOffset - 2 * CONFIG.sidebar.offset, 21 | bottom: 540 22 | } 23 | }); 24 | } 25 | 26 | // setSidebarMarginTop(headerOffset).css({ 'margin-left': 'initial' }); 27 | } 28 | 29 | function resizeListener () { 30 | var mql = window.matchMedia('(min-width: 991px)'); 31 | mql.addListener(function (e) { 32 | if (e.matches) { 33 | recalculateAffixPosition(); 34 | } 35 | }); 36 | } 37 | 38 | function getHeaderOffset () { 39 | return $('.header-inner').height() + CONFIG.sidebar.offset; 40 | } 41 | 42 | // function getFooterOffset () { 43 | // var footerInner = $('.footer-inner'), 44 | // footerMargin = footerInner.outerHeight(true) - footerInner.outerHeight(), 45 | // footerOffset = footerInner.outerHeight(true) + footerMargin; 46 | // return footerOffset; 47 | // } 48 | 49 | function setSidebarMarginTop (headerOffset) { 50 | return $('#sidebar').css({ 'margin-top': headerOffset }); 51 | } 52 | 53 | function recalculateAffixPosition () { 54 | $(window).off('.affix'); 55 | sidebarInner.removeData('bs.affix').removeClass('affix affix-top affix-bottom'); 56 | initAffix(); 57 | } 58 | 59 | }); 60 | } 61 | 62 | module.exports = pisces; 63 | -------------------------------------------------------------------------------- /src/pjax.js: -------------------------------------------------------------------------------- 1 | require('jquery-pjax'); 2 | const NProgress = require('nprogress'); 3 | 4 | NProgress.configure({ 5 | showSpinner: false, 6 | easing: 'ease-out', 7 | speed: 1000 8 | }); 9 | 10 | $(document).pjax('a:not(.fancybox):not([target="_blank"])', '#main', { 11 | scrollTo: $('.main').position().top - 60, 12 | fragment: '#main', 13 | timeout: 5000, 14 | }); 15 | 16 | $(document).on('pjax:start', function () { 17 | NProgress.start(); 18 | $('html, body').animate({ 19 | scrollTop: $('.main').position().top - 60 20 | }, 500); 21 | 22 | if (window.dplayers) { 23 | for (let i = 0; i < window.dplayers.length; i++) { 24 | window.dplayers[i].destroy(); 25 | } 26 | window.dplayers = []; 27 | } 28 | if (window.aplayers) { 29 | for (let i = 0; i < window.aplayers.length; i++) { 30 | window.aplayers[i].destroy(); 31 | } 32 | window.aplayers = []; 33 | } 34 | }); 35 | 36 | $(document).on('pjax:end', function () { 37 | NProgress.done(); 38 | require('./post-details')(); 39 | require('./leancloud')(); 40 | require('./share')(); 41 | require('./pisces')(); 42 | require('./zoom')(); 43 | window.originTitle = document.title; 44 | 45 | if (ga) { 46 | ga('set', 'location', window.location.href); 47 | ga('send', 'pageview'); 48 | } 49 | 50 | $('.site-overview, .post-toc').css('max-height', document.body.clientHeight - 164); 51 | }); 52 | -------------------------------------------------------------------------------- /src/scroll.js: -------------------------------------------------------------------------------- 1 | // const Headroom = require('headroom.js'); 2 | 3 | if (!NexT.utils.isMobile()) { 4 | // var headroom = new Headroom($('.site-nav')[0], { 5 | // "tolerance": 5, 6 | // "offset": 205, 7 | // "classes": { 8 | // "initial": "head-animated", 9 | // "pinned": "slideDown", 10 | // "unpinned": "slideUp" 11 | // } 12 | // }); 13 | // headroom.init(); 14 | 15 | // 利用 data-scroll 属性,滚动到任意 dom 元素 16 | $.scrollto = function (scrolldom, scrolltime) { 17 | $(scrolldom).click(function () { 18 | $(this).addClass("active").siblings().removeClass("active"); 19 | $('html, body').animate({ 20 | scrollTop: $('body').offset().top 21 | }, scrolltime); 22 | return false; 23 | }); 24 | }; 25 | // 判断位置控制 返回顶部的显隐 26 | var backTo = $(".back-to-top"); 27 | var backHeight = $(window).height() - 980 + 'px'; 28 | $(window).scroll(function () { 29 | if ($(window).scrollTop() > 700 && backTo.css('top') === '-900px') { 30 | backTo.css('top', backHeight); 31 | } 32 | else if ($(window).scrollTop() <= 700 && backTo.css('top') !== '-900px') { 33 | backTo.css('top', '-900px'); 34 | } 35 | }); 36 | 37 | // 启用 38 | $.scrollto(".back-to-top", 800); 39 | } 40 | -------------------------------------------------------------------------------- /src/search.js: -------------------------------------------------------------------------------- 1 | $('.search-form').submit(function (e) { 2 | e.preventDefault(); 3 | window.open(`https://www.google.com/search?&q=site%3A${window.location.host}+${encodeURIComponent($('.search-form input[name="keyword"]').val())}`); 4 | }); 5 | -------------------------------------------------------------------------------- /src/share.js: -------------------------------------------------------------------------------- 1 | require('social-share.js/dist/js/jquery.share.min.js'); 2 | 3 | function share () { 4 | if ($('.post-share').length) { 5 | $('.post-share').share({ 6 | disabled: ['tencent', 'douban', 'linkedin', 'diandian', 'facebook', 'google'], 7 | wechatQrcodeTitle: "微信扫一扫", 8 | wechatQrcodeHelper: '

微信扫一扫,右上角分享

', 9 | source: CONFIG.site.title 10 | }); 11 | } 12 | } 13 | 14 | module.exports = share; 15 | -------------------------------------------------------------------------------- /src/since.js: -------------------------------------------------------------------------------- 1 | function show_date_time () { 2 | window.setTimeout(function () { 3 | show_date_time(); 4 | }, 1000); 5 | var BirthDay = new Date(window.CONFIG.since); 6 | var today = new Date(); 7 | var timeold = (today.getTime() - BirthDay.getTime()); 8 | var msPerDay = 24 * 60 * 60 * 1000; 9 | var e_daysold = timeold / msPerDay; 10 | var daysold = Math.floor(e_daysold); 11 | var e_hrsold = (e_daysold - daysold) * 24; 12 | var hrsold = Math.floor(e_hrsold); 13 | var e_minsold = (e_hrsold - hrsold) * 60; 14 | var minsold = Math.floor((e_hrsold - hrsold) * 60); 15 | var seconds = Math.floor((e_minsold - minsold) * 60); 16 | $('#since').html(daysold + "天" + hrsold + "小时" + minsold + "分" + seconds + "秒"); 17 | } 18 | show_date_time(); 19 | -------------------------------------------------------------------------------- /src/title.js: -------------------------------------------------------------------------------- 1 | if (window.CONFIG.favicon.visibilitychange) { 2 | // title变化 3 | window.originTitle = document.title; 4 | var titleTime; 5 | document.addEventListener('visibilitychange', function () { 6 | if (document.hidden) { 7 | $('[rel="icon"]').attr('href', window.CONFIG.favicon.hidden); 8 | document.title = window.CONFIG.favicon.hide_text; 9 | clearTimeout(titleTime); 10 | } 11 | else { 12 | $('[rel="icon"]').attr('href', window.CONFIG.favicon.narmal); 13 | document.title = window.CONFIG.favicon.show_text + window.originTitle; 14 | titleTime = setTimeout(function () { 15 | document.title = window.originTitle; 16 | }, 2000); 17 | } 18 | }); 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/zoom.js: -------------------------------------------------------------------------------- 1 | const zoom = require('zoom-image'); 2 | 3 | function zoomContent () { 4 | Array.prototype.forEach.call($('.content img').not('[hidden]').not('.no-fancybox').not('.post-share img'), el => { 5 | zoom(el); 6 | }); 7 | } 8 | 9 | module.exports = zoomContent; 10 | -------------------------------------------------------------------------------- /webpack.config.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable no-undef */ 2 | const path = require('path'); 3 | const webpack = require('webpack'); 4 | const GitRevisionPlugin = require('git-revision-webpack-plugin'); 5 | const gitRevisionPlugin = new GitRevisionPlugin(); 6 | const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin; 7 | 8 | module.exports = { 9 | 10 | mode: 'production', 11 | 12 | bail: true, 13 | 14 | devtool: 'source-map', 15 | 16 | entry: { 17 | 'sagiri': './src/index.js' 18 | }, 19 | 20 | output: { 21 | path: path.resolve(__dirname, 'source', 'js'), 22 | filename: '[name].min.js', 23 | publicPath: '/' 24 | }, 25 | 26 | resolve: { 27 | modules: ['node_modules'], 28 | extensions: ['.js'] 29 | }, 30 | 31 | module: { 32 | strictExportPresence: true, 33 | rules: [ 34 | { 35 | test: /\.js$/, 36 | use: [ 37 | { 38 | loader: require.resolve('babel-loader'), 39 | options: { 40 | compact: true, 41 | presets: ['@babel/preset-env'] 42 | } 43 | } 44 | ] 45 | } 46 | ] 47 | }, 48 | 49 | plugins: [ 50 | new BundleAnalyzerPlugin({ 51 | logLevel: 'warn', 52 | reportFilename: 'video-report.html', 53 | analyzerMode: 'static', 54 | openAnalyzer: false, 55 | }), 56 | ], 57 | 58 | }; 59 | --------------------------------------------------------------------------------