├── .gitignore
├── CNAME
├── README.md
├── _config.yml
├── db.json
├── docs
├── about
│ └── index.html
├── archives
│ ├── 2019
│ │ ├── 11
│ │ │ └── index.html
│ │ └── index.html
│ └── index.html
├── baidusitemap.xml
├── categories
│ └── index.html
├── css
│ └── main.css
├── design
│ └── index.html
├── emoji_copy_paste
│ └── index.html
├── free_font
│ └── index.html
├── icon
│ └── index.html
├── images
│ ├── algolia_logo.svg
│ ├── apple-touch-icon-next.png
│ ├── avatar.gif
│ ├── background.jpg
│ ├── cc-by-nc-nd.svg
│ ├── cc-by-nc-sa.svg
│ ├── cc-by-nc.svg
│ ├── cc-by-nd.svg
│ ├── cc-by-sa.svg
│ ├── cc-by.svg
│ ├── cc-zero.svg
│ ├── chuyin.ico
│ ├── cursor_1.png
│ ├── favicon-16x16-next.png
│ ├── favicon-32x32-next.png
│ ├── loading.gif
│ ├── loading.png
│ ├── logo.svg
│ ├── placeholder.gif
│ ├── quote-l.svg
│ ├── quote-r.svg
│ ├── searchicon.png
│ └── wechatpay.jpg
├── index.html
├── js
│ ├── affix.js
│ ├── algolia-search.js
│ ├── exturl.js
│ ├── js.cookie.js
│ ├── motion.js
│ ├── next-boot.js
│ ├── post-details.js
│ ├── schemes
│ │ ├── muse.js
│ │ └── pisces.js
│ ├── scroll-cookie.js
│ ├── scrollspy.js
│ └── utils.js
├── lib
│ ├── jquery
│ │ └── index.js
│ └── velocity
│ │ ├── velocity.js
│ │ ├── velocity.min.js
│ │ ├── velocity.ui.js
│ │ └── velocity.ui.min.js
├── search.xml
├── sitemap.xml
├── tags
│ ├── Design
│ │ └── index.html
│ ├── emoji
│ │ └── index.html
│ ├── index.html
│ ├── 样机
│ │ └── index.html
│ └── 矢量图标
│ │ └── index.html
└── yangji
│ └── index.html
├── package-lock.json
├── package.json
├── piece
└── emoji_copy_paste
│ └── emoji.pptx
├── scaffolds
├── draft.md
├── page.md
└── post.md
├── source
├── _posts
│ ├── design.md
│ ├── emoji-copy-paste.md
│ ├── free-font.md
│ ├── icon.md
│ └── mockup.md
├── about
│ └── index.md
├── categories
│ └── index.md
└── tags
│ └── index.md
├── static
└── jquery.min.js
├── themes
├── landscape
│ ├── .gitignore
│ ├── Gruntfile.js
│ ├── LICENSE
│ ├── README.md
│ ├── _config.yml
│ ├── languages
│ │ ├── de.yml
│ │ ├── default.yml
│ │ ├── es.yml
│ │ ├── fr.yml
│ │ ├── ja.yml
│ │ ├── ko.yml
│ │ ├── nl.yml
│ │ ├── no.yml
│ │ ├── pt.yml
│ │ ├── ru.yml
│ │ ├── zh-CN.yml
│ │ └── zh-TW.yml
│ ├── layout
│ │ ├── _partial
│ │ │ ├── after-footer.ejs
│ │ │ ├── archive-post.ejs
│ │ │ ├── archive.ejs
│ │ │ ├── article.ejs
│ │ │ ├── footer.ejs
│ │ │ ├── gauges-analytics.ejs
│ │ │ ├── google-analytics.ejs
│ │ │ ├── head.ejs
│ │ │ ├── header.ejs
│ │ │ ├── mobile-nav.ejs
│ │ │ ├── post
│ │ │ │ ├── category.ejs
│ │ │ │ ├── date.ejs
│ │ │ │ ├── gallery.ejs
│ │ │ │ ├── nav.ejs
│ │ │ │ ├── tag.ejs
│ │ │ │ └── title.ejs
│ │ │ └── sidebar.ejs
│ │ ├── _widget
│ │ │ ├── archive.ejs
│ │ │ ├── category.ejs
│ │ │ ├── recent_posts.ejs
│ │ │ ├── tag.ejs
│ │ │ └── tagcloud.ejs
│ │ ├── archive.ejs
│ │ ├── category.ejs
│ │ ├── index.ejs
│ │ ├── layout.ejs
│ │ ├── page.ejs
│ │ ├── post.ejs
│ │ └── tag.ejs
│ ├── package.json
│ ├── scripts
│ │ └── fancybox.js
│ └── source
│ │ ├── css
│ │ ├── _extend.styl
│ │ ├── _partial
│ │ │ ├── archive.styl
│ │ │ ├── article.styl
│ │ │ ├── comment.styl
│ │ │ ├── footer.styl
│ │ │ ├── header.styl
│ │ │ ├── highlight.styl
│ │ │ ├── mobile.styl
│ │ │ ├── sidebar-aside.styl
│ │ │ ├── sidebar-bottom.styl
│ │ │ └── sidebar.styl
│ │ ├── _util
│ │ │ ├── grid.styl
│ │ │ └── mixin.styl
│ │ ├── _variables.styl
│ │ ├── fonts
│ │ │ ├── FontAwesome.otf
│ │ │ ├── fontawesome-webfont.eot
│ │ │ ├── fontawesome-webfont.svg
│ │ │ ├── fontawesome-webfont.ttf
│ │ │ └── fontawesome-webfont.woff
│ │ ├── images
│ │ │ └── banner.jpg
│ │ └── style.styl
│ │ ├── fancybox
│ │ ├── blank.gif
│ │ ├── fancybox_loading.gif
│ │ ├── fancybox_loading@2x.gif
│ │ ├── fancybox_overlay.png
│ │ ├── fancybox_sprite.png
│ │ ├── fancybox_sprite@2x.png
│ │ ├── helpers
│ │ │ ├── fancybox_buttons.png
│ │ │ ├── jquery.fancybox-buttons.css
│ │ │ ├── jquery.fancybox-buttons.js
│ │ │ ├── jquery.fancybox-media.js
│ │ │ ├── jquery.fancybox-thumbs.css
│ │ │ └── jquery.fancybox-thumbs.js
│ │ ├── jquery.fancybox.css
│ │ ├── jquery.fancybox.js
│ │ └── jquery.fancybox.pack.js
│ │ └── js
│ │ └── script.js
└── next
│ ├── .all-contributorsrc
│ ├── .bowerrc
│ ├── .editorconfig
│ ├── .eslintrc.json
│ ├── .gitattributes
│ ├── .github
│ ├── CODE_OF_CONDUCT.md
│ ├── CONTRIBUTING.md
│ ├── ISSUE_TEMPLATE.md
│ ├── ISSUE_TEMPLATE
│ │ ├── bug-report.md
│ │ ├── custom-issue-template.md
│ │ ├── feature-request.md
│ │ └── non-english.md
│ ├── PULL_REQUEST_TEMPLATE.md
│ ├── auto_assign.yml
│ ├── config.yml
│ ├── eslint-disable-bot.yml
│ ├── lock.yml
│ ├── mergeable.yml
│ ├── release-drafter.yml
│ ├── stale.yml
│ ├── support.yml
│ ├── topissuebot.yml
│ └── weekly-digest.yml
│ ├── .gitignore
│ ├── .stylintrc
│ ├── .travis.yml
│ ├── LICENSE.md
│ ├── README.md
│ ├── _config.yml
│ ├── bower.json
│ ├── crowdin.yml
│ ├── docs
│ ├── AGPL3.md
│ ├── ALGOLIA-SEARCH.md
│ ├── AUTHORS.md
│ ├── DATA-FILES.md
│ ├── INSTALLATION.md
│ ├── LEANCLOUD-COUNTER-SECURITY.md
│ ├── LICENSE.txt
│ ├── MATH.md
│ ├── UPDATE-FROM-5.1.X.md
│ ├── ru
│ │ ├── DATA-FILES.md
│ │ ├── INSTALLATION.md
│ │ ├── README.md
│ │ └── UPDATE-FROM-5.1.X.md
│ └── zh-CN
│ │ ├── ALGOLIA-SEARCH.md
│ │ ├── CODE_OF_CONDUCT.md
│ │ ├── CONTRIBUTING.md
│ │ ├── DATA-FILES.md
│ │ ├── INSTALLATION.md
│ │ ├── LEANCLOUD-COUNTER-SECURITY.md
│ │ ├── MATH.md
│ │ ├── README.md
│ │ └── UPDATE-FROM-5.1.X.md
│ ├── gulpfile.coffee
│ ├── languages
│ ├── de.yml
│ ├── default.yml
│ ├── en.yml
│ ├── es.yml
│ ├── fa.yml
│ ├── fr.yml
│ ├── id.yml
│ ├── it.yml
│ ├── ja.yml
│ ├── ko.yml
│ ├── nl.yml
│ ├── pt-BR.yml
│ ├── pt.yml
│ ├── ru.yml
│ ├── tr.yml
│ ├── uk.yml
│ ├── vi.yml
│ ├── zh-CN.yml
│ ├── zh-HK.yml
│ └── zh-TW.yml
│ ├── layout
│ ├── _custom
│ │ ├── head.swig
│ │ ├── header.swig
│ │ └── sidebar.swig
│ ├── _layout.swig
│ ├── _macro
│ │ ├── menu
│ │ │ ├── menu-badge.swig
│ │ │ └── menu-item.swig
│ │ ├── post-collapse.swig
│ │ ├── post.swig
│ │ └── sidebar.swig
│ ├── _partials
│ │ ├── comments.swig
│ │ ├── footer.swig
│ │ ├── github-banner.swig
│ │ ├── head
│ │ │ ├── external-fonts.swig
│ │ │ ├── head-unique.swig
│ │ │ └── head.swig
│ │ ├── header
│ │ │ ├── brand.swig
│ │ │ ├── index.swig
│ │ │ ├── menu.swig
│ │ │ └── sub-menu.swig
│ │ ├── page
│ │ │ ├── breadcrumb.swig
│ │ │ └── page-header.swig
│ │ ├── pagination.swig
│ │ ├── post-edit.swig
│ │ ├── post
│ │ │ ├── post-copyright.swig
│ │ │ ├── post-related.swig
│ │ │ ├── reward.swig
│ │ │ └── wechat-subscriber.swig
│ │ ├── search
│ │ │ ├── algolia-search.swig
│ │ │ ├── index.swig
│ │ │ ├── localsearch.swig
│ │ │ └── swiftype.swig
│ │ └── share
│ │ │ ├── add-this.swig
│ │ │ ├── baidushare.swig
│ │ │ └── likely.swig
│ ├── _scripts
│ │ ├── commons.swig
│ │ ├── exturl.swig
│ │ ├── next-boot.swig
│ │ ├── noscript.swig
│ │ ├── pages
│ │ │ └── post-details.swig
│ │ ├── schemes
│ │ │ ├── gemini.swig
│ │ │ ├── mist.swig
│ │ │ ├── muse.swig
│ │ │ └── pisces.swig
│ │ ├── scroll-cookie.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
│ │ │ ├── firestore.swig
│ │ │ ├── google-analytics.swig
│ │ │ ├── growingio.swig
│ │ │ ├── index.swig
│ │ │ ├── lean-analytics.swig
│ │ │ ├── tencent-analytics.swig
│ │ │ ├── tencent-mta.swig
│ │ │ └── vkontakte-api.swig
│ │ ├── baidu-push.swig
│ │ ├── bookmark.swig
│ │ ├── chatra.swig
│ │ ├── comments
│ │ │ ├── changyan.swig
│ │ │ ├── disqus.swig
│ │ │ ├── disqusjs.swig
│ │ │ ├── gitalk.swig
│ │ │ ├── gitment.swig
│ │ │ ├── index.swig
│ │ │ ├── livere.swig
│ │ │ └── valine.swig
│ │ ├── copy-code.swig
│ │ ├── math
│ │ │ ├── index.swig
│ │ │ ├── katex.swig
│ │ │ └── mathjax.swig
│ │ ├── mermaid.swig
│ │ ├── needsharebutton.swig
│ │ ├── pangu.swig
│ │ ├── pdf.swig
│ │ ├── quicklink.swig
│ │ ├── rating.swig
│ │ ├── schedule.swig
│ │ ├── search
│ │ │ ├── algolia-search.swig
│ │ │ ├── index.swig
│ │ │ └── localsearch.swig
│ │ └── tidio.swig
│ ├── archive.swig
│ ├── category.swig
│ ├── index.swig
│ ├── page.swig
│ ├── post.swig
│ ├── schedule.swig
│ └── tag.swig
│ ├── package.json
│ ├── scripts
│ ├── filters
│ │ └── exturl.js
│ ├── helpers
│ │ ├── engine.js
│ │ └── next-url.js
│ ├── merge-configs.js
│ ├── merge.js
│ └── tags
│ │ ├── button.js
│ │ ├── center-quote.js
│ │ ├── exturl.js
│ │ ├── full-image.js
│ │ ├── group-pictures.js
│ │ ├── include-raw.js
│ │ ├── label.js
│ │ ├── mermaid.js
│ │ ├── note.js
│ │ ├── pdf.js
│ │ ├── tabs.js
│ │ └── video.js
│ ├── source
│ ├── css
│ │ ├── _common
│ │ │ ├── components
│ │ │ │ ├── back-to-top-sidebar.styl
│ │ │ │ ├── back-to-top.styl
│ │ │ │ ├── buttons.styl
│ │ │ │ ├── comments.styl
│ │ │ │ ├── components.styl
│ │ │ │ ├── footer
│ │ │ │ │ └── footer.styl
│ │ │ │ ├── header
│ │ │ │ │ ├── github-banner.styl
│ │ │ │ │ ├── header.styl
│ │ │ │ │ ├── headerband.styl
│ │ │ │ │ ├── menu.styl
│ │ │ │ │ ├── site-meta.styl
│ │ │ │ │ └── site-nav.styl
│ │ │ │ ├── highlight
│ │ │ │ │ ├── diff.styl
│ │ │ │ │ ├── highlight.styl
│ │ │ │ │ └── theme.styl
│ │ │ │ ├── pages
│ │ │ │ │ ├── archive.styl
│ │ │ │ │ ├── breadcrumb.styl
│ │ │ │ │ ├── categories.styl
│ │ │ │ │ ├── pages.styl
│ │ │ │ │ ├── post-detail.styl
│ │ │ │ │ ├── schedule.styl
│ │ │ │ │ └── tag-cloud.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-reading_progress.styl
│ │ │ │ │ ├── post-reward.styl
│ │ │ │ │ ├── post-rtl.styl
│ │ │ │ │ ├── post-tags.styl
│ │ │ │ │ ├── post-title.styl
│ │ │ │ │ ├── post-type.styl
│ │ │ │ │ ├── post-widgets.styl
│ │ │ │ │ └── post.styl
│ │ │ │ ├── rainbow.styl
│ │ │ │ ├── scrollbar.styl
│ │ │ │ ├── sidebar
│ │ │ │ │ ├── sidebar-author-links.styl
│ │ │ │ │ ├── sidebar-author.styl
│ │ │ │ │ ├── sidebar-blogroll.styl
│ │ │ │ │ ├── sidebar-button.styl
│ │ │ │ │ ├── sidebar-dimmer.styl
│ │ │ │ │ ├── sidebar-nav.styl
│ │ │ │ │ ├── sidebar-toc.styl
│ │ │ │ │ ├── sidebar-toggle.styl
│ │ │ │ │ ├── sidebar.styl
│ │ │ │ │ └── site-state.styl
│ │ │ │ ├── tags
│ │ │ │ │ ├── blockquote-center.styl
│ │ │ │ │ ├── full-image.styl
│ │ │ │ │ ├── group-pictures.styl
│ │ │ │ │ ├── label.styl
│ │ │ │ │ ├── note.styl
│ │ │ │ │ ├── pdf.styl
│ │ │ │ │ ├── tabs.styl
│ │ │ │ │ └── tags.styl
│ │ │ │ └── third-party
│ │ │ │ │ ├── algolia-search.styl
│ │ │ │ │ ├── copy-code.styl
│ │ │ │ │ ├── gitalk.styl
│ │ │ │ │ ├── gitment.styl
│ │ │ │ │ ├── han.styl
│ │ │ │ │ ├── localsearch.styl
│ │ │ │ │ ├── math.styl
│ │ │ │ │ ├── needsharebutton.styl
│ │ │ │ │ ├── related-posts.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
│ │ │ │ ├── _brand.styl
│ │ │ │ ├── _layout.styl
│ │ │ │ ├── _menu.styl
│ │ │ │ ├── _sidebar.styl
│ │ │ │ ├── _sub-menu.styl
│ │ │ │ └── index.styl
│ │ ├── _variables
│ │ │ ├── Gemini.styl
│ │ │ ├── Mist.styl
│ │ │ ├── Muse.styl
│ │ │ ├── Pisces.styl
│ │ │ ├── base.styl
│ │ │ └── custom.styl
│ │ └── main.styl
│ ├── fonts
│ │ └── .gitkeep
│ ├── images
│ │ ├── algolia_logo.svg
│ │ ├── apple-touch-icon-next.png
│ │ ├── avatar.gif
│ │ ├── background.jpg
│ │ ├── cc-by-nc-nd.svg
│ │ ├── cc-by-nc-sa.svg
│ │ ├── cc-by-nc.svg
│ │ ├── cc-by-nd.svg
│ │ ├── cc-by-sa.svg
│ │ ├── cc-by.svg
│ │ ├── cc-zero.svg
│ │ ├── chuyin.ico
│ │ ├── cursor_1.png
│ │ ├── favicon-16x16-next.png
│ │ ├── favicon-32x32-next.png
│ │ ├── loading.gif
│ │ ├── loading.png
│ │ ├── logo.svg
│ │ ├── placeholder.gif
│ │ ├── quote-l.svg
│ │ ├── quote-r.svg
│ │ ├── searchicon.png
│ │ └── wechatpay.jpg
│ ├── js
│ │ ├── affix.js
│ │ ├── algolia-search.js
│ │ ├── exturl.js
│ │ ├── js.cookie.js
│ │ ├── motion.js
│ │ ├── next-boot.js
│ │ ├── post-details.js
│ │ ├── schemes
│ │ │ ├── muse.js
│ │ │ └── pisces.js
│ │ ├── scroll-cookie.js
│ │ ├── scrollspy.js
│ │ └── utils.js
│ └── lib
│ │ ├── jquery
│ │ └── index.js
│ │ └── velocity
│ │ ├── velocity.js
│ │ ├── velocity.min.js
│ │ ├── velocity.ui.js
│ │ └── velocity.ui.min.js
│ └── test
│ ├── .jshintrc
│ ├── helpers.js
│ └── intern.js
└── yarn.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | ./_config.yml
2 | .DS_Store
3 | .idea/
4 | node_modules/
--------------------------------------------------------------------------------
/CNAME:
--------------------------------------------------------------------------------
1 | zhaoolee.com
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # [PPT的秘宝]
2 |
3 | PPT秘宝 网页地址: https://www.v2fy.com/ppt-piece/
4 | 开源仓库地址: https://zhaoolee.com/ppt-piece/
5 |
6 | PPT是一种艺术表现形式, 它包罗万象, 让你的想法得到传递
7 | 优秀的PPT可以直击灵魂, 让想象力生根发芽
8 | PPT不只是用心那么简单, 没有PPT相关的知识和方法, 只会"越用心越丑陋"
9 |
10 | ## 什么是PPT的秘宝?
11 |
12 | 这里有PPT知识的方方面面, 但不仅限于PPT本身的技巧, 也涉及找寻优质资源的捷径
13 |
14 | | 专题 | 访问地址 |
15 | | --- | --- |
16 | | 免费可商用字体 | [链接](https://www.v2fy.com/p/free-font-md/) |
17 | | 版式设计原则 | [链接](https://www.v2fy.com/p/design/) |
18 | | 特色图标哪里找? | [链接](https://www.v2fy.com/p/icon/) |
19 | | PPT不为人知的技巧 | [链接](https://www.v2fy.com/p/emoji_copy_paste/) |
20 | | 配色方案 | [链接] |
21 | | 使用在线样机 | [链接](https://www.v2fy.com/p/mockup/) |
22 | | 优秀作品借鉴 | [链接] |
23 | | 获取高清无码图片 | [链接] |
24 | | 搜图的技巧 | [链接] |
25 | | 如何提升自己的审美 | [链接] |
26 | | 在线制作炫酷特效 | [链接] |
27 | | 设计师养生指南 | [链接] |
28 |
29 |
30 |
31 | - 使用emoji填充图表
32 | 
33 |
34 |
35 | - 中英文引号的不同
36 |
37 | > 在中文中使用引号,应为 「」, 如 **数「风流人物」,还看今朝!**
38 |
39 | > 在英文中使用引号,应为 "", **Where there is "love" there is life.**
40 |
41 | 
42 |
43 | - 饼状图使用规范
44 |
45 | 
--------------------------------------------------------------------------------
/docs/baidusitemap.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | https://zhaoolee.com/ppt-piece/ppt-piece/design/
5 | 2019-11-19
6 |
7 | https://zhaoolee.com/ppt-piece/ppt-piece/icon/
8 | 2019-11-19
9 |
10 | https://zhaoolee.com/ppt-piece/ppt-piece/free_font/
11 | 2019-11-19
12 |
13 | https://zhaoolee.com/ppt-piece/ppt-piece/yangji/
14 | 2019-11-19
15 |
16 | https://zhaoolee.com/ppt-piece/ppt-piece/emoji_copy_paste/
17 | 2019-11-19
18 |
19 |
20 |
--------------------------------------------------------------------------------
/docs/images/apple-touch-icon-next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/docs/images/apple-touch-icon-next.png
--------------------------------------------------------------------------------
/docs/images/avatar.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/docs/images/avatar.gif
--------------------------------------------------------------------------------
/docs/images/background.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/docs/images/background.jpg
--------------------------------------------------------------------------------
/docs/images/chuyin.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/docs/images/chuyin.ico
--------------------------------------------------------------------------------
/docs/images/cursor_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/docs/images/cursor_1.png
--------------------------------------------------------------------------------
/docs/images/favicon-16x16-next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/docs/images/favicon-16x16-next.png
--------------------------------------------------------------------------------
/docs/images/favicon-32x32-next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/docs/images/favicon-32x32-next.png
--------------------------------------------------------------------------------
/docs/images/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/docs/images/loading.gif
--------------------------------------------------------------------------------
/docs/images/loading.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/docs/images/loading.png
--------------------------------------------------------------------------------
/docs/images/logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
24 |
--------------------------------------------------------------------------------
/docs/images/placeholder.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/docs/images/placeholder.gif
--------------------------------------------------------------------------------
/docs/images/quote-l.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
14 |
--------------------------------------------------------------------------------
/docs/images/quote-r.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
13 |
--------------------------------------------------------------------------------
/docs/images/searchicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/docs/images/searchicon.png
--------------------------------------------------------------------------------
/docs/images/wechatpay.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/docs/images/wechatpay.jpg
--------------------------------------------------------------------------------
/docs/js/schemes/muse.js:
--------------------------------------------------------------------------------
1 | $(document).ready(function() {
2 | function updateFooterPosition() {
3 | var containerHeight = $('#footer').attr('position') ? $('.container').height() + $('#footer').outerHeight(true) : $('.container').height();
4 | if (containerHeight < window.innerHeight) $('#footer').css({ 'position': 'fixed', 'bottom': 0, 'left': 0, 'right': 0 }).attr('position', 'fixed');
5 | else $('#footer').removeAttr('style position');
6 | }
7 | updateFooterPosition();
8 | $(window).on('resize scroll', updateFooterPosition);
9 | });
10 |
--------------------------------------------------------------------------------
/docs/js/scroll-cookie.js:
--------------------------------------------------------------------------------
1 | $(document).ready(function() {
2 |
3 | /* global Cookies */
4 |
5 | // Set relative link path (without domain)
6 | var rpath = window.location.href.replace(window.location.origin, '');
7 |
8 | // Write position in cookie
9 | var timeout;
10 | $(window).on('scroll', function() {
11 | clearTimeout(timeout);
12 | timeout = setTimeout(function() {
13 | Cookies.set('scroll-cookie', $(window).scrollTop() + '|' + rpath, { expires: 365, path: '' });
14 | }, 250);
15 | });
16 |
17 | // Read position from cookie
18 | if (Cookies.get('scroll-cookie') !== undefined) {
19 | var cvalues = Cookies.get('scroll-cookie').split('|');
20 | if (cvalues[1] === rpath) {
21 | $(window).scrollTop(cvalues[0]);
22 | }
23 | }
24 |
25 | });
26 |
--------------------------------------------------------------------------------
/docs/sitemap.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | https://zhaoolee.com/ppt-piece/design/
6 |
7 | 2019-11-19T06:15:26.191Z
8 |
9 |
10 |
11 |
12 | https://zhaoolee.com/ppt-piece/icon/
13 |
14 | 2019-11-19T06:13:47.855Z
15 |
16 |
17 |
18 |
19 | https://zhaoolee.com/ppt-piece/free_font/
20 |
21 | 2019-11-19T05:45:25.382Z
22 |
23 |
24 |
25 |
26 | https://zhaoolee.com/ppt-piece/yangji/
27 |
28 | 2019-11-19T03:15:20.048Z
29 |
30 |
31 |
32 |
33 | https://zhaoolee.com/ppt-piece/emoji_copy_paste/
34 |
35 | 2019-11-19T01:52:46.735Z
36 |
37 |
38 |
39 |
40 | https://zhaoolee.com/ppt-piece/categories/index.html
41 |
42 | 2019-07-22T00:03:29.160Z
43 |
44 |
45 |
46 |
47 | https://zhaoolee.com/ppt-piece/about/index.html
48 |
49 | 2019-07-22T00:03:29.160Z
50 |
51 |
52 |
53 |
54 | https://zhaoolee.com/ppt-piece/tags/index.html
55 |
56 | 2019-07-22T00:03:29.160Z
57 |
58 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "hexo-site",
3 | "version": "0.0.0",
4 | "private": true,
5 | "hexo": {
6 | "version": "3.9.0"
7 | },
8 | "scripts": {
9 | "test": "echo \"Error: no test specified\" && exit 1",
10 | "dev": "hexo server -p 5000",
11 | "build": "hexo clean && hexo g",
12 | "push": "hexo clean && hexo g && git add . && git commit -m 'zhaoolee commit' && git push && echo 'open https://zhaoolee.github.io/ppt-piece/' ",
13 | "clean": "hexo clean",
14 | "start": "hexo server",
15 | "new": "hexo new post article-$(date '+%Y-%m-%d-%H-%M-%S')"
16 | },
17 | "dependencies": {
18 | "axios": "^0.19.0",
19 | "hexo": "^3.9.0",
20 | "hexo-generator-archive": "^0.1.5",
21 | "hexo-generator-baidu-sitemap": "^0.1.6",
22 | "hexo-generator-category": "^0.1.3",
23 | "hexo-generator-index": "^0.2.1",
24 | "hexo-generator-searchdb": "^1.0.8",
25 | "hexo-generator-sitemap": "^1.2.0",
26 | "hexo-generator-tag": "^0.2.0",
27 | "hexo-generator-topindex": "^0.3.0",
28 | "hexo-lazyload-image": "^1.0.4",
29 | "hexo-renderer-ejs": "^0.3.1",
30 | "hexo-renderer-marked": "^1.0.1",
31 | "hexo-renderer-stylus": "^0.3.3",
32 | "hexo-server": "^0.3.3",
33 | "hexo-symbols-count-time": "^0.6.0",
34 | "moment": "^2.24.0"
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/piece/emoji_copy_paste/emoji.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/piece/emoji_copy_paste/emoji.pptx
--------------------------------------------------------------------------------
/scaffolds/draft.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: {{ title }}
3 | tags:
4 | ---
5 |
--------------------------------------------------------------------------------
/scaffolds/page.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: {{ title }}
3 | date: {{ date }}
4 | ---
5 |
--------------------------------------------------------------------------------
/scaffolds/post.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: {{ title }}
3 | date: {{ date }}
4 | tags:
5 | ---
6 |
--------------------------------------------------------------------------------
/source/_posts/design.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 版式设计的原则
3 | date: 2019-11-19 06:46:18
4 | tags: Design
5 | ---
6 |
7 |
8 |
9 | - 对齐
10 |
11 | - 对比
12 |
13 | - 重复
14 |
15 | - 亲密性
--------------------------------------------------------------------------------
/source/_posts/emoji-copy-paste.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 使用emoji填充柱状图
3 | date: 2019-11-19 06:46:18
4 | tags: emoji
5 | ---
6 |
7 | ## emoji copy paste
8 |
9 | - 使用emoji填充图表
10 |
11 | 
12 |
--------------------------------------------------------------------------------
/source/_posts/free-font.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 免费可商用字体
3 | date: 2019-11-19 06:46:18
4 | tags: emoji
5 | ---
6 |
7 |
8 | ## 思源黑体
9 |
10 | 下载页面: [https://github.com/adobe-fonts/source-han-sans/tree/release](https://github.com/adobe-fonts/source-han-sans/tree/release)
11 |
12 | 思源黑体提供以下七种字重:
13 |
14 | [ExtraLight + Light + Normal + Regular](https://github.com/adobe-fonts/source-han-sans/raw/release/OTC/SourceHanSansOTC_EL-R.zip)
15 |
16 | [Medium + Bold + Heavy](https://github.com/adobe-fonts/source-han-sans/raw/release/OTC/SourceHanSansOTC_M-H.zip)
17 |
18 |
19 |
20 | ## 思源宋体
21 |
22 | 下载页面: [https://github.com/adobe-fonts/source-han-serif/tree/release](https://github.com/adobe-fonts/source-han-serif/tree/release)
23 |
24 |
25 | Simplified Chinese (简体中文): [ExtraLight + Light + Regular + Medium](https://github.com/adobe-fonts/source-han-serif/raw/release/OTF/SourceHanSerifSC_EL-M.zip) & [SemiBold + Bold + Heavy](https://github.com/adobe-fonts/source-han-serif/raw/release/OTF/SourceHanSerifSC_SB-H.zip)
26 |
27 |
28 | ## 庞梦正道标题体
29 |
30 | 链接: https://pan.baidu.com/s/1Xuxxmkv-w0q52ufTc7Dm-Q 提取码: atk1
31 |
32 | ## 站酷高端黑体
33 | 下载页面: [https://www.zcool.com.cn/special/zcoolfonts/](https://www.zcool.com.cn/special/zcoolfonts/)
34 |
35 | ## 站酷酷黑体
36 | 下载页面: [https://www.zcool.com.cn/special/zcoolfonts/](https://www.zcool.com.cn/special/zcoolfonts/)
37 |
38 |
39 | ## 站酷快乐体
40 |
41 | 下载页面: [https://www.zcool.com.cn/special/zcoolfonts/](https://www.zcool.com.cn/special/zcoolfonts/)
42 |
--------------------------------------------------------------------------------
/source/_posts/icon.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 矢量图标获取
3 | date: 2019-11-19 06:40:18
4 | tags: 矢量图标
5 | ---
6 |
7 |
8 | ## iconfont (支持中文搜索)
9 |
10 | [https://www.iconfont.cn/](https://www.iconfont.cn/)
11 |
12 | 
13 |
14 | ## thenounproject (英文搜索)
15 |
16 |
17 | [https://thenounproject.com/](https://thenounproject.com/)
18 |
19 | 
20 |
21 | ## 搜索品牌logo图标 Instant Logo Search
22 |
23 | [http://instantlogosearch.com/](http://instantlogosearch.com/)
24 |
25 | 
26 |
27 |
28 | ## 火柴人图标 (英文或日文搜索)
29 |
30 | [http://pictogram2.com/](http://pictogram2.com/)
31 |
32 | 
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/source/_posts/mockup.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 在线样机网站推荐
3 | date: 2019-11-19 06:40:18
4 | tags: 样机
5 | ---
6 |
7 | ## Magic Mockups
8 |
9 | https://magicmockups.com/
10 |
11 | ## 原素材
12 |
13 | 
14 |
15 | ## 使用在线样机工具 (套模板)
16 |
17 | 
18 |
19 |
20 |
21 | 
22 |
23 |
24 | ## 在线样机库无法满足你? 试试Photoshop吧!
25 |
26 | 免费FDR样机PSD文件下载地址:
27 |
28 | https://freedesignresources.net/category/free-mockups/
29 |
30 |
31 | 
32 |
33 | ## 小结
34 |
35 | 在线样机库,可以在短时间内, 提升图片展示效果
36 |
--------------------------------------------------------------------------------
/source/about/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 关于站点
3 | ---
4 |
5 |
6 | > 这是zhaoolee的GitHub博客站点
--------------------------------------------------------------------------------
/source/categories/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 专题 | Categories
3 | date: 2019-07-02 11:30:47
4 | type: "categories"
5 | ---
6 |
--------------------------------------------------------------------------------
/source/tags/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 标签 | Tags
3 | date: 2019-07-02 11:30:58
4 | type: "tags"
5 | ---
6 |
--------------------------------------------------------------------------------
/themes/landscape/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | tmp
--------------------------------------------------------------------------------
/themes/landscape/Gruntfile.js:
--------------------------------------------------------------------------------
1 | module.exports = function(grunt){
2 | grunt.initConfig({
3 | gitclone: {
4 | fontawesome: {
5 | options: {
6 | repository: 'https://github.com/FortAwesome/Font-Awesome.git',
7 | directory: 'tmp/fontawesome'
8 | },
9 | },
10 | fancybox: {
11 | options: {
12 | repository: 'https://github.com/fancyapps/fancyBox.git',
13 | directory: 'tmp/fancybox'
14 | }
15 | }
16 | },
17 | copy: {
18 | fontawesome: {
19 | expand: true,
20 | cwd: 'tmp/fontawesome/fonts/',
21 | src: ['**'],
22 | dest: 'source/css/fonts/'
23 | },
24 | fancybox: {
25 | expand: true,
26 | cwd: 'tmp/fancybox/source/',
27 | src: ['**'],
28 | dest: 'source/fancybox/'
29 | }
30 | },
31 | _clean: {
32 | tmp: ['tmp'],
33 | fontawesome: ['source/css/fonts'],
34 | fancybox: ['source/fancybox']
35 | }
36 | });
37 |
38 | require('load-grunt-tasks')(grunt);
39 |
40 | grunt.renameTask('clean', '_clean');
41 |
42 | grunt.registerTask('fontawesome', ['gitclone:fontawesome', 'copy:fontawesome', '_clean:tmp']);
43 | grunt.registerTask('fancybox', ['gitclone:fancybox', 'copy:fancybox', '_clean:tmp']);
44 | grunt.registerTask('default', ['gitclone', 'copy', '_clean:tmp']);
45 | grunt.registerTask('clean', ['_clean']);
46 | };
--------------------------------------------------------------------------------
/themes/landscape/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2013 Tommy Chen
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4 |
5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6 |
7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/themes/landscape/_config.yml:
--------------------------------------------------------------------------------
1 | # Header
2 | menu:
3 | Home: /
4 | Archives: /archives
5 | rss: /atom.xml
6 |
7 | # Content
8 | excerpt_link: Read More
9 | fancybox: true
10 |
11 | # Sidebar
12 | sidebar: right
13 | widgets:
14 | - category
15 | - tag
16 | - tagcloud
17 | - archive
18 | - recent_posts
19 |
20 | # display widgets at the bottom of index pages (pagination == 2)
21 | index_widgets:
22 | # - category
23 | # - tagcloud
24 | # - archive
25 |
26 | # widget behavior
27 | archive_type: 'monthly'
28 | show_count: false
29 |
30 | # Miscellaneous
31 | google_analytics:
32 | gauges_analytics:
33 | favicon: /favicon.png
34 | twitter:
35 | google_plus:
36 | fb_admins:
37 | fb_app_id:
38 |
--------------------------------------------------------------------------------
/themes/landscape/languages/de.yml:
--------------------------------------------------------------------------------
1 | categories: Kategorien
2 | search: Suche
3 | tags: Tags
4 | tagcloud: Tag Cloud
5 | tweets: Tweets
6 | prev: zurück
7 | next: weiter
8 | comment: Kommentare
9 | archive_a: Archiv
10 | archive_b: "Archive: %s"
11 | page: Seite %d
12 | recent_posts: letzter Beitrag
13 | newer: Neuer
14 | older: Älter
15 | share: Teilen
16 | powered_by: Powered by
17 | rss_feed: RSS Feed
18 | category: Kategorie
19 | tag: Tag
20 |
--------------------------------------------------------------------------------
/themes/landscape/languages/default.yml:
--------------------------------------------------------------------------------
1 | categories: Categories
2 | search: Search
3 | tags: Tags
4 | tagcloud: Tag Cloud
5 | tweets: Tweets
6 | prev: Prev
7 | next: Next
8 | comment: Comments
9 | archive_a: Archives
10 | archive_b: "Archives: %s"
11 | page: Page %d
12 | recent_posts: Recent Posts
13 | newer: Newer
14 | older: Older
15 | share: Share
16 | powered_by: Powered by
17 | rss_feed: RSS Feed
18 | category: Category
19 | tag: Tag
--------------------------------------------------------------------------------
/themes/landscape/languages/es.yml:
--------------------------------------------------------------------------------
1 | categories: Categorías
2 | search: Buscar
3 | tags: Tags
4 | tagcloud: Nube de Tags
5 | tweets: Tweets
6 | prev: Previo
7 | next: Siguiente
8 | comment: Comentarios
9 | archive_a: Archivos
10 | archive_b: "Archivos: %s"
11 | page: Página %d
12 | recent_posts: Posts recientes
13 | newer: Nuevo
14 | older: Viejo
15 | share: Compartir
16 | powered_by: Construido por
17 | rss_feed: RSS
18 | category: Categoría
19 | tag: Tag
--------------------------------------------------------------------------------
/themes/landscape/languages/fr.yml:
--------------------------------------------------------------------------------
1 | categories: Catégories
2 | search: Rechercher
3 | tags: Mot-clés
4 | tagcloud: Nuage de mot-clés
5 | tweets: Tweets
6 | prev: Précédent
7 | next: Suivant
8 | comment: Commentaires
9 | archive_a: Archives
10 | archive_b: "Archives: %s"
11 | page: Page %d
12 | recent_posts: Articles récents
13 | newer: Récent
14 | older: Ancien
15 | share: Partager
16 | powered_by: Propulsé par
17 | rss_feed: Flux RSS
18 | category: Catégorie
19 | tag: Mot-clé
20 |
--------------------------------------------------------------------------------
/themes/landscape/languages/ja.yml:
--------------------------------------------------------------------------------
1 | categories: カテゴリ
2 | search: 検索
3 | tags: タグ
4 | tagcloud: タグクラウド
5 | tweets: ツイート
6 | prev: 戻る
7 | next: 次へ
8 | comment: コメント
9 | archive_a: アーカイブ
10 | archive_b: "アーカイブ: %s"
11 | page: ページ %d
12 | recent_posts: 最近の投稿
13 | newer: 次の記事
14 | older: 前の記事
15 | share: 共有
16 | powered_by: Powered by
17 | rss_feed: RSSフィード
18 | category: カテゴリ
19 | tag: タグ
20 |
--------------------------------------------------------------------------------
/themes/landscape/languages/ko.yml:
--------------------------------------------------------------------------------
1 | categories: 카테고리
2 | search: 검색
3 | tags: 태그
4 | tagcloud: 태그 클라우드
5 | tweets: 트윗
6 | prev: 이전
7 | next: 다음
8 | comment: 댓글
9 | archive_a: 아카이브
10 | archive_b: "아카이브: %s"
11 | page: 페이지 %d
12 | recent_posts: 최근 포스트
13 | newer: 최신
14 | older: 이전
15 | share: 공유
16 | powered_by: Powered by
17 | rss_feed: RSS Feed
18 | category: 카테고리
19 | tag: 태그
20 |
--------------------------------------------------------------------------------
/themes/landscape/languages/nl.yml:
--------------------------------------------------------------------------------
1 |
2 | categories: Categorieën
3 | search: Zoeken
4 | tags: Labels
5 | tagcloud: Tag Cloud
6 | tweets: Tweets
7 | prev: Vorige
8 | next: Volgende
9 | comment: Commentaren
10 | archive_a: Archieven
11 | archive_b: "Archieven: %s"
12 | page: Pagina %d
13 | recent_posts: Recente berichten
14 | newer: Nieuwer
15 | older: Ouder
16 | share: Delen
17 | powered_by: Powered by
18 | rss_feed: RSS Feed
19 | category: Categorie
20 | tag: Label
21 |
--------------------------------------------------------------------------------
/themes/landscape/languages/no.yml:
--------------------------------------------------------------------------------
1 | categories: Kategorier
2 | search: Søk
3 | tags: Tags
4 | tagcloud: Tag Cloud
5 | tweets: Tweets
6 | prev: Forrige
7 | next: Neste
8 | comment: Kommentarer
9 | archive_a: Arkiv
10 | archive_b: "Arkiv: %s"
11 | page: Side %d
12 | recent_posts: Siste innlegg
13 | newer: Newer
14 | older: Older
15 | share: Share
16 | powered_by: Powered by
17 | rss_feed: RSS Feed
18 | category: Category
19 | tag: Tag
--------------------------------------------------------------------------------
/themes/landscape/languages/pt.yml:
--------------------------------------------------------------------------------
1 | categories: Categorias
2 | search: Buscar
3 | tags: Tags
4 | tagcloud: Nuvem de Tags
5 | tweets: Tweets
6 | prev: Anterior
7 | next: Próximo
8 | comment: Comentários
9 | archive_a: Arquivos
10 | archive_b: "Arquivos: %s"
11 | page: Página %d
12 | recent_posts: Postagens Recentes
13 | newer: Mais Recente
14 | older: Mais Antigo
15 | share: Compartilhar
16 | powered_by: Desenvolvido por
17 | rss_feed: Feed RSS
18 | category: Categoria
19 | tag: Tag
20 |
--------------------------------------------------------------------------------
/themes/landscape/languages/ru.yml:
--------------------------------------------------------------------------------
1 | categories: Категории
2 | search: Поиск
3 | tags: Метки
4 | tagcloud: Облако меток
5 | tweets: Твиты
6 | prev: Назад
7 | next: Вперед
8 | comment: Комментарии
9 | archive_a: Архив
10 | archive_b: "Архив: %s"
11 | page: Страница %d
12 | recent_posts: Недавние записи
13 | newer: Следующий
14 | older: Предыдущий
15 | share: Поделиться
16 | powered_by: Создано с помощью
17 | rss_feed: RSS-каналы
18 | category: Категория
19 | tag: Метка
--------------------------------------------------------------------------------
/themes/landscape/languages/zh-CN.yml:
--------------------------------------------------------------------------------
1 | categories: 分类
2 | search: 搜索
3 | tags: 标签
4 | tagcloud: 标签云
5 | tweets: 推文
6 | prev: 上一页
7 | next: 下一页
8 | comment: 留言
9 | archive_a: 归档
10 | archive_b: 归档:%s
11 | page: 第 %d 页
12 | recent_posts: 最新文章
13 | newer: Newer
14 | older: Older
15 | share: Share
16 | powered_by: Powered by
17 | rss_feed: RSS Feed
18 | category: Category
19 | tag: Tag
--------------------------------------------------------------------------------
/themes/landscape/languages/zh-TW.yml:
--------------------------------------------------------------------------------
1 | categories: 分類
2 | search: 搜尋
3 | tags: 標籤
4 | tagcloud: 標籤雲
5 | tweets: 推文
6 | prev: 上一頁
7 | next: 下一頁
8 | comment: 留言
9 | archive_a: 彙整
10 | archive_b: 彙整:%s
11 | page: 第 %d 頁
12 | recent_posts: 最新文章
13 | newer: Newer
14 | older: Older
15 | share: Share
16 | powered_by: Powered by
17 | rss_feed: RSS Feed
18 | category: Category
19 | tag: Tag
--------------------------------------------------------------------------------
/themes/landscape/layout/_partial/after-footer.ejs:
--------------------------------------------------------------------------------
1 | <% if (config.disqus_shortname){ %>
2 |
15 | <% } %>
16 |
17 |
18 |
19 | <% if (theme.fancybox){ %>
20 | <%- css('fancybox/jquery.fancybox') %>
21 | <%- js('fancybox/jquery.fancybox.pack') %>
22 | <% } %>
23 |
24 | <%- js('js/script') %>
25 | <%- partial('gauges-analytics') %>
26 |
--------------------------------------------------------------------------------
/themes/landscape/layout/_partial/archive-post.ejs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | <%- partial('post/date', {class_name: 'archive-article-date', date_format: 'MMM D'}) %>
5 | <%- partial('post/title', {class_name: 'archive-article-title'}) %>
6 |
7 |
8 |
--------------------------------------------------------------------------------
/themes/landscape/layout/_partial/archive.ejs:
--------------------------------------------------------------------------------
1 | <% if (pagination == 2){ %>
2 | <% page.posts.each(function(post){ %>
3 | <%- partial('article', {post: post, index: true}) %>
4 | <% }) %>
5 | <% } else { %>
6 | <% var last; %>
7 | <% page.posts.each(function(post, i){ %>
8 | <% var year = post.date.year(); %>
9 | <% if (last != year){ %>
10 | <% if (last != null){ %>
11 |
12 | <% } %>
13 | <% last = year; %>
14 |
15 |
18 |
19 | <% } %>
20 | <%- partial('archive-post', {post: post, even: i % 2 == 0}) %>
21 | <% }) %>
22 | <% if (page.posts.length){ %>
23 |
24 | <% } %>
25 | <% } %>
26 | <% if (page.total > 1){ %>
27 |
34 | <% } %>
35 |
--------------------------------------------------------------------------------
/themes/landscape/layout/_partial/footer.ejs:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/themes/landscape/layout/_partial/gauges-analytics.ejs:
--------------------------------------------------------------------------------
1 | <% if (theme.gauges_analytics){ %>
2 |
3 |
17 |
18 | <% } %>
19 |
--------------------------------------------------------------------------------
/themes/landscape/layout/_partial/google-analytics.ejs:
--------------------------------------------------------------------------------
1 | <% if (theme.google_analytics){ %>
2 |
3 |
13 |
14 | <% } %>
15 |
--------------------------------------------------------------------------------
/themes/landscape/layout/_partial/head.ejs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | <%- partial('google-analytics') %>
6 | <%
7 | var title = page.title;
8 |
9 | if (is_archive()){
10 | title = __('archive_a');
11 |
12 | if (is_month()){
13 | title += ': ' + page.year + '/' + page.month;
14 | } else if (is_year()){
15 | title += ': ' + page.year;
16 | }
17 | } else if (is_category()){
18 | title = __('category') + ': ' + page.category;
19 | } else if (is_tag()){
20 | title = __('tag') + ': ' + page.tag;
21 | }
22 | %>
23 | <% if (title){ %><%= title %> | <% } %><%= config.title %>
24 |
25 | <%- open_graph({twitter_id: theme.twitter, google_plus: theme.google_plus, fb_admins: theme.fb_admins, fb_app_id: theme.fb_app_id}) %>
26 | <% if (theme.rss){ %>
27 |
28 | <% } %>
29 | <% if (theme.favicon){ %>
30 |
31 | <% } %>
32 | <% if (config.highlight.enable){ %>
33 |
34 | <% } %>
35 | <%- css('css/style') %>
36 |
37 |
--------------------------------------------------------------------------------
/themes/landscape/layout/_partial/header.ejs:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/themes/landscape/layout/_partial/mobile-nav.ejs:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/themes/landscape/layout/_partial/post/category.ejs:
--------------------------------------------------------------------------------
1 | <% if (post.categories && post.categories.length){ %>
2 |
3 | <%- list_categories(post.categories, {
4 | show_count: false,
5 | class: 'article-category',
6 | style: 'none',
7 | separator: '►'
8 | }) %>
9 |
10 | <% } %>
--------------------------------------------------------------------------------
/themes/landscape/layout/_partial/post/date.ejs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/themes/landscape/layout/_partial/post/gallery.ejs:
--------------------------------------------------------------------------------
1 | <% if (post.photos && post.photos.length){ %>
2 |
3 |
4 | <% post.photos.forEach(function(photo, i){ %>
5 |
6 |
7 |
8 | <% }) %>
9 |
10 |
11 | <% } %>
--------------------------------------------------------------------------------
/themes/landscape/layout/_partial/post/nav.ejs:
--------------------------------------------------------------------------------
1 | <% if (post.prev || post.next){ %>
2 |
22 | <% } %>
--------------------------------------------------------------------------------
/themes/landscape/layout/_partial/post/tag.ejs:
--------------------------------------------------------------------------------
1 | <% if (post.tags && post.tags.length){ %>
2 | <%- list_tags(post.tags, {
3 | show_count: false,
4 | class: 'article-tag'
5 | }) %>
6 | <% } %>
--------------------------------------------------------------------------------
/themes/landscape/layout/_partial/post/title.ejs:
--------------------------------------------------------------------------------
1 | <% if (post.link){ %>
2 |
5 | <% } else if (post.title){ %>
6 | <% if (index){ %>
7 |
10 | <% } else { %>
11 |
12 | <%= post.title %>
13 |
14 | <% } %>
15 | <% } %>
--------------------------------------------------------------------------------
/themes/landscape/layout/_partial/sidebar.ejs:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/themes/landscape/layout/_widget/archive.ejs:
--------------------------------------------------------------------------------
1 | <% if (site.posts.length){ %>
2 |
8 | <% } %>
9 |
--------------------------------------------------------------------------------
/themes/landscape/layout/_widget/category.ejs:
--------------------------------------------------------------------------------
1 | <% if (site.categories.length){ %>
2 |
8 | <% } %>
9 |
--------------------------------------------------------------------------------
/themes/landscape/layout/_widget/recent_posts.ejs:
--------------------------------------------------------------------------------
1 | <% if (site.posts.length){ %>
2 |
14 | <% } %>
--------------------------------------------------------------------------------
/themes/landscape/layout/_widget/tag.ejs:
--------------------------------------------------------------------------------
1 | <% if (site.tags.length){ %>
2 |
8 | <% } %>
9 |
--------------------------------------------------------------------------------
/themes/landscape/layout/_widget/tagcloud.ejs:
--------------------------------------------------------------------------------
1 | <% if (site.tags.length){ %>
2 |
8 | <% } %>
--------------------------------------------------------------------------------
/themes/landscape/layout/archive.ejs:
--------------------------------------------------------------------------------
1 | <%- partial('_partial/archive', {pagination: config.archive, index: true}) %>
--------------------------------------------------------------------------------
/themes/landscape/layout/category.ejs:
--------------------------------------------------------------------------------
1 | <%- partial('_partial/archive', {pagination: config.category, index: true}) %>
--------------------------------------------------------------------------------
/themes/landscape/layout/index.ejs:
--------------------------------------------------------------------------------
1 | <%- partial('_partial/archive', {pagination: 2, index: true}) %>
--------------------------------------------------------------------------------
/themes/landscape/layout/layout.ejs:
--------------------------------------------------------------------------------
1 | <%- partial('_partial/head') %>
2 |
3 |
4 |
5 | <%- partial('_partial/header', null, {cache: !config.relative_link}) %>
6 |
7 |
8 | <% if (theme.sidebar && theme.sidebar !== 'bottom'){ %>
9 | <%- partial('_partial/sidebar', null, {cache: !config.relative_link}) %>
10 | <% } %>
11 |
12 | <%- partial('_partial/footer', null, {cache: !config.relative_link}) %>
13 |
14 | <%- partial('_partial/mobile-nav', null, {cache: !config.relative_link}) %>
15 | <%- partial('_partial/after-footer') %>
16 |
17 |
18 |
--------------------------------------------------------------------------------
/themes/landscape/layout/page.ejs:
--------------------------------------------------------------------------------
1 | <%- partial('_partial/article', {post: page, index: false}) %>
--------------------------------------------------------------------------------
/themes/landscape/layout/post.ejs:
--------------------------------------------------------------------------------
1 | <%- partial('_partial/article', {post: page, index: false}) %>
--------------------------------------------------------------------------------
/themes/landscape/layout/tag.ejs:
--------------------------------------------------------------------------------
1 | <%- partial('_partial/archive', {pagination: config.tag, index: true}) %>
--------------------------------------------------------------------------------
/themes/landscape/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "hexo-theme-landscape",
3 | "version": "0.0.2",
4 | "private": true,
5 | "devDependencies": {
6 | "grunt": "~0.4.2",
7 | "load-grunt-tasks": "~0.2.0",
8 | "grunt-git": "~0.2.2",
9 | "grunt-contrib-clean": "~0.5.0",
10 | "grunt-contrib-copy": "~0.4.1"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/themes/landscape/scripts/fancybox.js:
--------------------------------------------------------------------------------
1 | var rUrl = /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[.\!\/\\w]*))?)/;
2 |
3 | /**
4 | * Fancybox tag
5 | *
6 | * Syntax:
7 | * {% fancybox /path/to/image [/path/to/thumbnail] [title] %}
8 | */
9 |
10 | hexo.extend.tag.register('fancybox', function(args){
11 | var original = args.shift(),
12 | thumbnail = '';
13 |
14 | if (args.length && rUrl.test(args[0])){
15 | thumbnail = args.shift();
16 | }
17 |
18 | var title = args.join(' ');
19 |
20 | return '' +
21 | '
'
22 | '' +
23 | (title ? '' + title + '' : '');
24 | });
--------------------------------------------------------------------------------
/themes/landscape/source/css/_extend.styl:
--------------------------------------------------------------------------------
1 | $block-caption
2 | text-decoration: none
3 | text-transform: uppercase
4 | letter-spacing: 2px
5 | color: color-grey
6 | margin-bottom: 1em
7 | margin-left: 5px
8 | line-height: 1em
9 | text-shadow: 0 1px #fff
10 | font-weight: bold
11 |
12 | $block
13 | background: #fff
14 | box-shadow: 1px 2px 3px #ddd
15 | border: 1px solid color-border
16 | border-radius: 3px
17 |
18 | $base-style
19 | h1
20 | font-size: 2em
21 | h2
22 | font-size: 1.5em
23 | h3
24 | font-size: 1.3em
25 | h4
26 | font-size: 1.2em
27 | h5
28 | font-size: 1em
29 | h6
30 | font-size: 1em
31 | color: color-grey
32 | hr
33 | border: 1px dashed color-border
34 | strong
35 | font-weight: bold
36 | em, cite
37 | font-style: italic
38 | sup, sub
39 | font-size: 0.75em
40 | line-height: 0
41 | position: relative
42 | vertical-align: baseline
43 | sup
44 | top: -0.5em
45 | sub
46 | bottom: -0.2em
47 | small
48 | font-size: 0.85em
49 | acronym, abbr
50 | border-bottom: 1px dotted
51 | ul, ol, dl
52 | margin: 0 20px
53 | line-height: line-height
54 | ul, ol
55 | ul, ol
56 | margin-top: 0
57 | margin-bottom: 0
58 | ul
59 | list-style: disc
60 | ol
61 | list-style: decimal
62 | dt
63 | font-weight: bold
--------------------------------------------------------------------------------
/themes/landscape/source/css/_partial/comment.styl:
--------------------------------------------------------------------------------
1 | #comments
2 | background: #fff
3 | box-shadow: 1px 2px 3px #ddd
4 | padding: article-padding
5 | border: 1px solid color-border
6 | border-radius: 3px
7 | margin: block-margin 0
8 | a
9 | color: color-link
--------------------------------------------------------------------------------
/themes/landscape/source/css/_partial/footer.styl:
--------------------------------------------------------------------------------
1 | #footer
2 | background: color-footer-background
3 | padding: 50px 0
4 | border-top: 1px solid color-border
5 | color: color-grey
6 | a
7 | color: color-link
8 | text-decoration: none
9 | &:hover
10 | text-decoration: underline
11 |
12 | #footer-info
13 | line-height: line-height
14 | font-size: 0.85em
--------------------------------------------------------------------------------
/themes/landscape/source/css/_partial/mobile.styl:
--------------------------------------------------------------------------------
1 | @media mq-mobile
2 | #mobile-nav
3 | position: absolute
4 | top: 0
5 | left: 0
6 | width: mobile-nav-width
7 | height: 100%
8 | background: color-mobile-nav-background
9 | border-right: 1px solid #fff
10 |
11 | @media mq-mobile
12 | .mobile-nav-link
13 | display: block
14 | color: color-grey
15 | text-decoration: none
16 | padding: 15px 20px
17 | font-weight: bold
18 | &:hover
19 | color: #fff
20 |
--------------------------------------------------------------------------------
/themes/landscape/source/css/_partial/sidebar-aside.styl:
--------------------------------------------------------------------------------
1 | #sidebar
2 | @media mq-normal
3 | column(sidebar-column)
4 |
5 | .widget-wrap
6 | margin: block-margin 0
7 |
8 | .widget-title
9 | @extend $block-caption
10 |
11 | .widget
12 | color: color-sidebar-text
13 | text-shadow: 0 1px #fff
14 | background: color-widget-background
15 | box-shadow: 0 -1px 4px color-widget-border inset
16 | border: 1px solid color-widget-border
17 | padding: 15px
18 | border-radius: 3px
19 | a
20 | color: color-link
21 | text-decoration: none
22 | &:hover
23 | text-decoration: underline
24 | ul, ol, dl
25 | ul, ol, dl
26 | margin-left: 15px
27 | list-style: disc
--------------------------------------------------------------------------------
/themes/landscape/source/css/_partial/sidebar-bottom.styl:
--------------------------------------------------------------------------------
1 | .widget-wrap
2 | margin-bottom: block-margin !important
3 | @media mq-normal
4 | column(main-column)
5 |
6 | .widget-title
7 | color: #ccc
8 | text-transform: uppercase
9 | letter-spacing: 2px
10 | margin-bottom: .5em
11 | line-height: 1em
12 | font-weight: bold
13 |
14 | .widget
15 | color: color-grey
16 | ul, ol
17 | li
18 | display: inline-block
19 | zoom:1
20 | *display:inline
21 | padding-right: .75em
22 | /* Having problems getting balanced white space between items
23 | li:before
24 | content: " | "
25 | li:first-child:before
26 | content: none
27 | */
28 |
--------------------------------------------------------------------------------
/themes/landscape/source/css/_partial/sidebar.styl:
--------------------------------------------------------------------------------
1 | if sidebar is bottom
2 | @import "sidebar-bottom"
3 | else
4 | @import "sidebar-aside"
5 |
6 | .widget
7 | @extend $base-style
8 | line-height: line-height
9 | word-wrap: break-word
10 | font-size: 0.9em
11 | ul, ol
12 | list-style: none
13 | margin: 0
14 | ul, ol
15 | margin: 0 20px
16 | ul
17 | list-style: disc
18 | ol
19 | list-style: decimal
20 |
21 | .category-list-count
22 | .tag-list-count
23 | .archive-list-count
24 | padding-left: 5px
25 | color: color-grey
26 | font-size: 0.85em
27 | &:before
28 | content: "("
29 | &:after
30 | content: ")"
31 |
32 | .tagcloud
33 | a
34 | margin-right: 5px
35 | display: inline-block
36 |
--------------------------------------------------------------------------------
/themes/landscape/source/css/_util/grid.styl:
--------------------------------------------------------------------------------
1 | /////////////////
2 | // Semantic.gs // for Stylus: http://learnboost.github.com/stylus/
3 | /////////////////
4 |
5 | // Utility function — you should never need to modify this
6 | // _gridsystem-width = (column-width + gutter-width) * columns
7 | gridsystem-width(_columns = columns)
8 | (column-width + gutter-width) * _columns
9 |
10 | // Set @total-width to 100% for a fluid layout
11 | // total-width = gridsystem-width(columns)
12 | total-width = 100%
13 |
14 | //////////
15 | // GRID //
16 | //////////
17 |
18 | body
19 | clearfix()
20 | width: 100%
21 |
22 | row(_columns = columns)
23 | clearfix()
24 | display: block
25 | width: total-width * ((gutter-width + gridsystem-width(_columns)) / gridsystem-width(_columns))
26 | margin: 0 total-width * (((gutter-width * .5) / gridsystem-width(_columns)) * -1)
27 |
28 | column(x, _columns = columns)
29 | display: inline
30 | float: left
31 | width: total-width * ((((gutter-width + column-width) * x) - gutter-width) / gridsystem-width(_columns))
32 | margin: 0 total-width * ((gutter-width * .5) / gridsystem-width(_columns))
33 |
34 | push(offset = 1)
35 | margin-left: total-width * (((gutter-width + column-width) * offset) / gridsystem-width(columns))
36 |
37 | pull(offset = 1)
38 | margin-right: total-width * (((gutter-width + column-width) * offset) / gridsystem-width(columns))
--------------------------------------------------------------------------------
/themes/landscape/source/css/_util/mixin.styl:
--------------------------------------------------------------------------------
1 | // http://www.zeldman.com/2012/03/01/replacing-the-9999px-hack-new-image-replacement/
2 | hide-text()
3 | text-indent: 100%
4 | white-space: nowrap
5 | overflow: hidden
6 |
7 | // http://codepen.io/shshaw/full/gEiDt
8 | absolute-center(width, height = width)
9 | // margin: auto
10 | // position: absolute
11 | // top: 50%
12 | // top: 0
13 | // left: 0
14 | // bottom: 0
15 | // right: 0
16 | // width: width
17 | // height: height
18 | // overflow: auto
19 | width: width
20 | height: height
21 | position: absolute
22 | top: 50%
23 | left: 50%
24 | margin-top: width * -0.5
25 | margin-left: height * -0.5
26 |
27 | avoid-column-break()
28 | vendor("column-break-inside", avoid, only: webkit)
29 | page-break-inside: avoid // for firefox
30 | overflow: hidden // fix for firefox
31 | break-inside: avoid-column
32 |
--------------------------------------------------------------------------------
/themes/landscape/source/css/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/themes/landscape/source/css/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/themes/landscape/source/css/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/themes/landscape/source/css/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/themes/landscape/source/css/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/themes/landscape/source/css/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/themes/landscape/source/css/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/themes/landscape/source/css/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/themes/landscape/source/css/images/banner.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/themes/landscape/source/css/images/banner.jpg
--------------------------------------------------------------------------------
/themes/landscape/source/fancybox/blank.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/themes/landscape/source/fancybox/blank.gif
--------------------------------------------------------------------------------
/themes/landscape/source/fancybox/fancybox_loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/themes/landscape/source/fancybox/fancybox_loading.gif
--------------------------------------------------------------------------------
/themes/landscape/source/fancybox/fancybox_loading@2x.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/themes/landscape/source/fancybox/fancybox_loading@2x.gif
--------------------------------------------------------------------------------
/themes/landscape/source/fancybox/fancybox_overlay.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/themes/landscape/source/fancybox/fancybox_overlay.png
--------------------------------------------------------------------------------
/themes/landscape/source/fancybox/fancybox_sprite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/themes/landscape/source/fancybox/fancybox_sprite.png
--------------------------------------------------------------------------------
/themes/landscape/source/fancybox/fancybox_sprite@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/themes/landscape/source/fancybox/fancybox_sprite@2x.png
--------------------------------------------------------------------------------
/themes/landscape/source/fancybox/helpers/fancybox_buttons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/themes/landscape/source/fancybox/helpers/fancybox_buttons.png
--------------------------------------------------------------------------------
/themes/landscape/source/fancybox/helpers/jquery.fancybox-thumbs.css:
--------------------------------------------------------------------------------
1 | #fancybox-thumbs {
2 | position: fixed;
3 | left: 0;
4 | width: 100%;
5 | overflow: hidden;
6 | z-index: 8050;
7 | }
8 |
9 | #fancybox-thumbs.bottom {
10 | bottom: 2px;
11 | }
12 |
13 | #fancybox-thumbs.top {
14 | top: 2px;
15 | }
16 |
17 | #fancybox-thumbs ul {
18 | position: relative;
19 | list-style: none;
20 | margin: 0;
21 | padding: 0;
22 | }
23 |
24 | #fancybox-thumbs ul li {
25 | float: left;
26 | padding: 1px;
27 | opacity: 0.5;
28 | }
29 |
30 | #fancybox-thumbs ul li.active {
31 | opacity: 0.75;
32 | padding: 0;
33 | border: 1px solid #fff;
34 | }
35 |
36 | #fancybox-thumbs ul li:hover {
37 | opacity: 1;
38 | }
39 |
40 | #fancybox-thumbs ul li a {
41 | display: block;
42 | position: relative;
43 | overflow: hidden;
44 | border: 1px solid #222;
45 | background: #111;
46 | outline: none;
47 | }
48 |
49 | #fancybox-thumbs ul li img {
50 | display: block;
51 | position: relative;
52 | border: 0;
53 | padding: 0;
54 | max-width: none;
55 | }
--------------------------------------------------------------------------------
/themes/next/.bowerrc:
--------------------------------------------------------------------------------
1 | {
2 | "directory": "source/lib"
3 | }
4 |
--------------------------------------------------------------------------------
/themes/next/.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 |
13 | [*.py]
14 | indent_size = 4
15 |
--------------------------------------------------------------------------------
/themes/next/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "theme-next",
3 | "root": true
4 | }
5 |
--------------------------------------------------------------------------------
/themes/next/.gitattributes:
--------------------------------------------------------------------------------
1 | source/lib/* linguist-vendored
2 | scripts/merge.js linguist-vendored
3 |
--------------------------------------------------------------------------------
/themes/next/.github/auto_assign.yml:
--------------------------------------------------------------------------------
1 | # Configuration for Auto Assign - https://github.com/kentaro-m/auto-assign
2 |
3 | # Set to true to add reviewers to pull requests
4 | addReviewers: true
5 |
6 | # Set to true to add assignees to pull requests
7 | addAssignees: false
8 |
9 | # A list of reviewers to be added to pull requests (GitHub user name)
10 | reviewers:
11 | - ivan-nginx
12 | - maple3142
13 | - sli1989
14 | - stevenjoezhang
15 |
16 | # A number of reviewers added to the pull request
17 | # Set 0 to add all the reviewers (default: 0)
18 | numberOfReviewers: 0
19 |
20 | # A list of keywords to be skipped the process that add reviewers if pull requests include it
21 | skipKeywords:
22 | - wip
23 |
--------------------------------------------------------------------------------
/themes/next/.github/eslint-disable-bot.yml:
--------------------------------------------------------------------------------
1 | # Configuration for ESLint Disable Watcher - https://github.com/koddsson/eslint-disable-probot
2 |
3 | # Change this to set the number of comments the watcher should comment on a given PR.
4 | commentLimit: 10
5 | # The message the bot will post on any lines containing a eslint disable comment.
6 | commentMessage: Please don't disable eslint rules :pray:
7 | # A optional regular expression that will match against the branch name and not comment on it if it matches.
8 | skipBranchMatching: null
9 |
--------------------------------------------------------------------------------
/themes/next/.github/lock.yml:
--------------------------------------------------------------------------------
1 | # Configuration for Lock Threads - https://github.com/dessant/lock-threads
2 |
3 | # Number of days of inactivity before a closed issue or pull request is locked
4 | daysUntilLock: 365
5 |
6 | # Skip issues and pull requests created before a given timestamp. Timestamp must
7 | # follow ISO 8601 (`YYYY-MM-DD`). Set to `false` to disable
8 | skipCreatedBefore: false
9 |
10 | # Issues and pull requests with these labels will be ignored. Set to `[]` to disable
11 | exemptLabels:
12 | - backlog
13 |
14 | # Label to add before locking, such as `outdated`. Set to `false` to disable
15 | lockLabel: 🔒 Locked
16 |
17 | # Comment to post before locking. Set to `false` to disable
18 | lockComment: >
19 | This thread has been automatically locked since there has not been
20 | any recent activity after it was closed. It is possible issue was
21 | solved or at least outdated. Feel free to open new for related bugs.
22 |
23 | # Assign `resolved` as the reason for locking. Set to `false` to disable
24 | setLockReason: true
25 |
26 | # Limit to only `issues` or `pulls`
27 | only: issues
28 |
29 | # Optionally, specify configuration settings just for `issues` or `pulls`
30 | # issues:
31 | # exemptLabels:
32 | # - help-wanted
33 | # lockLabel: outdated
34 |
35 | # pulls:
36 | # daysUntilLock: 30
37 |
38 | # Repository to extend settings from
39 | # _extends: repo
40 |
--------------------------------------------------------------------------------
/themes/next/.github/mergeable.yml:
--------------------------------------------------------------------------------
1 | # Configuration for Mergeable - https://github.com/jusx/mergeable
2 |
3 | version: 2
4 | mergeable:
5 | - when: pull_request.*
6 | validate:
7 | - do: description
8 | no_empty:
9 | enabled: false
10 |
11 | - do: title
12 | must_exclude:
13 | regex: ^\[WIP\]
14 |
15 | - do: label
16 | must_include:
17 | regex: 'change|feat|imp|fix|doc|i18n'
18 | must_exclude:
19 | regex: 'wip|work in progress'
20 |
21 | #- do: project
22 | # no_empty:
23 | # enabled: true
24 | # must_include:
25 | # regex: 'change|feat|imp|fix|doc|loc'
26 |
27 | - do: milestone
28 | no_empty:
29 | enabled: true
30 |
--------------------------------------------------------------------------------
/themes/next/.github/release-drafter.yml:
--------------------------------------------------------------------------------
1 | # Configuration for Release Drafter - https://github.com/toolmantim/release-drafter
2 |
3 | name-template: 'v$NEXT_MINOR_VERSION'
4 | tag-template: 'v$NEXT_MINOR_VERSION'
5 | categories:
6 | - title: '💥 Breaking Changes'
7 | label: '💥 Breaking Change'
8 |
9 | - title: '🌀 External Changes'
10 | label: '🌀 External Change'
11 |
12 | - title: '🌟 New Features'
13 | label: '🌟 New Feature'
14 |
15 | - title: '⭐ Features'
16 | label: '⭐ Feature'
17 |
18 | - title: '🛠 Improvements'
19 | label: '🛠 Improvement'
20 |
21 | - title: '🐞 Bug Fixes'
22 | label: '🐞 Bug Fix'
23 |
24 | - title: '📖 Documentation'
25 | label: '📖 Docs'
26 |
27 | - title: '🌍 Localization'
28 | label: '🌍 i18n'
29 |
30 | change-template: '- $TITLE (#$NUMBER)'
31 | no-changes-template: '- No changes'
32 | template: |
33 | $CHANGES
34 |
35 | ***
36 |
37 | For full changes, see the [comparison between $PREVIOUS_TAG and v$NEXT_MINOR_VERSION](https://github.com/theme-next/hexo-theme-next/compare/$PREVIOUS_TAG...v$NEXT_MINOR_VERSION)
38 |
--------------------------------------------------------------------------------
/themes/next/.github/stale.yml:
--------------------------------------------------------------------------------
1 | # Configuration for probot-stale - https://github.com/probot/stale
2 |
3 | # Number of days of inactivity before an Issue or Pull Request becomes stale
4 | daysUntilStale: 30
5 | # Number of days of inactivity before a stale Issue or Pull Request is closed
6 | daysUntilClose: 7
7 | # Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
8 | exemptLabels:
9 | - bug
10 | - feature request
11 | - improvement need
12 | - wait for answer
13 | - need verify
14 | - question
15 | - backlog
16 | - docs
17 | # Label to use when marking as stale
18 | staleLabel: stale
19 | # Comment to post when marking as stale. Set to `false` to disable
20 | markComment: >
21 | This issue has been automatically marked as stale because lack of
22 | recent activity. It will be closed if no further activity occurs. Thank you
23 | for your contributions. You can also use our [support channels](https://github.com/theme-next/hexo-theme-next#feedback) to get help with the project.
24 | # Comment to post when removing the stale label. Set to `false` to disable
25 | unmarkComment: false
26 | # Comment to post when closing a stale Issue or Pull Request. Set to `false` to disable
27 | closeComment: false
28 | # Limit to only `issues` or `pulls`
29 | only: issues
30 |
--------------------------------------------------------------------------------
/themes/next/.github/support.yml:
--------------------------------------------------------------------------------
1 | # Configuration for Support Requests - https://github.com/dessant/support-requests
2 |
3 | # Label used to mark issues as support requests
4 | supportLabel: Support
5 |
6 | # Comment to post on issues marked as support requests, `{issue-author}` is an
7 | # optional placeholder. Set to `false` to disable
8 | supportComment: >
9 | :wave: @{issue-author}, we use the issue tracker exclusively for bug reports
10 | and feature requests. However, this issue appears to be a support request.
11 | Please use our [support channels](https://github.com/theme-next/hexo-theme-next/tree/master#feedback) to get help with the project.
12 |
13 | # Close issues marked as support requests
14 | close: true
15 |
16 | # Lock issues marked as support requests
17 | lock: false
18 |
19 | # Assign `off-topic` as the reason for locking. Set to `false` to disable
20 | setLockReason: true
21 |
22 | # Repository to extend settings from
23 | # _extends: repo
24 |
--------------------------------------------------------------------------------
/themes/next/.github/topissuebot.yml:
--------------------------------------------------------------------------------
1 | # Configuration for top-issue-bot - https://github.com/adamzolyak/gh-vote-bot
2 |
3 | labelName: '👍 Top Issue!'
4 | labelColor: '006b75'
5 | numberOfIssuesToLabel: 10
6 |
--------------------------------------------------------------------------------
/themes/next/.github/weekly-digest.yml:
--------------------------------------------------------------------------------
1 | # Configuration for weekly-digest - https://github.com/apps/weekly-digest
2 |
3 | publishDay: sun
4 | canPublishIssues: true
5 | canPublishPullRequests: true
6 | canPublishContributors: true
7 | canPublishStargazers: true
8 | canPublishCommits: true
9 |
--------------------------------------------------------------------------------
/themes/next/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .idea/
3 | *.log
4 | *.iml
5 | yarn.lock
6 | package-lock.json
7 | node_modules/
8 |
9 | # Ignore optional external libraries
10 | source/lib/*
11 |
12 | # Track internal libraries & Ignore unused verdors files
13 | source/lib/font-awesome/less/
14 | source/lib/font-awesome/scss/
15 | !source/lib/font-awesome/*
16 |
17 | !source/lib/jquery/
18 |
19 | !source/lib/velocity/
20 |
--------------------------------------------------------------------------------
/themes/next/.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 |
--------------------------------------------------------------------------------
/themes/next/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | #node_js: node
3 | node_js: lts/*
4 |
5 | cache:
6 | directories:
7 | - node_modules
8 |
9 | install: npm install
10 |
11 | before_script:
12 | - npm install -g gulp
13 |
14 | addons:
15 | browserstack:
16 | username: "ivannginx1"
17 | access_key:
18 | secure: "NutOhdgtUdBUXMPZhy8X1F1Jq+tan1LeNOV0FArBt15SNlxtNArqhiyTi4XnG9MPruX4306aGF2RBrKso+OiGNRdGtRGngH613Q0GWNtlC/boMqnI7fHqLIyCs6S12y2uA8PK4Ifxg9bZ0VtCTYYbMy+p1KvBM//L12vmtfdnby8z5Qvex3tB3dLoPOR50CKkINHJVDLm+iVRFrdz4/83oDsulZSRRGIaxu5taDWPIcp3fYZtre2Nc+RXcsyFDyjN7U0Hvr5tKBbloJxXEQEBv2xLkMOtp85nmCPD06s1Il8Wus1ux3raVsfUyaW5FpNX37Jeb5e00RQUM1wgU5m75H6qiGwDvQswbugJG0i/a2nNfsgVmbrSZdMnkHcx2Uxmrw4ejyEP5NSrJSBi05Ck1fQ4UsZ4Qkdf1fd04SI0LpLWt43eoNO/7rHKsQoP4LCX9gxKUuC075NEBLODyJ529RYfA6dKKwwH6o0ZbOgASmCoAWaM65g4+FHRnJcKL/Kj9ZWklQtRa7/ynlHaA65jefFS2lB8Ut6d3rXDDBih9mIrwV1uUaEH96xgAN42bgU/vY6FGzNkDOYZqj4YfsepDM0wbOsslFie7JZq7iFjsYvrXqLvYUMk37AZwQ2Sb6uH4tIT4Qw/4oZfDzA1En3/8HdZJ28nKW/lzjwMSqheIY="
19 |
--------------------------------------------------------------------------------
/themes/next/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "theme-next",
3 | "version": "7.1.2",
4 | "homepage": "https://theme-next.org",
5 | "authors": [
6 | "NexT (https://theme-next.org)"
7 | ],
8 | "description": "Elegant theme for Hexo",
9 | "repository": "https://github.com/theme-next/hexo-theme-next",
10 | "keywords": [
11 | "hexo",
12 | "theme",
13 | "next"
14 | ],
15 | "license": "AGPL",
16 | "ignore": [
17 | "**/.*",
18 | "node_modules",
19 | "bower_components",
20 | "source/lib",
21 | "test",
22 | "tests",
23 | "screenshots"
24 | ],
25 | "dependencies": {
26 | "font-awesome": "fontawesome#*",
27 | "jquery": "http://code.jquery.com/jquery-2.1.3.min.js",
28 | "velocity": "~1.2.1"
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/themes/next/crowdin.yml:
--------------------------------------------------------------------------------
1 | files:
2 | - source: /languages/en.yml
3 | translation: /languages/%two_letters_code%.%file_extension%
4 | languages_mapping:
5 | two_letters_code:
6 | zh-CN: zh-CN
7 | zh-TW: zh-TW
8 | zh-HK: zh-HK
9 | pt-BR: pt-BR
10 |
--------------------------------------------------------------------------------
/themes/next/gulpfile.coffee:
--------------------------------------------------------------------------------
1 | fs = require('fs')
2 | path = require('path')
3 | gulp = require('gulp')
4 | jshint = require('gulp-jshint')
5 | stylish = require('jshint-stylish')
6 | shell = require('gulp-shell')
7 | yaml = require('js-yaml')
8 |
9 | gulp.task 'lint', ->
10 | return gulp.src([
11 | './source/js/utils.js',
12 | './source/js/motion.js',
13 | './source/js/algolia-search.js',
14 | './source/js/bootstrap.js',
15 | './source/js/post-details.js',
16 | './source/js/schemes/pisces.js'
17 | ]).pipe jshint()
18 | .pipe jshint.reporter(stylish)
19 |
20 | gulp.task 'lint:stylus', shell.task [
21 | '"./node_modules/.bin/stylint" ./source/css/'
22 | ]
23 |
24 | gulp.task 'validate:config', (cb) ->
25 | themeConfig = fs.readFileSync path.join(__dirname, '_config.yml')
26 |
27 | try
28 | yaml.safeLoad(themeConfig)
29 | cb()
30 | catch error
31 | cb new Error(error)
32 |
33 | gulp.task 'validate:languages', (cb) ->
34 | languagesPath = path.join __dirname, 'languages'
35 | languages = fs.readdirSync languagesPath
36 | errors = []
37 |
38 | for lang in languages
39 | languagePath = path.join languagesPath, lang
40 | try
41 | yaml.safeLoad fs.readFileSync(languagePath), {
42 | filename: path.relative(__dirname, languagePath)
43 | }
44 | catch error
45 | errors.push error
46 |
47 | if errors.length == 0
48 | cb()
49 | else
50 | cb(errors)
51 |
52 |
53 | gulp.task 'default', ['lint', 'validate:config', 'validate:languages']
54 |
--------------------------------------------------------------------------------
/themes/next/languages/default.yml:
--------------------------------------------------------------------------------
1 | en.yml
--------------------------------------------------------------------------------
/themes/next/layout/_custom/head.swig:
--------------------------------------------------------------------------------
1 | {#
2 | Custom head.
3 | #}
4 |
--------------------------------------------------------------------------------
/themes/next/layout/_custom/header.swig:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
11 |
12 |
13 |
19 |
--------------------------------------------------------------------------------
/themes/next/layout/_custom/sidebar.swig:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/themes/next/layout/_macro/menu/menu-badge.swig:
--------------------------------------------------------------------------------
1 | {% macro render(name) %}
2 |
3 | {% set badges = {
4 | archives: site.posts.length,
5 | categories: site.categories.length,
6 | tags: site.tags.length }
7 | %}
8 | {% for menu, count in badges %}
9 | {% if name == menu %}
10 | {{ count }}
11 | {% endif %}
12 | {% endfor %}
13 |
14 | {% endmacro %}
15 |
--------------------------------------------------------------------------------
/themes/next/layout/_macro/menu/menu-item.swig:
--------------------------------------------------------------------------------
1 | {% macro render(name, value) %}
2 | {% import 'menu-badge.swig' as menu_badge %}
3 |
4 | {% set itemURL = value.split('||')[0] | trim %}
5 | {% if itemURL.indexOf('http') != 0 %}
6 | {% set itemURL = itemURL | replace('//', '/', 'g') %}
7 | {% endif %}
8 |
23 |
24 | {% endmacro %}
25 |
--------------------------------------------------------------------------------
/themes/next/layout/_macro/post-collapse.swig:
--------------------------------------------------------------------------------
1 | {% macro render(post) %}
2 |
3 |
4 |
31 |
32 |
33 | {% endmacro %}
34 |
--------------------------------------------------------------------------------
/themes/next/layout/_partials/github-banner.swig:
--------------------------------------------------------------------------------
1 | {% if theme.github_banner.enable %}
2 | {% set github_URL = theme.github_banner.permalink %}
3 | {% set github_title = theme.github_banner.title %}
4 |
5 | {% set github_image = '' %}
6 |
7 | {{ next_url(github_URL, github_image, {class: 'github-corner', title: github_title, "aria-label": github_title}) }}
8 | {% endif %}
9 |
--------------------------------------------------------------------------------
/themes/next/layout/_partials/head/head-unique.swig:
--------------------------------------------------------------------------------
1 | {{
2 | open_graph({
3 | twitter_id: theme.twitter,
4 | google_plus: theme.google_plus,
5 | fb_admins: theme.fb_admins,
6 | fb_app_id: theme.fb_app_id
7 | })
8 | }}
9 |
10 | {% if theme.rss === '' and config.feed and config.feed.path %}
11 | {% set theme.rss = config.feed.path %}
12 | {% endif %}
13 | {% if theme.rss %}
14 |
15 | {% endif %}
16 |
17 | {% if theme.canonical %}
18 | {% set without_index = url.replace('index.html', '') %}
19 | {% set without_html = without_index.replace('.html', '') %}
20 |
21 | {% endif %}
22 |
23 | {# Exports some front-matter variables to Front-End #}
24 |
29 |
--------------------------------------------------------------------------------
/themes/next/layout/_partials/header/brand.swig:
--------------------------------------------------------------------------------
1 |
2 |
31 |
32 |
33 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/themes/next/layout/_partials/header/index.swig:
--------------------------------------------------------------------------------
1 | {{ partial('_partials/header/brand.swig', {}, {cache: theme.cache.enable}) }}
2 | {% include 'menu.swig' %}
3 |
4 | {% if theme.custom_file_path.header %}
5 | {% set custom_header = '../../../../../' + theme.custom_file_path.header %}
6 | {% else %}
7 | {% set custom_header = '../../_custom/header.swig' %}
8 | {% endif %}
9 | {% include custom_header %}
10 |
--------------------------------------------------------------------------------
/themes/next/layout/_partials/page/breadcrumb.swig:
--------------------------------------------------------------------------------
1 | {% set paths = page.path.split('/') %}
2 | {% set count = paths.length %}
3 | {% if count > 2 %}
4 | {% set current = 0 %}
5 | {% set link = '' %}
6 |
7 | {% for path in paths %}
8 | {% set current += 1 %}
9 | {% if path != 'index.html' %}
10 | {% if current == count - 1 and paths[count - 1] == 'index.html' %}
11 | - {{ path | upper }}
12 | {% else %}
13 | {% if link == '' %}
14 | {% set link = '/' + path %}
15 | {% else %}
16 | {% set link += '/' + path %}
17 | {% endif %}
18 | {% if path.indexOf('.html') == -1 %}
19 | - {{ path | upper }}
20 | {% else %}
21 | - {{ path.replace('.html', '') | upper }}
22 | {% endif %}
23 | {% endif %}
24 | {% endif %}
25 | {% endfor %}
26 |
27 | {% endif %}
28 |
--------------------------------------------------------------------------------
/themes/next/layout/_partials/page/page-header.swig:
--------------------------------------------------------------------------------
1 |
16 |
--------------------------------------------------------------------------------
/themes/next/layout/_partials/pagination.swig:
--------------------------------------------------------------------------------
1 | {% if page.prev or page.next %}
2 |
11 | {% endif %}
12 |
--------------------------------------------------------------------------------
/themes/next/layout/_partials/post-edit.swig:
--------------------------------------------------------------------------------
1 | {% if theme.post_edit.enable -%}
2 | {% set editIcon = '' -%}
3 | {{ next_url(theme.post_edit.url + page.source, editIcon, {class: 'post-edit-link', title: __('post.edit') }) }}
4 | {%- endif %}
5 |
--------------------------------------------------------------------------------
/themes/next/layout/_partials/post/post-copyright.swig:
--------------------------------------------------------------------------------
1 | {% set ccLicense = theme.creative_commons.license | lower %}
2 | {% set ccLanguage = theme.creative_commons.language %}
3 | {% set ccIcon = '' %}
4 | {% set ccText = ccLicense | upper %}
5 | {% if ccLicense === 'zero' %}
6 | {% set ccType = 'publicdomain/zero/1.0/' + ccLanguage %}
7 | {% else %}
8 | {% set ccType = 'licenses/' + ccLicense + '/4.0/' + ccLanguage %}
9 | {% endif %}
10 | {% set ccURL = 'https://creativecommons.org/' + ccType %}
11 |
12 |
13 | -
14 | {{ __('post.copyright.author') + __('symbol.colon') }} {#
15 | #}{{ post.author || author }}{#
16 | #}
17 | -
18 | {{ __('post.copyright.link') + __('symbol.colon') }}
19 | {% set postURL = post.url || post.permalink %}
20 | {{ next_url(postURL, postURL, {title: post.title}) }}
21 |
22 | -
23 | {{ __('post.copyright.license_title') + __('symbol.colon') }} {#
24 | #}{{ __('post.copyright.license_content', next_url(ccURL, ccIcon + ccText)) }}{#
25 | #}
26 |
27 |
--------------------------------------------------------------------------------
/themes/next/layout/_partials/post/post-related.swig:
--------------------------------------------------------------------------------
1 | {% set popular_posts = popular_posts_json(theme.related_posts.params, post) %}
2 | {% if popular_posts.json and popular_posts.json.length > 0 %}
3 |
4 |
5 | {% for popular_post in popular_posts.json %}
6 | -
7 | {% if popular_post.date and popular_post.date != '' %}
8 |
{{ popular_post.date }}
9 | {% endif %}
10 | {% if popular_post.img && popular_post.img != '' %}
11 |
12 | {% endif %}
13 |
14 | {% if popular_post.excerpt && popular_post.excerpt != '' %}
15 | {{ popular_post.excerpt }}
16 | {% endif %}
17 |
18 | {% endfor %}
19 |
20 | {% endif %}
21 |
--------------------------------------------------------------------------------
/themes/next/layout/_partials/post/reward.swig:
--------------------------------------------------------------------------------
1 |
2 |
{{ theme.reward_settings.comment }}
3 |
6 |
7 |
8 | {% for name, image in theme.reward %}
9 | {% set builtin = ['wechatpay', 'alipay', 'bitcoin'] %}
10 | {% if builtin.indexOf(name) !== -1 %}
11 | {% set translation = __('reward.' + name) %}
12 | {% else %}
13 | {% set translation = name %}
14 | {% endif %}
15 |
16 |
 }})
17 |
{{ translation }}
18 |
19 | {% endfor %}
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/themes/next/layout/_partials/post/wechat-subscriber.swig:
--------------------------------------------------------------------------------
1 |
2 |
 }})
3 |
{{ theme.wechat_subscriber.description }}
4 |
5 |
--------------------------------------------------------------------------------
/themes/next/layout/_partials/search/algolia-search.swig:
--------------------------------------------------------------------------------
1 | {% if theme.algolia_search.enable %}
2 |
20 | {% endif %}
21 |
--------------------------------------------------------------------------------
/themes/next/layout/_partials/search/index.swig:
--------------------------------------------------------------------------------
1 | {% if theme.algolia_search.enable %}
2 | {% include 'algolia-search.swig' %}
3 | {% elif theme.swiftype_key %}
4 | {% include 'swiftype.swig' %}
5 | {% elif theme.local_search.enable %}
6 | {% include 'localsearch.swig' %}
7 | {% endif %}
8 |
--------------------------------------------------------------------------------
/themes/next/layout/_partials/search/localsearch.swig:
--------------------------------------------------------------------------------
1 |
17 |
--------------------------------------------------------------------------------
/themes/next/layout/_partials/search/swiftype.swig:
--------------------------------------------------------------------------------
1 |
4 |
5 |
13 |
--------------------------------------------------------------------------------
/themes/next/layout/_partials/share/add-this.swig:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/themes/next/layout/_partials/share/likely.swig:
--------------------------------------------------------------------------------
1 | {% set likely_js_url = '//cdn.jsdelivr.net/npm/ilyabirman-likely@2/release/likely.js' %}
2 | {% if theme.vendors.likely_js %}
3 | {% set likely_js_url = theme.vendors.likely_js %}
4 | {% endif %}
5 |
6 |
7 | {% set likely_css_url = '//cdn.jsdelivr.net/npm/ilyabirman-likely@2/release/likely.css' %}
8 | {% if theme.vendors.likely_css %}
9 | {% set likely_css_url = theme.vendors.likely_css %}
10 | {% endif %}
11 |
12 |
13 | {% if theme.likely.look == 'normal' %}
14 | {% set likely_look = 'likely' %}
15 | {% else %}
16 | {% set likely_look = 'likely likely-' + theme.likely.look %}
17 | {% endif %}
18 |
19 |
20 | {% for x in theme.likely.networks %}
21 |
{{ x }}
22 | {% endfor %}
23 |
24 |
--------------------------------------------------------------------------------
/themes/next/layout/_scripts/commons.swig:
--------------------------------------------------------------------------------
1 | {%
2 | set js_commons = [
3 | 'utils.js',
4 | 'motion.js'
5 | ]
6 | %}
7 |
8 | {% for common in js_commons %}
9 |
10 | {% endfor %}
11 |
--------------------------------------------------------------------------------
/themes/next/layout/_scripts/exturl.swig:
--------------------------------------------------------------------------------
1 | {% if theme.exturl %}
2 |
3 | {% endif %}
4 |
--------------------------------------------------------------------------------
/themes/next/layout/_scripts/next-boot.swig:
--------------------------------------------------------------------------------
1 | {%
2 | set boot_scripts = [
3 | 'next-boot.js'
4 | ]
5 | %}
6 |
7 | {% for bs in boot_scripts %}
8 |
9 | {% endfor %}
10 |
--------------------------------------------------------------------------------
/themes/next/layout/_scripts/noscript.swig:
--------------------------------------------------------------------------------
1 |
25 |
--------------------------------------------------------------------------------
/themes/next/layout/_scripts/pages/post-details.swig:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/themes/next/layout/_scripts/schemes/gemini.swig:
--------------------------------------------------------------------------------
1 | {% include 'pisces.swig' %}
2 |
--------------------------------------------------------------------------------
/themes/next/layout/_scripts/schemes/mist.swig:
--------------------------------------------------------------------------------
1 | {% include 'muse.swig' %}
2 |
--------------------------------------------------------------------------------
/themes/next/layout/_scripts/schemes/muse.swig:
--------------------------------------------------------------------------------
1 | {%
2 | set scripts = [
3 | 'schemes/muse.js'
4 | ]
5 | %}
6 |
7 | {% for script in scripts %}
8 |
9 | {% endfor %}
10 |
--------------------------------------------------------------------------------
/themes/next/layout/_scripts/schemes/pisces.swig:
--------------------------------------------------------------------------------
1 | {%
2 | set scripts = [
3 | 'affix.js',
4 | 'schemes/pisces.js'
5 | ]
6 | %}
7 |
8 | {% for script in scripts %}
9 |
10 | {% endfor %}
11 |
--------------------------------------------------------------------------------
/themes/next/layout/_scripts/scroll-cookie.swig:
--------------------------------------------------------------------------------
1 | {% if theme.save_scroll %}
2 |
3 |
4 | {% endif %}
5 |
--------------------------------------------------------------------------------
/themes/next/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' %}
5 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/analytics/application-insights.swig:
--------------------------------------------------------------------------------
1 | {% if theme.application_insights %}
2 |
11 | {% endif %}
12 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/analytics/baidu-analytics.swig:
--------------------------------------------------------------------------------
1 | {% if theme.baidu_analytics %}
2 |
11 | {% endif %}
12 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/analytics/busuanzi-counter.swig:
--------------------------------------------------------------------------------
1 | {% if theme.busuanzi_count.enable %}
2 |
3 |
4 |
5 | {% if theme.busuanzi_count.total_visitors %}
6 |
7 |
8 |
9 |
10 |
11 |
12 | {% endif %}
13 |
14 | {% if theme.busuanzi_count.total_visitors and theme.busuanzi_count.total_views %}
15 | |
16 | {% endif %}
17 |
18 | {% if theme.busuanzi_count.total_views %}
19 |
20 |
21 |
22 |
23 |
24 |
25 | {% endif %}
26 |
27 | {% endif %}
28 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/analytics/cnzz-analytics.swig:
--------------------------------------------------------------------------------
1 | {% if theme.cnzz_siteid %}
2 |
3 |
4 |
5 | {% endif %}
6 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/analytics/facebook-sdk.swig:
--------------------------------------------------------------------------------
1 | {% if theme.facebook_sdk.enable %}
2 |
18 | {% endif %}
19 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/analytics/google-analytics.swig:
--------------------------------------------------------------------------------
1 | {% if theme.google_analytics.tracking_id %}
2 |
3 |
12 | {% endif %}
13 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/analytics/growingio.swig:
--------------------------------------------------------------------------------
1 | {% if theme.growingio_analytics %}
2 |
7 | {% endif %}
8 |
--------------------------------------------------------------------------------
/themes/next/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 | {% include 'growingio.swig' %}
7 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/analytics/tencent-analytics.swig:
--------------------------------------------------------------------------------
1 | {% if theme.tencent_analytics %}
2 |
10 | {% endif %}
11 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/analytics/tencent-mta.swig:
--------------------------------------------------------------------------------
1 | {% if theme.tencent_mta %}
2 |
13 | {% endif %}
14 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/analytics/vkontakte-api.swig:
--------------------------------------------------------------------------------
1 | {% if theme.vkontakte_api.enable %}
2 |
3 |
25 | {% endif %}
26 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/baidu-push.swig:
--------------------------------------------------------------------------------
1 | {% if theme.baidu_push %}
2 |
11 | {% endif %}
12 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/bookmark.swig:
--------------------------------------------------------------------------------
1 | {% if theme.bookmark and theme.bookmark.enable %}
2 | {% set bookmark_uri = url_for(theme.vendors._internal + '/bookmark/bookmark.min.js?v=1.0') %}
3 | {% if theme.vendors.bookmark %}
4 | {% set bookmark_uri = theme.vendors.bookmark %}
5 | {% endif %}
6 |
7 |
14 | {% endif %}
15 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/chatra.swig:
--------------------------------------------------------------------------------
1 | {% if theme.chatra.enable %}
2 | {% if theme.chatra.embed %}
3 |
9 | {% endif %}
10 |
22 | {% endif %}
23 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/comments/changyan.swig:
--------------------------------------------------------------------------------
1 | {% if is_home() %}
2 |
3 | {% elif page.comments %}
4 |
17 |
18 | {% endif %}
19 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/comments/disqusjs.swig:
--------------------------------------------------------------------------------
1 | {% set disqusjs_css_url = '//cdn.jsdelivr.net/npm/disqusjs@1/dist/disqusjs.css' %}
2 | {% if theme.vendors.disqusjs_css %}
3 | {% set disqusjs_css_url = theme.vendors.disqusjs_css %}
4 | {% endif %}
5 |
6 |
7 | {% set disqusjs_js_url = '//cdn.jsdelivr.net/npm/disqusjs@1/dist/disqus.js' %}
8 | {% if theme.vendors.disqusjs_js %}
9 | {% set disqusjs_js_url = theme.vendors.disqusjs_js %}
10 | {% endif %}
11 |
12 |
13 |
20 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/comments/gitalk.swig:
--------------------------------------------------------------------------------
1 | {% set gitalk_js_url = '//cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.min.js' %}
2 | {% if theme.vendors.gitalk_js %}
3 | {% set gitalk_js_url = theme.vendors.gitalk_js %}
4 | {% endif %}
5 |
6 |
7 | {% set gitalk_css_url = '//cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.min.css' %}
8 | {% if theme.vendors.gitalk_css %}
9 | {% set gitalk_css_url = theme.vendors.gitalk_css %}
10 | {% endif %}
11 |
12 |
13 | {% set md5_url = '//cdn.jsdelivr.net/npm/js-md5@0.7.3/src/md5.min.js' %}
14 | {% if theme.vendors.md5 %}
15 | {% set md5_url = theme.vendors.md5 %}
16 | {% endif %}
17 |
18 |
19 |
36 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/comments/index.swig:
--------------------------------------------------------------------------------
1 | {% if theme.disqus.enable %}
2 | {% include 'disqus.swig' %}
3 | {% elif theme.changyan.enable and theme.changyan.appid and theme.changyan.appkey %}
4 | {% include 'changyan.swig' %}
5 | {% elif theme.valine.enable and theme.valine.appid and theme.valine.appkey %}
6 | {% include 'valine.swig' %}
7 | {% endif %}
8 |
9 | {% if page.comments %}
10 | {% if theme.livere_uid %}
11 | {% include 'livere.swig' %}
12 | {% elif theme.gitment.enable and theme.gitment.client_id %}
13 | {% include 'gitment.swig' %}
14 | {% elif theme.gitalk.enable %}
15 | {% include 'gitalk.swig' %}
16 | {% elif theme.disqusjs.enable and theme.disqusjs.apikey and theme.disqusjs.shortname %}
17 | {% include 'disqusjs.swig' %}
18 | {% endif %}
19 | {% endif %}
20 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/comments/livere.swig:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/comments/valine.swig:
--------------------------------------------------------------------------------
1 | {% set leancloud_uri = '//cdn1.lncld.net/static/js/3.11.1/av-min.js' %}
2 | {% if theme.vendors.leancloud %}
3 | {% set leancloud_uri = theme.vendors.leancloud %}
4 | {% endif %}
5 |
6 |
7 | {% set valine_uri = '//unpkg.com/valine/dist/Valine.min.js' %}
8 | {% if theme.vendors.valine %}
9 | {% set valine_uri = theme.vendors.valine %}
10 | {% endif %}
11 |
12 |
13 |
33 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/copy-code.swig:
--------------------------------------------------------------------------------
1 | {% if theme.codeblock.copy_button.enable %}
2 |
36 | {% endif %}
37 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/math/index.swig:
--------------------------------------------------------------------------------
1 | {% if theme.math.enable %}
2 | {% set is_index_has_math = false %}
3 |
4 | {# At home, check if there has `mathjax: true` post #}
5 | {% if is_home() %}
6 | {% for post in page.posts %}
7 | {% if post.mathjax and not is_index_has_math %}
8 | {% set is_index_has_math = true %}
9 | {% endif %}
10 | {% endfor %}
11 | {% endif %}
12 |
13 | {% if not theme.math.per_page or (is_index_has_math or page.mathjax) %}
14 | {% if theme.math.engine == 'mathjax' %}
15 | {% include 'mathjax.swig' %}
16 | {% elif theme.math.engine == 'katex' %}
17 | {% include 'katex.swig' %}
18 | {% endif %}
19 | {% endif %}
20 | {% endif %}
21 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/math/katex.swig:
--------------------------------------------------------------------------------
1 |
2 | {% if theme.math.katex.copy_tex.enable %}
3 | {% if theme.math.katex.copy_tex.copy_tex_js %}
4 |
5 | {% endif %}
6 | {% if theme.math.katex.copy_tex.copy_tex_css %}
7 |
8 | {% endif %}
9 | {% endif %}
10 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/math/mathjax.swig:
--------------------------------------------------------------------------------
1 |
31 |
32 |
40 |
41 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/mermaid.swig:
--------------------------------------------------------------------------------
1 | {% if theme.mermaid.enable %}
2 |
21 | {% endif %}
22 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/needsharebutton.swig:
--------------------------------------------------------------------------------
1 | {% if theme.needmoreshare2.enable %}
2 | {% set needmoreshare2_js = url_for(theme.vendors._internal + '/needsharebutton/needsharebutton.js') %}
3 | {% if theme.vendors.needmoreshare2_js %}
4 | {% set needmoreshare2_js = theme.vendors.needmoreshare2_js %}
5 | {% endif %}
6 |
7 |
23 | {% endif %}
24 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/pangu.swig:
--------------------------------------------------------------------------------
1 | {% if theme.pangu %}
2 | {% set pangu_uri = url_for(theme.vendors._internal + '/pangu/dist/pangu.min.js?v=3.3') %}
3 | {% if theme.vendors.pangu %}
4 | {% set pangu_uri = theme.vendors.pangu %}
5 | {% endif %}
6 |
7 |
8 | {% endif %}
9 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/pdf.swig:
--------------------------------------------------------------------------------
1 | {% if theme.pdf.enable %}
2 |
27 | {% endif %}
28 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/quicklink.swig:
--------------------------------------------------------------------------------
1 | {% if theme.quicklink.enable %}
2 | {% set quicklink_uri = url_for(theme.vendors._internal + '/quicklink/quicklink.umd.js') %}
3 | {% if theme.vendors.quicklink %}
4 | {% set quicklink_uri = theme.vendors.quicklink %}
5 | {% endif %}
6 |
7 | {% if is_home() %}
8 | {% if theme.quicklink.home %}
9 | {% set loadQL = true %}
10 | {% endif %}
11 | {% endif %}
12 |
13 | {% if is_archive() %}
14 | {% if theme.quicklink.archive %}
15 | {% set loadQL = true %}
16 | {% endif %}
17 | {% endif %}
18 |
19 | {% if loadQL or (page.quicklink or post.quicklink) %}
20 |
21 |
34 | {% endif %}
35 | {% endif %}
36 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/rating.swig:
--------------------------------------------------------------------------------
1 | {% if theme.rating.enable and (not is_home() and is_post()) %}
2 |
20 | {% endif %}
21 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/search/algolia-search.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 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/search/index.swig:
--------------------------------------------------------------------------------
1 | {% include 'localsearch.swig' %}
2 | {% include 'algolia-search.swig' %}
3 |
--------------------------------------------------------------------------------
/themes/next/layout/_third-party/tidio.swig:
--------------------------------------------------------------------------------
1 | {% if theme.tidio.enable %}
2 |
3 | {% endif %}
4 |
--------------------------------------------------------------------------------
/themes/next/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 }} | {{ 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 |
--------------------------------------------------------------------------------
/themes/next/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 %}{{ title }}{% if theme.index_with_subtitle and subtitle %} – {{ 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 |
--------------------------------------------------------------------------------
/themes/next/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 | {% block title %}{{ page.title }} | {{ title }}{% endblock %}
6 |
7 | {% block page_class %}page-post-detail{% endblock %}
8 |
9 | {% block content %}
10 |
11 |
12 | {{ post_template.render(page) }}
13 |
14 |
15 | {% endblock %}
16 |
17 | {% block sidebar %}
18 | {{ sidebar_template.render(true) }}
19 | {% endblock %}
20 |
21 | {% block script_extra %}
22 | {% include '_scripts/pages/post-details.swig' %}
23 | {% endblock %}
24 |
--------------------------------------------------------------------------------
/themes/next/layout/schedule.swig:
--------------------------------------------------------------------------------
1 | {% block content %}
2 | {######################}
3 | {### SCHEDULE BLOCK ###}
4 | {######################}
5 |
11 | {##########################}
12 | {### END SCHEDULE BLOCK ###}
13 | {##########################}
14 | {% endblock %}
15 |
--------------------------------------------------------------------------------
/themes/next/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 }} | {{ 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 |
34 | {% endblock %}
35 |
36 | {% block sidebar %}
37 | {{ sidebar_template.render(false) }}
38 | {% endblock %}
39 |
--------------------------------------------------------------------------------
/themes/next/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "hexo-theme-next",
3 | "version": "7.1.2",
4 | "description": "Elegant and powerful theme for Hexo",
5 | "main": "index.js",
6 | "directories": {
7 | "test": "test"
8 | },
9 | "scripts": {
10 | "test": "gulp",
11 | "contributors:add": "all-contributors add",
12 | "contributors:generate": "all-contributors generate"
13 | },
14 | "repository": {
15 | "type": "git",
16 | "url": "git+https://github.com/theme-next/hexo-theme-next.git"
17 | },
18 | "keywords": [
19 | "hexo",
20 | "theme",
21 | "next"
22 | ],
23 | "author": "NexT (https://theme-next.org)",
24 | "license": "AGPL",
25 | "bugs": {
26 | "url": "https://github.com/theme-next/hexo-theme-next/issues"
27 | },
28 | "homepage": "https://theme-next.org",
29 | "devDependencies": {
30 | "all-contributors-cli": "^5.4.0",
31 | "coffee-script": "^1.10.0",
32 | "gulp": "^3.9.0",
33 | "gulp-jshint": "^1.12.0",
34 | "gulp-shell": "^0.6.1",
35 | "js-yaml": "^3.8.1",
36 | "jshint-stylish": "^2.1.0",
37 | "stylint": "^1.5.9"
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/themes/next/scripts/filters/exturl.js:
--------------------------------------------------------------------------------
1 | /* global hexo */
2 |
3 | 'use strict';
4 |
5 | hexo.extend.filter.register('after_post_render', function(data) {
6 | var theme = hexo.theme.config;
7 | // Exit if `exturl` option disable in NexT.
8 | if (!theme.exturl) return;
9 |
10 | var url = require('url');
11 | var cheerio;
12 |
13 | var config = this.config;
14 |
15 | if (!cheerio) cheerio = require('cheerio');
16 |
17 | var $ = cheerio.load(data.content, {decodeEntities: false});
18 | var siteHost = url.parse(config.url).hostname || config.url;
19 |
20 | $('a').each(function() {
21 | var href = $(this).attr('href');
22 | // Exit if the href attribute doesn't exists.
23 | if (!href) return;
24 |
25 | var data = url.parse(href);
26 |
27 | // Exit if the link doesn't have protocol, which means it's an internal link.
28 | if (!data.protocol) return;
29 |
30 | // Exit if the url has same host with `config.url`.
31 | if (data.hostname === siteHost) return;
32 |
33 | // If title atribute filled, set it as title; if not, set url as title.
34 | var title = $(this).attr('title') || href;
35 |
36 | var encoded = Buffer.from(href).toString('base64');
37 |
38 | $(this).replaceWith(function() {
39 | return $(`${$(this).html()}`);
40 | });
41 |
42 | });
43 |
44 | data.content = $.html();
45 | }, 0);
46 |
--------------------------------------------------------------------------------
/themes/next/scripts/helpers/engine.js:
--------------------------------------------------------------------------------
1 | /* global hexo */
2 |
3 | 'use strict';
4 |
5 | hexo.extend.helper.register('hexo_env', function(type) {
6 | return this.env[type];
7 | });
8 |
9 | hexo.extend.helper.register('next_env', function(type) {
10 | var path = require('path');
11 | var env = require(path.normalize('../../package.json'));
12 | return env[type];
13 | });
14 |
15 | hexo.extend.helper.register('item_active', function(path, className) {
16 | var canonical = this.page.canonical_path;
17 | var current = this.url_for(canonical).replace('index.html', '', 'g');
18 | var result = '';
19 |
20 | if (current.indexOf(path) !== -1) {
21 | if (path !== '/' || path === current) {
22 | result = ' ' + className;
23 | }
24 | }
25 | return result;
26 | });
27 |
--------------------------------------------------------------------------------
/themes/next/scripts/merge-configs.js:
--------------------------------------------------------------------------------
1 | /* global hexo */
2 |
3 | 'use strict';
4 |
5 | var merge = require('./merge');
6 |
7 | hexo.on('generateBefore', function() {
8 | if (hexo.locals.get) {
9 | var data = hexo.locals.get('data');
10 |
11 | /**
12 | * Merge configs from _data/next.yml into hexo.theme.config.
13 | * If `override`, configs in next.yml will rewrite configs in hexo.theme.config.
14 | * If next.yml not exists, merge all `theme_config.*` into hexo.theme.config.
15 | */
16 | if (data && data.next) {
17 | if (data.next.override) {
18 | hexo.theme.config = data.next;
19 | } else {
20 | merge(hexo.config, data.next);
21 | merge(hexo.theme.config, data.next);
22 | }
23 | } else {
24 | merge(hexo.theme.config, hexo.config.theme_config);
25 | }
26 |
27 | // Custom languages support. Introduced in NexT v6.3.0.
28 | if (data && data.languages) {
29 | var lang = this.config.language;
30 | var i18n = this.theme.i18n;
31 |
32 | var mergeLang = function(lang) {
33 | i18n.set(lang, merge(i18n.get([lang]), data.languages[lang]));
34 | };
35 |
36 | if (Array.isArray(lang)) {
37 | for (var i = 0; i < lang.length; i++) {
38 | mergeLang(lang[i]);
39 | }
40 | } else {
41 | mergeLang(lang);
42 | }
43 | }
44 | }
45 | });
46 |
--------------------------------------------------------------------------------
/themes/next/scripts/tags/button.js:
--------------------------------------------------------------------------------
1 | /**
2 | * button.js | https://theme-next.org/docs/tag-plugins/button
3 | */
4 |
5 | /* global hexo */
6 |
7 | 'use strict';
8 |
9 | function postButton(args) {
10 | args = args.join(' ').split(',');
11 | var url = args[0];
12 | var text = args[1] || '';
13 | var icon = args[2] || '';
14 | var title = args[3] || '';
15 |
16 | if (!url) {
17 | hexo.log.warn('URL can NOT be empty');
18 | }
19 |
20 | text = text.trim();
21 | icon = icon.trim();
22 | title = title.trim();
23 |
24 | var result = [` 0 && result.push(` title="${title}"`);
26 | result.push('>');
27 | icon.length > 0 && result.push(``);
28 | text.length > 0 && result.push(text);
29 | result.push('');
30 |
31 | return result.join('');
32 | }
33 |
34 | hexo.extend.tag.register('button', postButton, {ends: false});
35 | hexo.extend.tag.register('btn', postButton, {ends: false});
36 |
--------------------------------------------------------------------------------
/themes/next/scripts/tags/center-quote.js:
--------------------------------------------------------------------------------
1 | /**
2 | * center-quote.js | https://theme-next.org/docs/tag-plugins/
3 | */
4 |
5 | /* global hexo */
6 |
7 | 'use strict';
8 |
9 | function centerQuote(args, content) {
10 | return ''
11 | + hexo.render.renderSync({text: content, engine: 'markdown'})
12 | + '
';
13 | }
14 |
15 | hexo.extend.tag.register('centerquote', centerQuote, {ends: true});
16 | hexo.extend.tag.register('cq', centerQuote, {ends: true});
17 |
--------------------------------------------------------------------------------
/themes/next/scripts/tags/full-image.js:
--------------------------------------------------------------------------------
1 | /**
2 | * full-image.js | https://theme-next.org/docs/tag-plugins/full-image
3 | */
4 |
5 | /* global hexo */
6 |
7 | 'use strict';
8 |
9 | function fullImage(args) {
10 | args = args.join(' ').split(',');
11 | var mixed = args[0].split('@');
12 | var img = mixed[0];
13 | var src = mixed[1] === 'lazy' ? '/images/loading.gif" data-original="' + img : img;
14 | var alt = args[1] || '';
15 | var title = args[2] || '';
16 | var width = args[3] || '';
17 |
18 | if (!img) {
19 | hexo.log.warn('Image src can NOT be empty');
20 | }
21 |
22 | var image = [`
0 && image.push(`alt="${alt.trim()}"`);
24 | title.length > 0 && image.push(`title="${title.trim()}"`);
25 | width.length > 0 && image.push(`style="max-width: none; width:${width};"`);
26 | image.push('/>');
27 |
28 | return image.join(' ');
29 | }
30 |
31 | hexo.extend.tag.register('fullimage', fullImage, {ends: false});
32 | hexo.extend.tag.register('fi', fullImage, {ends: false});
33 |
--------------------------------------------------------------------------------
/themes/next/scripts/tags/include-raw.js:
--------------------------------------------------------------------------------
1 | /**
2 | * include-raw.js | https://theme-next.org/docs/tag-plugins/
3 | */
4 |
5 | /* global hexo */
6 |
7 | 'use strict';
8 |
9 | var pathFn = require('path');
10 | var fs = require('hexo-fs');
11 |
12 | function includeRaw(args) {
13 | var path = pathFn.join(hexo.source_dir, args[0]);
14 |
15 | return fs.exists(path).then(function(exist) {
16 | if (!exist) {
17 | hexo.log.error('Include file not found!');
18 | return;
19 | }
20 | return fs.readFile(path).then(function(contents) {
21 | if (!contents) {
22 | hexo.log.warn('Include file empty.');
23 | return;
24 | }
25 | return contents;
26 | });
27 | });
28 | }
29 |
30 | hexo.extend.tag.register('include_raw', includeRaw, {ends: false, async: true});
31 |
--------------------------------------------------------------------------------
/themes/next/scripts/tags/label.js:
--------------------------------------------------------------------------------
1 | /**
2 | * label.js | https://theme-next.org/docs/tag-plugins/label
3 | */
4 |
5 | /* global hexo */
6 |
7 | 'use strict';
8 |
9 | function postLabel(args) {
10 | args = args.join(' ').split('@');
11 | var classes = args[0] || 'default';
12 | var text = args[1] || '';
13 |
14 | !text && hexo.log.warn('Label text must be defined!');
15 |
16 | return `${text}`;
17 | }
18 |
19 | hexo.extend.tag.register('label', postLabel, {ends: false});
20 |
--------------------------------------------------------------------------------
/themes/next/scripts/tags/mermaid.js:
--------------------------------------------------------------------------------
1 | /**
2 | * mermaid.js | https://theme-next.org/docs/tag-plugins/mermaid
3 | */
4 |
5 | /* global hexo */
6 |
7 | 'use strict';
8 |
9 | function mermaid(args, content) {
10 | return `
11 | ${args.join(' ')}
12 | ${content}
13 |
`;
14 | }
15 |
16 | hexo.extend.tag.register('mermaid', mermaid, {ends: true});
17 |
--------------------------------------------------------------------------------
/themes/next/scripts/tags/note.js:
--------------------------------------------------------------------------------
1 | /**
2 | * note.js | https://theme-next.org/docs/tag-plugins/note
3 | */
4 |
5 | /* global hexo */
6 |
7 | 'use strict';
8 |
9 | function postNote(args, content) {
10 | return `
11 | ${hexo.render.renderSync({text: content, engine: 'markdown'}).split('\n').join('')}
12 |
`;
13 | }
14 |
15 | hexo.extend.tag.register('note', postNote, {ends: true});
16 | hexo.extend.tag.register('subnote', postNote, {ends: true});
17 |
--------------------------------------------------------------------------------
/themes/next/scripts/tags/pdf.js:
--------------------------------------------------------------------------------
1 | /**
2 | * pdf.js | https://theme-next.org/docs/tag-plugins/pdf
3 | */
4 |
5 | /* global hexo */
6 |
7 | 'use strict';
8 |
9 | function pdf(args) {
10 | return ``;
11 | }
12 |
13 | hexo.extend.tag.register('pdf', pdf, {ends: false});
14 |
--------------------------------------------------------------------------------
/themes/next/scripts/tags/video.js:
--------------------------------------------------------------------------------
1 | /**
2 | * video.js | https://theme-next.org/docs/tag-plugins/video
3 | */
4 |
5 | /* global hexo */
6 |
7 | 'use strict';
8 |
9 | function postVideo(args) {
10 | return ``;
11 | }
12 |
13 | hexo.extend.tag.register('video', postVideo, {ends: false});
14 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/back-to-top-sidebar.styl:
--------------------------------------------------------------------------------
1 | .back-to-top {
2 | visibility: hidden;
3 | margin: (20px - $sidebar-offset) -10px -20px;
4 | background: $b2t-sidebar-bg-color;
5 | font-size: $b2t-font-size;
6 | opacity: $b2t-opacity;
7 | cursor: pointer;
8 | text-align: center;
9 | &:hover { opacity: $b2t-opacity-hover; }
10 |
11 | +tablet-mobile() {
12 | hide() if not hexo-config('sidebar.onmobile');
13 | }
14 |
15 | &.back-to-top-on {
16 | visibility: visible;
17 | the-transition();
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/themes/next/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 | padding: 0 6px;
8 | width: hexo-config('back2top.scrollpercent') ? initial : 24px;
9 | background: $b2t-bg-color;
10 | font-size: $b2t-font-size;
11 | opacity: $b2t-opacity;
12 | color: $b2t-color;
13 | cursor: pointer;
14 | text-align: center;
15 | transition-property: bottom;
16 | the-transition();
17 |
18 | &.back-to-top-on {
19 | bottom: $b2t-position-bottom-on;
20 | }
21 | +tablet-mobile() {
22 | opacity: $b2t-opacity-hover;
23 | right: $b2t-position-right-mobile;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/themes/next/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 | show();
32 | width: 22px;
33 | height: 2px;
34 | background: $text-color;
35 | border-radius: 1px;
36 |
37 | &+.btn-bar { margin-top: 4px; }
38 | }
39 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/comments.styl:
--------------------------------------------------------------------------------
1 | .comments { margin: 60px 20px 0; }
2 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/components.styl:
--------------------------------------------------------------------------------
1 | @import "highlight";
2 | @import "tags";
3 |
4 | @import "buttons";
5 | @import "pagination";
6 | @import "comments";
7 | @import (hexo-config('back2top.sidebar') ? "back-to-top-sidebar" : "back-to-top") if (hexo-config('back2top.enable'));
8 |
9 | @import "header";
10 | @import "post";
11 | @import "sidebar";
12 | @import "footer";
13 | @import "third-party";
14 |
15 | @import "pages";
16 |
17 | @import "rainbow" if hexo-config('safari_rainbow');
18 | @import "scrollbar" if hexo-config('custom_scrollbar');
19 |
--------------------------------------------------------------------------------
/themes/next/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 | @keyframes iconAnimate {
11 | 0%, 100% { transform: scale(1); }
12 | 10%, 30% { transform: scale(0.9); }
13 | 20%, 40%, 60%, 80% { transform: scale(1.1); }
14 | 50%, 70% { transform: scale(1.1); }
15 | }
16 |
17 | if hexo-config('footer.icon.animated') {
18 | #animate {
19 | animation: iconAnimate 1.33s ease-in-out infinite;
20 | }
21 | }
22 |
23 | .with-love {
24 | display: inline-block;
25 | margin: 0 5px;
26 | color: unquote(hexo-config('footer.icon.color'));
27 | }
28 |
29 | .powered-by,
30 | .theme-info { display: inline-block; }
31 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/header/github-banner.styl:
--------------------------------------------------------------------------------
1 | @keyframes octocat-wave {
2 | 0%, 100% {
3 | transform: rotate(0);
4 | }
5 | 20%, 60% {
6 | transform: rotate(-25deg);
7 | }
8 | 40%, 80% {
9 | transform: rotate(10deg);
10 | }
11 | }
12 |
13 | .github-corner {
14 | scheme = hexo-config('scheme');
15 | bg_color = unquote(hexo-config('android_chrome_color'));
16 | mobile_layout_economy = hexo-config('mobile_layout_economy');
17 |
18 | :hover .octo-arm {
19 | animation: octocat-wave 560ms ease-in-out;
20 | }
21 | > svg {
22 | fill: bg_color;
23 | color: #fff;
24 | position: absolute;
25 | top: 0;
26 | border: 0;
27 | right: 0;
28 | }
29 | +tablet-mobile() {
30 | > svg {
31 | if (scheme == 'Pisces') || (scheme == 'Gemini') {
32 | fill: #fff;
33 | color: bg_color;
34 | }
35 | }
36 | .github-corner:hover .octo-arm {
37 | animation: none;
38 | }
39 | .github-corner .octo-arm {
40 | animation: octocat-wave 560ms ease-in-out;
41 | }
42 | }
43 | +mobile() {
44 | > svg {
45 | if (scheme == 'Mist') {
46 | top: inherit;
47 | if mobile_layout_economy {
48 | +mobile-small() {
49 | margin-top: initial;
50 | }
51 | }
52 | }
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/header/header.styl:
--------------------------------------------------------------------------------
1 | .header { background: $head-bg; }
2 |
3 | .header-inner { position: relative; }
4 |
5 | @import "headerband";
6 | @import "site-meta";
7 | @import "site-nav";
8 | @import "menu";
9 | @import "github-banner" if hexo-config('github_banner.enable');
10 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/header/headerband.styl:
--------------------------------------------------------------------------------
1 | .headband {
2 | height: $headband-height;
3 | background: $headband-bg;
4 | }
5 |
--------------------------------------------------------------------------------
/themes/next/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 | +mobile() {
15 | margin-top: 10px;
16 | }
17 |
18 | a, span.exturl {
19 | show();
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 | .fa { margin-right: 5px; }
30 | }
31 |
32 | .use-motion .menu-item { opacity: 0; }
33 |
--------------------------------------------------------------------------------
/themes/next/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-title {
26 | display: inline-block;
27 | vertical-align: top;
28 | line-height: 36px;
29 | font-size: $logo-font-size;
30 | font-weight: normal;
31 | font-family: $font-family-logo;
32 | }
33 |
34 | .site-subtitle {
35 | margin-top: 10px;
36 | font-size: $subtitle-font-size;
37 | color: $subtitle-color;
38 | }
39 |
40 | .use-motion {
41 | .brand { opacity: 0; }
42 |
43 | .logo, .site-title, .site-subtitle, .custom-logo-image {
44 | opacity: 0;
45 | position: relative;
46 | top: -10px;
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/header/site-nav.styl:
--------------------------------------------------------------------------------
1 | .site-nav-toggle {
2 | hide();
3 | position: absolute;
4 | top: 10px;
5 | left: 10px;
6 | +mobile() {
7 | show();
8 | }
9 |
10 | button {
11 | margin-top: 2px;
12 | padding: 9px 10px;
13 | background: transparent;
14 | border: none;
15 | }
16 | }
17 |
18 | .site-nav {
19 | +mobile() {
20 | hide();
21 | margin: 0 -10px;
22 | padding: 0 10px;
23 | clear: both;
24 | border-top: 1px solid $gray-lighter;
25 | }
26 | +tablet() { display: block !important; }
27 | +desktop() { display: block !important; }
28 | }
29 |
--------------------------------------------------------------------------------
/themes/next/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 = #800000
8 | $highlight-addition = #008000
9 |
--------------------------------------------------------------------------------
/themes/next/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 | .fa-external-link {
31 | font-size: 15px;
32 | margin-left: 5px;
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/pages/breadcrumb.styl:
--------------------------------------------------------------------------------
1 | ul.breadcrumb {
2 | list-style: none;
3 | margin: 1em 0;
4 | padding: 0 2em;
5 | text-align: center;
6 | font-size: $font-size-small
7 |
8 | & li {
9 | display: inline;
10 | }
11 |
12 | & li+li:before {
13 | padding: 0.5em;
14 | font-weight: normal;
15 | content: "/\00a0";
16 | }
17 |
18 | & li+li:last-child {
19 | font-weight: bold;
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/themes/next/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 |
--------------------------------------------------------------------------------
/themes/next/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 | @import "breadcrumb";
8 | @import "tag-cloud";
9 |
--------------------------------------------------------------------------------
/themes/next/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 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/pages/tag-cloud.styl:
--------------------------------------------------------------------------------
1 | .tag-cloud {
2 | text-align: center;
3 |
4 | a {
5 | display: inline-block;
6 | margin: 10px;
7 | }
8 |
9 | a:hover {
10 | color: $link-hover-color !important;
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/themes/next/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 | +mobile() {
45 | .pagination { border-top: none; }
46 |
47 | .pagination {
48 | .prev, .next, .page-number {
49 | margin-bottom: 10px;
50 | border-top: 0;
51 | border-bottom: 1px solid $pagination-link-border;
52 | padding: 0 10px;
53 |
54 | &:hover { border-bottom-color: $pagination-link-hover-border; }
55 | }
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/post/post-button.styl:
--------------------------------------------------------------------------------
1 | .post-button {
2 | margin-top: 40px;
3 | }
4 |
--------------------------------------------------------------------------------
/themes/next/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 | i.fa {
9 | font-size: 15px;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/post/post-eof.styl:
--------------------------------------------------------------------------------
1 | .posts-expand {
2 | .post-eof {
3 | margin: $post-eof-margin-top auto $post-eof-margin-bottom;
4 | width: 8%;
5 | height: 1px;
6 | background: $grey-light;
7 | text-align: center;
8 | }
9 | }
10 |
11 | .post:last-child {
12 | .post-eof {
13 | hide();
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/post/post-expand.styl:
--------------------------------------------------------------------------------
1 | // TODO: Refactor.
2 |
3 | .posts-expand {
4 | padding-top: 40px;
5 | }
6 |
7 | +mobile() {
8 | .posts-expand {
9 | margin: 0 20px;
10 | }
11 |
12 | .post-body {
13 | pre {
14 | .gutter pre {
15 | padding-right: 10px;
16 | }
17 | }
18 |
19 | .highlight {
20 | margin-left: 0px;
21 | margin-right: 0px;
22 | padding: 0;
23 | .gutter pre {
24 | padding-right: 10px;
25 | }
26 | }
27 | }
28 | }
29 |
30 | .posts-expand .post-body {
31 | +desktop() {
32 | text-align: unquote(hexo-config('text_align.desktop'));
33 | }
34 | +tablet-mobile() {
35 | text-align: unquote(hexo-config('text_align.mobile'));
36 | }
37 |
38 | h2, h3, h4, h5, h6 {
39 | padding-top: 10px;
40 |
41 | .header-anchor {
42 | float: right;
43 | margin-left: 10px;
44 | color: $grey-light;
45 | border-bottom-style: none;
46 | visibility: hidden;
47 |
48 | &:hover {
49 | color: inherit;
50 | }
51 | }
52 |
53 | &:hover .header-anchor {
54 | visibility: visible;
55 | }
56 | }
57 |
58 | img {
59 | box-sizing: border-box;
60 | margin: 0 auto 25px;
61 | padding: 3px;
62 | border: 1px solid $gray-lighter;
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/themes/next/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 {
9 | display: table-row;
10 | }
11 |
12 | .post-gallery .post-gallery-img {
13 | display: table-cell;
14 | text-align: center;
15 | vertical-align: middle;
16 | border: none;
17 |
18 | img {
19 | max-width: 100%;
20 | max-height: 100%;
21 | border: none;
22 | }
23 | }
24 |
25 | .fancybox-close, .fancybox-close:hover {
26 | border: none;
27 | }
28 |
--------------------------------------------------------------------------------
/themes/next/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 | time {
21 | border-bottom: 1px dashed $grey-dark;
22 | cursor: help;
23 | }
24 | }
25 |
26 | .post-symbolscount {
27 | if !hexo-config('symbols_count_time.separated_meta') { display: inline-block; }
28 | }
29 |
30 | .post-meta-divider {
31 | margin: 0 .5em;
32 | }
33 |
34 | .post-meta-item-icon {
35 | margin-right: 3px;
36 | +tablet() {
37 | display: inline-block;
38 | }
39 | +mobile() {
40 | display: inline-block;
41 | }
42 | }
43 |
44 | .post-meta-item-text {
45 | +tablet() {
46 | hide();
47 | }
48 | +mobile() {
49 | hide();
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/themes/next/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: 10px 0 0 0;
16 | width: 45%;
17 | vertical-align: top;
18 |
19 | a {
20 | position: relative;
21 | show();
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 | font-size: 12px;
37 | margin-right: 5px;
38 | }
39 | }
40 |
41 | .post-nav-next {
42 | a { padding-left: 5px; }
43 | }
44 |
45 | .post-nav-prev {
46 | text-align: right;
47 |
48 | a { padding-right: 5px; }
49 |
50 | .fa { margin-left: 5px; }
51 | }
52 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/post/post-reading_progress.styl:
--------------------------------------------------------------------------------
1 | .reading-progress-bar {
2 | position: fixed;
3 | top: 0;
4 | left: 0;
5 | z-index: 9999;
6 | show();
7 | width: 0;
8 | height: unquote(hexo-config('reading_progress.height'));
9 | background: unquote(hexo-config('reading_progress.color'));
10 | }
11 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/post/post-reward.styl:
--------------------------------------------------------------------------------
1 | #reward-container {
2 | padding: 10px 0;
3 | margin: 20px auto;
4 | width: 90%;
5 | text-align: center;
6 | }
7 |
8 | #reward-button {
9 | cursor: pointer;
10 | border: 0;
11 | outline: 0;
12 | display: inline-block;
13 | vertical-align: text-top;
14 | margin: 0;
15 | padding: 0 15px;
16 | border-radius: 5px;
17 | height: $font-size-large * 2;
18 | line-height: $font-size-large * 2;
19 | font-size: $font-size-large;
20 | color: #fff;
21 | background: #F44336;
22 | letter-spacing: normal;
23 | text-transform: none;
24 | text-indent: 0px;
25 | text-shadow: none;
26 | }
27 |
28 | #reward-button span:hover {
29 | background: #F7877F;
30 | }
31 |
32 | #qr {
33 | padding-top: 20px;
34 |
35 | a {
36 | border: 0;
37 | }
38 |
39 | img {
40 | width: 180px;
41 | max-width: 100%;
42 | display: inline-block;
43 | margin: 0.8em 2em 0 2em;
44 | }
45 |
46 | p {
47 | text-align: center;
48 | }
49 |
50 | if hexo-config('reward_settings.animation') {
51 | & > div:hover p {
52 | animation: roll 0.1s infinite linear;
53 | }
54 |
55 | @keyframes roll {
56 | from {
57 | transform: rotateZ(30deg);
58 | }
59 | to {
60 | transform: rotateZ(-30deg);
61 | }
62 | }
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/themes/next/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 |
--------------------------------------------------------------------------------
/themes/next/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 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/post/post-title.styl:
--------------------------------------------------------------------------------
1 | .posts-expand .post-title {
2 | word-wrap();
3 | text-align: center;
4 | font-weight: $posts-expand-title-font-weight;
5 |
6 | if hexo-config('post_edit.enable') {
7 | .post-edit-link {
8 | color: #bbb;
9 | display: inline-block;
10 | float: right;
11 | border-bottom: none;
12 | the-transition-ease-in();
13 | margin-left: -1.2em;
14 | +mobile-small() {
15 | margin-left: initial;
16 | }
17 | &:hover {
18 | color: black;
19 | }
20 | }
21 | }
22 | }
23 |
24 | .posts-expand .post-title-link {
25 | display: inline-block;
26 | position: relative;
27 | color: $black-light;
28 | border-bottom: none;
29 | line-height: 1.2;
30 | vertical-align: top;
31 |
32 | &::before {
33 | content: "";
34 | position: absolute;
35 | width: 100%;
36 | height: 2px;
37 | bottom: 0;
38 | left: 0;
39 | background-color: #000;
40 | visibility: hidden;
41 | transform: scaleX(0);
42 | the-transition();
43 | }
44 |
45 | &:hover::before {
46 | visibility: visible;
47 | transform: scaleX(1);
48 | }
49 |
50 | .fa {
51 | font-size: 20px;
52 | margin-left: 5px;
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/themes/next/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 | hide();
8 | }
9 |
10 | blockquote {
11 | @extend .blockquote-center
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/themes/next/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: 25px;
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 |
43 | .bdsharebuttonbox {
44 | margin-top: 10px;
45 | display: flex;
46 | justify-content: center;
47 | a { border: none; }
48 | }
49 |
50 | .bdshare-slide-button-box a { border: none; }
51 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/rainbow.styl:
--------------------------------------------------------------------------------
1 | body {
2 | overscroll-behavior: none;
3 | }
4 | @media screen and (-webkit-min-device-pixel-ratio: 0) {
5 | body:before {
6 | right: 0;
7 | top: 0;
8 | left: 0;
9 | height: 100px;
10 | z-index: 2147483647;
11 | position: fixed;
12 | content: "";
13 | show();
14 | transform: translateY(-99.99px);
15 | background: linear-gradient(124deg,
16 | #FF0000,
17 | #FF7F00,
18 | #FFFF00,
19 | #7FFF00,
20 | #00FF00,
21 | #00FF7F,
22 | #00FFFF,
23 | #007FFF,
24 | #0000FF,
25 | #7F00FF,
26 | #FF00FF,
27 | #FF007F,
28 | #FF0000);
29 | animation: rainbow 15s ease infinite;
30 | background-size: 1000% 1000%;
31 | }
32 | }
33 | @keyframes rainbow {
34 | 0% {
35 | background-position: 0% 80%;
36 | }
37 | 50% {
38 | background-position: 100% 20%;
39 | }
40 | 100% {
41 | background-position: 0% 80%;
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/scrollbar.styl:
--------------------------------------------------------------------------------
1 | // scrollbar
2 | ::-webkit-scrollbar {
3 | width: 8px;
4 | height: 8px;
5 | }
6 |
7 | // track
8 | ::-webkit-scrollbar-track {
9 |
10 | }
11 |
12 | // Handle style
13 | ::-webkit-scrollbar-thumb {
14 | border-radius: 10px;
15 | background: rgba(0, 0, 0, 0.2);
16 | }
17 |
18 | // inactive style
19 | ::-webkit-scrollbar-thumb:window-inactive {
20 | background: rgba(0, 0, 0, 0.1);
21 | }
22 |
23 | // hover style
24 | ::-webkit-scrollbar-thumb:hover{
25 | background-color: rgba(0, 0, 0, 0.3);
26 | }
27 |
28 | // active style
29 | ::-webkit-scrollbar-thumb:active{
30 | background-color: rgba(0, 0, 0, 0.4);
31 | }
32 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/sidebar/sidebar-author-links.styl:
--------------------------------------------------------------------------------
1 | .links-of-author {
2 | margin-top: 20px;
3 |
4 | a, span.exturl {
5 | display: inline-block;
6 | vertical-align: middle;
7 | margin-right: 10px;
8 | margin-bottom: 10px;
9 | border-bottom-color: $black-light;
10 | font-size: 13px;
11 | if hexo-config('social_icons.transition') { the-transition(); }
12 |
13 | &:before {
14 | display: inline-block;
15 | vertical-align: middle;
16 | margin-right: 3px;
17 | content: " ";
18 | width: 4px;
19 | height: 4px;
20 | circle();
21 | background: rgb(random-color(0, 255) - 50%, random-color(0, 255) - 50%, random-color(0, 255) - 50%);
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/sidebar/sidebar-author.styl:
--------------------------------------------------------------------------------
1 | .site-author-image {
2 | show();
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 | opacity: hexo-config('avatar.opacity') is a 'unit' ? hexo-config('avatar.opacity') : 1;
9 | }
10 |
11 | if hexo-config('avatar.rounded') {
12 | .site-author-image {
13 | border-radius: 100%;
14 | }
15 | }
16 |
17 | if hexo-config('avatar.rotated') {
18 | .site-author-image {
19 | transition: transform 1.0s ease-out;
20 | }
21 |
22 | .site-author-image:hover {
23 | transform: rotateZ(360deg);
24 | }
25 | }
26 |
27 | .site-author-name {
28 | margin: $site-author-name-margin;
29 | text-align: $site-author-name-align;
30 | color: $site-author-name-color;
31 | font-weight: $site-author-name-weight;
32 | }
33 |
34 | .site-description {
35 | margin-top: $site-description-margin-top;
36 | text-align: $site-description-align;
37 | font-size: $site-description-font-size;
38 | color: $site-description-color;
39 | }
40 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/sidebar/sidebar-blogroll.styl:
--------------------------------------------------------------------------------
1 | .links-of-blogroll {
2 | margin-top: 10px;
3 | font-size: 13px;
4 | }
5 |
6 | .links-of-blogroll-title {
7 | margin-top: 0;
8 | font-size: 14px;
9 | font-weight: $font-weight-bold;
10 | }
11 | .links-of-blogroll-list {
12 | margin: 0;
13 | padding: 0;
14 | list-style: none;
15 | }
16 |
17 | .links-of-blogroll-item {
18 | padding: 2px 10px;
19 |
20 | a, span.exturl {
21 | max-width: 280px;
22 | box-sizing: border-box;
23 | display: inline-block;
24 | overflow: hidden;
25 | white-space: nowrap;
26 | text-overflow: ellipsis;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/sidebar/sidebar-button.styl:
--------------------------------------------------------------------------------
1 | .feed-link, .chat {
2 | margin-top: 10px;
3 |
4 | a {
5 | display: inline-block;
6 | padding: 0 15px;
7 | color: rgb(252, 100, 35);
8 | border: 1px solid rgb(252, 100, 35) !important;
9 | border-radius: 4px;
10 |
11 | i {
12 | color: rgb(252, 100, 35);
13 | font-size: 14px;
14 | }
15 |
16 | &:hover {
17 | color: white;
18 | background: rgb(252, 100, 35);
19 |
20 | i { color: white; }
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/sidebar/sidebar-dimmer.styl:
--------------------------------------------------------------------------------
1 | .sidebar-active + #sidebar-dimmer {
2 | +mobile() {
3 | opacity: .7;
4 | transition: opacity .5s;
5 | }
6 | transform: translateX(-100%);
7 | }
8 |
9 | #sidebar-dimmer {
10 | show();
11 | position: fixed;
12 | top: 0;
13 | left: 100%;
14 | width: 100%;
15 | height: 100%;
16 | background: #000;
17 | opacity: 0;
18 | }
19 |
--------------------------------------------------------------------------------
/themes/next/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 |
8 | .sidebar-nav li {
9 | display: inline-block;
10 | cursor: pointer;
11 | border-bottom: 1px solid transparent;
12 | font-size: 14px;
13 | color: $sidebar-nav-color;
14 |
15 | &:hover { color: $sidebar-nav-hover-color; }
16 | }
17 |
18 | .page-post-detail .sidebar-nav-toc { padding: 0 5px; }
19 |
20 | .page-post-detail .sidebar-nav-overview { margin-left: 10px; }
21 |
22 | .sidebar-nav .sidebar-nav-active {
23 | color: $sidebar-highlight;
24 | border-bottom-color: $sidebar-highlight;
25 |
26 | &:hover { color: $sidebar-highlight; }
27 | }
28 |
29 | .sidebar-panel { display: none; }
30 | .sidebar-panel-active { display: block; }
31 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/sidebar/sidebar-toc.styl:
--------------------------------------------------------------------------------
1 | .post-toc-empty {
2 | font-size: 14px;
3 | color: $grey-dim;
4 | }
5 |
6 | .post-toc-wrap { overflow: hidden; }
7 |
8 | .post-toc { overflow: auto; }
9 |
10 | .post-toc ol {
11 | margin: 0;
12 | padding: 0 2px 5px 10px;
13 | text-align: left;
14 | list-style: none;
15 | font-size: 14px;
16 |
17 | & > ol { padding-left: 0; }
18 |
19 | a {
20 | the-transition();
21 | transition-property: all;
22 | color: $toc-link-color;
23 | border-bottom-color: $toc-link-border-color;
24 |
25 | &:hover {
26 | color: $toc-link-hover-color;
27 | border-bottom-color: $toc-link-hover-border-color;
28 | }
29 | }
30 | }
31 |
32 | .post-toc .nav-item {
33 | overflow: hidden;
34 | text-overflow: ellipsis;
35 | //text-align: justify;
36 | white-space: nowrap if !hexo-config('toc.wrap');
37 | line-height: 1.8;
38 | }
39 |
40 | .post-toc .nav .nav-child {
41 | display: hexo-config('toc.expand_all') ? block : none;
42 | }
43 |
44 | .post-toc .nav .active > .nav-child { display: block; }
45 |
46 | .post-toc .nav .active-current > .nav-child {
47 | show();
48 | & > .nav-item { display: block; }
49 | }
50 |
51 | .post-toc .nav .active > a {
52 | color: $toc-link-active-color;
53 | border-bottom-color: $toc-link-active-border-color;
54 | }
55 |
56 | .post-toc .nav .active-current > a {
57 | color: $toc-link-active-current-color;
58 | &:hover {
59 | color: $toc-link-active-current-border-color;
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/themes/next/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 |
13 | +tablet-mobile() {
14 | opacity: $b2t-opacity-hover;
15 | right: $b2t-position-right-mobile;
16 | hide() if not hexo-config('sidebar.onmobile');
17 | }
18 | }
19 |
20 | .sidebar-toggle-line {
21 | position: relative;
22 | display: inline-block;
23 | vertical-align: top;
24 | height: 2px;
25 | width: 100%;
26 | background: white;
27 | margin-top: 3px;
28 |
29 | &:first-child { margin-top: 0; }
30 | }
31 |
--------------------------------------------------------------------------------
/themes/next/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 |
12 | a, span.exturl {
13 | color: $grey-dark;
14 | border-bottom-color: $black-light;
15 | &:hover {
16 | color: $gainsboro;
17 | border-bottom-color: $gainsboro;
18 | }
19 | }
20 |
21 | +tablet-mobile() {
22 | hide() if not hexo-config('sidebar.onmobile');
23 | }
24 | }
25 |
26 | .sidebar-inner {
27 | position: relative;
28 | padding: 20px 10px;
29 | color: $grey-dark;
30 | text-align: center;
31 | }
32 |
33 | .site-overview-wrap {
34 | overflow: hidden;
35 | }
36 |
37 | .site-overview {
38 | overflow-y: auto;
39 | overflow-x: hidden;
40 | }
41 |
42 | .cc-license {
43 | margin-top: 10px;
44 | text-align: center;
45 |
46 | .cc-opacity {
47 | opacity: 0.7;
48 | border-bottom: none;
49 |
50 | &:hover { opacity: 0.9; }
51 | }
52 |
53 | img { display: inline-block; }
54 | }
55 |
56 | @import "sidebar-toggle";
57 | @import "sidebar-author";
58 | @import "sidebar-author-links";
59 | @import "sidebar-button";
60 | @import "sidebar-blogroll";
61 | @import "sidebar-nav";
62 | @import "site-state" if hexo-config('site_state');
63 | @import "sidebar-toc" if hexo-config('toc.enable');
64 | @import "sidebar-dimmer" if hexo-config('sidebar.dimmer');
65 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/sidebar/site-state.styl:
--------------------------------------------------------------------------------
1 | .site-state {
2 | display: flex;
3 | justify-content: center;
4 | overflow: hidden;
5 | line-height: 1.4;
6 | white-space: nowrap;
7 | text-align: $site-state-align;
8 | margin-top: 10px;
9 | }
10 |
11 | .site-state-item {
12 | padding: 0 15px;
13 | border-left: 1px solid $site-state-item-border-color;
14 |
15 | &:first-child { border-left: none; }
16 |
17 | a { border-bottom: none; }
18 | }
19 |
20 | .site-state-item-count {
21 | show();
22 | text-align: center;
23 | color: $site-state-item-count-color;
24 | font-weight: $font-weight-bold;
25 | font-size: $site-state-item-count-font-size;
26 | }
27 |
28 | .site-state-item-name {
29 | font-size: $site-state-item-name-font-size;
30 | color: $site-state-item-name-color;
31 | }
32 |
--------------------------------------------------------------------------------
/themes/next/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 | show();
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 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/tags/full-image.styl:
--------------------------------------------------------------------------------
1 | .posts-expand .post-body img.full-image {
2 | border: none;
3 | //max-width: 100%;
4 | //width: auto;
5 | //margin: 20px auto 25px;
6 | }
7 |
--------------------------------------------------------------------------------
/themes/next/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 | .page-post-detail .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 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/tags/label.styl:
--------------------------------------------------------------------------------
1 | .post-body .label {
2 | display: inline;
3 | padding: 0 2px;
4 |
5 | &.default { background-color: $label-default; }
6 | &.primary { background-color: $label-primary; }
7 | &.info { background-color: $label-info; }
8 | &.success { background-color: $label-success; }
9 | &.warning { background-color: $label-warning; }
10 | &.danger { background-color: $label-danger; }
11 | }
12 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/tags/pdf.styl:
--------------------------------------------------------------------------------
1 | .pdfobject-container {
2 | position: relative;
3 | overflow: auto;
4 | width: 100%;
5 | height: unquote(hexo-config('pdf.height'));
6 | }
7 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/tags/tags.styl:
--------------------------------------------------------------------------------
1 | @import "full-image";
2 | @import "blockquote-center";
3 | @import "group-pictures";
4 | @import "label";
5 | @import "note" if not hexo-config('note.style') == 'disabled';
6 | @import "tabs" if hexo-config('tabs.enable');
7 | @import "pdf" if hexo-config('pdf.enable');
8 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/third-party/copy-code.styl:
--------------------------------------------------------------------------------
1 | .copy-btn {
2 | display: inline-block;
3 | padding: 6px 12px;
4 | font-size: 13px;
5 | font-weight: 700;
6 | line-height: 20px;
7 | color: #333;
8 | white-space: nowrap;
9 | vertical-align: middle;
10 | cursor: pointer;
11 | if hexo-config('codeblock.copy_button.style') == 'flat' {
12 | background-color: #fff;
13 | border: none;
14 | }
15 | else {
16 | background-color: #eee;
17 | background-image: linear-gradient(#fcfcfc, #eee);
18 | border: 1px solid #d5d5d5;
19 | border-radius: 3px;
20 | }
21 | user-select: none;
22 | outline: 0;
23 | }
24 |
25 | .highlight-wrap .copy-btn {
26 | transition: opacity .3s ease-in-out;
27 | opacity: 0;
28 | padding: 2px 6px;
29 | position: absolute;
30 | if hexo-config('codeblock.copy_button.style') == 'flat' {
31 | right: 0px;
32 | height: 42px;
33 | }
34 | else {
35 | right: 4px;
36 | top: 8px;
37 | }
38 | }
39 |
40 | .highlight-wrap:hover .copy-btn,
41 | .highlight-wrap .copy-btn:focus {
42 | opacity: 1;
43 | }
44 |
45 | .highlight-wrap {
46 | position: relative;
47 | }
48 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/third-party/gitalk.styl:
--------------------------------------------------------------------------------
1 | .gt-header a, .gt-comments a, .gt-popup a
2 | border-bottom: none;
3 | .gt-container .gt-popup .gt-action.is--active:before
4 | top: 0.7em;
--------------------------------------------------------------------------------
/themes/next/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 |
11 | #gitment-display-button:hover {
12 | color: #fff;
13 | background: #0a9caf;
14 | }
15 |
16 | #gitment-container a {
17 | border-bottom: none;
18 | }
19 |
20 | if hexo-config('gitment.cleanly') {
21 | a.gitment-editor-footer-tip, .gitment-container.gitment-footer-container {
22 | hide();
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/third-party/han.styl:
--------------------------------------------------------------------------------
1 | i.fa {
2 | font-family: FontAwesome !important;
3 | }
4 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/third-party/math.styl:
--------------------------------------------------------------------------------
1 | .has-jax {
2 | overflow-x: auto;
3 | overflow-y: hidden;
4 | }
5 |
--------------------------------------------------------------------------------
/themes/next/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 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/third-party/related-posts.styl:
--------------------------------------------------------------------------------
1 | .popular-posts-header {
2 | margin-top: $post-eof-margin-bottom;
3 | margin-bottom: 10px;
4 | font-size: $font-size-headings-base;
5 | border-bottom: 1px solid $gainsboro;
6 | show();
7 | }
8 |
9 | ul.popular-posts {
10 | padding: 0;
11 |
12 | .popular-posts-item {
13 | // list-style: none;
14 | margin-left: 2em;
15 | .popular-posts-title {
16 | font-weight: normal;
17 | font-size: $font-size-base;
18 | margin: 0;
19 | line-height: $line-height-base * 1.2;
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/components/third-party/third-party.styl:
--------------------------------------------------------------------------------
1 | @import "gitment" if hexo-config('gitment.enable');
2 | @import "gitalk" if hexo-config('gitalk.enable');
3 | @import "han" if hexo-config('han');
4 | @import "localsearch";
5 | @import "algolia-search" if hexo-config('algolia_search.enable');
6 | @import "needsharebutton" if hexo-config('needmoreshare2.enable');
7 | @import "related-posts" if hexo-config('related_posts.enable');
8 | @import "copy-code" if hexo-config('codeblock.copy_button.enable');
9 | @import "math" if hexo-config('math.enable') and hexo-config('math.engine') == 'mathjax';
10 |
--------------------------------------------------------------------------------
/themes/next/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 | }
13 |
14 |
15 | // Header Section
16 | // --------------------------------------------------
17 | .header-inner {
18 | margin: 0 auto;
19 | padding: 100px 0 70px;
20 | width: $content-desktop;
21 |
22 | +desktop-large() {
23 | .container & { width: $content-desktop-large; }
24 | }
25 | +desktop-largest() {
26 | .container & { width: $content-desktop-largest; }
27 | }
28 | }
29 |
30 |
31 | // Main Section
32 | // --------------------------------------------------
33 | .main-inner {
34 | margin: 0 auto;
35 | width: $content-desktop;
36 |
37 | +desktop-large() {
38 | .container & { width: $content-desktop-large; }
39 | }
40 | +desktop-largest() {
41 | .container & { width: $content-desktop-largest; }
42 | }
43 | }
44 |
45 |
46 | // Footer Section
47 | // --------------------------------------------------
48 | .footer {
49 | padding: 20px 0;
50 | }
51 | .footer-inner {
52 | box-sizing: border-box;
53 | margin: 0px auto;
54 | width: $content-desktop;
55 |
56 | +desktop-large() {
57 | .container & { width: $content-desktop-large; }
58 | }
59 | +desktop-largest() {
60 | .container & { width: $content-desktop-largest; }
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/scaffolding/helpers.styl:
--------------------------------------------------------------------------------
1 | //
2 | // Helpers
3 | // =================================================
4 |
5 |
6 | // Alignment
7 | .text-left { text-align: left; }
8 | .text-center { text-align: center; }
9 | .text-right { text-align: right; }
10 | .text-justify { text-align: justify; }
11 | .text-nowrap { white-space: nowrap; }
12 |
13 |
14 | // Transformation
15 | .text-lowercase { text-transform: lowercase; }
16 | .text-uppercase { text-transform: uppercase; }
17 | .text-capitalize { text-transform: capitalize; }
18 |
19 |
20 | // Center-align a block level element.
21 | .center-block {
22 | show();
23 | margin-left: auto;
24 | margin-right: auto;
25 | }
26 |
27 |
28 | // Clearfix. http://nicolasgallagher.com/micro-clearfix-hack/
29 | .clearfix {
30 | clearfix();
31 | }
32 |
33 | .pullquote {
34 | width: 45%;
35 |
36 | &.left {
37 | float: left;
38 | margin-left: 5px;
39 | margin-right: 10px;
40 | }
41 |
42 | &.right {
43 | float: right;
44 | margin-left: 10px;
45 | margin-right: 5px;
46 | }
47 | }
48 |
49 | .affix {
50 | position: fixed;
51 | }
52 |
53 | .translation {
54 | margin-top: -20px;
55 | font-size: 14px;
56 | color: $grey-dark;
57 | }
58 |
59 | // https://davidwalsh.name/detect-scrollbar-width
60 | .scrollbar-measure {
61 | width: 100px;
62 | height: 100px;
63 | overflow: scroll;
64 | position: absolute;
65 | top: -9999px;
66 | }
67 |
68 | .use-motion .motion-element { opacity: 0; }
69 |
--------------------------------------------------------------------------------
/themes/next/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 |
--------------------------------------------------------------------------------
/themes/next/source/css/_common/scaffolding/tables.styl:
--------------------------------------------------------------------------------
1 | .table-container {
2 | margin: 20px 0;
3 | overflow: auto;
4 | -webkit-overflow-scrolling: touch;
5 | }
6 |
7 | .highlight .table-container {
8 | margin: 0px;
9 | }
10 |
11 | table {
12 | width: $table-width;
13 | border-collapse: collapse;
14 | border-spacing: 0;
15 | font-size: $table-font-size;
16 | }
17 |
18 | table > tbody > tr {
19 | &:nth-of-type(odd) { background-color: $table-row-odd-bg-color; }
20 | &:hover { background-color: $table-row-hover-bg-color; }
21 | }
22 |
23 | caption, th, td {
24 | padding: $table-cell-padding;
25 | text-align: $table-content-alignment;
26 | vertical-align: $table-content-vertical;
27 | font-weight: normal;
28 | }
29 |
30 | th, td {
31 | border: 1px solid $table-border-color;
32 | border-bottom: 3px solid $table-cell-border-bottom-color;
33 | }
34 |
35 | th {
36 | padding-bottom: 10px;
37 | font-weight: $table-th-font-weight;
38 | }
39 |
40 | td {
41 | border-bottom-width: 1px;
42 | }
43 |
--------------------------------------------------------------------------------
/themes/next/source/css/_custom/custom.styl:
--------------------------------------------------------------------------------
1 | // Custom styles.
2 |
3 | .post {
4 | margin-top: 0px;
5 | margin-bottom: 60px;
6 | padding: 25px;
7 | -webkit-box-shadow: 0 0 5px rgba(202, 203, 203, .8);
8 | -moz-box-shadow: 0 0 5px rgba(202, 203, 204, .8);
9 | background-color: #FBF6E7;
10 | }
11 |
12 | //* {
13 | // cursor: url("https://raw.githubusercontent.com/zhaoolee/GBlog/master/themes/next/source/images/chuyin.ico"),auto!important
14 | //}
15 | :active {
16 | cursor: url("https://raw.githubusercontent.com/zhaoolee/GBlog/master/themes/next/source/images/chuyin.ico"),auto!important
17 | }
18 |
19 |
20 | h1, h2,h3, h4, h5,h6{
21 | color: #009688 !important;
22 | }
23 |
24 | body{
25 | background-color:#FBF6E7;
26 | }
27 | //背景图片
28 |
29 |
--------------------------------------------------------------------------------
/themes/next/source/css/_mixins/Gemini.styl:
--------------------------------------------------------------------------------
1 | @import "Pisces.styl";
2 |
--------------------------------------------------------------------------------
/themes/next/source/css/_mixins/Mist.styl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/themes/next/source/css/_mixins/Mist.styl
--------------------------------------------------------------------------------
/themes/next/source/css/_mixins/Muse.styl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/themes/next/source/css/_mixins/Muse.styl
--------------------------------------------------------------------------------
/themes/next/source/css/_mixins/Pisces.styl:
--------------------------------------------------------------------------------
1 | sidebar-inline-links-item() {
2 | margin: 5px 0 0;
3 | if !hexo-config('social_icons.icons_only') { width: 50%; }
4 |
5 | & a, span.exturl {
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 | }
16 | }
17 |
--------------------------------------------------------------------------------
/themes/next/source/css/_mixins/custom.styl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/themes/next/source/css/_mixins/custom.styl
--------------------------------------------------------------------------------
/themes/next/source/css/_schemes/Mist/_base.styl:
--------------------------------------------------------------------------------
1 | // Tags
2 | // --------------------------------------------------
3 |
4 | a { border-bottom-color: $grey-light; }
5 |
6 | hr {
7 | margin: 20px 0;
8 | height: 2px;
9 | }
10 |
--------------------------------------------------------------------------------
/themes/next/source/css/_schemes/Mist/_header.styl:
--------------------------------------------------------------------------------
1 | // Header
2 | // --------------------------------------------------
3 | .header { background: $whitesmoke; }
4 | .header-inner {
5 | clearfix();
6 | padding: 20px 0;
7 | display: flex;
8 | align-items: center;
9 | justify-content: center;
10 |
11 | +mobile() {
12 | show();
13 | width: auto;
14 | padding: 10px;
15 | }
16 | }
17 |
18 | .site-meta {
19 | float: left;
20 | margin-left: -20px;
21 | line-height: normal;
22 |
23 | +mobile() {
24 | margin-left: 10px;
25 | }
26 |
27 | .brand {
28 | padding: 2px 1px;
29 | background: none;
30 |
31 | +mobile() { display: block; }
32 | }
33 |
34 | .logo { display: none; }
35 |
36 | .site-title {
37 | font-size: 22px;
38 | font-weight: bolder;
39 |
40 | +mobile() { line-height: 34px; }
41 | }
42 | }
43 |
44 | .logo-line-before,
45 | .logo-line-after {
46 | show();
47 | overflow: hidden;
48 | margin: 0 auto;
49 | width: 75%;
50 |
51 | +mobile() { display: none; }
52 |
53 | i {
54 | position: relative;
55 | show();
56 | height: 2px;
57 | background: $black-deep;
58 | +mobile() { height: 3px; }
59 | }
60 | }
61 |
62 | .use-motion {
63 | .logo-line-before i { left: -100%; }
64 | .logo-line-after i { right: -100%; }
65 | }
66 |
--------------------------------------------------------------------------------
/themes/next/source/css/_schemes/Mist/_logo.styl:
--------------------------------------------------------------------------------
1 | .site-subtitle { display: none; }
2 |
--------------------------------------------------------------------------------
/themes/next/source/css/_schemes/Mist/_menu.styl:
--------------------------------------------------------------------------------
1 | // Menu
2 | // --------------------------------------------------
3 | .site-brand-wrapper {
4 | flex-shrink: 0;
5 | }
6 |
7 | .site-nav-toggle {
8 | position: static;
9 | float: right;
10 | }
11 |
12 | .site-nav {
13 | flex-grow: 1;
14 | +mobile() {
15 | transform: translateY(10px);
16 | }
17 | }
18 |
19 | .menu-item-active a {
20 | background: #e1e1e1;
21 | }
22 |
23 | .menu {
24 | //float: right;
25 | margin: 0;
26 |
27 | +mobile() {
28 | margin: 10px 0;
29 | padding: 0;
30 | }
31 |
32 | br { display: none; }
33 |
34 | .menu-item {
35 | margin: 0;
36 | +mobile() {
37 | show();
38 | margin-top: 5px;
39 | }
40 |
41 | .badge {
42 | display: inline-block;
43 | padding: 1px 4px;
44 | margin-left: 5px;
45 | font-weight: 700;
46 | line-height: 1;
47 | color: $black-light;
48 | text-align: center;
49 | white-space: nowrap;
50 | background-color: #fff;
51 | border-radius: 10px;
52 | text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.1);
53 | +mobile() {
54 | float: right;
55 | margin: 0.35em 0 0 0;
56 | }
57 | }
58 |
59 | a, span.exturl {
60 | padding: 0 10px;
61 | border: none;
62 | border-radius: 2px;
63 | transition-property: background;
64 |
65 | +mobile() {
66 | text-align: left;
67 | }
68 |
69 | &:hover {
70 | @extend .menu-item-active a;
71 | }
72 |
73 | disable-touch-hover();
74 | }
75 | }
76 |
77 | a::before {
78 | hide();
79 | +mobile() { display: block; }
80 | }
81 |
82 | +mobile() { float: none; }
83 | }
84 |
--------------------------------------------------------------------------------
/themes/next/source/css/_schemes/Mist/_search.styl:
--------------------------------------------------------------------------------
1 | // Search
2 | // --------------------------------------------------
3 | .site-search form {
4 | hide();
5 | }
6 |
--------------------------------------------------------------------------------
/themes/next/source/css/_schemes/Mist/outline/outline.styl:
--------------------------------------------------------------------------------
1 | .main-inner { margin-top: 80px; }
2 |
--------------------------------------------------------------------------------
/themes/next/source/css/_schemes/Mist/sidebar/sidebar-blogroll.styl:
--------------------------------------------------------------------------------
1 | .links-of-blogroll-inline .links-of-blogroll-item { display: inline-block; }
2 |
--------------------------------------------------------------------------------
/themes/next/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 | show();
8 | margin: 0px auto 25px auto;
9 | }
10 |
--------------------------------------------------------------------------------
/themes/next/source/css/_schemes/Muse/_logo.styl:
--------------------------------------------------------------------------------
1 | .custom-logo {
2 | .site-meta-headline {
3 | text-align: center;
4 | }
5 |
6 | .brand {
7 | background: none;
8 | }
9 |
10 | .site-title {
11 | margin: 10px auto 0;
12 | font-size: 24px;
13 | color: $black-deep;
14 | a {
15 | border: none;
16 | }
17 | }
18 | }
19 |
20 | .custom-logo-image {
21 | margin: 0 auto;
22 | padding: 5px;
23 | max-width: 150px;
24 | background: white;
25 | }
26 |
--------------------------------------------------------------------------------
/themes/next/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-3;
12 | }
13 | }
14 |
15 | .menu {
16 | +mobile() { text-align: left; }
17 | }
18 |
19 | .menu-item-active a {
20 | border-bottom-color: $menu-link-hover-border !important;
21 | color: $black-deep;
22 |
23 | +mobile() {
24 | border-bottom: 1px dotted $gray-lighter !important;
25 | }
26 | }
27 |
28 | .menu .menu-item {
29 | +mobile() {
30 | show();
31 | margin: 0 10px;
32 | vertical-align: top;
33 | }
34 |
35 | .badge {
36 | display: inline-block;
37 | padding: 1px 4px;
38 | margin-left: 5px;
39 | font-weight: 700;
40 | line-height: 1;
41 | text-align: center;
42 | white-space: nowrap;
43 | background-color: $gainsboro;
44 | +mobile() {
45 | float: right;
46 | margin: 0.35em 0 0 0;
47 | }
48 | }
49 |
50 | br {
51 | +mobile() { display: none; }
52 | }
53 |
54 | a, span.exturl {
55 | +mobile() {
56 | padding: 5px 10px;
57 | }
58 |
59 | &:hover {
60 | @extend .menu-item-active a;
61 | }
62 |
63 | // To prevent hover on external links with touch devices after click.
64 | @media (hover:none) {
65 | &:hover {
66 | border-bottom-color: transparent !important;
67 | }
68 | }
69 | }
70 | .fa {
71 | +tablet() {
72 | width: 100%;
73 | }
74 | +desktop() {
75 | width: 100%;
76 | }
77 | }
78 | }
79 |
--------------------------------------------------------------------------------
/themes/next/source/css/_schemes/Muse/_search.styl:
--------------------------------------------------------------------------------
1 | // Search
2 | // --------------------------------------------------
3 | .site-search form {
4 | hide();
5 | }
6 |
--------------------------------------------------------------------------------
/themes/next/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 |
--------------------------------------------------------------------------------
/themes/next/source/css/_schemes/Muse/sidebar/sidebar-blogroll.styl:
--------------------------------------------------------------------------------
1 | .links-of-blogroll-inline .links-of-blogroll-item { display: inline-block; }
2 |
--------------------------------------------------------------------------------
/themes/next/source/css/_schemes/Pisces/_brand.styl:
--------------------------------------------------------------------------------
1 | .site-brand-wrapper {
2 | position: relative;
3 | }
4 |
5 | .site-meta {
6 | padding: 20px 0;
7 | color: white;
8 | background: $black-deep;
9 |
10 | +tablet-mobile() {
11 | box-shadow: 0 0 16px rgba(0, 0, 0, 0.5);
12 | }
13 | }
14 |
15 | .brand {
16 | padding: 0;
17 | background: none;
18 |
19 | &:hover {
20 | color: white;
21 | }
22 | }
23 |
24 | .site-subtitle {
25 | margin: 10px 10px 0;
26 | font-weight: initial;
27 | }
28 |
29 | .custom-logo-image {
30 | margin-top: 20px;
31 | +tablet-mobile() {
32 | hide();
33 | }
34 | }
35 |
36 | .site-search form {
37 | hide();
38 | }
39 |
--------------------------------------------------------------------------------
/themes/next/source/css/_schemes/Pisces/_sub-menu.styl:
--------------------------------------------------------------------------------
1 | .sub-menu {
2 | margin: 0;
3 | padding: 6px 0;
4 | background: #fff !important;
5 | border-bottom: 1px solid $table-border-color;
6 | }
7 |
8 | .sub-menu .menu-item {
9 | display: inline-block !important;
10 |
11 | & a, span.exturl {
12 | padding: initial !important;
13 | margin: 5px 10px;
14 | }
15 |
16 | & a:hover, span.exturl:hover {
17 | background: initial !important;
18 | color: $sidebar-highlight;
19 | }
20 | }
21 |
22 | .sub-menu .menu-item-active a {
23 | background: #fff !important;
24 | color: $sidebar-highlight;
25 | border-bottom-color: $sidebar-highlight;
26 |
27 | &:hover {
28 | background: #fff !important;
29 | border-bottom-color: $sidebar-highlight;
30 | }
31 |
32 | badges = hexo-config('menu_settings.badges');
33 | if not badges {
34 | &:after {
35 | content: initial;
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/themes/next/source/css/_schemes/Pisces/index.styl:
--------------------------------------------------------------------------------
1 | @import "_layout";
2 | @import "_brand";
3 | @import "_menu";
4 | @import "_sub-menu";
5 | @import "_sidebar";
6 |
--------------------------------------------------------------------------------
/themes/next/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 |
10 | // Borders.
11 | // --------------------------------------------------
12 | $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)
13 | $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)
14 |
15 | $border-radius-inner = initial
16 | $border-radius = initial
17 | //$border-radius-inner = 0 0 3px 3px;
18 | //$border-radius = 3px;
19 |
20 | // Back to top
21 | $b2t-sidebar-bg-color = $body-bg-color
22 |
--------------------------------------------------------------------------------
/themes/next/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 |
--------------------------------------------------------------------------------
/themes/next/source/css/_variables/Muse.styl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/themes/next/source/css/_variables/Muse.styl
--------------------------------------------------------------------------------
/themes/next/source/css/_variables/custom.styl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/themes/next/source/css/_variables/custom.styl
--------------------------------------------------------------------------------
/themes/next/source/css/main.styl:
--------------------------------------------------------------------------------
1 | // CSS Style Guide: http://codeguide.co/#css
2 |
3 |
4 | $scheme = hexo-config('scheme') ? hexo-config('scheme') : 'Muse';
5 |
6 | $custom_styles = hexo-config('custom_file_path.styles') ? "../../../../../" + hexo-config('custom_file_path.styles') : custom;
7 | $custom_mixins = hexo-config('custom_file_path.mixins') ? "../../../../../" + hexo-config('custom_file_path.mixins') : custom;
8 | $custom_variables = hexo-config('custom_file_path.variables') ? "../../../../../" + hexo-config('custom_file_path.variables') : custom;
9 |
10 | $variables = base $scheme $custom_variables;
11 | $mixins = base $scheme $custom_mixins;
12 |
13 |
14 | // Variables Layer
15 | // --------------------------------------------------
16 | for $variable in $variables
17 | @import "_variables/" + $variable;
18 |
19 |
20 | // Mixins Layer
21 | // --------------------------------------------------
22 | for $mixin in $mixins
23 | @import "_mixins/" + $mixin;
24 |
25 |
26 | // Common Layer
27 | // --------------------------------------------------
28 |
29 | // Scaffolding
30 | @import "_common/scaffolding";
31 |
32 | // Layout
33 | @import "_common/outline";
34 |
35 | // Components
36 | @import "_common/components";
37 |
38 |
39 | // Schemes Layer
40 | // --------------------------------------------------
41 | @import "_schemes/" + $scheme;
42 |
43 |
44 | // Custom Layer
45 | // --------------------------------------------------
46 | @import "_custom/" + $custom_styles;
47 |
--------------------------------------------------------------------------------
/themes/next/source/fonts/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/themes/next/source/fonts/.gitkeep
--------------------------------------------------------------------------------
/themes/next/source/images/apple-touch-icon-next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/themes/next/source/images/apple-touch-icon-next.png
--------------------------------------------------------------------------------
/themes/next/source/images/avatar.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/themes/next/source/images/avatar.gif
--------------------------------------------------------------------------------
/themes/next/source/images/background.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/themes/next/source/images/background.jpg
--------------------------------------------------------------------------------
/themes/next/source/images/chuyin.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/themes/next/source/images/chuyin.ico
--------------------------------------------------------------------------------
/themes/next/source/images/cursor_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/themes/next/source/images/cursor_1.png
--------------------------------------------------------------------------------
/themes/next/source/images/favicon-16x16-next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/themes/next/source/images/favicon-16x16-next.png
--------------------------------------------------------------------------------
/themes/next/source/images/favicon-32x32-next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/themes/next/source/images/favicon-32x32-next.png
--------------------------------------------------------------------------------
/themes/next/source/images/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/themes/next/source/images/loading.gif
--------------------------------------------------------------------------------
/themes/next/source/images/loading.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/themes/next/source/images/loading.png
--------------------------------------------------------------------------------
/themes/next/source/images/logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
24 |
--------------------------------------------------------------------------------
/themes/next/source/images/placeholder.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/themes/next/source/images/placeholder.gif
--------------------------------------------------------------------------------
/themes/next/source/images/quote-l.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
14 |
--------------------------------------------------------------------------------
/themes/next/source/images/quote-r.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
13 |
--------------------------------------------------------------------------------
/themes/next/source/images/searchicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/themes/next/source/images/searchicon.png
--------------------------------------------------------------------------------
/themes/next/source/images/wechatpay.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaoolee/ppt-piece/005423f00395198b380d62de8bf10ef1f6da8538/themes/next/source/images/wechatpay.jpg
--------------------------------------------------------------------------------
/themes/next/source/js/schemes/muse.js:
--------------------------------------------------------------------------------
1 | $(document).ready(function() {
2 | function updateFooterPosition() {
3 | var containerHeight = $('#footer').attr('position') ? $('.container').height() + $('#footer').outerHeight(true) : $('.container').height();
4 | if (containerHeight < window.innerHeight) $('#footer').css({ 'position': 'fixed', 'bottom': 0, 'left': 0, 'right': 0 }).attr('position', 'fixed');
5 | else $('#footer').removeAttr('style position');
6 | }
7 | updateFooterPosition();
8 | $(window).on('resize scroll', updateFooterPosition);
9 | });
10 |
--------------------------------------------------------------------------------
/themes/next/source/js/scroll-cookie.js:
--------------------------------------------------------------------------------
1 | $(document).ready(function() {
2 |
3 | /* global Cookies */
4 |
5 | // Set relative link path (without domain)
6 | var rpath = window.location.href.replace(window.location.origin, '');
7 |
8 | // Write position in cookie
9 | var timeout;
10 | $(window).on('scroll', function() {
11 | clearTimeout(timeout);
12 | timeout = setTimeout(function() {
13 | Cookies.set('scroll-cookie', $(window).scrollTop() + '|' + rpath, { expires: 365, path: '' });
14 | }, 250);
15 | });
16 |
17 | // Read position from cookie
18 | if (Cookies.get('scroll-cookie') !== undefined) {
19 | var cvalues = Cookies.get('scroll-cookie').split('|');
20 | if (cvalues[1] === rpath) {
21 | $(window).scrollTop(cvalues[0]);
22 | }
23 | }
24 |
25 | });
26 |
--------------------------------------------------------------------------------
/themes/next/test/.jshintrc:
--------------------------------------------------------------------------------
1 | {
2 | "curly": true,
3 | "eqnull": true,
4 | "eqeqeq": true,
5 | "undef": true,
6 | "newcap": true,
7 | "unused": true,
8 | "laxcomma": false,
9 | "asi": false,
10 | "expr": true,
11 | "loopfunc": false,
12 | "strict": false,
13 |
14 | "globals": {
15 | "define": true,
16 | "require": true,
17 | "it": true,
18 | "module": true,
19 | "describe": true,
20 | "window": true,
21 | "$": true
22 | }
23 | }
24 |
--------------------------------------------------------------------------------