├── .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 | [](https://www.npmjs.com/package/hexo-theme-sagiri)
6 | [](https://github.com/DIYgod/hexo-theme-sagiri/blob/master/LICENSE)
7 | [](https://www.npmjs.com/package/hexo-theme-sagiri)
8 | [](https://david-dm.org/DIYgod/hexo-theme-sagiri)
9 | [](https://david-dm.org/DIYgod/hexo-theme-sagiri#info=devDependencies)
10 | [](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 |
32 |
33 |
34 | {% endmacro %}
35 |
--------------------------------------------------------------------------------
/layout/_macro/post-copyright.swig:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{ __('post.copyright.author') + __('symbol.colon') }}
4 | {{ post.author | default(config.author) }}
5 |
6 |
7 | {{ __('post.copyright.link') + __('symbol.colon') }}
8 | {{ post.url | default(post.permalink) }}
9 |
10 |
11 | {{ __('post.copyright.license_title') + __('symbol.colon') }}
12 | {{ __('post.copyright.license_content', theme.post_copyright.license_url, theme.post_copyright.license) }}
13 |
14 |
15 |
--------------------------------------------------------------------------------
/layout/_macro/reward.swig:
--------------------------------------------------------------------------------
1 |
2 |
{{ theme.reward_comment }}
3 |
4 | {{ __('reward.donate') }}
5 |
6 |
7 |
8 | {% if theme.wechatpay %}
9 |
10 |
11 |
{{ __('reward.wechatpay') }}
12 |
13 | {% endif %}
14 |
15 | {% if theme.alipay %}
16 |
17 |
18 |
{{ __('reward.alipay') }}
19 |
20 | {% endif %}
21 |
22 | {% if theme.bitcoin %}
23 |
24 |
25 |
{{ __('reward.bitcoin') }}
26 |
27 | {% endif %}
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/layout/_macro/wechat-subscriber.swig:
--------------------------------------------------------------------------------
1 |
2 |
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 |
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 |
4 |
5 |
13 |
--------------------------------------------------------------------------------
/layout/_partials/search/tinysou.swig:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/layout/_partials/share/add-this.swig:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/layout/_partials/share/baidushare.swig:
--------------------------------------------------------------------------------
1 | {% if theme.baidushare.type === "button" %}
2 |
14 |
33 | {% elseif theme.baidushare.type === "slide" %}
34 |
54 | {% endif %}
55 |
58 |
--------------------------------------------------------------------------------
/layout/_partials/share/duoshuo_share.swig:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/layout/_partials/share/jiathis.swig:
--------------------------------------------------------------------------------
1 |
2 |
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 }}{% if theme.seo %}h2{% else %}h1{% endif %}>
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 | {% if theme.seo %}h2{% else %}h1{% endif %}>
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 |
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 | {% if theme.seo %}h2{% else %}h1{% endif %}>
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 |
--------------------------------------------------------------------------------